/* ============================================================
   v3 ADDITIONS (top so later base rules can still override layout)
   ============================================================ */
/* loader — big centred spinning chakra */
#loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--ivory,#FFF9F0);transition:opacity .45s}
#loader.off{opacity:0;pointer-events:none}
#loader img{width:clamp(150px,42vw,180px);height:clamp(150px,42vw,180px);border-radius:50%;box-shadow:0 16px 40px -10px rgba(0,0,0,.35);position:relative;z-index:2;animation:mcPulse 1.3s ease-in-out infinite}
/* chakra ring — hugs the logo tightly (small radius) and spins */
#loader::before{content:"";position:absolute;width:clamp(168px,47vw,200px);height:clamp(168px,47vw,200px);border-radius:50%;background:conic-gradient(from 0deg,#C8102E,#F5B400,#0E7A36,#0B1B5E,#EC4899,#C8102E);-webkit-mask:radial-gradient(circle,transparent 49.5%,#000 50%,#000 60%,transparent 60.5%);mask:radial-gradient(circle,transparent 49.5%,#000 50%,#000 60%,transparent 60.5%);animation:mcSpin 2s linear infinite}
#loader::after{content:"";position:absolute;width:clamp(176px,49vw,210px);height:clamp(176px,49vw,210px);border-radius:50%;background:radial-gradient(circle,rgba(245,180,0,.22),transparent 66%);animation:mcSpin 6s linear infinite reverse}
#loader span{position:absolute;bottom:20vh;font-family:var(--f-disp,"Baloo Thambi 2");font-size:clamp(22px,6vw,34px);font-weight:800;letter-spacing:.04em;color:var(--maroon,#8B0F1A);z-index:2;text-align:center;padding:0 16px}
@keyframes mcSpin{to{transform:rotate(360deg)}}
@keyframes mcPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}

