:root{--espresso:#2b1009;--coffee:#5e2414;--chai:#a94b23;--coral:#ff5a36;--orange:#ff7a21;--cream:#fff8ef;--peach:#ffe7d3;--ink:#24130d;--muted:#76655e;--card:#fffdf9;--line:#f0ded0;--green:#1f9d61;--red:#d9403b;--shadow:0 18px 55px rgba(72,31,14,.12);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 10% 0,#fff1df 0,transparent 32%),linear-gradient(#fffaf5,#fff7ee);color:var(--ink);min-height:100vh}a{color:var(--chai);text-decoration:none}.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:10px max(16px,calc((100vw - 1180px)/2));background:rgba(255,250,245,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(240,222,208,.72)}.brand{display:flex;gap:10px;align-items:center;font-weight:900;font-size:1.13rem;color:var(--espresso)}.brand img{width:44px;height:44px;object-fit:contain}.brand b span{color:var(--coral)}.topbar nav{display:flex;align-items:center;gap:10px}.nav-chip{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.86rem;font-weight:800}.container{width:min(1180px,94vw);margin:18px auto 100px}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#3a140b 0,#8c3519 55%,#ff663a 130%);color:#fff;border-radius:32px;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;box-shadow:0 26px 80px rgba(83,32,12,.22)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);background:rgba(255,255,255,.08)}.hero:before{width:280px;height:280px;right:-90px;top:-100px}.hero:after{width:170px;height:170px;left:48%;bottom:-100px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.96;letter-spacing:-.05em;margin:.18em 0}.hero p{max-width:630px;color:#ffe8db;font-size:1.08rem;line-height:1.65}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#ffffff18;border:1px solid #ffffff2e;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hero-visual{display:grid;place-items:center;position:relative;z-index:2}.hero-visual img{width:min(360px,80%);filter:drop-shadow(0 22px 30px rgba(0,0,0,.22));animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px) rotate(1deg)}}.searchbar{margin-top:18px;display:flex;gap:8px;background:#fff;border-radius:18px;padding:8px;max-width:620px;box-shadow:0 12px 40px rgba(0,0,0,.12)}.searchbar input{border:0;background:transparent}.searchbar input:focus{outline:none}.category-strip{display:flex;gap:10px;overflow:auto;padding:18px 2px 4px;scrollbar-width:none}.category-chip{white-space:nowrap;padding:10px 14px;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:850;box-shadow:0 7px 22px rgba(76,32,15,.06)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:rgba(255,253,249,.94);border:1px solid rgba(240,222,208,.92);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.product{position:relative;overflow:hidden;transition:.22s ease}.product:hover{transform:translateY(-5px);box-shadow:0 25px 60px rgba(72,31,14,.16)}.product-art{height:150px;border-radius:20px;background:linear-gradient(145deg,#fff0dd,#ffd1ad);display:grid;place-items:center;font-size:4.7rem;margin-bottom:16px;position:relative}.product-art:after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;background:#ffffff66;right:-22px;top:-22px}.product h3{font-size:1.15rem;margin:.45rem 0}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.muted{color:var(--muted)}.price{font-weight:950;font-size:1.15rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:15px;padding:12px 16px;background:linear-gradient(135deg,var(--coral),var(--orange));color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(255,90,54,.2);transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:#fff;color:var(--espresso);border:1px solid var(--line);box-shadow:none}.btn.green{background:var(--green)}.btn.red{background:var(--red)}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #e5d4c7;border-radius:15px;background:#fff;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid #ff6a3a22;border-color:#ff7a52}label{display:block;font-size:.88rem;font-weight:850;margin:13px 0 6px}.form{max-width:680px;margin:auto}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert{padding:13px 15px;border-radius:16px;margin-bottom:14px}.success{background:#e7f6ec;color:#165a31}.error{background:#fde9e7;color:#8d241d}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff0e4;color:#9a3f20;font-size:.76rem;font-weight:900}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:transparent}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat{font-size:2.15rem;font-weight:950;letter-spacing:-.04em}.actions{display:flex;gap:9px;flex-wrap:wrap}.section-title{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.section-title h1,.section-title h2{margin:0;letter-spacing:-.035em}.bottomnav{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);width:min(520px,94vw);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border:1px solid var(--line);display:flex;justify-content:space-around;padding:9px;border-radius:22px;z-index:60;box-shadow:0 14px 45px rgba(53,20,8,.18)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;font-weight:850;color:#4f3b33;padding:5px 8px;border-radius:13px}.bottomnav a.active{background:#fff0e7;color:var(--coral)}.nav-icon{font-size:1.18rem}.footer{text-align:center;color:var(--muted);padding:34px 12px 110px}.qty{display:flex;gap:8px;align-items:center}.qty input{width:66px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0}.right{text-align:right}.auth-card{padding:28px}.auth-logo{width:150px;display:block;margin:0 auto 15px}.kpi{background:linear-gradient(145deg,#fff,#fff6ed)}.status-dot{width:9px;height:9px;background:var(--coral);border-radius:50%;display:inline-block;margin-right:5px}.order-card{border-left:5px solid var(--coral)}.genz-note{font-size:.85rem;padding:12px 14px;border-radius:16px;background:#fff1e7;color:#75321e}.brand-banner{display:flex;align-items:center;gap:16px;padding:18px;background:linear-gradient(135deg,#fff3e5,#ffe0c8);border-radius:24px;border:1px solid #f5d2bb}.brand-banner img{width:86px}.brand-banner strong{font-size:1.25rem}.hide-desktop{display:none}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;padding:30px}.hero-visual{display:none}.hide-desktop{display:block}}@media(max-width:560px){.grid,.row{grid-template-columns:1fr}.container{width:min(94vw,1180px);margin-top:12px}.hero{padding:25px 21px;border-radius:25px}.hero h1{font-size:2.8rem}.topbar{padding:8px 12px}.topbar .muted{display:none}.card{border-radius:20px;padding:17px}.product-art{height:125px}.section-title{margin-top:22px}.brand b{display:none}}

/* ChayaBox Gen-Z category rail v2.1 */
.category-strip{
  position:relative;
  display:flex;
  gap:14px;
  overflow-x:auto;
  overflow-y:visible;
  padding:22px 4px 14px;
  margin:2px -4px 0;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.category-strip::-webkit-scrollbar{display:none}
.category-chip{
  --chip-accent:#ff6b35;
  --chip-soft:#fff0e3;
  appearance:none;
  position:relative;
  flex:0 0 auto;
  min-height:64px;
  padding:9px 19px 9px 9px;
  border-radius:999px;
  border:1.5px solid rgba(117,63,35,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,246,238,.9));
  color:#7b2e10;
  display:inline-flex;
  align-items:center;
  gap:11px;
  font:900 1.03rem/1 Inter,ui-rounded,"SF Pro Rounded",system-ui,sans-serif;
  letter-spacing:-.02em;
  box-shadow:0 10px 26px rgba(102,45,18,.08),inset 0 1px 0 rgba(255,255,255,.95);
  cursor:pointer;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease,background .2s ease;
  scroll-snap-align:start;
  isolation:isolate;
}
.category-chip::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.8),transparent 34%);
  opacity:.7;
  z-index:-1;
}
.category-chip:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 16px 34px rgba(102,45,18,.14)}
.category-chip:active{transform:translateY(0) scale(.985)}
.category-chip:focus-visible{outline:3px solid rgba(255,90,54,.25);outline-offset:3px}
.category-chip.active{
  color:#6e2409;
  border-color:rgba(255,99,51,.72);
  background:linear-gradient(135deg,#fff2c8 0%,#ffd9b0 48%,#ffad8d 100%);
  box-shadow:0 13px 30px rgba(255,91,43,.22),0 0 0 3px rgba(255,126,73,.08),inset 0 1px 0 #fff;
  transform:translateY(-2px);
}
.category-icon{
  width:45px;
  height:45px;
  flex:0 0 45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:1.45rem;
  background:linear-gradient(145deg,var(--chip-soft),#fff);
  box-shadow:0 7px 17px rgba(97,42,17,.13),inset 0 1px 0 rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.88);
  transition:transform .25s cubic-bezier(.2,.8,.2,1);
}
.category-chip:hover .category-icon,.category-chip.active .category-icon{transform:rotate(-7deg) scale(1.07)}
.category-chip:nth-child(1){--chip-accent:#ff6a2b;--chip-soft:#ffe0b8}
.category-chip:nth-child(2){--chip-accent:#7b2d12;--chip-soft:#e8c2a9}
.category-chip:nth-child(3){--chip-accent:#f3a300;--chip-soft:#ffe694}
.category-chip:nth-child(4){--chip-accent:#ff4e73;--chip-soft:#ffd0dc}
.category-chip:nth-child(5){--chip-accent:#ff4b12;--chip-soft:#ffc0a2}
.category-chip .category-icon{background:linear-gradient(145deg,var(--chip-soft),color-mix(in srgb,var(--chip-accent) 24%,white));}
.category-chip.active .category-icon{background:linear-gradient(145deg,var(--chip-accent),color-mix(in srgb,var(--chip-accent) 67%,#ffce88));color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--chip-accent) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.48)}
.chip-spark{
  position:absolute;
  right:9px;
  top:7px;
  color:var(--chip-accent);
  font-size:.62rem;
  opacity:0;
  transform:scale(.4) rotate(-20deg);
  transition:.22s ease;
}
.category-chip:hover .chip-spark,.category-chip.active .chip-spark{opacity:1;transform:scale(1) rotate(0)}
.category-empty{
  display:none;
  margin:18px 0 6px;
  min-height:150px;
  padding:28px;
  border:1px dashed #efcdbb;
  border-radius:24px;
  background:linear-gradient(145deg,#fffaf5,#fff0e4);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  gap:5px;
  color:var(--espresso);
}
.category-empty>span{font-size:2rem}.category-empty strong{font-size:1.05rem}.category-empty small{color:var(--muted)}
@media(max-width:560px){
  .category-strip{gap:10px;padding:15px 2px 12px;margin-inline:-2px}
  .category-chip{min-height:55px;padding:7px 15px 7px 7px;font-size:.92rem;gap:8px}
  .category-icon{width:40px;height:40px;flex-basis:40px;font-size:1.25rem}
}

/* ChayaBox v2.3 — product-specific animated artwork */
.product-art{
  overflow:hidden;
  isolation:isolate;
  min-height:158px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.82) 0 8%,transparent 9%),
    radial-gradient(circle at 86% 14%,rgba(255,255,255,.42) 0 13%,transparent 14%),
    linear-gradient(145deg,#fff2df 0%,#ffd9ba 58%,#ffc498 100%);
  border:1px solid rgba(255,151,91,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),inset 0 -18px 40px rgba(255,119,54,.06);
}
.product-art:after{z-index:0;animation:artOrb 7s ease-in-out infinite;pointer-events:none}
.product-visual{position:absolute;inset:0;display:grid;place-items:center;z-index:1;overflow:hidden}
.product-svg{width:min(88%,245px);height:92%;overflow:visible;filter:drop-shadow(0 12px 12px rgba(103,44,17,.15));transform-origin:50% 70%;animation:productFloat 3.8s ease-in-out infinite}
.product-visual::before{content:"";position:absolute;width:125px;height:125px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.48),rgba(255,255,255,0) 68%);left:50%;top:52%;transform:translate(-50%,-50%);animation:visualPulse 3.2s ease-in-out infinite}
.visual-glow{position:absolute;left:50%;bottom:13px;width:120px;height:20px;transform:translateX(-50%);border-radius:50%;background:rgba(135,57,22,.12);filter:blur(9px);animation:shadowBreath 3.8s ease-in-out infinite;z-index:-1}
.product-svg path,.product-svg ellipse,.product-svg circle{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.product-svg .steam path{fill:none;stroke:#fff8ef;stroke-width:8;opacity:.94;filter:drop-shadow(0 2px 3px rgba(91,37,15,.08));stroke-dasharray:58;stroke-dashoffset:58;animation:steamRise 2.4s ease-in-out infinite}
.product-svg .steam path:nth-child(2){animation-delay:.32s}.product-svg .steam path:nth-child(3){animation-delay:.64s}
.product-svg .shadow{fill:rgba(112,45,17,.12);stroke:none}
.product-svg .saucer{fill:#fffaf4;stroke:#d8c4b9;stroke-width:3}
.product-svg .cup{fill:linear-gradient(#fff,#f4eee9);fill:#fffaf6;stroke:#d1bdb0;stroke-width:3}
.product-svg .tea{fill:#b75a22;stroke:#8f3e14;stroke-width:3}
.product-svg .handle{fill:none;stroke:#d1bdb0;stroke-width:8}
.product-svg .leaf{fill:#49a35e;stroke:#2f7e43;stroke-width:2;transform-origin:70px 112px;animation:leafSway 2.8s ease-in-out infinite}.product-svg .leaf2{animation-delay:.35s}
.product-svg .spark{fill:#ff9d2f;stroke:#ff8a1d;stroke-width:3;animation:sparkPop 1.8s ease-in-out infinite;transform-origin:center}
.masala-svg .cinnamon{fill:none;stroke:#9c491f;stroke-width:9;animation:spiceWiggle 2.7s ease-in-out infinite;transform-origin:58px 101px}
.masala-svg .cardamom ellipse{fill:#92a852;stroke:#5e7436;stroke-width:2}.masala-svg .cardamom path{stroke:#5e7436;stroke-width:2;fill:none}
.coffee-svg .coffee{fill:#6d2e17;stroke:#4f1f10;stroke-width:3}.coffee-svg .latte{fill:#f7dfbb;stroke:none;transform-origin:111px 66px;animation:lattePulse 2.6s ease-in-out infinite}.coffee-svg .bean,.black-coffee-svg .bean{fill:#6b2a14;stroke:#3f160c;stroke-width:2;transform-origin:center;animation:beanOrbit 3.5s ease-in-out infinite}.coffee-svg .bean path,.black-coffee-svg .bean path{fill:none;stroke:#c86c35;stroke-width:2}.coffee-svg .bean2,.black-coffee-svg .bean2{animation-delay:.5s}
.black-coffee-svg .dark-cup{fill:#493127;stroke:#2e1a13;stroke-width:3}.black-coffee-svg .dark-coffee{fill:#24110b;stroke:#180a07;stroke-width:3}.black-coffee-svg .dark-handle{stroke:#493127}
.snack-svg .samosa-main{fill:#f6a825;stroke:#cf7511;stroke-width:4;filter:drop-shadow(0 8px 8px rgba(160,78,8,.14));animation:samosaBounce 3.3s ease-in-out infinite;transform-origin:110px 115px}.snack-svg .samosa-fold{fill:none;stroke:#d58216;stroke-width:3;stroke-dasharray:8 7}.snack-svg .crumb,.banana-svg .crumb{fill:#e68c17;stroke:#c9720b;stroke-width:1;animation:crumbFloat 2.5s ease-in-out infinite;transform-origin:center}
.banana-svg .fritter{fill:#f7b32b;stroke:#d57b12;stroke-width:4;filter:drop-shadow(0 8px 8px rgba(160,78,8,.13))}.banana-svg .f1{animation:fritterFloat 3.2s ease-in-out infinite;transform-origin:100px 96px}.banana-svg .f2{fill:#ffc94a;animation:fritterFloat 3.2s .45s ease-in-out infinite;transform-origin:116px 76px}.banana-svg .banana-mark path{fill:none;stroke:#d78317;stroke-width:3}.banana-svg .spark{fill:#ff9d2f;stroke:#ff8a1d;stroke-width:3;animation:sparkPop 1.8s ease-in-out infinite}
.product:hover .product-svg{animation-duration:2.2s;filter:drop-shadow(0 18px 15px rgba(103,44,17,.2))}.product:hover .product-svg .steam path{animation-duration:1.55s}.product:hover .spark{animation-duration:1.05s}
@keyframes productFloat{0%,100%{transform:translateY(2px) rotate(-.5deg)}50%{transform:translateY(-6px) rotate(.7deg)}}
@keyframes artOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-10px,8px) scale(1.1)}}
@keyframes visualPulse{0%,100%{transform:translate(-50%,-50%) scale(.88);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.85}}
@keyframes shadowBreath{0%,100%{transform:translateX(-50%) scaleX(.88);opacity:.7}50%{transform:translateX(-50%) scaleX(1.08);opacity:.42}}
@keyframes steamRise{0%{stroke-dashoffset:58;opacity:0;transform:translateY(7px)}35%{opacity:.95}70%{stroke-dashoffset:0;opacity:.85}100%{stroke-dashoffset:-58;opacity:0;transform:translateY(-10px)}}
@keyframes leafSway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
@keyframes sparkPop{0%,100%{transform:scale(.7) rotate(-8deg);opacity:.45}50%{transform:scale(1.15) rotate(8deg);opacity:1}}
@keyframes spiceWiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}
@keyframes lattePulse{0%,100%{transform:scale(.95)}50%{transform:scale(1.07)}}
@keyframes beanOrbit{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(3px,-6px) rotate(14deg)}}
@keyframes samosaBounce{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}
@keyframes crumbFloat{0%,100%{transform:translateY(1px) rotate(0)}50%{transform:translateY(-7px) rotate(18deg)}}
@keyframes fritterFloat{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@media(max-width:560px){.product-art{height:145px;min-height:145px}.product-svg{width:min(94%,230px);height:94%}}
@media(prefers-reduced-motion:reduce){.product-svg,.product-art:after,.product-visual::before,.visual-glow,.product-svg *{animation:none!important;transition:none!important}}

/* ChayaBox v2.4 — Gen Z card deck refresh */
.category-icon svg{width:24px;height:24px;display:block}
.menu-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(245px,260px);
  gap:20px;
  overflow-x:auto;
  padding:4px 2px 14px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.menu-carousel::-webkit-scrollbar{display:none}
.genz-product{
  scroll-snap-align:start;
  padding:14px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,249,242,.97));
  box-shadow:0 18px 45px rgba(72,31,14,.11), inset 0 1px 0 rgba(255,255,255,.95);
}
.genz-product:hover{transform:translateY(-7px) scale(1.01)}
.genz-product .product-art{
  height:190px;
  min-height:190px;
  border-radius:28px;
  margin-bottom:14px;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.66) 0 9%,transparent 10%),
    radial-gradient(circle at 86% 11%,rgba(255,255,255,.28) 0 14%,transparent 15%),
    linear-gradient(145deg,#ffe8c7 0%,#ffc49f 55%,#ffb082 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), inset 0 -18px 34px rgba(255,121,49,.09);
}
.genz-product .product-copy{padding:0 2px 2px}
.genz-product h3{font-size:1.05rem;line-height:1.15;margin:0 0 6px;color:#4e1d0f;letter-spacing:-.02em}
.product-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.product-subline{font-size:.8rem;color:#9a674f;font-weight:800;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.product-subline span{opacity:.5}
.product-desc{font-size:.9rem;line-height:1.45;min-height:38px;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-meta-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.vibe-badge{
  display:inline-flex;align-items:center;gap:7px;
  min-height:38px;padding:9px 14px;border-radius:999px;
  font-size:.78rem;font-weight:900;letter-spacing:-.01em;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.vibe-fresh{background:#f1f7df;color:#476918;border-color:#dce8bc}
.vibe-bestseller{background:#ffe5dc;color:#ca4f18;border-color:#ffd1c0}
.vibe-trending{background:#ffe9a9;color:#926000;border-color:#f5d86d}
.vibe-chilled{background:#dff0ff;color:#1f7db7;border-color:#cae4ff}
.vibe-hot-pick{background:#ffe0d6;color:#cc4a22;border-color:#ffc4b3}
.vibe-kerala-special{background:#fff0c9;color:#a86900;border-color:#ffdf8d}
.vibe-strong{background:#ead7d1;color:#5c2817;border-color:#dbc0b8}
.vibe-combo-drop{background:#efe4ff;color:#7a33bc;border-color:#dfcdff}
.quick-add{margin:0}
.arrow-btn{
  width:54px;height:54px;border:none;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;font-size:1.5rem;font-weight:900;color:#cb6216;
  background:linear-gradient(145deg,#fff8f0,#ffe6d0);
  box-shadow:0 10px 22px rgba(157,73,25,.13), inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.arrow-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 28px rgba(157,73,25,.18);color:#ff6f2d}
.arrow-btn:active{transform:scale(.96)}
.arrow-btn span{transform:translateX(1px)}

/* product art refinements */
.product-svg{width:min(89%,230px);height:92%}
.product-svg .cup,.product-svg .glass{filter:drop-shadow(0 8px 12px rgba(88,32,12,.08))}
.product-svg .star-anise path{fill:none;stroke:#8d421a;stroke-width:2.5;animation:spinStar 6s linear infinite;transform-origin:55px 117px}
.product-svg .cold-foam{fill:#fff6f2;stroke:#ead4ca;stroke-width:2.6}
.product-svg .glass{fill:rgba(255,255,255,.68);stroke:#e7d7d0;stroke-width:3}
.product-svg .cold-liquid{fill:#5b2417;stroke:#42150d;stroke-width:3}
.product-svg .straw{fill:none;stroke:#7b3d2a;stroke-width:8;stroke-linecap:round}
.product-svg .ice rect{fill:rgba(232,248,255,.82);stroke:#9ad3ef;stroke-width:2.2}
.product-svg .ice path{stroke:#a8dff6;stroke-width:1.6;fill:none}
.product-svg .splash path{stroke:#8a3417;stroke-width:4;fill:none;animation:splashWiggle 2.6s ease-in-out infinite}
.product-svg .banana-slice{fill:#ffdd6e;stroke:#d79a2b;stroke-width:2.4}
.snack-svg .leafs .leaf,.snack-svg .leafs .leaf2{fill:#58a85c;stroke:#2f7e43;stroke-width:2;animation:leafSway 3s ease-in-out infinite}
.cold-coffee-svg .ice1{animation:iceFloat 3.1s ease-in-out infinite}
.cold-coffee-svg .ice2{animation:iceFloat 3.1s .55s ease-in-out infinite}
.cold-coffee-svg .glass{animation:productFloat 3.5s ease-in-out infinite}
.cold-coffee-svg .splash path:nth-child(2){animation-delay:.35s}
.product:hover .cold-coffee-svg .glass{animation-duration:2.2s}
.product:hover .product-art{box-shadow:inset 0 1px 0 rgba(255,255,255,.82), inset 0 -18px 34px rgba(255,121,49,.14),0 24px 45px rgba(103,44,17,.11)}

@keyframes spinStar{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes splashWiggle{0%,100%{transform:rotate(0deg)}50%{transform:rotate(7deg)}}
@keyframes iceFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(6deg)}}

@media(max-width:980px){
  .menu-carousel{grid-auto-columns:minmax(232px,250px);gap:16px}
}
@media(max-width:560px){
  .menu-carousel{grid-auto-columns:85vw;padding-bottom:10px}
  .genz-product{padding:12px;border-radius:24px}
  .genz-product .product-art{height:178px;min-height:178px;border-radius:24px}
  .arrow-btn{width:50px;height:50px}
  .product-desc{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .cold-coffee-svg .glass,.cold-coffee-svg .ice1,.cold-coffee-svg .ice2,.product-svg .star-anise path,.product-svg .splash path{animation:none!important}
}

/* ChayaBox v2.5 — generated hero art cards */
.product-visual--img{position:absolute;inset:0;z-index:1;overflow:hidden}
.product-visual--img .art-image{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.02);
  animation:artFloatImage 5.8s ease-in-out infinite;
  filter:saturate(1.05) contrast(1.02);
}
.product-visual--img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 38%,rgba(255,146,82,.08) 100%);
  pointer-events:none;
}
.fx{position:absolute;z-index:3;pointer-events:none;display:block;animation:fxFloat 3.2s ease-in-out infinite}
.fx::before,.fx::after{position:absolute;display:block;content:""}
.fx-a{left:10px;top:10px}
.fx-b{right:12px;bottom:12px;animation-delay:.7s}
.fx-spark::before{
  content:"✦"; font-size:22px; line-height:1; color:#fff3c9;
  text-shadow:0 0 12px rgba(255,210,108,.8),0 0 22px rgba(255,255,255,.65);
}
.fx-spice::before{
  content:"✦"; font-size:20px; line-height:1; color:#ffd37f;
  text-shadow:0 0 10px rgba(255,188,84,.65);
}
.fx-leaf::before{content:"🍃"; font-size:22px; filter:drop-shadow(0 4px 8px rgba(36,97,52,.18))}
.fx-banana::before{content:"🍌"; font-size:22px; filter:drop-shadow(0 4px 8px rgba(170,118,8,.18))}
.fx-crumb::before{content:"✹"; font-size:20px; color:#ffbf69; text-shadow:0 0 10px rgba(255,175,76,.35)}
.fx-steam::before,
.fx-steam::after{
  width:16px;height:44px;border-radius:50px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,0));
  filter:blur(1px);opacity:.78;
}
.fx-steam::before{left:0;top:-4px;transform:rotate(-16deg)}
.fx-steam::after{left:14px;top:6px;transform:rotate(14deg)}
.fx-bean::before,
.fx-bean::after{
  width:18px;height:24px;border-radius:50% 45% 50% 45%;
  background:linear-gradient(145deg,#8a431d,#4d1a0c);
  box-shadow:0 2px 10px rgba(73,28,12,.22);
}
.fx-bean::before{left:0;top:0;transform:rotate(-18deg)}
.fx-bean::after{left:16px;top:10px;transform:rotate(22deg)}
.fx-ice::before,
.fx-ice::after{
  width:18px;height:18px;border-radius:4px;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(209,245,255,.62));
  border:1px solid rgba(162,221,255,.9);
  box-shadow:0 4px 16px rgba(111,190,255,.16);
}
.fx-ice::before{left:0;top:0;transform:rotate(-15deg)}
.fx-ice::after{left:16px;top:10px;transform:rotate(14deg)}
.fx-splash::before,
.fx-splash::after{
  width:28px;height:12px;border-top:4px solid rgba(255,247,224,.95);border-radius:50%;
}
.fx-splash::before{left:0;top:0;transform:rotate(-24deg)}
.fx-splash::after{left:14px;top:12px;transform:rotate(28deg)}
.product-visual--cold-coffee .fx-a{left:12px;top:14px}
.product-visual--cold-coffee .fx-b{right:14px;top:16px;bottom:auto}
.product-visual--samosa .fx-b,.product-visual--banana-fritter .fx-b{right:14px;top:14px;bottom:auto}
.product-visual--tea .fx-b,.product-visual--masala-tea .fx-b,.product-visual--filter-coffee .fx-b,.product-visual--black-coffee .fx-b{right:14px;top:14px;bottom:auto}

@keyframes artFloatImage{0%,100%{transform:scale(1.02) translateY(0)}50%{transform:scale(1.04) translateY(-4px)}}
@keyframes fxFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.06)}}

@media(prefers-reduced-motion:reduce){
  .product-visual--img .art-image,.fx{animation:none!important}
}

/* ChayaBox v2.6 — catchy trendy polish */
.pulse-pill{position:relative;overflow:hidden}
.pulse-pill::after{content:"";position:absolute;inset:-20% auto -20% -32%;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-22deg);animation:pillSweep 2.8s linear infinite}
.menu-carousel{padding-top:4px;padding-bottom:18px}
.genz-product{position:relative}
.genz-product::before{
  content:"";position:absolute;inset:0;border-radius:28px;padding:1px;
  background:linear-gradient(140deg,rgba(255,255,255,.9),rgba(255,190,150,.45),rgba(255,255,255,.5));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8;
}
.genz-product::after{
  content:"";position:absolute;right:16px;top:16px;width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.38),rgba(255,255,255,0) 66%);
  pointer-events:none;filter:blur(2px)
}
.product-meta-row{margin-top:2px}
.vibe-badge{position:relative;padding-left:12px}
.vibe-dot{display:inline-block;width:18px;height:18px;border-radius:50%;margin-right:8px;position:relative;flex:0 0 18px}
.vibe-dot::before{content:"";position:absolute;inset:0;border-radius:50%}
.vibe-dot::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;line-height:1;color:#fff;font-weight:900}
.vibe-fresh .vibe-dot::before{background:linear-gradient(145deg,#7dcc59,#3f9b39)}
.vibe-fresh .vibe-dot::after{content:"✓"}
.vibe-bestseller .vibe-dot::before{background:linear-gradient(145deg,#ff8659,#ff5b2c)}
.vibe-bestseller .vibe-dot::after{content:"🔥";font-size:9px}
.vibe-trending .vibe-dot::before{background:linear-gradient(145deg,#f1c644,#de9b07)}
.vibe-trending .vibe-dot::after{content:"★"}
.vibe-chilled .vibe-dot::before{background:linear-gradient(145deg,#64d7ff,#2b8df4)}
.vibe-chilled .vibe-dot::after{content:"❄";font-size:9px}
.vibe-hot-pick .vibe-dot::before{background:linear-gradient(145deg,#ff9068,#ff5733)}
.vibe-hot-pick .vibe-dot::after{content:"🔥";font-size:9px}
.vibe-kerala-special .vibe-dot::before{background:linear-gradient(145deg,#ffd86a,#f6a60a)}
.vibe-kerala-special .vibe-dot::after{content:"🍌";font-size:9px}
.vibe-strong .vibe-dot::before{background:linear-gradient(145deg,#8a573f,#522213)}
.vibe-strong .vibe-dot::after{content:"☕";font-size:9px}
.vibe-combo-drop .vibe-dot::before{background:linear-gradient(145deg,#c39cff,#8d50ff)}
.vibe-combo-drop .vibe-dot::after{content:"✦";font-size:9px}
.brand-banner{position:relative;overflow:hidden}
.brand-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-100%);animation:bannerSweep 5.4s linear infinite;pointer-events:none}
.category-chip{position:relative;overflow:hidden}
.category-chip.active{box-shadow:0 12px 30px rgba(255,111,45,.18)}
.category-chip.active .chip-spark{animation:chipSpark 1.6s ease-in-out infinite}
.arrow-btn{position:relative;overflow:hidden}
.arrow-btn::after{content:"";position:absolute;inset:-20% auto -20% -45%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:skewX(-22deg);animation:arrowSweep 2.7s linear infinite}
@keyframes bannerSweep{100%{transform:translateX(100%)}}
@keyframes chipSpark{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(12deg)}}
@keyframes pillSweep{100%{transform:translateX(430%) skewX(-22deg)}}
@keyframes arrowSweep{100%{transform:translateX(390%) skewX(-22deg)}}
@media(prefers-reduced-motion:reduce){.pulse-pill::after,.brand-banner::after,.arrow-btn::after,.category-chip.active .chip-spark{animation:none!important}}

/* ChayaBox v2.7 — image visibility/cache hardening */
.product-visual--img .art-picture{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1}
.product-visual--img .art-image{
  position:absolute;inset:0;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:50% 50%!important;
  display:block!important;z-index:1;
}
.product-visual--img .fx{z-index:4}
.product-visual--img .visual-glow{z-index:3}
.image-fallback-mark{display:none;position:absolute;inset:0;z-index:2;place-items:center;background:linear-gradient(145deg,#ffeccf,#ffbd91)}
.image-fallback-mark::before{content:"☕";font-size:4.4rem;filter:drop-shadow(0 10px 18px rgba(95,39,14,.18));animation:productFloat 3.5s ease-in-out infinite}
.product-visual--samosa.image-failed .image-fallback-mark::before,.product-visual--snack.image-failed .image-fallback-mark::before{content:"🥟"}
.product-visual--banana-fritter.image-failed .image-fallback-mark::before{content:"🍌"}
.product-visual--cold-coffee.image-failed .image-fallback-mark::before{content:"🥤"}
.product-visual--img.image-failed .image-fallback-mark{display:grid}
@media(max-width:560px){
  .genz-product .product-art{aspect-ratio:1.28/1;height:auto;min-height:0}
  .product-visual--img .art-image{object-position:50% 50%!important}
}

/* ChayaBox v2.8 — GPS checkout + live delivery map */
.checkout-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px;align-items:start}
.checkout-main{display:grid;gap:18px}.location-checkout-card,.payment-stage,.checkout-summary{border-radius:28px}.checkout-step-head{display:flex;gap:14px;align-items:flex-start}.checkout-step-head h1,.checkout-step-head h2{margin:0 0 5px;letter-spacing:-.035em}.checkout-step-head p{margin:0}.step-number{width:38px;height:38px;flex:0 0 38px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ff6b42,#ff9a33);color:#fff;font-weight:950;box-shadow:0 10px 22px rgba(255,98,59,.22)}
.location-permission{display:flex;align-items:center;gap:13px;margin:18px 0 14px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fff4ea,#fffaf6);border:1px solid #f4d9c7}.location-pulse{position:relative;width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#ffe2d2}.location-pulse span{width:13px;height:13px;border-radius:50%;background:#ff633b;box-shadow:0 0 0 0 rgba(255,99,59,.35);animation:locationPulse 1.8s infinite}.checkout-map,.tracking-map,.delivery-map{height:330px;border-radius:22px;overflow:hidden;border:1px solid #f0d9c9;background:#f7eee8}.detected-location,.gps-destination{display:flex;gap:11px;align-items:flex-start;margin:14px 0;padding:13px 14px;border-radius:17px;background:#fff8f2;border:1px solid #f1ded1}.detected-location span,.gps-destination>span{font-size:1.35rem}.detected-location small,.gps-destination small{display:block;color:var(--muted);font-weight:700}.detected-location strong,.gps-destination strong{display:block;line-height:1.4}.location-retry{margin-right:8px}.location-confirm-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}
.payment-stage{opacity:.45;transform:translateY(15px);pointer-events:none;filter:saturate(.65);transition:.32s cubic-bezier(.2,.8,.2,1)}.payment-stage.is-open{opacity:1;transform:none;pointer-events:auto;filter:none}.payment-options{display:grid;gap:10px;margin:18px 0}.payment-option{display:grid;grid-template-columns:auto 48px 1fr auto;gap:12px;align-items:center;margin:0;padding:14px;border:1px solid #efd9ca;border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease}.payment-option:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(74,31,13,.08)}.payment-option input{width:20px;height:20px}.payment-option .payment-icon{width:44px;height:44px;border-radius:14px;background:#fff0e6;display:grid;place-items:center;font-size:1.3rem}.payment-option small{display:block;color:var(--muted);margin-top:3px}.payment-option b{color:var(--green);opacity:.25}.payment-option:has(input:checked){border-color:#ff8c62;background:linear-gradient(135deg,#fff9f5,#fff1e7);box-shadow:0 0 0 3px rgba(255,112,65,.08)}.payment-option:has(input:checked) b{opacity:1}.checkout-confirm-box{display:flex;gap:11px;align-items:flex-start;margin:16px 0;padding:13px 14px;border-radius:16px;background:#eef9f2;color:#245b36}.checkout-confirm-box small{display:block;margin-top:3px;color:#4f745c}.pay-confirm-btn{width:100%;font-size:1rem}.checkout-summary{position:sticky;top:82px}.checkout-summary h2{margin:.5rem 0 1rem}.checkout-line{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #f2e4da}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding-top:16px;font-size:1.12rem}.checkout-total strong{font-size:1.35rem;color:var(--espresso)}

.tracking-shell{display:grid;gap:18px}.tracking-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#40170d,#7a2d17 55%,#ff6a40 145%);color:#fff}.tracking-hero h1{margin:.3rem 0 .25rem;font-size:clamp(1.8rem,4vw,3rem)}.tracking-hero p{margin:0;color:#ffe5d9}.live-pill{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}.live-pill span{width:8px;height:8px;border-radius:50%;background:#75ff9d;margin-right:7px;box-shadow:0 0 0 0 rgba(117,255,157,.55);animation:livePing 1.7s infinite}.tracking-total{text-align:right}.tracking-total small,.tracking-total span{display:block;color:#ffe4d7}.tracking-total strong{display:block;font-size:1.7rem;margin:3px 0}.tracking-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.lower-track-grid{grid-template-columns:1fr 1fr}.track-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.track-card-head h2{margin:.25rem 0 0}.eyebrow-lite{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff1e8;color:#a64d28;font-size:.72rem;font-weight:900;letter-spacing:.02em}.map-status{padding:7px 10px;border-radius:999px;background:#fff0e7;color:#9c3f20;font-size:.72rem;font-weight:900}.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:var(--muted);font-size:.78rem}.map-legend>span{display:flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.customer-dot{background:#ff643b}.rider-dot{background:#3348e8}.order-timeline{display:grid;gap:0}.timeline-step{position:relative;display:grid;grid-template-columns:36px 1fr;gap:10px;min-height:62px;padding:0 0 14px}.timeline-step:not(:last-child)::after{content:"";position:absolute;left:15px;top:29px;bottom:-2px;width:3px;border-radius:3px;background:#eee0d6}.timeline-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f5e9e2;color:#a38172;font-weight:900;z-index:1;border:2px solid #fff}.timeline-step.done .timeline-dot{background:#ff764a;color:#fff}.timeline-step.active .timeline-dot{background:#fff;color:#ff633b;border-color:#ff8059;box-shadow:0 0 0 6px rgba(255,99,59,.1);animation:activeStep 1.8s infinite}.timeline-step.done:not(:last-child)::after{background:#ff9a74}.timeline-step small{display:block;color:var(--muted);margin-top:3px}.delivery-person-chip{display:flex;gap:10px;align-items:center;margin-top:14px;padding:12px;border-radius:16px;background:#fff5ec}.delivery-person-chip>span{font-size:1.5rem}.delivery-person-chip small,.delivery-person-chip strong{display:block}

.delivery-live-panel{margin-top:18px}.delivery-sharing-status{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;border-radius:17px;background:#fff5ec;border:1px solid #f1ddcf}.delivery-sharing-status small{display:block;color:var(--muted);margin-top:3px}.delivery-sharing-status.is-live{background:#eaf9ef;border-color:#cbead6}.delivery-sharing-status.is-live .location-pulse{background:#dff3e6}.delivery-sharing-status.is-live .location-pulse span{background:#2da85e;box-shadow:0 0 0 0 rgba(45,168,94,.35)}.delivery-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.delivery-assignment .gps-destination{font-size:.85rem}.order-history-card .price{font-size:1.35rem}

@keyframes locationPulse{0%{box-shadow:0 0 0 0 rgba(255,99,59,.38)}70%{box-shadow:0 0 0 12px rgba(255,99,59,0)}100%{box-shadow:0 0 0 0 rgba(255,99,59,0)}}
@keyframes livePing{0%{box-shadow:0 0 0 0 rgba(117,255,157,.5)}70%{box-shadow:0 0 0 8px rgba(117,255,157,0)}100%{box-shadow:0 0 0 0 rgba(117,255,157,0)}}
@keyframes activeStep{0%,100%{box-shadow:0 0 0 5px rgba(255,99,59,.08)}50%{box-shadow:0 0 0 9px rgba(255,99,59,.15)}}

@media(max-width:900px){.checkout-shell,.tracking-grid,.lower-track-grid{grid-template-columns:1fr}.checkout-summary{position:static}.delivery-orders-grid{grid-template-columns:1fr}.tracking-hero{align-items:flex-start}.checkout-map,.tracking-map,.delivery-map{height:300px}}
@media(max-width:560px){.checkout-map,.tracking-map,.delivery-map{height:275px;border-radius:19px}.checkout-step-head{gap:10px}.step-number{width:34px;height:34px;flex-basis:34px}.payment-option{grid-template-columns:auto 42px 1fr auto;padding:11px;gap:9px}.payment-option .payment-icon{width:40px;height:40px}.tracking-hero{flex-direction:column;gap:15px}.tracking-total{text-align:left}.map-legend{display:grid}.location-confirm-btn,.location-retry{width:100%;margin:6px 0 0}.checkout-summary{order:-1}}
@media(prefers-reduced-motion:reduce){.location-pulse span,.live-pill span,.timeline-step.active .timeline-dot{animation:none!important}.payment-stage{transition:none!important}}

/* ChayaBox v2.9 — checkout + payment system */
.customer-snapshot,.upi-pay-box,.payment-trust-row{display:flex;align-items:center;gap:12px}
.customer-snapshot{padding:14px 16px;border-radius:18px;background:linear-gradient(145deg,#fff7ef,#fff0e3);border:1px solid var(--line);margin:14px 0}
.customer-snapshot>span{font-size:1.5rem}.customer-snapshot div{display:flex;flex-direction:column;gap:2px}.customer-snapshot small{color:var(--muted)}
.timing-options{margin-bottom:12px}.checkout-preferences{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.check-row{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0;font-weight:750}.check-row input{width:auto;margin:0}
.payment-page-shell{max-width:760px;margin:0 auto;display:grid;gap:18px}.payment-hero-card{background:linear-gradient(135deg,#3a140b,#843117 60%,#ff6a3e 140%);color:#fff}.payment-hero-card .muted{color:#ffe0d2}.payment-amount{margin-top:18px;display:flex;justify-content:space-between;align-items:end;gap:14px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}.payment-amount{flex-direction:column;align-items:flex-start}.payment-amount strong{font-size:2.25rem;letter-spacing:-.04em}.upi-pay-box{justify-content:space-between;flex-wrap:wrap;padding:16px;border-radius:18px;background:#fff5e9;border:1px solid #f2d7c3;margin:15px 0}.upi-pay-box div{display:flex;flex-direction:column;gap:3px}.upi-pay-box strong{font-size:1.05rem}.payment-ref-form{margin-top:16px}.payment-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e6f7ea;color:#1d8a4c;font-size:2rem;font-weight:900}.payment-trust-row{justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:800;padding:4px}.payment-trust-row span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line)}
@media(max-width:560px){.upi-pay-box{align-items:stretch}.upi-pay-box .btn{width:100%}.payment-trust-row{justify-content:flex-start}.checkout-preferences{display:grid;grid-template-columns:1fr 1fr}.check-row{font-size:.84rem}}
.terms-row{display:flex;align-items:flex-start;gap:10px;margin:18px 0;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#fffaf5;font-size:.86rem;font-weight:750;line-height:1.45}.terms-row input{width:auto;margin-top:3px}.payment-pending-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payment-pending-banner .btn{margin-left:auto;padding:9px 12px}

/* ChayaBox v3.0 — live cart + quantity sheet + mobile touch polish */
.header-cart{position:relative;width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#fff3e9;border:1px solid #f2d9ca;color:var(--espresso);box-shadow:0 8px 20px rgba(94,36,20,.08)}
.header-cart-icon{font-size:1.16rem;line-height:1}
.cart-count-badge,.nav-cart-badge{
  position:absolute;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;
  background:linear-gradient(135deg,#ff4f3a,#ff812b);color:#fff;font-size:.66rem;font-weight:950;line-height:1;
  border:2px solid #fff;box-shadow:0 5px 12px rgba(255,82,45,.28);transform-origin:center;
}
.header-cart .cart-count-badge{right:-6px;top:-5px}
.nav-cart-icon{position:relative;display:inline-grid;place-items:center}
.nav-cart-badge{right:-13px;top:-10px;min-width:18px;height:18px;font-size:.6rem}
.cart-count-badge.is-zero,.nav-cart-badge.is-zero{opacity:.48}
.cart-bump{animation:cartBump .42s cubic-bezier(.18,.85,.32,1.35)}
.hero-cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#fff0e7;color:#ff5b36;font-size:.75rem;margin:0 2px}

.genz-product{cursor:pointer;touch-action:pan-x;transform-origin:50% 70%;will-change:transform}
.genz-product:focus-visible{outline:3px solid rgba(255,91,54,.25);outline-offset:3px}
.genz-product .product-art{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
.genz-product:hover .product-art{transform:translateY(-2px) scale(1.01)}
.genz-product.just-added{animation:cardAdded .58s cubic-bezier(.18,.85,.32,1.35)}
.product-open-btn span{font-size:1.55rem;line-height:1;display:block;transition:transform .2s ease}
.genz-product:hover .product-open-btn span{transform:rotate(90deg)}

.sheet-open{overflow:hidden}
.qty-sheet{position:fixed;inset:0;z-index:120;display:grid;align-items:end;pointer-events:none;visibility:hidden}
.qty-sheet.is-open{pointer-events:auto;visibility:visible}
.qty-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(40,17,8,.46);backdrop-filter:blur(7px);opacity:0;transition:opacity .28s ease}
.qty-sheet.is-open .qty-sheet-backdrop{opacity:1}
.qty-sheet-panel{
  position:relative;z-index:2;width:min(500px,calc(100% - 20px));margin:0 auto 10px;background:linear-gradient(180deg,#fffdf9,#fff7ef);
  border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:14px;box-shadow:0 -24px 70px rgba(64,25,10,.24);
  transform:translateY(108%);transition:transform .38s cubic-bezier(.18,.82,.2,1);outline:none;max-height:min(88vh,720px);overflow:auto;
}
.qty-sheet.is-open .qty-sheet-panel{transform:translateY(0)}
.sheet-handle{width:48px;height:5px;border-radius:999px;background:#e8d5c8;margin:2px auto 11px}
.sheet-close{position:absolute;right:22px;top:19px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#572312;font-size:1.45rem;display:grid;place-items:center;z-index:5;box-shadow:0 8px 20px rgba(81,34,15,.1);cursor:pointer}
.sheet-product-art{height:230px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#ffe3bf,#ffad82);position:relative}
.sheet-product-art img{width:100%;height:100%;object-fit:cover;display:block;animation:sheetArtFloat 5s ease-in-out infinite}
.sheet-product-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 60%,rgba(74,24,8,.06));pointer-events:none}
.sheet-product-copy{padding:17px 5px 5px}.sheet-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff0e5;color:#a34624;font-size:.74rem;font-weight:900}.sheet-product-copy h2{font-size:1.55rem;line-height:1.05;margin:11px 0 5px;color:#43180c;letter-spacing:-.04em}.sheet-price{color:#8e5c45;font-size:.9rem;font-weight:800}
.quantity-picker{display:grid;grid-template-columns:58px 82px 58px;justify-content:center;align-items:center;gap:10px;margin:21px auto 16px}.qty-control{width:58px;height:58px;border:0;border-radius:19px;background:#fff;color:#6b2b14;font-size:1.8rem;box-shadow:0 10px 25px rgba(88,38,15,.1),inset 0 1px 0 #fff;cursor:pointer;transition:.16s ease}.qty-control.plus{background:linear-gradient(135deg,#ff633c,#ff8a28);color:#fff;box-shadow:0 12px 25px rgba(255,91,45,.24)}.qty-control:active{transform:scale(.93)}#qtyValue{font-size:2rem;font-weight:950;text-align:center;color:#361208}.sheet-total-row{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;border-top:1px dashed #efd8ca;color:#80604f}.sheet-total-row strong{font-size:1.25rem;color:#46190c}.sheet-add-btn{width:100%;min-height:58px;border-radius:19px;font-size:1rem;justify-content:space-between;padding-inline:20px}.sheet-add-btn b{font-size:.95rem}.sheet-add-btn:disabled{opacity:.68;cursor:wait}
.mini-loader{width:19px;height:19px;border:2px solid rgba(255,255,255,.48);border-top-color:#fff;border-radius:50%;animation:spinMini .7s linear infinite}

.cart-toast{position:fixed;left:50%;bottom:92px;z-index:140;width:min(460px,calc(100% - 28px));transform:translate(-50%,30px) scale(.97);opacity:0;pointer-events:none;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;padding:12px 13px;background:rgba(40,20,12,.94);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 18px 55px rgba(41,16,7,.3);backdrop-filter:blur(16px);transition:.3s cubic-bezier(.2,.8,.2,1)}.cart-toast.show{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}.toast-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#47c875,#1fa655);font-weight:950}.cart-toast strong,.cart-toast small{display:block}.cart-toast small{margin-top:2px;color:#dfcfc7;font-size:.76rem}.cart-toast a{color:#ffbb91;font-size:.78rem;font-weight:900;white-space:nowrap;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.08)}

@keyframes cartBump{0%{transform:scale(1)}45%{transform:scale(1.42) rotate(5deg)}100%{transform:scale(1)}}
@keyframes cardAdded{0%{transform:scale(1)}38%{transform:scale(1.025) translateY(-5px)}100%{transform:scale(1)}}
@keyframes sheetArtFloat{0%,100%{transform:scale(1.015) translateY(0)}50%{transform:scale(1.035) translateY(-3px)}}
@keyframes spinMini{to{transform:rotate(360deg)}}

@media(max-width:700px){
  .topbar nav{gap:7px}.header-cart{width:40px;height:40px}.nav-chip{padding:8px 10px}
  .menu-carousel{grid-auto-columns:78vw;gap:13px;margin-right:-3vw;padding-right:7vw;scroll-padding-left:0}
  .genz-product{padding:10px;border-radius:24px;box-shadow:0 13px 35px rgba(72,31,14,.1)}
  .genz-product .product-art{height:190px;min-height:190px;margin-bottom:11px}
  .genz-product h3{font-size:1.08rem}.product-subline{font-size:.76rem}.product-desc{font-size:.85rem;line-height:1.35;-webkit-line-clamp:1;margin-bottom:10px}
  .vibe-badge{min-height:34px;padding:7px 10px;font-size:.72rem}.vibe-dot{width:16px;height:16px;flex-basis:16px}.arrow-btn{width:48px;height:48px}
  .qty-sheet-panel{width:calc(100% - 12px);margin-bottom:6px;border-radius:28px 28px 24px 24px;padding:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.sheet-product-art{height:min(41vh,280px);border-radius:22px}.sheet-product-copy{padding:15px 7px 6px}.sheet-product-copy h2{font-size:1.45rem}.quantity-picker{grid-template-columns:56px 72px 56px;margin:18px auto 13px}.qty-control{width:56px;height:56px}.cart-toast{bottom:calc(86px + env(safe-area-inset-bottom))}
}
@media(max-width:420px){
  .menu-carousel{grid-auto-columns:82vw}.genz-product .product-art{height:178px;min-height:178px}.section-title{align-items:flex-start;gap:10px}.section-title .pill{display:none}.sheet-product-art{height:220px}.bottomnav{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px)}
}
@media(prefers-reduced-motion:reduce){.qty-sheet-panel,.qty-sheet-backdrop,.cart-toast{transition:none!important}.sheet-product-art img,.cart-bump,.genz-product.just-added{animation:none!important}}

/* ChayaBox v3.1 — active order notifications, signature cards, mobile mascot */
.header-orders{position:relative;width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#fff7ea;border:1px solid #f2dac7;color:var(--espresso);box-shadow:0 8px 20px rgba(94,36,20,.07)}
.header-order-icon{font-size:1.13rem;line-height:1}
.order-count-badge,.nav-order-badge{
  position:absolute;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;
  background:linear-gradient(135deg,#7b4dff,#ff4c7c);color:#fff;font-size:.65rem;font-weight:950;line-height:1;
  border:2px solid #fff;box-shadow:0 5px 12px rgba(123,77,255,.25);transform-origin:center;
}
.header-orders .order-count-badge{right:-6px;top:-5px}
.order-count-badge.is-zero{opacity:.42}
.nav-order-icon{position:relative;display:inline-grid;place-items:center}
.nav-order-badge{right:-13px;top:-10px;min-width:18px;height:18px;font-size:.6rem}
.order-bump{animation:orderBump .5s cubic-bezier(.18,.85,.32,1.35)}

.active-order-banner{
  margin:15px 0 2px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:13px 15px;
  border-radius:20px;color:#fff;background:linear-gradient(115deg,#3f1b12,#7a2b19 58%,#ff6a3d 135%);
  border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 35px rgba(76,30,13,.16);overflow:hidden;position:relative;
}
.active-order-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.1) 48%,transparent 68%);transform:translateX(-100%);animation:activeOrderSweep 4.5s linear infinite;pointer-events:none}
.active-order-pulse{width:12px;height:12px;border-radius:50%;background:#62e990;box-shadow:0 0 0 0 rgba(98,233,144,.5);animation:activePulse 1.7s ease-out infinite}
.active-order-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.active-order-copy small{font-size:.72rem;color:#f5cfc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-order-copy strong{font-size:.94rem;letter-spacing:-.01em}.active-order-track{font-size:.78rem;font-weight:900;color:#fff0e5;white-space:nowrap}

.flavour-mark{position:absolute;z-index:4;right:12px;top:12px;width:46px;height:46px;border-radius:16px;display:grid;place-items:center;backdrop-filter:blur(9px);box-shadow:0 8px 20px rgba(75,29,12,.16),inset 0 1px 0 rgba(255,255,255,.75);animation:flavourFloat 3.4s ease-in-out infinite;pointer-events:none}
.flavour-mark svg{width:27px;height:27px;overflow:visible}.flavour-mark svg path,.flavour-mark svg ellipse,.flavour-mark svg rect{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.flavour-leaf{background:linear-gradient(145deg,rgba(233,255,219,.93),rgba(162,226,125,.88));color:#3f8b39}.flavour-spice{background:linear-gradient(145deg,rgba(255,225,185,.95),rgba(219,111,45,.9));color:#8b3817;animation-name:spiceBounce}.flavour-bean{background:linear-gradient(145deg,rgba(231,191,160,.94),rgba(112,52,24,.9));color:#54210f}.flavour-ice{background:linear-gradient(145deg,rgba(239,253,255,.96),rgba(148,221,255,.88));color:#2587bf}.flavour-samosa{background:linear-gradient(145deg,rgba(255,236,176,.96),rgba(248,165,49,.9));color:#af5f06}.flavour-banana{background:linear-gradient(145deg,rgba(255,245,177,.97),rgba(255,199,45,.9));color:#9a6a00}
.type-tea .product-art{background:linear-gradient(145deg,#fff0c9,#ffc495)}
.type-masala-tea .product-art{background:linear-gradient(145deg,#ffe4c2,#f3a261)}
.type-filter-coffee .product-art,.type-coffee .product-art{background:linear-gradient(145deg,#f3d2b8,#c98250)}
.type-cold-coffee .product-art{background:linear-gradient(145deg,#e9f7ff,#ffb488)}
.type-samosa .product-art{background:linear-gradient(145deg,#fff1b7,#ffad57)}
.type-banana-fritter .product-art{background:linear-gradient(145deg,#fff1a8,#ffb13d)}
.type-tea .art-image{animation:classicTeaDrift 5.6s ease-in-out infinite}
.type-masala-tea .art-image{animation:masalaTeaPulse 4.4s ease-in-out infinite}
.type-filter-coffee .art-image,.type-coffee .art-image{animation:coffeeZoom 5.1s ease-in-out infinite}
.type-cold-coffee .art-image{animation:coldCoffeePop 4.8s ease-in-out infinite}
.type-samosa .art-image{animation:snackBounce 4.1s ease-in-out infinite}
.type-banana-fritter .art-image{animation:bananaSwing 4.5s ease-in-out infinite}

@keyframes activePulse{0%{box-shadow:0 0 0 0 rgba(98,233,144,.52)}70%{box-shadow:0 0 0 10px rgba(98,233,144,0)}100%{box-shadow:0 0 0 0 rgba(98,233,144,0)}}
@keyframes activeOrderSweep{100%{transform:translateX(100%)}}
@keyframes orderBump{0%{transform:scale(1)}45%{transform:scale(1.45) rotate(-5deg)}100%{transform:scale(1)}}
@keyframes flavourFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(4deg)}}
@keyframes spiceBounce{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-6px) rotate(6deg) scale(1.05)}}
@keyframes classicTeaDrift{0%,100%{transform:scale(1.02) translateY(0)}50%{transform:scale(1.06) translateY(-3px)}}
@keyframes masalaTeaPulse{0%,100%{transform:scale(1.03) rotate(-.5deg)}50%{transform:scale(1.075) rotate(.7deg)}}
@keyframes coffeeZoom{0%,100%{transform:scale(1.02)}50%{transform:scale(1.065)}}
@keyframes coldCoffeePop{0%,100%{transform:scale(1.03) translateY(0)}50%{transform:scale(1.075) translateY(-4px)}}
@keyframes snackBounce{0%,100%{transform:scale(1.02) rotate(0)}50%{transform:scale(1.055) rotate(.8deg)}}
@keyframes bananaSwing{0%,100%{transform:scale(1.02) rotate(-.4deg)}50%{transform:scale(1.06) rotate(.9deg)}}

@media(max-width:800px){
  .hero{min-height:430px;grid-template-columns:1fr;padding-bottom:145px}
  .hero-visual{display:grid!important;position:absolute;right:10px;bottom:-2px;width:175px;height:175px;place-items:center;z-index:2;opacity:1}
  .hero-visual img{width:100%!important;max-width:175px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.22));animation:float 3.8s ease-in-out infinite}
  .hero-copy{padding-right:0}
}
@media(max-width:560px){
  .topbar nav{gap:6px}.header-orders,.header-cart{width:39px;height:39px;border-radius:14px}.header-order-icon,.header-cart-icon{font-size:1.05rem}
  .active-order-banner{grid-template-columns:14px 1fr auto;padding:12px 13px;border-radius:18px}.active-order-track{font-size:.72rem}.active-order-copy strong{font-size:.88rem}
  .hero{min-height:425px;padding-bottom:135px}.hero-visual{width:150px;height:150px;right:4px;bottom:0}.hero-visual img{max-width:150px}
  .flavour-mark{width:42px;height:42px;border-radius:14px;right:10px;top:10px}.flavour-mark svg{width:24px;height:24px}
}
@media(max-width:390px){.hero{min-height:440px;padding-bottom:130px}.hero-visual{width:132px;height:132px}.hero-visual img{max-width:132px}.active-order-track{display:none}}
@media(prefers-reduced-motion:reduce){.active-order-banner::after,.active-order-pulse,.flavour-mark,.type-tea .art-image,.type-masala-tea .art-image,.type-filter-coffee .art-image,.type-coffee .art-image,.type-cold-coffee .art-image,.type-samosa .art-image,.type-banana-fritter .art-image{animation:none!important}}
.order-count-badge.is-zero{display:none}.active-order-card{border-left:5px solid #7b4dff;background:linear-gradient(145deg,#fff,#fbf8ff)}
