
*{box-sizing:border-box}
body{margin:0;background:#C8202A}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* Page: 390 x 844 phone layout */
.page{
  position:relative;overflow:hidden;
  width:100%;max-width:390px;min-height:844px;margin:0 auto;
  display:flex;flex-direction:column;
  font-family:'DM Sans',sans-serif;color:#FFFFFF;
  background-color:#C8202A;
  background-image:repeating-linear-gradient(-28deg,rgba(0,0,0,0) 0 38px,rgba(0,0,0,.05) 38px 76px);
}

/* Header */
.header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 0}
.wordmark{height:88px;width:auto;display:block}
.header-actions{display:flex;align-items:center;gap:8px}
.claim{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;border:1.5px solid #FFD66B;color:#FFD66B;font-size:13px;font-weight:700;white-space:nowrap}
.cart{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.16)}

/* Hero */
.hero{padding:20px 24px 0;display:flex;flex-direction:column;gap:18px}
.promo-tag{align-self:flex-start;background:#F5B82E;color:#3A0A0E;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.title{margin:0;font-family:'Bowlby One',sans-serif;font-weight:400;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.title-campus{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.32em;text-transform:uppercase;color:#FFD66B;margin-bottom:4px}
.title-campus i{width:56px;height:3px;background:#F5B82E;border-radius:2px}
.title-jollof,.title-combo{display:block;text-shadow:5px 5px 0 #7E1119;transform:rotate(-3deg);transform-origin:left center}
.title-jollof{font-size:76px;line-height:.98;color:#FFFFFF}
.title-combo{font-size:62px;line-height:1;color:#F5B82E;margin-top:6px}

/* Price sticker */
.sticker{
  position:absolute;right:20px;top:272px;width:128px;height:128px;border-radius:50%;
  background:#F5B82E;color:#3A0A0E;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotate(-8deg);box-shadow:0 8px 0 rgba(0,0,0,.18);
}
.sticker-only{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sticker-price{font-family:'Bowlby One',sans-serif;font-size:28px;line-height:1.1;font-weight: 800;}
.sticker-note{font-size:12px;font-weight:500}

.intro{margin:34px 24px 0;font-size:17px;line-height:1.5;color:#FFE9E3;max-width:210px}

/* Sliding photo strip */
.strip{flex:1;display:flex;align-items:center}
.strip-window{width:100%;overflow:hidden}
.track{display:flex;gap:12px;width:max-content;animation:flow 26s linear infinite}
@keyframes flow{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
@media (prefers-reduced-motion:reduce){.track{animation:none}}
.photo{
  flex:0 0 188px;height:140px;border-radius:20px;
  background:rgba(255,255,255,.14);
  display:block;object-fit: cover; object-position: center;
  gap:6px;text-align:center;padding:0 12px;
}
.photo-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#FFD66B;font-weight:700}
.photo-name{font-weight:700;font-size:15px}

/* Order card */
.order{background:#FFFFFF;border-radius:28px 28px 0 0;padding:22px 20px 24px;color:#2B0F12;display:flex;flex-direction:column;gap:16px;box-shadow:0 -10px 30px rgba(0,0,0,.18)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:13px;font-weight:700;padding:7px 12px;border-radius:999px}
.chip-green{background:#E6F3E8;color:#245F3B}
.qty-row{display:flex;align-items:center;justify-content:space-between}
.qty-info{display:flex;flex-direction:column}
.qty-label{font-size:13px;color:#6B4A3A}
.qty-total{font-weight:700;font-size:18px}
.stepper{display:flex;align-items:center;gap:6px;background:#F7EFEF;border-radius:999px;padding:4px}
.step{width:44px;height:44px;border-radius:50%;border:0;font-size:22px;font-weight:700}
.step-minus{background:#FFFFFF;color:#C8202A}
.step-plus{background:#C8202A;color:#FFFFFF}
.qty-count{min-width:32px;text-align:center;font-weight:700;font-size:18px}
.amount-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #F0E2E2;padding-top:12px}
.amount-label{font-size:14px;color:#6B4A3A}
.amount-value{font-weight:700;font-size:22px;color:#2B0F12}
.order-row{display:flex;gap:10px;align-items:stretch}
.timer{flex:0 0 124px;padding:0 8px;text-align:center;border-radius:29px;border:1.5px solid #F0D9D9;background:#FFF1E4;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.timer-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B4A3A}
.timer-time{font-size:17px;font-weight:700;color:#C8202A;font-variant-numeric:tabular-nums}
.cta{flex:1;min-height:58px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#C8202A;color:#FFFFFF;font-weight:700;font-size:19px}