/* fly-to-basket ball + cart bump */
.flyball{position:fixed;z-index:9999;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE27A,#F5B400 45%,#C8102E);box-shadow:0 6px 18px -3px rgba(200,16,46,.7),0 0 0 3px rgba(255,255,255,.55);pointer-events:none;margin:-14px;will-change:transform,opacity}
.cartbtn.bump,.mnav [data-open-cart].bump{animation:mcBump .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes mcBump{40%{transform:scale(1.18)}}
.cartbtn.cpop .n,.mnav [data-open-cart].cpop .n{animation:mcBadge .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes mcBadge{40%{transform:scale(1.5)}}

/* added-product highlight (item 5) — soft mint row, one clean left bar */
.pt tbody tr.picked td{background:#F0FAF3 !important}
.pt tbody tr.picked td:first-child{position:relative}
.pt tbody tr.picked td:first-child::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green,#0E7A36)}
.pt tbody tr.picked:hover td{background:#E6F6EC !important}
.pt tr.picked .add,.pick.picked .btn--red{background:var(--green,#0E7A36) !important;box-shadow:0 3px 0 #085626 !important}
.pick.picked{border-color:var(--green,#0E7A36);box-shadow:0 0 0 2px rgba(14,122,54,.22)}

/* products table: MRP strikethrough beside discounted price */
.pt td.pr s{color:var(--muted,#6F5A4A);font-weight:600;font-size:12.5px;margin-right:4px}
.pt td.pr b{font-family:var(--f-disp,"Baloo Thambi 2");color:var(--red,#C8102E);font-size:17px}

/* drawer line: mrp struck through above amount */
.ci .ci-a{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.ci .ci-a .mrp{color:var(--muted,#6F5A4A);text-decoration:line-through;font-size:11.5px}

/* bank / UPI block */
.bank{background:linear-gradient(180deg,#fff,#FFF6E8);border:2px solid var(--gold,#F5B400);border-radius:16px;padding:16px;box-shadow:var(--sh,0 10px 30px -14px rgba(120,60,20,.22))}
.bank.compact{margin-top:16px;text-align:left}
.bank-h{font-family:var(--f-disp,"Baloo Thambi 2");color:var(--maroon,#8B0F1A);font-size:17px;margin-bottom:10px}
.bank-qr{width:150px;height:150px;object-fit:contain;display:block;margin:0 auto 12px;border:6px solid #fff;border-radius:12px;box-shadow:0 6px 16px -6px rgba(0,0,0,.25)}
.bank-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px dashed var(--line-2,#E4D2B4);font-size:14px}
.bank-row span{color:var(--muted,#6F5A4A);flex:0 0 88px;font-size:12.5px;line-height:1.3}
.bank-row b{color:var(--ink,#2A1608);word-break:break-all;flex:1}
.bank-row .cpy{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border:1.5px solid var(--navy,#0B1B5E);background:#fff;color:var(--navy,#0B1B5E);border-radius:8px;padding:0;font-size:13px;font-weight:800;flex:0 0 auto;cursor:pointer;transition:.15s}
.bank-row .cpy:hover{background:var(--navy,#0B1B5E);color:#fff}
.bank-row .cpy.ok{background:var(--green,#0E7A36);border-color:var(--green,#0E7A36);color:#fff}
.bank-note{font-size:12px;color:var(--muted,#6F5A4A);margin-top:10px;line-height:1.5}
.bank-pay{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px 14px;border-radius:12px;background:linear-gradient(160deg,#13b56d,#0E7A36 60%,#0a5f2a);color:#fff;font-weight:800;font-size:15px;box-shadow:0 3px 0 #074b21;text-decoration:none;transition:.15s}
.bank-pay:hover{transform:translateY(-1px)}
.bank-pay:active{transform:translateY(2px);box-shadow:0 0 0 #074b21}
.bank-share{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:10px 14px;border-radius:12px;border:2px solid var(--navy,#0B1B5E);background:#fff;color:var(--navy,#0B1B5E);font-weight:700;font-size:14px;cursor:pointer;transition:.15s}
.bank-share:hover{background:var(--navy,#0B1B5E);color:#fff}
.bank-actions{display:flex;gap:8px;margin-top:12px}

/* website status banner (closed / coming soon) */
.status-bar{background:linear-gradient(90deg,#8B0F1A,#C8102E);color:#fff;text-align:center;font-weight:700;padding:10px 16px;font-size:14px}
.mc-gate{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 30%,#FFF3DF,#FFE7BD)}
.mc-gate .box{max-width:460px}
.mc-gate img{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;box-shadow:0 12px 30px -10px rgba(0,0,0,.35)}
.mc-gate h1{font-family:var(--f-disp,"Baloo Thambi 2");color:var(--maroon,#8B0F1A);font-size:30px}
.mc-gate p{color:var(--ink-2,#4E3320);margin:12px 0 20px;font-size:16px;line-height:1.6}

/* ============================================================
   MONIKA CRACKERS — monikacrackers.com
   Design system for the 3-page enquiry site (home / products / contact)
   Light, festive, animated. Palette lifted from the shop's own artwork:
   title red, navy strip, gold ribbon, ivory paper.
   ============================================================ */

:root{
  --ivory:#FFF9F0;   --paper:#FFFFFF;   --cream:#FFF3DF;
  --maroon:#8B0F1A;  --red:#C8102E;     --red-soft:#FDE8EA;
  --navy:#0B1B5E;    --navy-2:#142A80;  --navy-soft:#E8ECFF;
  --gold:#F5B400;    --gold-2:#FFD34D;  --gold-soft:#FFF1C2;  --amber-t:#8A5A00;
  --green:#0E7A36;   --green-soft:#E3F6E8;
  --ink:#2A1608;     --ink-2:#4E3320;   --muted:#6F5A4A;
  --line:#F0E2CC;    --line-2:#E4D2B4;
  --f-disp:"Baloo Thambi 2","Noto Sans Tamil",system-ui,sans-serif;
  --f-body:"Poppins","Noto Sans Tamil",system-ui,sans-serif;
  --r:16px; --r-lg:24px;
  --sh:0 10px 30px -14px rgba(120,60,20,.22), 0 2px 8px -3px rgba(120,60,20,.08);
  --sh-lg:0 28px 56px -24px rgba(120,60,20,.32);
  --max:1200px;
  --hdr:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{
  margin:0;font-family:var(--f-body);font-size:16px;line-height:1.5;color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(245,180,0,.10), transparent 32%),
    radial-gradient(circle at 90% 90%, rgba(200,16,46,.06), transparent 30%),
    var(--ivory);
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit}
h1,h2,h3,h4{font-family:var(--f-disp);margin:0;line-height:1.1;color:var(--ink);font-weight:800}
h1{font-size:clamp(30px,4.6vw,52px)} h2{font-size:clamp(24px,3.2vw,38px)} h3{font-size:clamp(17px,1.9vw,21px)}
p{margin:0}
.wrap{width:min(var(--max),calc(100% - 32px));margin-inline:auto}
.ta{font-family:var(--f-disp)}
.muted{color:var(--muted)}
::selection{background:var(--gold-2);color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}

/* ---------- eyebrow / section head ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:currentColor}
.sec{padding:clamp(40px,6vw,72px) 0;position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}
.sec-head h2{margin-top:10px;position:relative}
.sec-head h2::after{content:"";display:block;width:70px;height:6px;border-radius:6px;margin-top:10px;background:linear-gradient(90deg,var(--red),var(--gold))}
.sec-head p{color:var(--muted);max-width:52ch}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:50px;padding:0 22px;border-radius:14px;border:2px solid transparent;
  font-weight:700;font-size:15px;white-space:nowrap;
  transition:transform .16s cubic-bezier(.2,.9,.3,1.5),box-shadow .16s,filter .16s,background .16s;
}
.btn:active{transform:translateY(2px) scale(.98)}
.btn--gold{background:linear-gradient(160deg,#FFE27A,var(--gold) 55%,#E09E00);color:#3B2600;box-shadow:0 3px 0 #B8860B,0 12px 24px -12px rgba(224,158,0,.7)}
.btn--gold:hover{transform:translateY(-2px);filter:saturate(1.1)}
.btn--red{background:linear-gradient(160deg,#E0233F,var(--red) 55%,#9E0C24);color:#fff;box-shadow:0 3px 0 #7A0A1C,0 12px 24px -12px rgba(200,16,46,.6)}
.btn--red:hover{transform:translateY(-2px)}
.btn--navy{background:var(--navy);color:#fff;box-shadow:0 3px 0 #06103A}
.btn--navy:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn--wa{background:#0E7A36;color:#fff;box-shadow:0 3px 0 #085626}
.btn--wa:hover{background:#0c6a2f;transform:translateY(-2px)}
.btn--ghost{background:var(--paper);border-color:var(--line-2);color:var(--ink)}
.btn--ghost:hover{border-color:var(--gold);background:var(--gold-soft)}
.btn--sm{height:40px;padding:0 14px;font-size:13.5px;border-radius:11px}
.btn svg{flex:0 0 auto}

/* ---------- header ---------- */
.hdr{
  position:sticky;top:0;z-index:80;height:var(--hdr);
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);
  border-bottom:1px solid var(--line);
  border-top:5px solid transparent;
  border-image:linear-gradient(90deg,var(--red),var(--gold),var(--green),var(--navy),var(--red)) 1;
  box-shadow:0 8px 24px -18px rgba(120,60,20,.35);
}
.hdr .wrap{height:100%;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand img{width:50px;height:50px;border-radius:50%;box-shadow:0 4px 12px -4px rgba(0,0,0,.35);animation:mcSpinIn .8s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes mcSpinIn{from{transform:rotate(-40deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
.brand b{display:block;font-family:var(--f-disp);font-size:20px;line-height:1;color:var(--maroon);white-space:nowrap}
.brand small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-top:3px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:10px 16px;border-radius:12px;font-weight:700;font-size:14.5px;color:var(--ink-2);transition:.18s}
.nav a:hover{background:var(--gold-soft);color:var(--amber-t);transform:translateY(-1px)}
.nav a.on{background:var(--red-soft);color:var(--red)}
.hdr-acts{display:flex;gap:8px;align-items:center}
.cartbtn{position:relative;height:44px;padding:0 16px;border-radius:12px;background:var(--navy);color:#fff;border:0;display:inline-flex;align-items:center;gap:8px;font-weight:700;box-shadow:0 3px 0 #06103A;transition:.16s}
.cartbtn:hover{background:var(--navy-2);transform:translateY(-1px)}
.cartbtn .n{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gold);color:#3B2600;font-size:12px;font-weight:800;display:grid;place-items:center}
.cartbtn.pop .n{animation:mcPop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes mcPop{50%{transform:scale(1.45)}}
.callbtn{height:44px;width:44px;border-radius:12px;display:grid;place-items:center;background:var(--green);color:#fff;box-shadow:0 3px 0 #085626}
@media (max-width:900px){
  :root{--hdr:72px}
  .nav{display:none}
  .brand img{width:42px;height:42px}
  .brand b{font-size:17px}
  .brand small{font-size:9px}
  .cartbtn span.t{display:none}
  .cartbtn{padding:0 12px}
}

/* ---------- mobile bottom nav ---------- */
.mnav{display:none}
@media (max-width:900px){
  .mnav{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:fixed;left:10px;right:10px;bottom:10px;z-index:85;
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
    border:2px solid var(--line-2);border-radius:18px;box-shadow:var(--sh-lg);
    padding:6px;
  }
  .mnav a{display:grid;place-items:center;gap:2px;padding:7px 4px;border-radius:12px;font-size:11px;font-weight:700;color:var(--ink-2)}
  .mnav a svg{width:22px;height:22px}
  .mnav a.on{background:var(--red-soft);color:var(--red)}
  .mnav a .n{position:absolute;top:2px;right:14%;min-width:18px;height:18px;border-radius:999px;background:var(--gold);color:#3B2600;font-size:10.5px;font-weight:800;display:grid;place-items:center}
  .mnav a{position:relative}
  body{padding-bottom:84px}
}

/* ---------- hero (home) ---------- */
.hero{position:relative;overflow:hidden;background:#3a0d14}
.hero picture,.hero img{display:block;width:100%;height:auto}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .rocket{
  position:absolute;width:14px;height:44px;border-radius:7px 7px 3px 3px;
  background:linear-gradient(180deg,var(--red) 0 55%,#FFE27A 55% 70%,var(--red) 70%);
  box-shadow:0 46px 0 -4px #B8860B, 0 0 18px 4px rgba(255,210,77,.55);
  animation:mcRocket 5s cubic-bezier(.35,0,.8,1) infinite;opacity:0;pointer-events:none;
}
.hero .rocket.r2{left:auto;right:6%;animation-delay:2.4s;animation-duration:5.8s}
.hero .rocket.r1{left:5%}
@keyframes mcRocket{0%{transform:translateY(0);opacity:0}10%{opacity:.9}60%{transform:translateY(-520px);opacity:.9}66%{transform:translateY(-560px) scale(1.6);opacity:0}100%{opacity:0}}
.hero-bar{
  background:var(--paper);border-bottom:1px solid var(--line);
}
.hero-bar .wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;padding:16px 0}
.hero-bar .lead{font-family:var(--f-disp);font-size:clamp(17px,2vw,22px);color:var(--maroon);width:100%;text-align:center;margin:0 0 6px}
@media (max-width:700px){.hero-bar .lead{width:100%;text-align:center;margin:0}.hero-bar .btn{flex:1 1 140px}}

/* ---------- ticker ---------- */
.ticker{background:linear-gradient(90deg,var(--gold-soft),#FFE9B8,var(--gold-soft));border-block:2px dashed var(--line-2);overflow:hidden}
.ticker .track{display:flex;gap:44px;white-space:nowrap;padding:12px 0;animation:mcTicker 32s linear infinite;width:max-content}
.ticker span{font-weight:800;font-size:14px;color:var(--ink);display:inline-flex;align-items:center;gap:12px}
.ticker span::after{content:"✦";color:var(--red)}
@keyframes mcTicker{to{transform:translateX(-50%)}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r);padding:20px;text-align:center;box-shadow:var(--sh);position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--red),var(--gold))}
.stat b{display:block;font-family:var(--f-disp);font-size:clamp(28px,3.6vw,42px);color:var(--maroon);line-height:1}
.stat span{font-size:13px;font-weight:600;color:var(--muted)}
@media (max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r-lg);padding:26px 22px 22px;position:relative;box-shadow:var(--sh);transition:.2s}
.step:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--sh-lg)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:20px;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--f-disp);font-weight:800;display:grid;place-items:center;box-shadow:0 3px 0 #7A0A1C}
.step .ic{font-size:34px;line-height:1;margin-bottom:12px}
.step h3{margin-bottom:6px}
.step p{font-size:14px;color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- categories ---------- */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.cat{
  display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--paper);
  border:2px solid var(--line-2);border-radius:14px;box-shadow:var(--sh);transition:.18s;
}
.cat:hover{transform:translateY(-3px) rotate(-.4deg);border-color:var(--gold);box-shadow:var(--sh-lg)}
.cat .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:var(--gold-soft);flex:0 0 auto;transition:.2s}
.cat:hover .ic{transform:scale(1.15) rotate(-8deg)}
.cat:nth-child(5n+2) .ic{background:var(--red-soft)} .cat:nth-child(5n+3) .ic{background:var(--green-soft)}
.cat:nth-child(5n+4) .ic{background:var(--navy-soft)} .cat:nth-child(5n) .ic{background:#FCE7F3}
.cat b{display:block;font-size:13.5px;line-height:1.2}
.cat small{color:var(--muted);font-size:12px}

/* ---------- offer band ---------- */
.offer{
  border-radius:var(--r-lg);padding:clamp(26px,4vw,44px);position:relative;overflow:hidden;
  background:linear-gradient(120deg,#FFF1C2 0%,#FFE39A 40%,#FFD26B 100%);
  border:3px solid var(--gold);box-shadow:var(--sh-lg);
  display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;
}
.offer::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle,rgba(255,255,255,.8) 1.5px,transparent 2.5px) 0 0/44px 44px,
  radial-gradient(circle,rgba(200,16,46,.15) 1.5px,transparent 2.5px) 22px 22px/44px 44px;}
.offer > *{position:relative}
.offer .big{font-family:var(--f-disp);font-size:clamp(44px,8vw,92px);line-height:.9;color:var(--red);text-shadow:3px 3px 0 #fff,6px 6px 0 rgba(139,15,26,.18)}
.offer .big small{display:block;font-size:.34em;color:var(--navy);text-shadow:none;letter-spacing:.06em}
.offer .ta-lines{font-family:var(--f-disp);font-size:clamp(17px,2.2vw,24px);color:var(--maroon);line-height:1.35}
.offer img{width:min(100%,360px);margin-inline:auto;filter:drop-shadow(0 16px 24px rgba(0,0,0,.25));animation:mcFloat 4.5s ease-in-out infinite}
@keyframes mcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:820px){.offer{grid-template-columns:1fr;text-align:center}.offer img{width:min(80%,280px)}}

/* ---------- picks (no images by design) ---------- */
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.pick{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r);padding:16px;box-shadow:var(--sh);display:grid;gap:8px;transition:.18s;position:relative;overflow:hidden}
.pick::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 26px 26px 0;border-color:transparent var(--gold) transparent transparent}
.pick:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--sh-lg)}
.pick .cat-tag{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:var(--navy-soft);padding:3px 8px;border-radius:6px;width:fit-content}
.pick h3{font-size:16px;line-height:1.2}
.pick .pr{display:flex;align-items:baseline;gap:8px}
.pick .pr b{font-family:var(--f-disp);font-size:24px;color:var(--red)}
.pick .pr s{color:var(--muted);font-size:13px}
.pick .pr .save{margin-left:auto;font-size:11px;font-weight:800;background:var(--green-soft);color:var(--green);padding:3px 8px;border-radius:6px}
.pick .act{display:flex;gap:8px;align-items:center;margin-top:4px}

/* ---------- qty stepper (shared) ---------- */
.q{display:inline-flex;align-items:center;border:2px solid var(--line-2);border-radius:11px;overflow:hidden;background:var(--paper);height:40px}
.q button{width:36px;height:100%;border:0;background:var(--gold-soft);color:var(--amber-t);font-weight:800;font-size:18px;transition:.15s}
.q button:hover{background:var(--gold);color:#3B2600}
.q input{width:46px;height:100%;border:0;text-align:center;font:inherit;font-weight:800;color:var(--ink);outline:none;-moz-appearance:textfield}
.q input::-webkit-outer-spin-button,.q input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- why / trust ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why div{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh);transition:.2s}
.why div:hover{transform:translateY(-4px);border-color:var(--gold)}
.why .ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:26px;margin-bottom:12px;background:var(--gold-soft)}
.why div:nth-child(2) .ic{background:var(--red-soft)} .why div:nth-child(3) .ic{background:var(--green-soft)}
.why p{font-size:14px;color:var(--muted);margin-top:6px}
@media (max-width:820px){.why{grid-template-columns:1fr}}

/* ---------- visit (poster + shop) ---------- */
.visit{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}
.visit .poster{border:3px solid var(--paper);outline:2px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);transform:rotate(-1.2deg);transition:.3s}
.visit .poster:hover{transform:rotate(0) scale(1.01)}
.visit .addr{font-size:15px;line-height:1.7}
.visit .addr b{display:block;font-family:var(--f-disp);font-size:20px;color:var(--maroon);margin-bottom:4px}
.visit .phones{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.visit .phones a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--navy);color:#fff;font-weight:800;box-shadow:0 3px 0 #06103A}
@media (max-width:820px){.visit{grid-template-columns:1fr}}

/* ---------- safety ---------- */
.safe{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.safe div{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:2px dashed var(--line-2);border-radius:14px;padding:14px;font-size:14px}
.safe div span{font-size:22px;line-height:1}

/* ---------- CTA band ---------- */
.cta{
  border-radius:var(--r-lg);padding:clamp(28px,4vw,48px);text-align:center;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(circle at 15% 20%,rgba(245,180,0,.35),transparent 35%),radial-gradient(circle at 85% 80%,rgba(200,16,46,.4),transparent 35%),linear-gradient(135deg,var(--navy),#1A2E8A 60%,#2A1A6E);
  box-shadow:var(--sh-lg);
}
.cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle,rgba(255,255,255,.9) 1px,transparent 1.8px) 10px 10px/90px 70px,
  radial-gradient(circle,rgba(255,211,77,.9) 1.2px,transparent 2px) 40px 30px/130px 110px;animation:mcTwinkle 3s ease-in-out infinite}
@keyframes mcTwinkle{0%,100%{opacity:.3}50%{opacity:.9}}
.cta > *{position:relative}
.cta h2{color:#fff;font-size:clamp(26px,3.6vw,44px)}
.cta h2 span{color:var(--gold-2)}
.cta p{color:#E9E6FF;margin:10px auto 20px;max-width:56ch}
.cta .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
.ftr{margin-top:60px;background:var(--paper);border-top:3px solid var(--gold);position:relative}
.ftr::before{content:"🪔  🪔  🪔  🪔  🪔  🪔  🪔";position:absolute;left:50%;top:-16px;transform:translateX(-50%);font-size:18px;letter-spacing:10px;white-space:nowrap;filter:drop-shadow(0 0 8px rgba(245,180,0,.9));animation:mcDiya 2.6s ease-in-out infinite}
@keyframes mcDiya{0%,100%{filter:drop-shadow(0 0 5px rgba(245,180,0,.7))}50%{filter:drop-shadow(0 0 14px rgba(245,180,0,1))}}
.ftr .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;padding:48px 0 28px}
.ftr h4{font-family:var(--f-body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.ftr a.l{display:block;padding:5px 0;color:var(--ink-2);font-size:14px;transition:.15s}
.ftr a.l:hover{color:var(--red);transform:translateX(3px)}
.ftr p{font-size:14px;color:var(--muted);line-height:1.7}
.ftr .strip{background:var(--navy);color:#fff;padding:14px 0}
.ftr .strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}
.ftr .strip b{color:var(--gold-2)}
@media (max-width:820px){.ftr .grid{grid-template-columns:1fr;gap:22px}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.3,1)}
.rv.in{opacity:1;transform:none}

/* ============================================================
   PRODUCTS PAGE
   ============================================================ */
.phead{padding:28px 0 8px}
.phead h1 span{color:var(--red)}
.phead .sub{color:var(--muted);margin-top:6px}
.phead .off{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-family:var(--f-disp);font-size:15px;padding:6px 14px;border-radius:999px;box-shadow:0 3px 0 #7A0A1C;animation:mcWobble 3s ease-in-out infinite}
@keyframes mcWobble{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}

/* toolbar — sits on TOP of the table, sticky under the header */
.tools{
  position:sticky;top:var(--hdr);z-index:60;
  background:rgba(255,249,240,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:12px 0;border-bottom:2px solid var(--line-2);
}
.tools .row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:center}
.tools .f{position:relative}
.tools input,.tools select{
  width:100%;height:46px;border:2px solid var(--line-2);border-radius:12px;background:var(--paper);
  padding:0 14px 0 40px;font:inherit;font-weight:600;color:var(--ink);transition:.15s;
}
.tools select{padding-left:40px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E3320' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.tools input:focus,.tools select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(245,180,0,.2);outline:none}
.tools .f svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.tools .count{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.tools .count b{color:var(--red)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:7px 12px;border-radius:999px;border:2px solid var(--line-2);background:var(--paper);font-size:12.5px;font-weight:700;color:var(--ink-2);transition:.15s}
.chip:hover{border-color:var(--gold);background:var(--gold-soft)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:900px){.tools .row{grid-template-columns:1fr 1fr}.tools .f.search{grid-column:1/-1}.tools .count{grid-column:1/-1;text-align:right}}

/* the price list */
.plist{margin-top:18px}
.cat-h{
  display:flex;align-items:center;gap:12px;margin:26px 0 10px;
  font-family:var(--f-disp);font-size:clamp(18px,2.2vw,24px);color:var(--maroon);
}
.cat-h::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.cat-h .k{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--gold-soft)}
.cat-h .c{font-family:var(--f-body);font-size:12px;font-weight:700;color:var(--muted);background:var(--paper);border:1px solid var(--line-2);padding:3px 9px;border-radius:999px}
table.pt{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.pt th{background:var(--navy);color:#FFE9A8;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:12px 12px;text-align:left;font-weight:800}
.pt th.r,.pt td.r{text-align:right}
.pt td{padding:10px 12px;border-top:1px solid var(--line);font-size:14.5px;vertical-align:middle}
.pt tr:nth-child(even) td{background:#FFFCF6}
.pt tr:hover td{background:var(--gold-soft)}
.pt tr.added td{animation:mcFlash .9s ease}
@keyframes mcFlash{0%{background:#D9F7E3}100%{background:transparent}}
.pt .no{color:var(--muted);font-weight:700;font-size:12.5px;width:48px}
.pt .nm{font-weight:700}
.pt .nm small{display:block;font-weight:600;color:var(--muted);font-size:12px}
.pt .per{color:var(--muted);font-size:13px;white-space:nowrap}
.pt .mrp{color:var(--muted);text-decoration:line-through;white-space:nowrap}
.pt .pr{font-family:var(--f-disp);font-size:18px;color:var(--red);white-space:nowrap}
.pt .ask{font-size:12.5px;font-weight:700;color:var(--navy);background:var(--navy-soft);padding:4px 9px;border-radius:8px;white-space:nowrap}
.pt .add{height:40px;padding:0 14px;border-radius:11px;border:0;background:linear-gradient(160deg,#E0233F,var(--red) 55%,#9E0C24);color:#fff;font-weight:800;box-shadow:0 3px 0 #7A0A1C;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:150px;transition:.15s;white-space:nowrap}
.pt .add:hover{transform:translateY(-2px)} .pt .add:active{transform:translateY(2px);box-shadow:0 0 0 #7A0A1C}
.pt .add.in{background:var(--green);box-shadow:0 3px 0 #085626}
@keyframes mcpulse{0%{transform:scale(1)}30%{transform:scale(1.09)}60%{transform:scale(.97)}100%{transform:scale(1)}}
.add.mcpulse,.btn.mcpulse{animation:mcpulse .5s ease}
@keyframes mcshake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.mcshake{animation:mcshake .5s cubic-bezier(.36,.07,.19,.97) both}
.pt td.act{white-space:nowrap}
.pt .askb{height:40px;padding:0 12px;border-radius:11px;border:2px solid var(--navy);background:var(--paper);color:var(--navy);font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:150px}
.pt .askb:hover{background:var(--navy);color:#fff}
.empty{padding:40px;text-align:center;color:var(--muted);background:var(--paper);border:2px dashed var(--line-2);border-radius:var(--r)}
/* mobile: rows become cards */
@media (max-width:760px){
  table.pt,.pt tbody{display:block}
  .pt thead{display:none}
  /* number box top-right, then MRP + discount price, then unit; name on the left with no "#" prefix */
  .pt tr{position:relative;display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"nm mrp pr" "nm per per" "act act act";gap:1px 8px;padding:12px 14px;border-top:1px solid var(--line);align-items:center}
  .pt tr:first-child{border-top:0}
  .pt td{display:block;padding:0;border:0;background:transparent !important}
  .pt tbody tr td.no{position:absolute;top:0;left:0;z-index:5;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:auto;padding:3px 9px 4px;border-radius:0 0 10px 0;background:var(--navy) !important;color:#fff !important;font-size:11.5px;font-weight:800;line-height:1}
  /* keep the s.no badge pinned to the top-left corner even after a product is added */
  .pt tbody tr.picked td.no{position:absolute;top:0;left:0}
  .pt tbody tr.picked td:first-child::before{display:none}
  .pt tbody tr.picked::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green,#0E7A36);z-index:1}
  .pt td.nm{grid-area:nm;font-size:15px;align-self:center;padding-left:34px}
  .pt td.nm::before{content:""}
  .pt td.mrp{display:block;grid-area:mrp;text-align:right;color:var(--muted);text-decoration:line-through;font-size:14px;white-space:nowrap;align-self:baseline}
  .pt td.pr{grid-area:pr;text-align:left;font-size:25px;line-height:1;white-space:nowrap;align-self:baseline}
  .pt td.per{grid-area:per;color:var(--muted);font-size:12px;text-align:center;white-space:nowrap;align-self:start;margin-top:2px}
  .pt td.per::after{content:""}
  .pt td.act{grid-area:act;display:flex;gap:8px;align-items:center;margin-top:8px}
  .pt td.act .add{flex:1;justify-content:center}
}

/* floating cart bar (products page) */
.cbar{
  position:fixed;left:50%;transform:translate(-50%,120%);bottom:16px;z-index:84;
  display:flex;align-items:center;gap:14px;padding:10px 12px 10px 18px;
  background:var(--navy);color:#fff;border-radius:16px;box-shadow:0 20px 40px -16px rgba(11,27,94,.7);
  transition:transform .35s cubic-bezier(.2,.9,.3,1.3);
}
.cbar.show{transform:translate(-50%,0)}
.cbar b{font-family:var(--f-disp);font-size:20px;color:var(--gold-2)}
.cbar small{display:block;font-size:12px;color:#C9CEF0}
@media (max-width:900px){.cbar{bottom:92px;left:10px;right:10px;transform:translate(0,140%);width:auto}.cbar.show{transform:translate(0,0)}}

/* ============================================================
   CART DRAWER
   ============================================================ */
.dim{position:fixed;inset:0;background:rgba(42,22,8,.45);backdrop-filter:blur(2px);z-index:90;opacity:0;pointer-events:none;transition:.25s}
.dim.on{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:95;
  background:var(--ivory);box-shadow:-20px 0 60px -20px rgba(0,0,0,.4);
  transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.9,.3,1);
  display:flex;flex-direction:column;
}
.drawer.on{transform:none}
.drawer .dh{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--navy);color:#fff}
.drawer .dh h3{color:#fff;font-size:20px} .drawer .dh small{display:block;color:#C9CEF0;font-size:12px}
.drawer .dh .x{margin-left:auto;width:38px;height:38px;border-radius:10px;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:20px}
.drawer .items{flex:1;overflow:auto;padding:14px 16px;display:grid;gap:10px;align-content:start}
.ci{display:grid;grid-template-columns:1fr auto;gap:6px 12px;background:var(--paper);border:2px solid var(--line-2);border-radius:14px;padding:12px 14px;animation:mcIn .3s ease both}
@keyframes mcIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.ci b{font-size:14px;line-height:1.25}
.ci .u{font-size:12px;color:var(--muted)}
.ci .amt{font-family:var(--f-disp);font-size:18px;color:var(--red);text-align:right}
.ci .row{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.ci .row .q{height:34px}.ci .row .q button{width:30px;font-size:16px}.ci .row .q input{width:40px}
.ci .rm{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:12.5px;font-weight:700;text-decoration:underline}
.ci .rm:hover{color:var(--red)}
.drawer .empty{margin:14px 16px}
.drawer .sum{padding:14px 18px;background:var(--paper);border-top:2px solid var(--line-2)}
.drawer .sum .l{display:flex;justify-content:space-between;font-size:14px;padding:3px 0;color:var(--ink-2)}
.drawer .sum .l.tot{font-family:var(--f-disp);font-size:22px;color:var(--maroon);border-top:2px dashed var(--line-2);margin-top:6px;padding-top:8px}
.drawer .sum .l.save span:last-child{color:var(--green);font-weight:800}
.drawer .form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.drawer .form input{height:42px;border:2px solid var(--line-2);border-radius:10px;padding:0 12px;font:inherit;background:var(--ivory)}
.drawer .form input:focus{border-color:var(--gold);outline:none}
.drawer .form input.full{grid-column:1/-1}
.drawer .acts{display:grid;gap:8px}
.drawer .acts .btn{width:100%}
.drawer .note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:8px;line-height:1.5}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.chero{padding:36px 0 10px;text-align:center}
.chero h1 span{color:var(--red)}
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.cc{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r-lg);padding:24px;text-align:center;box-shadow:var(--sh);transition:.2s;position:relative;overflow:hidden}
.cc:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--sh-lg)}
.cc .ic{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:28px;margin:0 auto 12px;background:var(--gold-soft)}
.cc:nth-child(2) .ic{background:var(--green-soft)} .cc:nth-child(3) .ic{background:var(--red-soft)}
.cc h3{margin-bottom:6px}
.cc p{font-size:14px;color:var(--muted);line-height:1.6}
.cc .big{display:block;font-family:var(--f-disp);font-size:22px;color:var(--navy);margin:4px 0}
.cc .btn{margin-top:14px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.map{border:3px solid var(--paper);outline:2px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);min-height:360px}
.map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
.cform{background:var(--paper);border:2px solid var(--line-2);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh)}
.cform h3{margin-bottom:4px} .cform > p{font-size:14px;color:var(--muted);margin-bottom:14px}
.cform label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 5px}
.cform input,.cform textarea{width:100%;border:2px solid var(--line-2);border-radius:12px;padding:12px 14px;font:inherit;background:var(--ivory);transition:.15s}
.cform input:focus,.cform textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(245,180,0,.18);outline:none}
.cform textarea{min-height:110px;resize:vertical}
.cform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cform .btn{width:100%;margin-top:16px}
@media (max-width:900px){.ccards{grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}.cform .two{grid-template-columns:1fr}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);z-index:99;background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--sh-lg)}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media (min-width:901px){.toast{bottom:90px}}

/* ---------- motion guard ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
  .hero .rocket{display:none}
}

/* ============================================================
   MOBILE PASS (computed audit — header overflow at ≤400px,
   sticky toolbar eating the screen, category grid, tap targets)
   ============================================================ */
@media (max-width:900px){
  .hdr .wrap{gap:10px}
  .brand{flex:1 1 auto;min-width:0}
  .brand span{min-width:0;overflow:hidden}
  .brand b{font-size:16px;overflow:hidden;text-overflow:ellipsis}
  .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hdr-acts{margin-left:auto;flex:0 0 auto;gap:6px}
  .callbtn{width:40px;height:40px}
  .cartbtn{height:40px;padding:0 10px;gap:6px}
  /* toolbar: not sticky as a block on phones (it was ~220px tall);
     only the category chip rail stays pinned under the header */
  .tools{position:static;padding-bottom:0}
  .tools input,.tools select{height:44px}
  .chips{position:sticky;top:var(--hdr);z-index:60;background:rgba(255,249,240,.96);backdrop-filter:blur(8px);padding:8px 0;margin-top:8px;border-bottom:2px solid var(--line-2)}
  .chip{min-height:36px;display:inline-flex;align-items:center}
  .cats{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat{padding:10px 12px;gap:10px}
  .cat .ic{width:40px;height:40px;font-size:20px}
  .cat b{font-size:12.5px}
  .map,.map iframe{min-height:260px}
  .pt td.per[data-mrp=""]::after,.pt td.per[data-mrp="—"]::after{content:""}
  .phead .off{font-size:13px;padding:5px 12px}
  .sec{padding:34px 0}
  .offer{padding:22px 18px}
}
@media (max-width:380px){
  .brand small{display:none}
  .brand b{font-size:15px}
  .hero-bar .btn{height:44px;font-size:14px;padding:0 14px}
}
/* art direction: phones get the 9:16 poster of the same artwork */
.hero .mob{display:none}
@media (max-width:700px){
  .hero .desk{display:none}
  .hero .mob{display:block}
  .hero .rocket{display:none}
}

/* ============================================================
   v2 PASS — Tamil-first UI, single cart entry per view, icon
   toolbar, 3-step enquiry drawer, loader, products banner
   ============================================================ */
/* loader: round logo pulsing, hides on load (max 2.6s) */
#loader{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--ivory);transition:opacity .45s}
#loader.off{opacity:0;pointer-events:none}
@keyframes mcLoad{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}

/* header: one list entry per view. Desktop = header button; phones = bottom nav */
.cartbtn .n.zero{display:none}
@media (max-width:900px){
  .hdr .cartbtn{display:none}
  .brand{max-width:calc(100% - 60px)}
  .hdr-acts{margin-left:auto}
}
/* bottom-nav badge: small circle riding the icon's corner */
@media (max-width:900px){
  .mnav a .n{top:2px;right:18%;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px;border-radius:999px;background:var(--red);color:#fff;box-shadow:0 0 0 2px #fff}
  .mnav a .n.zero{display:none}
  .mnav a.cpop .n{animation:mcPop .45s cubic-bezier(.2,1.6,.4,1)}
}
.toast.bad{background:var(--red)}

/* products page: banner strip + download bar */
.pbanner{position:relative;overflow:hidden;background:#3a0d14}
.pbanner img{width:100%;height:auto;display:block}
/* landscape banner on desktop, mobile banner on phones (mirrors the home hero) */
.pbanner .mob{display:none}
@media (max-width:700px){.pbanner .desk{display:none}.pbanner .mob{display:block}}
.pbanner .off90{position:absolute;right:12px;bottom:12px;background:var(--red);color:#fff;font-family:var(--f-disp);font-size:clamp(13px,2vw,18px);padding:6px 14px;border-radius:999px;box-shadow:0 3px 0 #7A0A1C;animation:mcWobble 3s ease-in-out infinite}
@media (max-width:700px){.pbanner .off90{right:8px;bottom:8px;font-size:12px;padding:5px 10px}}
.pbar{background:var(--paper);border-bottom:1px solid var(--line)}
.pbar .wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 0}
.pbar .lead{font-family:var(--f-disp);color:var(--maroon);font-size:clamp(16px,2vw,21px);margin-right:auto}
@media (max-width:700px){.pbar .lead{width:100%;text-align:center;margin:0 0 4px}.pbar .btn{flex:1 1 140px;height:44px;font-size:14px;padding:0 12px}}

/* toolbar: search + two ICON buttons on its right, popover menus */
.tools .row{grid-template-columns:1fr auto auto;gap:8px}
.tools .count{display:none}
.tbtn{position:relative;width:46px;height:46px;border-radius:12px;border:2px solid var(--line-2);background:var(--paper);display:grid;place-items:center;color:var(--ink-2);transition:.15s}
.tbtn:hover,.tbtn.on{border-color:var(--gold);background:var(--gold-soft);color:var(--amber-t)}
.tbtn.act::after{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid #fff}
.tbtn svg{width:22px;height:22px}
.twrap{position:relative}
.pop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:260px;max-height:60vh;overflow:auto;background:var(--paper);border:2px solid var(--line-2);border-radius:14px;box-shadow:var(--sh-lg);padding:6px}
.pop .po{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px;color:var(--ink)}
.pop .po:hover{background:var(--gold-soft)}
.pop .po em{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted);background:var(--ivory);padding:2px 8px;border-radius:999px}
@media (max-width:900px){.tools .row{grid-template-columns:1fr auto auto}.tools .f.search{grid-column:auto}.pop{position:fixed;left:12px;right:12px;top:auto;bottom:96px;max-height:55vh}}

/* table: Tamil column on desktop, under the name on phones */
.pt th.ta,.pt td.ta{font-family:var(--f-disp);color:var(--navy);font-size:14.5px}
.pt td.nm small{display:none}
@media (max-width:760px){
  .pt th.ta,.pt td.ta{display:none}
  .pt td.nm small{display:block;font-family:var(--f-disp);color:var(--navy);font-weight:700;font-size:14px;margin-top:2px}
}
.cbar{display:none !important}
.pick .ta{font-family:var(--f-disp);color:var(--navy);font-size:15px;margin-top:-4px}

/* ---- enquiry drawer v2: warm, stepped, nothing like a plain cart ---- */
.drawer{background:linear-gradient(180deg,#FFF9F0,#FFF3DF);border-left:3px solid var(--gold)}
.drawer .dh{background:linear-gradient(120deg,var(--maroon),var(--red));gap:12px}
.drawer .dh img{width:44px;height:44px;border-radius:50%;box-shadow:0 4px 10px -3px rgba(0,0,0,.5)}
.drawer .dh h3{font-size:19px}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 14px 0;align-items:stretch}
.steps3 .st{height:34px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;text-align:center;padding:0 6px;border-radius:10px;background:var(--paper);border:2px solid var(--line-2);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.steps3 .st.on{background:var(--gold);border-color:var(--gold);color:#3B2600}
.steps3 .st.done{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.drawer .dp{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.drawer .dp[hidden]{display:none}
.drawer .items{padding:12px 14px}
.ci{grid-template-columns:1fr auto;grid-template-areas:"n a" "q q";gap:6px 10px;border-color:var(--line-2);border-left:5px solid var(--gold);border-radius:12px;padding:10px 12px}
.ci .ci-n{grid-area:n;min-width:0}
.ci .ci-n b{display:block;font-size:14px;line-height:1.2}
.ci .ci-n i{display:block;font-style:normal;font-family:var(--f-disp);color:var(--navy);font-size:13.5px}
.ci .ci-n small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.ci .ci-a{grid-area:a;font-family:var(--f-disp);font-size:18px;color:var(--red);text-align:right}
.ci .ci-q{grid-area:q;display:flex;align-items:center;gap:10px}
.ci .ci-q .q{height:34px}.ci .ci-q .q button{width:32px;font-size:16px}.ci .ci-q .q input{width:42px}
.ci .rm{margin-left:auto;border:0;background:var(--red-soft);color:var(--red);width:34px;height:34px;border-radius:9px;font-size:15px}
.drawer .sum .acts{margin-top:10px}
.drawer .sum .l.tot{font-size:24px}
.oform{padding:14px 16px 18px;overflow:auto}
.oform label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:10px 0 4px;letter-spacing:.02em}
.oform input,.oform textarea{width:100%;height:44px;border:2px solid var(--line-2);border-radius:11px;padding:0 12px;font:inherit;background:var(--paper)}
/* state + city selects: match inputs, custom chevron, no native arrow clutter */
.oform select,.oc-sel{width:100%;height:44px;border:2px solid var(--line-2);border-radius:11px;padding:0 36px 0 12px;font:inherit;font-weight:600;color:var(--ink);background:var(--paper);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E3320' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.oform select:focus,.oc-sel:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px rgba(245,180,0,.18)}
#oCityWrap{display:grid;gap:6px}
#oCityOther{background:#FFFDF6;border-color:var(--gold-2,#FFD34D)}
#oCityOther[hidden]{display:none}
/* keep the two fields in a row top-aligned even when city grows a second box */
.oform .two{align-items:start}

/* ===== late fixes (win the cascade) ===== */
/* cart button: guarantee the navy pill + white label render (was showing as a bare white box) */
.hdr .hdr-acts{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.hdr .wrap{flex-wrap:nowrap}
.hdr .nav{min-width:0}
.hdr .cartbtn{background:var(--navy) !important;color:#fff !important;height:44px;padding:0 16px;border-radius:12px;box-shadow:0 3px 0 #06103A;white-space:nowrap;flex:0 0 auto}
.hdr .cartbtn .t{color:#fff}
.hdr .cartbtn .n{background:var(--gold);color:#3B2600}
@media (max-width:1150px){.hdr .nav a{padding:9px 11px;font-size:14px}}
@media (min-width:901px) and (max-width:1080px){.hdr .cartbtn .t{display:none}.hdr .cartbtn{padding:0 12px}}

/* products page: remove the "விரைவு ஆர்டர் — 151 பொருட்கள்" lead line, keep the download button */
.pbar .lead{display:none}
.pbar .wrap{justify-content:flex-end}

/* long Tamil button labels must WRAP on phones, not force the page wide (was overflowing) */
@media (max-width:560px){
  .btn{white-space:normal;line-height:1.2;height:auto;min-height:46px;text-align:center;max-width:100%}
  #picks-sec .btn--gold,.hero-bar .btn{width:100%}
}

/* home banner: use the LANDSCAPE banner on mobile too (was portrait) */
@media (max-width:700px){
  .hero .desk{display:block}
  .hero .mob{display:none}
}
.oform textarea{height:auto;padding:10px 12px;resize:vertical}
.oform input:focus,.oform textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px rgba(245,180,0,.18)}
.oform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.oform .seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.oform .seg label{margin:0;display:flex;align-items:center;gap:8px;border:2px solid var(--line-2);border-radius:11px;padding:10px;font-size:13.5px;font-weight:700;color:var(--ink);background:var(--paper);cursor:pointer}
.oform .seg label:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.oform .seg input{width:auto;height:auto}
.oform .acts{display:grid;gap:8px;margin-top:16px}
.oform .acts .btn{width:100%}
.oform .note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}
.drawer .done{align-items:center;text-align:center;padding:22px 20px 32px;justify-content:flex-start}
.drawer .done .ok-ic{font-size:56px;line-height:1;animation:mcPop .6s cubic-bezier(.2,1.6,.4,1)}
.drawer .done h3{font-size:22px;margin-top:10px;color:var(--maroon)}
.drawer .done .ono{margin-top:6px;font-size:15px}
.drawer .done .ono b{font-family:var(--f-disp);color:var(--navy);font-size:20px;background:var(--navy-soft);padding:2px 12px;border-radius:8px}
.drawer .done .muted{margin-top:12px;font-size:13.5px;max-width:34ch}
.drawer .done .acts{display:grid;gap:8px;margin-top:18px;width:100%}
.drawer .done .acts .btn{width:100%}
@media (max-width:600px){.drawer{width:100%;border-left:0}.oform .two{grid-template-columns:1fr}}

/* ============================================================
   v3 · FINAL MOBILE PASS (appended last so it wins the cascade)
   ============================================================ */
/* homepage hero: landscape banner on desktop, mobile (square) banner on phones */
.hero .desk img,.hero .mob img{width:100%;height:auto;display:block}
@media (min-width:701px){.hero .desk{display:block !important}.hero .mob{display:none !important}}
@media (max-width:700px){.hero .desk{display:none !important}.hero .mob{display:block !important}}

/* item 12 — header never lets the shop name cover the call/actions */
.hdr .wrap{gap:10px}
.brand{min-width:0}
.brand span{min-width:0;overflow:hidden}
.brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.hdr-acts{flex:0 0 auto}
@media (max-width:900px){
  .brand{flex:1 1 auto;max-width:none}
  .brand img{width:40px;height:40px}
  .brand b{font-size:15.5px}
  .brand small{font-size:9.5px}
  .callbtn{width:42px;height:42px;flex:0 0 auto}
}
@media (max-width:360px){
  .brand small{display:none}
  .brand b{font-size:14px}
}

/* general mobile spacing / typography so text isn't cramped or awkward */
@media (max-width:600px){
  .wrap{width:min(100%,calc(100% - 24px))}
  .sec{padding:34px 0}
  .sec-head{gap:10px}
  .sec-head h2{font-size:23px}
  .sec-head p{font-size:14px}
  .hero-bar .wrap{padding:14px 0;gap:8px}
  .hero-bar .lead{width:100%;text-align:center;font-size:16px;margin:0 0 4px}
  .hero-bar .btn{flex:1 1 46%;height:46px;font-size:13.5px;padding:0 10px}
  .cats{grid-template-columns:1fr 1fr;gap:10px}
  .cat{padding:10px}
  .cat .ic{width:40px;height:40px;font-size:20px}
  .cat b{font-size:13px}.cat small{font-size:11.5px}
  .offer{padding:22px 16px}.offer .big{font-size:44px}
  .picks{grid-template-columns:1fr 1fr;gap:10px}
  .pick{padding:12px}
  .pick h3{font-size:14.5px}
  .pick .pr b{font-size:20px}
  .why{gap:12px}
  .stats{gap:10px}
  .stat b{font-size:26px}
  .steps{gap:14px}
  .visit{gap:18px}
  .ccards{gap:12px}
  .cta{padding:26px 18px}
  /* product table cards on phones */
  .pbar .btn{flex:1 1 46%}
}
@media (max-width:420px){
  .picks{grid-template-columns:1fr}
  .pick .act{flex-wrap:wrap}
}

/* products page mobile: search full width, icons beside it, count hidden */
@media (max-width:600px){
  .tools .row{grid-template-columns:1fr auto auto}
  .tools input{height:46px}
  .plist{margin-top:12px}
}

/* the enquiry drawer must never overflow on small phones */
@media (max-width:600px){
  .steps3 .st{font-size:10.5px;padding:6px 2px}
  .ci{grid-template-columns:1fr auto}
  .bank-qr{width:130px;height:130px}
}

/* footer + bottom-nav breathing room so content isn't hidden behind the nav */
@media (max-width:900px){ body{padding-bottom:76px} .ftr{margin-bottom:0} }

/* shop indoor photo gallery */
.shopgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.shopgrid img{width:100%;height:200px;object-fit:cover;border-radius:14px;border:2px solid var(--line-2,#E4D2B4);box-shadow:var(--sh,0 10px 30px -14px rgba(120,60,20,.22))}
@media (max-width:600px){.shopgrid{grid-template-columns:1fr 1fr;gap:8px}.shopgrid img{height:130px}}

/* home bank section wrapper centers the block */
#bank-sec #bankBox{max-width:460px;margin-inline:auto}
#bank-sec .bank{width:100%}

/* homepage offer band: equal-width buttons on phones */
@media (max-width:600px){ .offer .btn{flex:1 1 100%;justify-content:center} }

/* homepage popular picks now use the same table/grid look as the order page */
#homePicks{display:block}
#homePicks .pt{width:100%}
#homePicks .pt tr:first-child td{border-top:0}

/* step-3 Home button: gentle attention pulse */
.drawer .dhome{animation:mcHomePulse 1.8s ease-in-out infinite}
@keyframes mcHomePulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

/* bottom-nav ORDER tab heartbeats in red to attract buyers (only when it's not the current page) */
@media (max-width:900px){
  .mnav a[href="products.html"]:not(.on){animation:mcOrderBeat 2.2s ease-in-out infinite;color:var(--red)}
  .mnav a[href="products.html"]:not(.on) svg{color:var(--red)}
}
@keyframes mcOrderBeat{0%,42%,100%{transform:scale(1)}12%{transform:scale(1.18)}26%{transform:scale(1.05)}}
@media (prefers-reduced-motion:reduce){.drawer .dhome,.mnav a[href="products.html"]:not(.on){animation:none !important}}

/* minimum-order note in the enquiry drawer */
.drawer .minnote{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--red);text-align:center;background:var(--red-soft,#FDECEE);border:1px dashed var(--red);border-radius:10px;padding:8px 10px}

/* ============================================================
   MOBILE HEADER — only the shop name, centered & big, animated.
   Logo icon + call icon removed on phones (cart lives in bottom nav,
   call reachable from the தொடர்பு tab & hero). Desktop untouched.
   ============================================================ */
@media (max-width:900px){
  .hdr .brand img{display:none !important}
  .hdr .callbtn{display:none !important}
  .hdr .hdr-acts{display:none !important}
  .hdr .wrap{justify-content:center;gap:0}
  .hdr .brand{flex:0 1 auto;max-width:100%;margin:0 auto;justify-content:center;text-align:center}
  .hdr .brand span{min-width:0;text-align:center;overflow:visible}
  .hdr .brand b{
    display:block;
    font-size:clamp(20px,5.8vw,26px);
    line-height:1.24;
    padding-top:2px;
    letter-spacing:.01em;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
    background:linear-gradient(92deg,var(--maroon) 0%,var(--red) 38%,var(--amber-t,#C77800) 60%,var(--maroon) 100%);
    background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:var(--maroon);
    animation:mcBrandIn .7s cubic-bezier(.2,.9,.3,1.3) both, mcBrandShine 6s ease-in-out 1.1s infinite;
  }
  .hdr .brand small{
    display:block;
    font-size:10px;
    letter-spacing:.24em;
    color:var(--navy);
    overflow:visible;text-overflow:clip;
    animation:mcBrandIn .7s .08s cubic-bezier(.2,.9,.3,1.3) both;
  }
}
@media (max-width:340px){
  .hdr .brand b{font-size:18px;letter-spacing:0}
  .hdr .brand small{font-size:9px;letter-spacing:.18em}
}
@keyframes mcBrandIn{from{opacity:0;transform:translateY(-9px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mcBrandShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){
  .hdr .brand b,.hdr .brand small{animation:none !important}
  .hdr .brand b{-webkit-text-fill-color:var(--maroon);color:var(--maroon)}
}
