/* ===============================
   BIMBO BRAND THEME – SINGLE FILE
   =============================== */

/* ===== BRAND COLORS ===== */
:root {
  --bimbo-red: #e10613;
  --bimbo-red-dark: #b1040f;
  --bimbo-blue: #0054a6;
  --bimbo-blue-dark: #003b75;
  --bimbo-cream: #f5e6c8;
  --white: #ffffff;
  --black: #0b0b0b;
}

/* ===== RESET ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', Arial, sans-serif;
}

/* ===== BODY ===== */
body {
  background:
    radial-gradient(circle at top, rgba(255,255,255,.12), transparent 60%),
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.03),
      rgba(255,255,255,.03) 8px,
      rgba(0,0,0,.03) 8px,
      rgba(0,0,0,.03) 16px
    ),
    linear-gradient(135deg, var(--bimbo-blue-dark), var(--bimbo-blue));
  color: var(--white);
  padding: 20px;
}

/* ===== FULL-WIDTH HEADER ===== */
.header {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: var(--bimbo-red);
}

.header-img {
  width: 100%;
  height: 370px;
  object-fit: cover;
  display: block;
}

/* ===== CONTAINERS ===== */
.products,
.cart-container,
.payment-wrap,
.wrap {
  max-width: 1100px;
  margin: 0 auto 30px;
}

/* ===== CARDS / BOXES ===== */
.card,
.cart-container,
.payment-wrap,
.wrap {
  background: rgba(255,255,255,0.08);
  border: 2px solid var(--bimbo-blue);
  border-radius: 18px;
  padding: 25px;
  box-shadow: 0 0 25px rgba(0,84,166,0.35);
}

/* ===== PRODUCT GRID ===== */
.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
  gap: 30px;
}

/* ===== PRODUCT CARD ===== */
.card {
  text-align: center;
  transition: transform .4s ease, box-shadow .4s ease;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(255,255,255,.25), transparent 60%);
  opacity: 0;
  transition: .4s;

  /* 🔥 IMPORTANT FIX */
  pointer-events: none;
}

.card:hover::before {
  opacity: 1;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(225,6,19,.45);
}


.card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 14px;
  border: 3px solid var(--bimbo-blue);
  margin-bottom: 15px;
}

.card h2 {
  color: var(--white);
  margin: 10px 0;
}

/* ===== PRICE ===== */
.price,
.price small {
  color: var(--bimbo-red);
  font-weight: 700;
  font-size: 18px;
  display: block;
  margin-bottom: 10px;
}

/* ===== BUTTONS ===== */
a,
button {
  cursor: pointer;
}

.btn,
button,
.checkout-btn {
  background: linear-gradient(135deg, var(--bimbo-red), var(--bimbo-cream));
  color: #000;
  padding: 12px 26px;
  border-radius: 30px;
  border: none;
  font-weight: 700;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease;
}

.btn:hover,
button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(225,6,19,.6);
}

.reset-btn {
  background: transparent;
  border: 2px solid var(--bimbo-red);
  color: var(--bimbo-red);
}

/* ===== FORMS ===== */
input,
select,
textarea {
  width: 100%;
  padding: 14px;
  margin-bottom: 14px;
  background: transparent;
  border: 2px solid var(--bimbo-blue);
  border-radius: 10px;
  color: var(--white);
}

input::placeholder,
textarea::placeholder {
  color: rgba(255,255,255,.6);
}

/* ===== TABLES ===== */
table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

th {
  background: rgba(0,84,166,.3);
  color: var(--white);
}

td,
th {
  padding: 12px;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

/* ===== STATUS ===== */
.status-paid {
  color: #2ecc71;
  font-weight: bold;
}

.status-pending {
  color: #f39c12;
  font-weight: bold;
}


/* ===== FOOTER ===== */
footer {
  text-align: center;
  margin-top: 40px;
  opacity: .7;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 700px) {
  header {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .header-img {
    height: 120px;
    object-fit: contain;
    background: var(--bimbo-red);
  }
}
/* ===== RIPPLE EFFECT ===== */
.btn {
  position: relative;
  overflow: hidden;
}

.btn span.ripple {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  animation: ripple 600ms linear;
  background: rgba(255,255,255,0.7);
}

@keyframes ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* ripple */
.btn { position: relative; overflow: hidden; }
.ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  transform: scale(0);
  animation: rippleAnim 600ms linear;
}
@keyframes rippleAnim {
  to { transform: scale(4); opacity: 0; }
}
/* cart shake */
.cart-shake {
  animation: cartShake .6s ease;
}
@keyframes cartShake {
  0% { transform: rotate(0); }
  20% { transform: rotate(-10deg); }
  40% { transform: rotate(10deg); }
  60% { transform: rotate(-6deg); }
  80% { transform: rotate(6deg); }
  100% { transform: rotate(0); }
}
