:root{
  --bg:#041A1B;--bg-soft:#061716;--surface:#0a221e;--surface-2:#0e2d27;--surface-3:#133a32;
  --card:#0c2823;--card-glass:var(--w4);
  --glass:var(--w5);--glass-border:var(--w6);--glass-highlight:var(--w10);
  --t1:#F0FAF6;--t2:#A4C4BC;--t3:#587D74;
  --g:#3FE0A1;--g-soft:rgba(63,224,161,.1);--g-glow:rgba(63,224,161,.2);
  --r:#FF6B6B;--r-soft:rgba(255,107,107,.12);
  --shadow-lg:0 20px 48px rgba(0,0,0,.45);--shadow-md:0 8px 28px rgba(0,0,0,.35);--shadow-sm:0 4px 16px rgba(0,0,0,.25);
  --r8:8px;--r12:12px;--r16:16px;--r20:20px;--r24:24px;
  --f:'Inter',system-ui,-apple-system,sans-serif;
  --bk:#F9CB28;--sw:#FC8019;--zp:#A855F7;
  /* Overlay layers (used by inline JS styles) */
  --w3:rgba(255,255,255,.03);--w4:rgba(255,255,255,.04);--w5:rgba(255,255,255,.05);
  --w6:rgba(255,255,255,.06);--w8:rgba(255,255,255,.08);--w10:rgba(255,255,255,.1);
  --w15:rgba(255,255,255,.15);--w20:rgba(255,255,255,.2);
  /* Text opacity layers */
  --w30:rgba(255,255,255,.3);--w50:rgba(255,255,255,.5);--w55:rgba(255,255,255,.55);
  --w60:rgba(255,255,255,.6);--w70:rgba(255,255,255,.7);--w75:rgba(255,255,255,.75);
  /* Motion: easing tokens. Product register — no bounce, no elastic. */
  --ease-out-quart:cubic-bezier(.25,1,.5,1);
  --ease-out-quint:cubic-bezier(.22,1,.36,1);
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-spring-ios:cubic-bezier(.32,.72,0,1);
  --ease-std:cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--f);max-width:100vw;background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
.app-bg{position:fixed;inset:0;z-index:0;background:var(--bg)}
.app-bg::after{content:none}
.app-bg-tint{display:none}
button{font-family:var(--f);cursor:pointer;border:none;outline:none}
input{font-family:var(--f);outline:none}
::-webkit-scrollbar{display:none}
.w{max-width:480px;margin:0 auto;min-height:100dvh;padding-bottom:85px;position:relative;z-index:10}

/* ── HEADER ── */
.hdr{backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);background:rgba(4,26,27,.55);padding:12px 20px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--w4)}
.hdr-brand{display:flex;flex-direction:column}
.hdr-logo{font-weight:800;letter-spacing:-.3px;line-height:1;overflow:hidden}
.hdr-logo .hl-super{color:var(--g)}
.hdr-logo .hl-order{color:var(--t1)}
.hdr-time{font-weight:800;color:var(--t1);line-height:1;overflow:hidden}
/* Header brand styles */
.hdr-logo{font-size:11px;opacity:.6}
.hdr-time{font-size:22px;opacity:1}
.hdr-brand .hl-super,.hdr-brand .hl-order,.hdr-brand .hdr-time{transition:text-shadow .4s var(--ease-out-quart)}
.hdr-brand.glow .hl-super{text-shadow:0 0 12px rgba(63,224,161,.5),0 0 24px rgba(63,224,161,.2)}
.hdr-brand.glow .hl-order{text-shadow:0 0 12px rgba(255,255,255,.4),0 0 24px var(--w15)}
.hdr-brand.glow .hdr-time{text-shadow:0 0 16px rgba(63,224,161,.4),0 0 32px rgba(63,224,161,.15)}
.hdr-addr{font-size:11.5px;color:var(--t2);font-weight:500;margin-top:2px;display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-tap-highlight-color:transparent;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hdr-addr svg{width:10px;height:10px;stroke:var(--t2);fill:none;stroke-width:2.5;flex-shrink:0}
.hdr-dots{display:flex;gap:5px;margin-left:auto}
.hdr-dot{width:8px;height:8px;border-radius:50%;opacity:.2;transition:.3s}
.hdr-dot.on{opacity:1;box-shadow:0 0 8px currentColor}
.hdr-dot.closed{opacity:.2 !important;box-shadow:none !important;filter:grayscale(1);transition:none}
.hdr-dot.connecting{opacity:.6;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:.9}}
.hdr-btn{background:var(--w6);backdrop-filter:blur(8px);color:var(--t2);padding:7px 12px;border-radius:var(--r8);font-size:11px;font-weight:600;transition:.15s}
.hdr-btn:active{transform:scale(.95)}

/* ── PAGES ── */
.page{display:none}.page.on{display:block}

/* ── BOTTOM NAV ── */
.bnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;background:rgba(4,26,27,.95);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);z-index:100;padding:8px 0 max(12px,env(safe-area-inset-bottom,12px));border-top:1px solid var(--w6)}
.bnav-glass{display:none}
.bnav-i{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 4px;cursor:pointer;color:var(--t3);transition:color .2s;position:relative;z-index:1;-webkit-tap-highlight-color:transparent;min-height:44px}
.bnav-i:active{opacity:.7}
.bnav-i.on{color:var(--g)}
.bnav-i.on svg{stroke:var(--g)}
.bnav-i svg{width:24px;height:24px;stroke:var(--t3);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.bnav-lbl{font-size:10px;font-weight:600;letter-spacing:.2px}
.bnav-badge{position:absolute;top:2px;right:calc(50% - 22px);background:var(--g);color:#04211D;font-size:7px;font-weight:800;min-width:14px;height:14px;border-radius:8px;display:grid;place-items:center;padding:0 4px}

/* ── CONNECT PANEL (settings page) ── */
.pc{background:var(--w4);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--r24);padding:18px;margin-bottom:12px;box-shadow:0 4px 24px rgba(0,0,0,.25),inset 0 1px 0 var(--w8);border:1px solid var(--w6)}
.pc-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pc-ico{width:38px;height:38px;border-radius:var(--r12);display:grid;place-items:center;font-weight:800;font-size:15px}
.pc-nm{font-weight:700;font-size:15px;flex:1}
.bdg{font-size:10px;padding:4px 12px;border-radius:20px;font-weight:700}
.bdg-ok{background:var(--g-soft);color:var(--g)}.bdg-no{background:var(--r-soft);color:var(--r)}
.pc-r{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pc-r input{flex:1;min-width:80px;padding:11px 14px;border-radius:var(--r12);font-size:13px;font-weight:500;background:var(--bg);color:var(--t1);border:1px solid var(--w6);transition:.2s}
.pc-r input:focus{border-color:rgba(63,224,161,.4);box-shadow:0 0 0 3px var(--g-soft)}
.btn{padding:11px 18px;border-radius:var(--r12);font-weight:700;font-size:12px;transition:.15s}
.btn:active{transform:scale(.96)}
.bg{background:var(--g);color:#04211D}.bd{background:var(--surface-2);color:var(--t1)}.br{background:var(--r-soft);color:var(--r)}
.ai{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--bg);border-radius:var(--r12);margin:6px 0;font-size:11px}
.ai b{font-size:12px;color:var(--t1)}.ai .btn{margin-left:auto;padding:7px 14px;font-size:11px}
.msg{font-size:11px;margin-top:6px}.ok{color:var(--g)}.er{color:var(--r)}.inf{color:var(--sw)}

/* ── SEARCH BAR ── */
.sb{margin:8px 14px;background:var(--w6);border-radius:var(--r12);padding:13px 16px;display:flex;align-items:center;gap:10px;transition:border-color .2s;position:relative;z-index:51;border:1px solid var(--w6)}
.sb-back{display:none;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;width:36px;height:36px;border-radius:50%;margin-left:-8px}
.sb-back svg{width:22px;height:22px;stroke:var(--t1);fill:none;stroke-width:2.5}
.sb-back:active{background:var(--w6)}
.sb-back.on{display:flex}
.sb:focus-within{border-color:rgba(63,224,161,.15)}
.sb svg{width:17px;height:17px;stroke:var(--t3);flex-shrink:0}
.sb input{background:transparent;border:none;color:var(--t1);font-size:14px;font-weight:500;flex:1;padding:2px 0}
.sb input::placeholder{color:var(--t3);font-weight:400;opacity:.7}
.sx{display:none;font-size:18px;color:var(--t3);cursor:pointer;padding:4px}.sx.on{display:block}

/* ── FILTER BAR ── */
.st{display:flex;gap:6px;padding:8px 16px;font-size:12px;flex-wrap:wrap;align-items:center}
.sp{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--w5);backdrop-filter:blur(8px);border-radius:20px;font-weight:600;color:var(--t2)}
.flt-pills{display:flex;gap:6px;flex:1;overflow-x:auto}
.flt-pill{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:transform .15s,background .15s;border:1px solid var(--w6);background:var(--w4);color:var(--t3);white-space:nowrap;-webkit-tap-highlight-color:transparent}
.flt-pill.on{border-color:var(--w10);color:var(--t1);background:var(--w6)}
.flt-pill .fp-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.flt-pill .fp-ct{font-size:9px;opacity:.6}
.flt-sort{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;background:var(--w4);border:1px solid var(--w6);color:var(--t2);white-space:nowrap;margin-left:auto;-webkit-tap-highlight-color:transparent}
.flt-sort svg{width:14px;height:14px;stroke:var(--t3);fill:none}
.sort-dd{position:absolute;top:100%;right:0;background:rgba(8,20,16,.92);backdrop-filter:blur(20px);border-radius:var(--r12);box-shadow:var(--shadow-lg);border:1px solid var(--w8);padding:4px;z-index:10;min-width:150px;display:none}
.sort-dd.open{display:block}
.sort-opt{padding:10px 14px;font-size:12px;font-weight:500;color:var(--t2);border-radius:var(--r8);cursor:pointer;transition:.15s}
.sort-opt:hover,.sort-opt:active{background:rgba(63,224,161,.08)}
.sort-opt.sel{color:var(--g);font-weight:700}

/* ── PRODUCT GRID ── */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 10px 16px;align-items:stretch}
.grid-section{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--t2);padding:10px 2px 4px;margin-top:4px;border-bottom:1px solid var(--w6)}
.grid-section:first-child{margin-top:0;padding-top:2px}
.card{background:var(--w3);border:.5px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;transition:transform .12s;display:flex;flex-direction:column;cursor:pointer}
.card:active{transform:scale(.97)}
/* Image background — soft off-white with brand-hue tint, less stark vs dark UI than pure #fff. */
.card-img{aspect-ratio:.87;background:#F0F4F1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.card-btn-wrap{display:none}
.card-bd{padding:8px 8px 10px;display:flex;flex-direction:column;gap:2px;flex:1}
/* Type scale collapsed to 11/13/15 — was 6 elements at 8–9px, fighting at the noise floor. */
.card-sz{font-size:9.5px;color:var(--t2);font-weight:600;margin-bottom:3px;background:var(--w6);padding:2px 6px;border-radius:9px;width:fit-content;letter-spacing:.15px;border:1px solid var(--w10)}
.card-nm{font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--t1)}
.card-tag{font-size:11px;font-weight:700;margin-top:2px;letter-spacing:.2px}
.card-tag-red{color:#FF6B6B}
.card-tag-green{color:#3FE0A1}
/* Tags consolidated to 3 semantic colors. blue/purple now alias amber (caution/info). */
.card-tag-blue,.card-tag-purple,.card-tag-amber{color:#FFB800}
.card-unit{font-size:11px;color:var(--t3);font-weight:400;margin-top:2px;opacity:.7}
.card-pr-row{display:flex;align-items:baseline;gap:4px;margin-top:auto;padding-top:5px}
.card-pr{font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.3px}
.card-mrp{font-size:11px;color:var(--t3);text-decoration:line-through;opacity:.5}
/* Muted-green discount — in palette but quieter than full var(--g), and small so it
   recedes behind the price + ADD button highlights. */
.card-off{font-size:9.5px;font-weight:700;color:rgba(63,224,161,.55);margin-left:auto}
.card-disc{display:none}
/* ADD button: solid green fill at deeper, lower-saturation hue — same brand family
   as --g (#3FE0A1) but darker so it reads as a confident button instead of a neon LED.
   Press state brightens to full brand green for tactile feedback. */
.card-add{background:#2DB37C;border:1px solid #2DB37C;color:#04211D;font-size:12px;font-weight:700;padding:7px;border-radius:8px;cursor:pointer;letter-spacing:.3px;text-align:center;width:100%;margin-top:6px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .15s,border-color .15s}
.card-add:active{background:var(--g);border-color:var(--g)}
.card-oos{opacity:.45;pointer-events:auto}
.card-oos .card-img{filter:grayscale(.6)}
.card-oos-tag{font-size:11px;font-weight:700;color:var(--r);text-align:center;padding:6px;border:1.5px solid rgba(255,107,107,.2);border-radius:8px;background:rgba(255,107,107,.06);margin-top:6px;letter-spacing:.3px}
/* "· N options" text inside the green ADD button — same dark token as ADD label,
   reduced opacity so it's a quiet secondary against the button bg without losing legibility. */
.card-add-opts{font-size:10px;font-weight:500;color:#04211D;opacity:.7}
.card-qr{display:flex;align-items:center;justify-content:center;background:var(--g);border-radius:8px;overflow:hidden;width:100%;margin-top:6px;animation:qrPopIn .25s cubic-bezier(.22,1,.36,1)}
@keyframes qrPopIn{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}
.card-qb{background:transparent;color:#04211D;font-size:16px;font-weight:700;padding:5px 14px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;user-select:none;-webkit-user-select:none;border:none;min-height:32px}
.card-qb:active{opacity:.6}
.card-qv{color:#04211D;font-size:13px;font-weight:800;min-width:16px;text-align:center;animation:qvBounce .2s ease}
.card-pdots{display:none}.card-pdot{display:none}
.card-br{display:none}
.card-opts{display:none}
.card-rat{display:none}.card-star{display:none}.card-rcnt{display:none}
.card-low{display:none}.card-perunit{display:none}
.card-save{display:none}.card-bought{display:none}.card-avail{display:none}
.card-plat{display:none}.card-plat-dot{display:none}

/* ── FAB ── */
.fab{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);background:var(--g);color:#04211D;padding:13px 24px;border-radius:14px;box-shadow:0 6px 20px rgba(63,224,161,.2);font-weight:700;font-size:14px;display:none;align-items:center;gap:10px;white-space:nowrap;z-index:210;transition:transform .2s;letter-spacing:.2px}
.fab.on{display:flex}
.fab:active{transform:translateX(-50%) scale(.96)}

/* ── Quick Variant Picker (mini slide-up) ── */
/* Always-rendered overlay — display:none/block toggling kills opacity transitions
   on first show. pointer-events gates click-through; opacity smoothly fades. */
.qv-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:210;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out-quart)}
.qv-ov.on{opacity:1;pointer-events:auto}
/* translate3d() forces a dedicated GPU layer (more reliable than translateY on iOS).
   .38s ease-out-expo gives a clearly visible slide — the previous .26s read as a snap.
   Bumped bg opacity + dropped blur to 20px — heavy backdrop-filter was per-frame GPU cost. */
.qv-sh{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:rgba(4,26,27,.96);backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);border-radius:var(--r24) var(--r24) 0 0;z-index:211;transform:translate3d(0,100%,0);transition:transform .38s cubic-bezier(.16,1,.3,1);padding:0 0 env(safe-area-inset-bottom,16px);max-height:75vh;overflow:hidden;will-change:transform;touch-action:none;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--w8);border:1px solid var(--w6);border-bottom:none}
.qv-sh.on{transform:translate3d(0,0,0)}
.qv-sh.dragging{transition:none}
.qv-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(75vh - 70px);overscroll-behavior:contain}
.qv-bar{width:36px;height:4px;border-radius:3px;background:var(--w15);margin:10px auto 0}
.qv-hd{display:flex;align-items:center;gap:10px;padding:12px 16px 8px}
.qv-hd-img{width:40px;height:40px;border-radius:10px;background:var(--w3);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.qv-hd-img img{max-width:100%;max-height:100%;object-fit:contain}
.qv-hd-info{flex:1;min-width:0}
.qv-hd-nm{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv-hd-br{font-size:9px;color:var(--t3);text-transform:uppercase;font-weight:600}
.qv-opts{padding:4px 16px 16px;display:flex;flex-direction:column;gap:6px}
.qv-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--w4);border-radius:var(--r12);border:1px solid var(--w6);transition:all .15s}
.qv-opt:active{background:var(--w6)}
/* Per-variant thumbnail. Transparent background so the product sits directly on
   the row's surface — keeps the sheet visually quiet next to the label + price. */
.qv-opt-img{width:52px;height:52px;border-radius:10px;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.qv-opt-img img{max-width:88%;max-height:88%;object-fit:contain}
.qv-opt-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.qv-opt-lbl{font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}
/* Subtle platform-availability text. Replaced coloured circle dots — initials with
   middle-dot separator read quieter and don't compete with the row's main hierarchy. */
.qv-opt-avail{font-size:10px;color:var(--t3);font-weight:500;letter-spacing:.5px;opacity:.7}
/* Legacy classes kept harmless in case any code path still references them. */
.qv-opt-dots{display:none}
.qv-opt-dot{display:none}
.qv-opt-pr{font-size:15px;font-weight:800}
.qv-opt-add{background:var(--g);color:#04211D;font-weight:700;font-size:11px;padding:9px 26px;min-width:84px;border-radius:var(--r8);white-space:nowrap;transition:.15s;flex-shrink:0;text-align:center}
.qv-opt-add:active{transform:scale(.95)}
.qv-opt-qr{display:flex;align-items:center;background:var(--g);border-radius:var(--r8);overflow:hidden;flex-shrink:0}
.qv-opt-qb{background:transparent;color:#04211D;font-weight:700;font-size:15px;padding:6px 12px}
.qv-opt-qv{color:#04211D;font-size:12px;font-weight:800;min-width:14px;text-align:center}

/* ── SHEETS ── */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;z-index:250;transition:opacity .3s}.ov.on{opacity:1;pointer-events:auto}
.sh{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:auto;background:rgba(4,26,27,.92);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-radius:var(--r24) var(--r24) 0 0;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--w6);transform:translateY(100%);transition:.3s cubic-bezier(.32,.72,0,1);max-height:95vh;overflow-y:auto;overflow-x:hidden;z-index:251;border:1px solid var(--w6);border-bottom:none}.sh.on{transform:translateY(0)}
.sh-bar{width:40px;height:5px;border-radius:4px;background:var(--w15);margin:12px auto}
.sh-hd{display:flex;justify-content:space-between;align-items:center;padding:0 20px 14px;position:sticky;top:0;background:rgba(4,26,27,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:1}
.sh-t{font-size:16px;font-weight:800}.sh-x{font-size:22px;color:var(--t3);cursor:pointer;padding:4px;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;transition:.15s}
.sh-x:active{background:var(--surface)}

/* ── DETAIL SHEET ── */
.det-carousel{position:relative;margin:0;overflow:hidden;background:var(--w3);height:340px;touch-action:pan-x}
.det-carousel-track{display:flex;height:100%;transition:transform .3s ease;touch-action:pan-x}
.det-carousel-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;touch-action:pan-x;background:#fff}
.det-carousel-slide img{width:100%;height:100%;object-fit:contain;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer}
/* ── Lightbox ── */
.lb-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.96);z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}
.lb-overlay.on{display:flex}
.lb-close{position:absolute;top:12px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--w15);display:flex;align-items:center;justify-content:center;z-index:10001;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lb-close svg{width:20px;height:20px;stroke:#fff;stroke-width:2.5}
.lb-counter{position:absolute;top:16px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:13px;z-index:10001}
.lb-track{display:flex;width:100%;height:100%;transition:transform .25s ease}
.lb-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lb-slide img{max-width:90%;max-height:80vh;object-fit:contain;transform-origin:center center;transition:transform .1s ease;will-change:transform}
.lb-dots{position:absolute;bottom:24px;display:flex;gap:6px;z-index:10001}
.lb-dot{width:7px;height:7px;border-radius:50%;background:var(--w30)}
.lb-dot.on{background:#fff}
.det-car-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,20,16,.5);backdrop-filter:blur(8px);color:var(--t1);border:none;font-size:22px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;cursor:pointer;z-index:2;transition:.15s;opacity:.6}
.det-car-btn:active{transform:translateY(-50%) scale(.9);opacity:1}
.det-car-btn.left{left:8px}
.det-car-btn.right{right:8px}
.det-dots{position:absolute;bottom:10px;right:14px;display:flex;gap:4px;z-index:2}
.det-dot{width:5px;height:5px;border-radius:50%;background:var(--w20);cursor:pointer;transition:.2s}
.det-dot.on{background:var(--t1);width:14px;border-radius:3px}
.det-img{margin:0;background:#fff;height:340px;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;touch-action:manipulation}
.det-img img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}
/* Rating overlay on carousel */
.det-overlay{position:absolute;bottom:10px;left:12px;display:flex;align-items:center;gap:5px;z-index:2}
.det-rating-badge{display:flex;align-items:center;gap:3px;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;color:var(--t1)}
.det-rating-badge .star{color:var(--bk);font-size:10px}
.det-rating-badge .cnt{font-size:9px;color:var(--t3);font-weight:500}
.det-eta-badge{background:rgba(0,0,0,.6);backdrop-filter:blur(8px);padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700;color:var(--g)}
.det-bought-badge{position:absolute;top:10px;left:12px;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);padding:3px 8px;border-radius:6px;font-size:9px;font-weight:600;color:var(--g);z-index:2;display:flex;align-items:center;gap:3px}
.det-bd{padding:14px 16px 0}
.det-br{display:none}
.det-nm{font-size:17px;font-weight:800;margin-bottom:2px;line-height:1.3}
.det-rating{display:none}
.det-rating-val{font-weight:700;color:var(--t1)}
.det-rating-cnt{font-size:11px;color:var(--t3)}
.det-bought{display:none}
.det-sz{font-size:12px;color:var(--t3);margin-bottom:10px}
/* Urgency label */
.det-urgency{font-size:10px;font-weight:700;color:#fb923c;background:rgba(251,146,60,.08);padding:4px 10px;border-radius:6px;display:inline-block;margin-bottom:10px}
.det-desc-wrap{margin-bottom:16px}
.det-desc-title{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 0}
.det-desc-title .opc{transition:transform .25s;font-size:14px;color:var(--t3)}
.det-desc{font-size:12px;color:var(--t3);line-height:1.6;max-height:0;overflow:hidden}
.det-desc.open{max-height:400px;padding-top:6px}
.det-info-wrap{margin-bottom:16px}
.det-info-title{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 0}
.det-info-title .opc{transition:transform .25s;font-size:14px;color:var(--t3)}
.det-info-body{max-height:0;overflow:hidden}
.det-info-body.open{max-height:800px}
.det-plat-info{background:var(--w3);border-radius:var(--r12);padding:12px;margin-bottom:8px}
.det-plat-info-hd{font-size:12px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.dpi-row{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px solid var(--w3)}
.dpi-row:last-child{border-bottom:none}
.dpi-row span:first-child{color:var(--t3);font-weight:500}
.dpi-row span:last-child{color:var(--t2);font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── PLACE ORDER ── */
.place-btn{width:100%;padding:14px;border-radius:12px;border:none;font-weight:700;font-size:14px;cursor:pointer;margin-top:12px;background:var(--surface-2);color:var(--t1);transition:.15s}
.place-btn:active{transform:scale(.98)}
.place-btn.best{background:var(--g);color:#041A1B}
.order-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1000;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(8px);animation:fadeIn .2s ease}
.order-card{background:rgba(8,20,16,.98);backdrop-filter:blur(24px);border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));max-width:480px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease;border-top:1px solid rgba(63,224,161,.15)}
.order-hd{font-size:18px;font-weight:800;margin-bottom:4px;color:var(--t1)}
.order-sub{font-size:12px;color:var(--t3);margin-bottom:16px}
.order-plat{background:var(--w3);border-radius:14px;padding:14px;margin-bottom:10px;border:1px solid var(--w5)}
.order-plat-hd{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}
.order-plat-pay{margin-left:auto;font-size:15px;font-weight:800}
.order-plat-items{font-size:11px;color:var(--t3);margin:4px 0 6px 13px}
.order-item{font-size:11.5px;color:var(--t2);padding:3px 0 3px 13px;line-height:1.4}
.order-total{display:flex;justify-content:space-between;font-size:18px;font-weight:800;padding:14px 0 10px;border-top:1px solid var(--w8);margin-top:4px}
.order-note{font-size:11px;color:var(--t3);line-height:1.5;margin-bottom:16px;padding:10px 14px;background:var(--w3);border-radius:10px;border:1px solid var(--w4)}
.order-confirm{width:100%;padding:16px;background:var(--g);color:#041A1B;border:none;border-radius:14px;font-weight:800;font-size:15px;cursor:pointer;transition:.15s;letter-spacing:.3px}
.order-confirm:active{transform:scale(.98)}
.order-confirm:disabled{opacity:.6;cursor:not-allowed}
.order-cancel{width:100%;padding:12px;background:transparent;color:var(--t3);border:1px solid var(--w8);border-radius:12px;font-weight:600;font-size:13px;cursor:pointer;margin-top:8px;transition:.15s}
.order-cancel:active{transform:scale(.98)}
.order-link{display:block;padding:14px;border-radius:12px;color:#fff;font-weight:700;font-size:14px;text-align:center;text-decoration:none;margin-bottom:8px;transition:.15s}
.order-link:active{transform:scale(.98)}
.opts{margin-bottom:12px}
.opts-title{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.opts-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.opts-grid::-webkit-scrollbar{display:none}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;background:var(--w3);border-radius:var(--r12);cursor:pointer;border:1.5px solid var(--w6);transition:all .2s;-webkit-tap-highlight-color:transparent;opacity:.55;text-align:left;flex-shrink:0;min-width:80px}
.opt:active{transform:scale(.95)}
.opt.sel{border-color:rgba(63,224,161,.4);background:rgba(63,224,161,.06);opacity:1}
.opt-lbl{font-size:11px;font-weight:600;white-space:nowrap}.opt-bun{font-size:8px;font-weight:700;color:var(--sw);background:rgba(252,128,25,.1);padding:2px 6px;border-radius:4px;margin-left:4px}.opt-qty{font-size:8px;font-weight:800;color:#04211D;background:var(--g);padding:1px 5px;border-radius:4px;margin-left:4px}
.opt.in-cart{border-color:rgba(63,224,161,.25);background:rgba(63,224,161,.04)}
.opt-avail{font-size:9px;color:var(--t3)}
.opt-dots{display:flex;gap:3px}.opt-pr{font-size:15px;font-weight:800}
/* Price comparison section — grid */
.prs{margin-bottom:24px}
.prs-t{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}
.prs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}
.pr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:rgba(10,30,26,.6);border-radius:var(--r12);border:1px solid var(--w3);transition:.2s;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:.45}
.pr.best{opacity:.65}
.pr.sel{opacity:1;background:var(--w5);border-color:var(--w10)}
.pr-d{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.pr-info{text-align:center}
.pr-n{font-size:11px;font-weight:600;color:var(--t2)}.pr-sub{font-size:9px;color:var(--g);margin-top:2px;font-weight:600}
.pr-p{font-size:18px;font-weight:800;text-align:center}.pr-mrp{font-size:10px;color:var(--t3);text-decoration:line-through;text-align:center}
.pr-oos{opacity:.25;pointer-events:none}
/* Single platform — inline badge, no grid */
.prs-single{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:16px}
.prs-single-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.prs-single-name{font-size:12px;color:var(--t3);font-weight:500}
.prs-single-price{font-size:12px;color:var(--t3);font-weight:500;margin-left:auto}
.det-divider{height:1px;background:var(--w5);margin:0 0 12px}
/* Compact platform badges */
.det-avail-inline{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px}
.det-avail-row{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent;background:var(--w3);border:none;font-size:11px}
.det-avail-row:active{background:var(--w6)}
.det-avail-best{background:var(--w3)}
.det-avail-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.det-avail-label{font-size:8px;color:var(--g);font-weight:700}
.det-avail-name{font-size:11px;font-weight:600;color:var(--t2)}
.det-avail-price{font-size:12px;font-weight:800;color:var(--t1)}
.det-avail-best .det-avail-price{color:var(--g)}
.det-avail-mrp{font-size:8px;color:var(--t3);text-decoration:line-through;font-weight:400}
.det-avail-oos{opacity:.3}
.det-avail-oos-tag{font-size:8px;color:var(--r);font-weight:600}
/* Collapsed description */
.det-details-btn{display:flex;align-items:center;justify-content:space-between;padding:14px 0;cursor:pointer;font-size:13px;font-weight:600;color:var(--t2)}
.det-details-btn span{color:var(--g);font-size:12px}
/* Brand explore link */
.det-brand-link{display:flex;align-items:center;gap:6px;padding:14px 0;font-size:12px;color:var(--t2);cursor:pointer}
.det-brand-link b{color:var(--g);font-weight:700}
.det-brand-link .arrow{margin-left:auto;color:var(--t3);font-size:14px}
.det-add{width:100%;padding:16px;border-radius:var(--r16);font-weight:700;font-size:15px;background:var(--g);color:#04211D;box-shadow:0 4px 16px var(--g-glow);transition:.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;cursor:pointer}
.det-add:active{transform:scale(.98)}
.det-cart-row{display:flex;align-items:center;gap:10px}
.det-cart-stepper{display:flex;align-items:center;background:var(--w6);border-radius:var(--r12);border:1px solid var(--w8);overflow:hidden}
.det-cart-btn{background:transparent;color:var(--t1);font-size:18px;font-weight:700;padding:12px 16px;transition:.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;cursor:pointer;min-width:44px}
.det-cart-btn:active{background:var(--w6)}
.det-cart-plus{color:var(--g)}
.det-cart-qty{font-size:16px;font-weight:800;min-width:24px;text-align:center;color:var(--t1)}
.det-cart-total{font-size:18px;font-weight:800;color:var(--t1);white-space:nowrap}
.det-sticky-bar{position:sticky;bottom:0;background:rgba(4,26,27,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:12px 16px;border-top:1px solid var(--w8);z-index:10;margin:0 -20px -20px;padding-bottom:max(14px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px rgba(0,0,0,.4)}

/* ── CART ITEMS ── */
.cart-hdr{display:flex;align-items:center;gap:12px;padding:12px 16px;position:sticky;top:0;background:rgba(4,26,27,.55);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);z-index:10;border-bottom:1px solid var(--w4)}
.cart-addr{display:flex;align-items:center;gap:12px;margin:4px 16px 14px;padding:14px 16px;background:rgba(63,224,161,.06);border:1.5px solid rgba(63,224,161,.18);border-radius:16px;cursor:pointer;transition:transform .3s cubic-bezier(.32,.72,0,1),background .2s,box-shadow .3s;-webkit-tap-highlight-color:transparent}
.cart-addr:active{transform:scale(.96);background:rgba(63,224,161,.1);box-shadow:0 0 0 3px rgba(63,224,161,.1)}
.cart-addr.cart-addr-warn{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.25)}
.cart-addr.cart-addr-warn:active{background:rgba(251,191,36,.1);box-shadow:0 0 0 3px rgba(251,191,36,.1)}
.cart-addr-pin{width:40px;height:40px;border-radius:12px;background:rgba(63,224,161,.12);display:grid;place-items:center;flex-shrink:0;transition:transform .3s cubic-bezier(.32,.72,0,1)}
.cart-addr:active .cart-addr-pin{transform:scale(.82)}
.cart-addr-warn .cart-addr-pin{background:rgba(251,191,36,.12)}
.cart-addr-info{flex:1;min-width:0}
.cart-addr-lbl{font-size:12px;font-weight:700;color:var(--g)}
.cart-addr-txt{font-size:13px;color:var(--t1);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.cart-addr-chg{font-size:11px;font-weight:700;color:var(--g);flex-shrink:0;padding:7px 14px;border-radius:10px;background:rgba(63,224,161,.12);transition:background .15s}
.cart-addr:active .cart-addr-chg{background:rgba(63,224,161,.2)}
.cart-back{background:none;color:var(--t2);padding:4px;display:flex;align-items:center}
.cart-clear{background:none;color:var(--r);font-size:11px;font-weight:600;margin-left:auto;padding:6px 12px;border-radius:var(--r8);transition:.15s;opacity:.7}
.cart-clear:active{opacity:1;transform:scale(.95)}
.ci{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--w4)}
.ci-img{width:44px;height:44px;border-radius:var(--r12);background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.ci-img img{max-width:100%;max-height:100%;object-fit:contain}
.ci-info{flex:1;min-width:0}
.ci-nm{font-size:12px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.ci-meta{font-size:10px;color:var(--t3);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ci-plat-dot{width:7px;height:7px;border-radius:3px;display:inline-block;flex-shrink:0}
.ci-plat-nm{font-size:9px;font-weight:600;opacity:.7}
.ci-pr{font-weight:800;font-size:14px;white-space:nowrap;text-align:right;min-width:48px}
.ci-pr-old{font-size:9px;color:var(--t3);text-decoration:line-through;font-weight:400}
.ci-q{display:flex;align-items:center;background:var(--surface-2);border-radius:var(--r8);overflow:hidden}
.ci-q button{background:transparent;color:var(--t1);font-size:14px;font-weight:700;padding:7px 11px}
.ci-qv{font-size:11px;font-weight:800;min-width:14px;text-align:center}

/* ── OPTIMIZER ── */
.cmp{padding:16px 20px}
.cmp-h{margin-bottom:16px}
.cmp-headline{font-size:15px;font-weight:700;color:var(--t1);margin-bottom:4px}
.cmp-sub{font-size:11px;color:var(--t3)}
.cc{background:var(--w4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r20);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-md);position:relative;border:1px solid var(--w5)}
.opt-alts-toggle{text-align:center;padding:12px;font-size:12px;font-weight:600;color:var(--t3);cursor:pointer;transition:.15s;border-radius:var(--r12);margin-bottom:8px}
.opt-alts-toggle:active{opacity:.7}
.opt-alts{max-height:0;overflow:hidden}
.opt-alts.open{max-height:2000px}
.cc.best{border-color:rgba(63,224,161,.2);background:var(--w6);box-shadow:0 0 20px rgba(63,224,161,.15),var(--shadow-md)}
.cc-label{font-size:11px;font-weight:700;color:var(--g);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.cc-label-tag{background:var(--g);color:#04211D;font-size:9px;font-weight:800;padding:3px 8px;border-radius:10px}
.cc-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cc-d{width:10px;height:10px;border-radius:4px;flex-shrink:0}
.cc-n{font-weight:600;font-size:12px;flex:1;color:var(--t2)}
.cc-tot{font-size:22px;font-weight:800}
.cc.best .cc-tot{color:var(--g)}
/* Checkmarks for features */
.cc-checks{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:10px}
.cc-chk{font-size:10px;color:var(--t2);display:flex;align-items:center;gap:4px}
.cc-chk .ck{color:var(--g);font-weight:700}
.cc-chk.no .ck{color:var(--r)}
.fr{display:flex;justify-content:space-between;font-size:12px;color:var(--t2);margin-top:4px}
.fr.ft{font-weight:700;font-size:14px;color:var(--t1);margin-top:10px;padding-top:10px;border-top:1px solid var(--w6)}
.sb-l{font-size:8px;font-weight:800;padding:2px 7px;border-radius:6px;margin-left:4px;vertical-align:middle;background:var(--g-soft);color:var(--g)}
.sb-e{background:rgba(252,128,25,.1);color:var(--sw)}
/* Confidence layer */
.cc-conf{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:10px;color:var(--t3)}
.cc-conf-dot{width:6px;height:6px;border-radius:50%;background:var(--g);animation:confPulse 2s infinite}
@keyframes confPulse{0%,100%{opacity:.4}50%{opacity:1}}

.opt-plat{background:var(--w3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r12);margin-bottom:8px;overflow:hidden}
.opt-plat-hd{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;padding:12px 14px;cursor:pointer;transition:.15s}
.opt-plat-hd:active{background:var(--w3)}
.opt-plat-hd .opc{font-size:14px;color:var(--t3);transition:transform .25s;display:inline-block;margin-left:6px}
.opt-plat-hd.open .opc{transform:rotate(180deg)}
.opt-plat-dot{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;vertical-align:middle}
.opt-plat-body{max-height:0;overflow:hidden;padding:0 14px}
.opt-plat-body.open{max-height:600px;padding:0 14px 12px}
.opt-plat-items{font-size:10px;color:var(--t3);margin-bottom:6px;line-height:1.6}
.opt-plat-item{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--w3);gap:8px}
.opt-plat-item:last-child{border-bottom:none}
.opt-plat-item-nm{color:var(--t2);font-size:11px;flex:1;min-width:0;line-height:1.4}
.opt-plat-item-pr{color:var(--t1);font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}
.opt-plat-fees{display:flex;justify-content:space-between;font-size:10px;color:var(--t2);margin-top:6px;padding-top:6px;border-top:1px solid var(--w5)}
.opt-miss{background:var(--r-soft);padding:14px;border-radius:var(--r12);margin-top:12px}
.opt-miss-hd{font-size:11px;font-weight:600;color:rgba(255,160,140,.8);margin-bottom:8px}
.opt-miss-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--w4)}
.opt-miss-row:last-of-type{border-bottom:none}
.opt-miss-info{flex:1;min-width:0}
.opt-miss-nm{font-size:11px;color:var(--t2);font-weight:600;line-height:1.4}
.opt-miss-avail{font-size:9px;color:var(--t3);margin-top:2px}
.opt-miss-avail b{color:var(--g);font-weight:700}
.opt-miss-acts{display:flex;gap:6px;flex-shrink:0}
.opt-miss-btn{font-size:9px;font-weight:700;padding:5px 10px;border-radius:var(--r8);cursor:pointer;transition:.15s}
.opt-miss-btn:active{transform:scale(.95)}
.opt-miss-btn.rm{background:rgba(255,107,107,.15);color:var(--r)}
.opt-miss-btn.add{background:var(--g-soft);color:var(--g)}
.opt-miss-item{font-size:10px;color:var(--t3);padding:2px 0 2px 14px;position:relative}
.opt-miss-item::before{content:'\00b7';position:absolute;left:4px;color:rgba(255,160,140,.5)}
.opt-miss-tip{font-size:9px;color:var(--t3);margin-top:6px;font-style:italic;opacity:.6}
.miss{padding:8px 12px;background:var(--r-soft);border-radius:var(--r8);font-size:11px;color:rgba(255,160,140,.8)}
.opt-loading{padding:4px 0}
.opt-tips{margin-top:8px;padding:0 2px}
.opt-tip{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:rgba(63,224,161,.06);border:1px solid rgba(63,224,161,.12);border-radius:var(--r12);margin-bottom:6px;font-size:11px;color:var(--g);line-height:1.4}
.opt-tip-icon{font-size:14px;flex-shrink:0}
.rib{display:none}

/* ── UTILITY ── */
.empty{text-align:center;padding:50px 24px 30px;color:var(--t3);display:flex;flex-direction:column;align-items:center;gap:6px}
.empty-title{font-size:15px;font-weight:700;color:var(--t1);letter-spacing:-.1px}
.empty-sub{font-size:12px;color:var(--t3);max-width:260px;line-height:1.5}
.empty-chips-label{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;margin-top:18px}
.empty-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:320px;margin-top:4px}
.empty-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--w5);border:1px solid var(--w6);border-radius:14px;font-size:12px;font-weight:500;color:var(--t1);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}
.empty-chip:active{background:var(--w8);border-color:var(--w10)}
/* ── CATEGORIES ── */
.cat-section{padding:0 14px;margin-bottom:28px}

/* ── HOME QUICK ACCESS PILLS ── */
.home-pills-lbl{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;padding:10px 14px 0}
.rs-card-skel{width:132px;height:158px;flex-shrink:0;border-radius:14px}
/* Coordinated reveal — categories, stories, event banner all fade in together */
.so-fade-in{animation:so-fade-in .35s ease-out both}
@keyframes so-fade-in{from{opacity:0}to{opacity:1}}
.home-pills{display:flex;gap:4px;overflow-x:auto;padding:6px 10px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--w4)}
.dyn-cat-skel .dyn-cat-img{height:60px;width:100%;border-radius:12px}
.dyn-cat-nm-skel{height:10px;width:60%;margin:6px auto 0;border-radius:4px}
.home-pills::-webkit-scrollbar{display:none}
.home-pill{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:5px 4px;background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s;flex-shrink:0;color:var(--t1);width:58px;height:62px;box-sizing:content-box}
.home-pill:active .home-pill-icoslot{transform:scale(.92)}
.home-pill:active .home-pill-nm{color:var(--g)}
.home-pill-icoslot{width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .12s}
.home-pill-ico{width:20px;height:20px;display:block;color:var(--t1)}
.home-pill-nm{font-size:10.5px;font-weight:600;color:var(--t2);letter-spacing:-.15px;text-align:center;line-height:1.2;width:58px;height:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;word-break:break-word}

/* ── BUY AGAIN HOME (Blinkit "Frequently bought" style) ── */
.bah-section{padding:0 14px 8px;margin-top:14px}
.bah-title{font-size:17px;font-weight:800;color:var(--t1);margin-bottom:12px;letter-spacing:-.2px}
.bah-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bah-card{background:var(--w4);border:1px solid var(--w6);border-radius:var(--r16);padding:12px 8px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s;display:flex;flex-direction:column;align-items:center;gap:6px}
.bah-card:active{transform:scale(.96)}
.bah-imgs{display:flex;gap:6px;justify-content:center;align-items:center;min-height:52px}
.bah-imgs img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:var(--w3)}
.bah-imgs .bah-img-single{width:56px;height:56px}
.bah-more{font-size:8px;color:var(--t3);font-weight:600;background:var(--w6);border-radius:8px;padding:2px 4px;white-space:nowrap}
.bah-nm{font-size:10.5px;font-weight:600;color:var(--t2);text-align:center;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Trending product cards */
.trend-card{flex-shrink:0;width:120px;background:var(--w3);border:1px solid var(--w4);border-radius:12px;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s}
.trend-card:active{transform:scale(.96)}
.trend-img{width:120px;height:100px;background:var(--w3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.trend-img img{width:100%;height:100%;object-fit:cover}
.trend-nm{font-size:10px;font-weight:600;color:var(--t1);padding:6px 8px 2px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:28px}
.trend-pr{font-size:13px;font-weight:800;color:var(--t1);padding:0 8px 8px}
.trend-mrp{font-size:9px;color:var(--t3);text-decoration:line-through;font-weight:400}
.trend-shimmer{flex-shrink:0;width:120px;height:156px;border-radius:12px;background:linear-gradient(110deg,var(--w3) 8%,var(--w6) 18%,var(--w3) 33%);background-size:200% 100%;animation:shimmer 1.5s infinite}

/* ── LOCATION BAR ── */
.loc-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:2px 14px 4px;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .2s;border-radius:var(--r24);background:var(--w4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--w6);box-shadow:inset 0 1px 0 var(--w8)}
.loc-bar:active{transform:scale(.97);opacity:.85}
.loc-bar.has-addr{border-color:rgba(63,224,161,.08);box-shadow:inset 0 1px 0 var(--w8),0 0 16px rgba(63,224,161,.04)}
.loc-bar:not(.has-addr){border-color:rgba(251,191,36,.06)}
.loc-pin{font-size:18px;flex-shrink:0;width:30px;height:30px;border-radius:10px;background:rgba(63,224,161,.07);display:grid;place-items:center;transition:transform .25s cubic-bezier(.32,.72,0,1)}
.loc-bar:active .loc-pin{transform:scale(.85)}
.loc-bar:not(.has-addr) .loc-pin{background:rgba(251,191,36,.07)}
.loc-info{flex:1;min-width:0}
.loc-label{font-size:10px;font-weight:600;color:var(--g);display:flex;align-items:center;gap:4px;opacity:.6}
.loc-label svg{width:10px;height:10px;stroke:var(--g);fill:none;stroke-width:2.5}
.loc-addr{font-size:12.5px;color:var(--t1);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.loc-bar:not(.has-addr) .loc-addr{color:var(--t3);font-weight:500}
.loc-bar .loc-chev{font-size:11px;color:var(--g);flex-shrink:0;font-weight:600;padding:4px 10px;border-radius:10px;background:rgba(63,224,161,.06);transition:background .15s}
.loc-bar:active .loc-chev{background:rgba(63,224,161,.12)}
.loc-bar:not(.has-addr) .loc-chev{color:rgba(251,191,36,.6);background:rgba(251,191,36,.05)}

/* ── ORDERS PAGE ── */
.orders-empty{text-align:center;padding:60px 20px;color:var(--t3)}
.orders-empty svg{width:48px;height:48px;stroke:var(--t3);fill:none;stroke-width:1.5;margin-bottom:12px}
.orders-empty h3{font-size:16px;font-weight:700;color:var(--t2);margin-bottom:4px}
.orders-empty p{font-size:12px}
.oh-card{background:var(--w4);backdrop-filter:blur(12px);border-radius:var(--r16);padding:14px 16px;margin:0 16px 10px;border:1px solid var(--w6);transition:.15s;cursor:pointer}
.oh-card:active{transform:scale(.98)}
.oh-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.oh-date{font-size:12px;color:var(--t2);font-weight:600}
.oh-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:10px}
.oh-imgs{display:flex;gap:8px;margin-bottom:10px;overflow:hidden}
.oh-imgs img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--w4);border:1px solid var(--w6);flex-shrink:0}
.oh-imgs .oh-more{width:48px;height:48px;border-radius:10px;background:var(--w4);border:1px solid var(--w6);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--t3);flex-shrink:0}
.oh-names{font-size:11.5px;color:var(--t2);line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.oh-bot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--w6)}
.oh-bot-left{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.oh-pl{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700;background:var(--w6)}
.oh-pl-dot{width:6px;height:6px;border-radius:50%}
.oh-total{font-size:18px;font-weight:800;color:var(--t1)}
.oh-meta{font-size:10px;color:var(--t3);font-weight:500;display:flex;gap:6px;align-items:center}
.orders-loading{text-align:center;padding:40px;color:var(--t3);font-size:12px}
/* live order tracking */
.oh-card.oh-active{position:relative;border-color:rgba(63,224,161,.25);box-shadow:0 0 0 1px rgba(63,224,161,.08),0 4px 20px rgba(63,224,161,.06)}
.oh-card.oh-active::before{content:'';position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:#34d399;animation:ohPulse 2s ease-in-out infinite}
@keyframes ohPulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{box-shadow:0 0 0 6px rgba(52,211,153,0)}}
.oh-live{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:8px 0 4px;border-radius:8px;background:rgba(63,224,161,.06);border:1px solid rgba(63,224,161,.08);font-size:11px;color:var(--g);font-weight:600}
.oh-live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:ohPulse 2s ease-in-out infinite;flex-shrink:0}
.oh-live-eta{margin-left:auto;font-weight:700;color:#34d399}
.oh-rider{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;margin:4px 0 0;border-radius:6px;background:var(--w4);border:1px solid var(--w6);font-size:10px;color:var(--t2)}
.oh-rider svg{width:12px;height:12px;stroke:var(--t3);fill:none;stroke-width:2}
.oh-active-banner{display:flex;align-items:center;gap:8px;padding:12px 14px;margin:0 16px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(63,224,161,.08),rgba(63,224,161,.03));border:1px solid rgba(63,224,161,.12);cursor:pointer;transition:all .2s}
.oh-active-banner:active{transform:scale(.98)}
.oh-active-banner .oab-dot{width:10px;height:10px;border-radius:50%;background:#34d399;animation:ohPulse 2s ease-in-out infinite;flex-shrink:0}
.oh-active-banner .oab-title{font-size:13px;font-weight:600;color:var(--t1)}
.oh-active-banner .oab-sub{font-size:11px;color:var(--t3)}
/* order detail */
.od-items{margin:0 -2px}
.od-item{display:flex;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--w4)}
.od-item:last-child{border-bottom:none}
.od-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--w4);border:1px solid var(--w6);flex-shrink:0}
.od-item-info{flex:1;min-width:0}
.od-item-name{font-size:12px;font-weight:500;color:var(--t2);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.od-item-meta{font-size:10px;color:var(--t3);margin-top:2px}
.od-item-price{font-size:12px;font-weight:700;color:var(--t1);white-space:nowrap;flex-shrink:0}
.od-fees{padding:10px 0;border-top:1px solid var(--w6)}
.od-fee-row{display:flex;justify-content:space-between;font-size:11.5px;color:var(--t3);padding:3px 0}
.od-fee-row.total{font-size:15px;font-weight:800;color:var(--t1);padding:8px 0 0;margin-top:4px;border-top:1px solid var(--w8)}
.od-track{display:block;text-align:center;padding:12px;border-radius:12px;font-size:13px;font-weight:700;color:#fff;text-decoration:none;margin-top:12px;transition:.15s}
.od-track:active{transform:scale(.98)}

/* ── ACCOUNT PAGE ── */
.acct-profile{padding:24px 16px 16px;display:flex;align-items:center;gap:14px}
.acct-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--g),#2dd4bf);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#04211D;flex-shrink:0;box-shadow:0 4px 16px rgba(63,224,161,.2)}
.acct-info{flex:1}
.acct-name{font-size:17px;font-weight:800;color:var(--t1)}
.acct-phone{font-size:12px;color:var(--t3);font-weight:500;margin-top:2px}
.acct-menu{padding:0 16px}
.acct-item{display:flex;align-items:center;gap:14px;padding:16px 14px;background:var(--w3);backdrop-filter:blur(8px);border-radius:var(--r16);margin-bottom:8px;cursor:pointer;transition:.2s;border:1px solid var(--w5)}
.acct-item:active{transform:scale(.98);background:var(--w6)}
.acct-item-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.acct-item-icon svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acct-item-text{flex:1}
.acct-item-title{font-size:14px;font-weight:600;color:var(--t1)}
.acct-item-sub{font-size:11px;color:var(--t3);margin-top:2px}
.acct-item-arrow{color:var(--t3);font-size:16px;opacity:.4}
.acct-logout{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;margin:24px 16px 8px;border-radius:var(--r16);background:rgba(255,107,107,.06);border:1px solid rgba(255,107,107,.1);color:var(--r);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.acct-logout:active{transform:scale(.98);opacity:.8}
.acct-back{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:600;color:var(--t2);cursor:pointer}
.acct-back svg{width:18px;height:18px;stroke:var(--t2);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.acct-back:active{opacity:.6}
.acct-section-title{font-size:18px;font-weight:800;padding:4px 16px 14px;color:var(--t1)}

/* App connection cards */
.app-card{margin:0 16px 10px;padding:14px 16px;border-radius:var(--r12);background:var(--w3);border:1px solid var(--w6)}
.app-card-hd{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.app-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.app-card-name{font-size:14px;font-weight:700;flex:1;color:var(--t1)}
.app-card-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px}
.app-card-status.on{background:var(--g-soft);color:var(--g)}
.app-card-status.off{background:var(--w6);color:var(--t3)}
.app-card-actions{display:flex;gap:8px;margin-top:8px}
.app-card-btn{flex:1;padding:10px;border-radius:8px;font-size:12px;font-weight:600;text-align:center;cursor:pointer;transition:.15s}
.app-card-btn:active{transform:scale(.97)}
.app-card-btn.primary{background:var(--g);color:#04211D}
.app-card-btn.danger{background:rgba(255,107,107,.1);color:var(--r);border:1px solid rgba(255,107,107,.15)}
.app-card-btn.secondary{background:var(--w6);color:var(--t2);border:1px solid var(--w8)}
.app-card-btn:disabled{opacity:.4;cursor:not-allowed}
.app-card-otp-row{display:flex;gap:8px;margin-top:8px}
.app-card-input{flex:1;padding:10px 12px;border-radius:8px;font-size:13px;background:var(--surface);color:var(--t1);border:1px solid var(--w6)}
.app-card-input:focus{border-color:rgba(63,224,161,.4)}
.app-card-msg{font-size:11px;margin-top:6px;font-weight:500}
.app-check-anim{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:12px;color:var(--t2)}
.app-check-spinner{width:16px;height:16px;border:2px solid var(--surface-2);border-top-color:var(--g);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Order detail modal */
.order-detail-modal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center}
.order-detail-card{width:100%;max-width:480px;max-height:85vh;overflow-y:auto;background:rgba(8,20,16,.98);backdrop-filter:blur(24px);border-radius:20px 20px 0 0;padding:20px;border-top:1px solid var(--w8)}
.order-detail-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--w6);margin-left:auto;cursor:pointer;color:var(--t3);font-size:16px;margin-bottom:12px}

/* Onboarding */
.onboard-overlay{position:fixed;inset:0;z-index:9997;background:#060f0c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;transition:opacity .4s,transform .4s;overflow:hidden}
.onboard-overlay.out{opacity:0;transform:scale(1.02);pointer-events:none}
.onboard-card{width:100%;max-width:400px}
.onboard-step{display:none;animation:fadeUp .35s ease}.onboard-step.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.onboard-title{font-size:22px;font-weight:800;color:var(--t1);margin-bottom:6px;text-align:center}
.onboard-sub{font-size:13px;color:var(--t3);text-align:center;margin-bottom:28px;line-height:1.5}
.onboard-skip{text-align:center;margin-top:14px;font-size:12px;color:var(--t3);cursor:pointer;font-weight:500}
.onboard-skip:active{opacity:.6}

/* ── ADDRESS SYSTEM ── */
.loc-sh{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:auto;background:rgba(4,26,27,.92);backdrop-filter:blur(40px) saturate(1.2);-webkit-backdrop-filter:blur(40px) saturate(1.2);border-radius:var(--r24) var(--r24) 0 0;box-shadow:var(--shadow-lg),inset 0 1px 0 var(--w8);transform:translateY(100%);transition:.35s cubic-bezier(.32,.72,0,1);max-height:100dvh;overflow:hidden;z-index:260;border:1px solid var(--w6);border-bottom:none}
.loc-sh.on{transform:translateY(0)}
.loc-sh-bar{width:36px;height:4px;border-radius:2px;background:var(--w15);margin:10px auto 0}
.loc-sh-hd{padding:14px 20px 10px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1}
.loc-sh-title{font-size:16px;font-weight:800}
.loc-sh-close{font-size:18px;color:var(--t3);padding:4px 8px;cursor:pointer}
.loc-sh-body{padding:0 20px 24px;overflow-y:auto;overflow-x:hidden;max-height:calc(100dvh - 60px);-webkit-overflow-scrolling:touch}

/* Blinkit-style detect + search row */
.loc-top-row{display:flex;align-items:center;gap:0;margin-bottom:16px;background:var(--w3);border-radius:var(--r16);padding:10px;border:1px solid var(--w6)}
.loc-detect-btn{display:flex;align-items:center;gap:6px;padding:11px 14px;background:linear-gradient(135deg,#0b8a3e,#0d7534);color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:transform .2s cubic-bezier(.32,.72,0,1),opacity .15s;-webkit-tap-highlight-color:transparent}
.loc-detect-btn:active{transform:scale(.93);opacity:.9}
.loc-detect-btn.loading{opacity:.6;pointer-events:none}
.loc-or{color:var(--t3);font-size:11px;font-weight:600;padding:0 10px;flex-shrink:0}
.loc-search-wrap{flex:1;min-width:0}
.loc-search-input{width:100%;padding:10px 12px;background:transparent;border:1px solid var(--w10);border-radius:8px;font-size:13px;color:var(--t1);outline:none;font-family:inherit}
.loc-search-input::placeholder{color:var(--t3)}
.loc-search-input:focus{border-color:rgba(63,224,161,.3)}

/* Search results */
.loc-search-results{display:none;margin-bottom:12px;border-radius:var(--r12);overflow:hidden;border:1px solid var(--w6);background:var(--w3)}
.loc-search-results.on{display:block}
.loc-search-item{display:flex;gap:12px;align-items:flex-start;padding:14px;cursor:pointer;transition:background .15s}
.loc-search-item:active{background:var(--w6)}
.loc-search-item+.loc-search-item{border-top:1px solid var(--w4)}
.loc-search-item svg{flex-shrink:0;margin-top:2px;color:var(--t3)}
.loc-search-item-name{font-size:13px;font-weight:600;color:var(--t1)}
.loc-search-item-sub{font-size:11px;color:var(--t3);margin-top:1px}

/* Saved addresses */
.loc-add-btn{display:flex;align-items:center;gap:10px;padding:14px;background:rgba(63,224,161,.08);border:1px solid rgba(63,224,161,.15);border-radius:var(--r16);cursor:pointer;margin-bottom:16px;transition:transform .3s cubic-bezier(.32,.72,0,1),background .2s,box-shadow .3s;width:100%;-webkit-tap-highlight-color:transparent}
.loc-add-btn:active{background:rgba(63,224,161,.18);transform:scale(.955);box-shadow:0 0 0 3px rgba(63,224,161,.15)}
.loc-add-btn svg{width:20px;height:20px;stroke:var(--g);fill:none;stroke-width:2;transition:transform .3s cubic-bezier(.32,.72,0,1)}
.loc-add-btn:active svg{transform:rotate(90deg) scale(.9)}
.loc-add-text{font-size:13px;font-weight:700;color:var(--g)}
.loc-add-sub{font-size:10px;color:var(--t3);font-weight:500}
.loc-divider{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.loc-addr-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--w3);border:1.5px solid var(--w5);border-radius:var(--r16);cursor:pointer;margin-bottom:8px;transition:transform .3s cubic-bezier(.32,.72,0,1),background .25s,border-color .3s,box-shadow .35s;overflow:hidden;-webkit-tap-highlight-color:transparent;will-change:transform}
.loc-addr-item:active{transform:scale(.955);background:var(--w6);border-color:var(--w10);box-shadow:0 0 0 3px var(--w4)}
.loc-addr-item.active{border-color:rgba(63,224,161,.3);background:rgba(63,224,161,.06);box-shadow:0 0 0 2px rgba(63,224,161,.12),0 4px 20px rgba(63,224,161,.08)}
.loc-addr-item.active:active{transform:scale(.96);box-shadow:0 0 0 3px rgba(63,224,161,.18)}
.loc-addr-item.active .loc-addr-ico{background:rgba(63,224,161,.15)}
.loc-addr-item.active .loc-addr-label{color:var(--g)}
.loc-addr-ico{width:40px;height:40px;border-radius:12px;background:var(--w6);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;transition:transform .3s cubic-bezier(.32,.72,0,1),background .2s}
.loc-addr-item:active .loc-addr-ico{transform:scale(.82)}
.loc-addr-info{flex:1;min-width:0}
.loc-addr-label{font-size:14px;font-weight:700;margin-bottom:3px;transition:color .2s;display:flex;align-items:center;gap:0}
.loc-addr-dist{font-size:10px;font-weight:500;color:var(--t3);margin-left:6px;white-space:nowrap}
.loc-addr-item.active .loc-addr-dist{color:var(--g)}
.loc-addr-flat{font-size:12px;color:var(--t2);font-weight:600;margin-bottom:2px}
.loc-addr-text{font-size:11px;color:var(--t3);line-height:1.4}
.loc-addr-sources{display:flex;gap:5px;margin-top:8px;align-items:center}
.loc-addr-src{width:8px;height:8px;border-radius:50%;transition:opacity .2s,transform .15s}
.loc-addr-src.off{opacity:.15}
.loc-addr-del{background:none;border:none;color:var(--t3);padding:6px;cursor:pointer;opacity:0.3;transition:opacity .2s,color .2s,transform .2s cubic-bezier(.32,.72,0,1);flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center;border-radius:8px}
.loc-addr-del:hover,.loc-addr-del:active{opacity:0.8;color:#ff6b6b;transform:scale(1.1)}
.loc-addr-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0;align-self:center}
.loc-addr-edit{background:none;border:none;color:var(--t3);padding:6px;cursor:pointer;opacity:0.3;transition:opacity .2s,color .2s,transform .2s cubic-bezier(.32,.72,0,1);display:flex;align-items:center;justify-content:center;border-radius:8px}
.loc-addr-edit:active{opacity:0.8;color:var(--t2);transform:scale(1.1)}
.addr-edit-form .loc-pill{padding:6px 12px;font-size:11px}
.loc-updating{text-align:center;padding:20px;font-size:12px;color:var(--t3)}
.loc-map-view{display:none;overflow-x:hidden}
.loc-map-view.on{display:flex;flex-direction:column;height:100%}
.loc-map-wrap{width:100%;height:45vh;min-height:250px;border-radius:var(--r12);overflow:hidden;position:relative;margin-bottom:0;border:1px solid var(--w8)}
.loc-map-wrap #addrMap{width:100%;height:100%}
.map-locate-btn{position:absolute;bottom:14px;left:14px;width:42px;height:42px;border-radius:12px;background:rgba(4,26,27,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--w10);color:var(--g);display:grid;place-items:center;cursor:pointer;z-index:5;box-shadow:0 2px 12px rgba(0,0,0,.3);transition:transform .15s,background .15s}
.map-locate-btn:active{transform:scale(.9);background:rgba(63,224,161,.15)}
.loc-map-detected{font-size:12px;color:var(--t2);padding:12px 12px;background:var(--w4);border-radius:var(--r8);line-height:1.5;margin:12px 0}
.loc-map-detected b{color:var(--t1);display:block;font-size:13px;margin-bottom:2px}
.loc-map-svc{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.loc-map-svc span{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px}
.loc-map-svc .svc-ok{color:#3fe0a1;background:rgba(63,224,161,.1)}
.loc-map-svc .svc-no{color:#ff6b6b;background:rgba(255,107,107,.1)}
.loc-map-svc .svc-unk{color:var(--t3);background:var(--w5)}
.loc-form{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.loc-form-group{display:flex;flex-direction:column;gap:5px}
.loc-form-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.3px}
.loc-form-input{background:var(--w5);border:1.5px solid var(--w8);border-radius:var(--r12);padding:12px 14px;font-size:14px;color:var(--t1);outline:none;font-family:inherit;transition:border-color .25s,background .2s,box-shadow .3s;width:100%;box-sizing:border-box}
.loc-form-input:focus{border-color:rgba(63,224,161,.35);background:var(--w6);box-shadow:0 0 0 3px rgba(63,224,161,.08)}
.loc-form-input::placeholder{color:var(--t3)}
.loc-form-row{display:flex;gap:8px}
.loc-form-row>*{flex:1;min-width:0}
.loc-pills{display:flex;gap:6px;flex-wrap:wrap}
.loc-pill{padding:7px 14px;border-radius:18px;font-size:11.5px;font-weight:600;background:var(--w6);border:1.5px solid var(--w8);cursor:pointer;transition:transform .2s cubic-bezier(.32,.72,0,1),background .15s,border-color .2s,box-shadow .25s;color:var(--t2);-webkit-tap-highlight-color:transparent}
.loc-pill:active{transform:scale(.92)}
.loc-pill.on{background:rgba(63,224,161,.12);border-color:rgba(63,224,161,.3);color:var(--g);box-shadow:0 0 0 1px rgba(63,224,161,.1)}
.loc-save-btn{width:100%;padding:16px;border-radius:var(--r12);background:var(--g);color:#000;font-size:15px;font-weight:800;border:none;cursor:pointer;margin-top:8px;font-family:inherit;transition:transform .2s cubic-bezier(.32,.72,0,1),opacity .15s;letter-spacing:.3px}
.loc-save-btn:active{transform:scale(.97);opacity:.9}
.loc-save-btn:disabled{opacity:.4;cursor:not-allowed}
.loc-back-btn{background:none;border:none;color:var(--t3);font-size:13px;font-weight:600;cursor:pointer;padding:4px 0;margin-bottom:8px;font-family:inherit;display:flex;align-items:center;gap:4px;transition:color .15s}
.loc-back-btn:active{color:var(--t2)}

/* ── RECENT SEARCHES ── */
.recent-section{padding:0 16px;margin-bottom:20px}
.recent-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.recent-title{font-size:13px;font-weight:700;color:var(--t2)}
.recent-clr{font-size:10px;color:var(--t3);font-weight:600;padding:4px 8px;border-radius:6px;background:none;opacity:.6}
.recent-chips{display:flex;flex-wrap:wrap;gap:8px}
.recent-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;transition:transform .2s cubic-bezier(.32,.72,0,1),background .15s;border:1px solid var(--glass-border);-webkit-tap-highlight-color:transparent}
.recent-chip:active{transform:scale(.94);background:var(--w8)}
.recent-chip svg{width:14px;height:14px;stroke:var(--t3);fill:none;stroke-width:2;flex-shrink:0}

/* ── BUY AGAIN ── */
.buyagain-section{padding:0 16px;margin-bottom:24px}
.buyagain-title{font-size:13px;font-weight:700;color:var(--t2);margin-bottom:10px}
.buyagain-scroll{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.buyagain-scroll::-webkit-scrollbar{display:none}
.buyagain-item{flex-shrink:0;width:80px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.buyagain-item:active{transform:scale(.95)}
.buyagain-img{width:64px;height:64px;border-radius:var(--r16);background:var(--glass);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--glass-border)}
.buyagain-img img{max-width:90%;max-height:90%;object-fit:contain}
.buyagain-nm{font-size:9px;color:var(--t3);font-weight:600;text-align:center;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.buyagain-pr{font-size:10px;font-weight:800;color:var(--t1)}

/* ── SEARCH OVERLAY (Full-page, premium) ── */
.search-ov{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:var(--bg);z-index:9999;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s cubic-bezier(.25,.1,.25,1),transform .25s cubic-bezier(.25,.1,.25,1);will-change:transform,opacity}
.search-ov.on{opacity:1;transform:translateY(0);pointer-events:auto}
.search-ov-hdr{display:flex;align-items:center;gap:8px;padding:env(safe-area-inset-top,10px) 10px 10px;background:var(--bg);position:relative;z-index:2;border-bottom:1px solid var(--w4)}
.search-ov-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.search-ov-back:active{background:var(--w6)}
.search-ov-back svg{width:20px;height:20px;stroke:var(--t2);fill:none;stroke-width:2.5}
.search-ov-input{flex:1;background:var(--w6);border-radius:var(--r12);padding:11px 14px;display:flex;align-items:center;gap:10px;border:1px solid var(--w5);transition:.15s}
.search-ov-input:focus-within{border-color:var(--w10)}
.search-ov-input svg{width:16px;height:16px;stroke:var(--t3);flex-shrink:0;fill:none;stroke-width:2}
.search-ov-input input{background:none;border:none;color:var(--t1);font-size:15px;flex:1;outline:none;padding:0;font-weight:500}
.search-ov-input input::placeholder{color:var(--w30);font-weight:400}
.search-ov-input .sx{display:none;font-size:14px;color:var(--t3);cursor:pointer;padding:4px;border-radius:50%}.search-ov-input .sx.on{display:flex}
.search-ov-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:100px}

/* Section titles */
.sov-section{padding:20px 16px 0}
.sov-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sov-title{font-size:16px;font-weight:700;color:var(--t1);letter-spacing:-.2px}
.sov-clr{font-size:12px;color:rgba(63,224,161,.8);font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:4px 8px;border-radius:8px;transition:.15s}
.sov-clr:active{background:rgba(63,224,161,.08)}

/* Recent chips */
.sov-recent-chips{display:flex;flex-wrap:wrap;gap:8px}
.sov-chip{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:100px;background:var(--w5);border:1px solid var(--w6);cursor:pointer;transition:.2s;-webkit-tap-highlight-color:transparent}
.sov-chip:active{background:rgba(63,224,161,.1);border-color:rgba(63,224,161,.2);transform:scale(.96)}
.sov-chip svg{width:14px;height:14px;stroke:var(--w30);fill:none;stroke-width:2}
.sov-chip span{font-size:13px;font-weight:500;color:var(--w70);white-space:nowrap}

/* Horizontal product cards */
.sov-scroll{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 16px 4px}
.sov-scroll::-webkit-scrollbar{display:none}
.sov-card{flex-shrink:0;width:150px;background:var(--w4);border-radius:12px;overflow:hidden;cursor:pointer;transition:.2s;border:1px solid var(--w5);-webkit-tap-highlight-color:transparent}
.sov-card:active{transform:scale(.95);background:var(--w8)}
.sov-card-img{width:150px;height:130px;background:var(--w3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sov-card-img img{width:100%;height:100%;object-fit:cover}
.sov-card-body{padding:8px 10px 10px}
.sov-card-name{font-size:11px;font-weight:600;color:var(--w70);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:28px}
.sov-card-meta{display:flex;align-items:center;gap:4px;margin-top:5px}
.sov-card-price{font-size:13px;font-weight:800;color:var(--g)}
.sov-card-mrp{font-size:10px;color:var(--w30);text-decoration:line-through}
.sov-card-off{font-size:9px;font-weight:700;color:#fb923c;margin-left:auto;background:rgba(251,146,60,.1);padding:2px 6px;border-radius:6px}
/* Quick-add button for suggestion/deal cards */
.qa-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px;padding:6px 0;border-radius:8px;background:rgba(63,224,161,.12);border:1px solid rgba(63,224,161,.2);font-size:11px;font-weight:700;color:var(--g);cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;gap:4px}
.qa-btn:active{transform:scale(.95);background:rgba(63,224,161,.2)}
.qa-btn.loading{pointer-events:none;opacity:.6}
.qa-btn.done{background:rgba(63,224,161,.2);color:var(--g);pointer-events:none}
.qa-spin{width:12px;height:12px;border:2px solid rgba(63,224,161,.2);border-top-color:var(--g);border-radius:50%;animation:spin .6s linear infinite}
.sov-card-body .card-qr,.sd-info .card-qr{margin-top:8px;border-radius:8px;height:32px}
.sov-card-body .card-qb,.sd-info .card-qb{padding:6px 12px;font-size:15px}
.sov-card-body .card-qv,.sd-info .card-qv{font-size:13px}

/* Popular grid with product images */
.sov-pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 16px}
.sov-pop-pill{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px 10px;background:var(--w3);border-radius:16px;cursor:pointer;transition:.2s;border:1px solid var(--w4);-webkit-tap-highlight-color:transparent}
.sov-pop-pill:active{background:rgba(63,224,161,.06);border-color:rgba(63,224,161,.12);transform:scale(.95)}
.sov-pop-icon{width:48px;height:48px;border-radius:14px;background:var(--w4);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;padding:4px}
.sov-pop-icon img{width:100%;height:100%;object-fit:contain}
.sov-pop-name{font-size:10px;font-weight:600;color:rgba(255,255,255,.7);line-height:1.2;text-align:center}
/* Categorized suggestion grid */
.sov-cat-label{font-size:12px;font-weight:700;color:var(--t1);padding:14px 16px 6px;display:flex;align-items:center;gap:8px}
.sov-cat-label .dot{width:4px;height:4px;border-radius:50%;background:var(--g)}
.sov-cat-scroll{display:flex;gap:10px;padding:0 16px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sov-cat-scroll::-webkit-scrollbar{display:none}
.sov-cat-item{flex-shrink:0;width:88px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;background:var(--w3);border-radius:14px;cursor:pointer;transition:.2s;border:1px solid var(--w3);-webkit-tap-highlight-color:transparent}
.sov-cat-item:active{background:rgba(63,224,161,.06);border-color:rgba(63,224,161,.12);transform:scale(.96)}
.sov-cat-item-img{width:52px;height:52px;border-radius:12px;background:var(--w4);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sov-cat-item-img img{width:100%;height:100%;object-fit:contain}
.sov-cat-item-img .ph{font-size:22px}
.sov-cat-item-name{font-size:10px;font-weight:600;color:rgba(255,255,255,.65);line-height:1.2;text-align:center;max-height:2.4em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}
/* Instant suggestion section (from intel) */
.sov-instant-hdr{font-size:10px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;padding:14px 16px 4px}
.sov-instant-row{display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;transition:.15s}
.sov-instant-row:active{background:var(--w4)}
.sov-instant-icon{width:32px;height:32px;border-radius:8px;background:var(--w4);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.sov-instant-icon.recent{background:var(--w4)}
.sov-instant-icon.recent svg{width:14px;height:14px;stroke:var(--t3);fill:none;stroke-width:2}
.sov-instant-name{font-size:14px;font-weight:400;color:var(--t2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sov-instant-tag{font-size:9px;font-weight:700;color:var(--g);background:rgba(63,224,161,.08);padding:2px 6px;border-radius:6px;flex-shrink:0}
/* T&C */
.tc-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0 4px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tc-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--w15);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;margin-top:1px}
.tc-box.on{background:var(--g);border-color:var(--g)}
.tc-box.on::after{content:'✓';font-size:12px;color:#000;font-weight:800}
.tc-text{font-size:12px;color:var(--t3);line-height:1.5}
.tc-text a{color:var(--g);text-decoration:underline;font-weight:600}
.tc-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeUp .3s ease}
.tc-modal-body{width:100%;max-width:480px;max-height:85vh;background:var(--s);border-radius:20px 20px 0 0;padding:20px;overflow-y:auto}
.tc-modal-title{font-size:18px;font-weight:800;color:var(--t1);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.tc-modal-close{font-size:20px;color:var(--t3);cursor:pointer;padding:4px 8px}
.tc-content{font-size:12px;color:var(--t2);line-height:1.8}
.tc-content h4{font-size:13px;font-weight:700;color:var(--t1);margin:16px 0 6px}
.tc-content p{margin-bottom:10px}
/* Order result improvements */
.order-result-status{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:14px;font-weight:700}
.order-result-status .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.order-track-btn{display:block;width:100%;padding:12px;border-radius:12px;border:none;font-size:13px;font-weight:700;cursor:pointer;margin-top:10px;transition:.2s}
.order-track-btn:active{transform:scale(.97)}
.sov-sug-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sov-sug-row:active{background:var(--w3)}
.sov-sug-img{width:36px;height:36px;border-radius:8px;background:var(--w3);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sov-sug-img img{width:100%;height:100%;object-fit:contain}
.sov-sug-img svg{width:16px;height:16px;stroke:var(--w20);fill:none;stroke-width:2}
.sov-sug-info{flex:1;min-width:0}
.sov-sug-name{font-size:14px;font-weight:400;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sov-sug-fill{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.15s}.sov-sug-fill:active{background:var(--w6)}
.sov-sug-brand{font-size:11px;color:var(--w30);font-weight:500}
.sov-sug-price{font-size:13px;font-weight:700;color:var(--g);flex-shrink:0}

/* Hide old dropdown */
.search-dd{display:none !important}

/* ── PLATFORM STATUS BADGES ── */
.plat-status{display:flex;gap:6px;flex-wrap:wrap;padding:4px 16px 2px;margin-top:-4px}
.plat-badge{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:600;color:var(--t3);padding:3px 8px;border-radius:10px;background:var(--w3)}
.plat-badge-dot{width:5px;height:5px;border-radius:50%}
.plat-badge.offline{opacity:.4}
.plat-badge.offline .plat-badge-dot{background:var(--r) !important}
.cat-title{font-size:17px;font-weight:800;letter-spacing:-.4px;color:var(--t1);margin-bottom:12px;padding-top:4px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cat-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:17px 4px;background:var(--w4);border-radius:var(--r20);cursor:pointer;transition:transform .2s cubic-bezier(.32,.72,0,1),background .15s;border:1px solid var(--w6)}
.cat-item:active{transform:scale(.93);background:var(--w6)}
.cat-ico{font-size:32px;line-height:1}
.cat-nm{font-size:11.5px;font-weight:500;color:var(--t2);text-align:center;line-height:1.3;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ── HOME GREETING ── */
.home-greet{padding:20px 16px 8px;display:flex;align-items:center;gap:12px}
.greet-ava{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,rgba(63,224,161,.15),rgba(63,224,161,.05));border:1px solid rgba(63,224,161,.1);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--g);flex-shrink:0}
.greet-txt h2{font-size:18px;font-weight:800;color:var(--t1);margin:0;line-height:1.2;letter-spacing:-.3px}
.greet-txt p{font-size:11px;color:var(--t3);font-weight:500;margin:2px 0 0}

/* ── PROMO BANNERS ── */
.promo-section{padding:4px 0 8px;margin-bottom:4px}
.promo-scroll{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 14px}
.promo-scroll::-webkit-scrollbar{display:none}
.promo-card{flex-shrink:0;width:160px;height:190px;border-radius:var(--r16);overflow:hidden;position:relative;cursor:pointer;transition:transform .25s cubic-bezier(.32,.72,0,1);border:1px solid var(--w5)}
.promo-card:active{transform:scale(.965)}
.promo-card-bg{width:100%;height:100%;object-fit:cover}
.promo-card-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.15) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:14px}
.promo-card-tag{font-size:8px;font-weight:800;color:var(--g);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.promo-card-title{font-size:15px;font-weight:800;color:#fff;line-height:1.2}
.promo-card-sub{font-size:10px;color:rgba(255,255,255,.65);font-weight:500;margin-top:2px}

/* ── SECTION HEADERS ── */
.sec-hd{display:flex;align-items:center;justify-content:space-between;padding:0 2px;margin-bottom:14px}
.sec-hd h3{font-size:17px;font-weight:800;color:var(--t1);margin:0;letter-spacing:-.3px}
.sec-hd span{font-size:10px;color:var(--g);font-weight:600;cursor:pointer;opacity:.6}

/* ── CATEGORY WITH IMAGES ── */
.cat-img-item{display:flex;flex-direction:column;align-items:center;padding:14px 8px 12px;background:var(--w3);border-radius:var(--r16);cursor:pointer;transition:transform .15s;-webkit-tap-highlight-color:transparent}
.cat-img-item:active{transform:scale(.94)}
.cat-img-wrap{width:100%;aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2px;margin-bottom:8px}
.cat-img-wrap img{width:100%;height:100%;object-fit:contain}
.cat-img-wrap .cat-emoji{font-size:44px;line-height:1}
/* ── Dynamic Category Tiles (Blinkit CDN images) ── */
/* ── Event Section (festive banners from platform feeds) ── */
.evt-banner{margin:6px 12px 16px;border-radius:16px;overflow:hidden;position:relative}
.evt-rail{padding:8px 12px 10px}
.evt-rail-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.evt-rail-title{font-size:13px;font-weight:700;color:var(--t1)}
.evt-rail-see{font-size:10.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.evt-rail-scroll{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.evt-rail-scroll::-webkit-scrollbar{display:none}
.dyn-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 14px;margin-bottom:24px}
.dyn-cat-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s}
.dyn-cat-item:active{transform:scale(.93)}
.dyn-cat-img{width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--w3);display:flex;align-items:center;justify-content:center;padding:2px}
.dyn-cat-img img{width:100%;height:100%;object-fit:contain}
.dyn-cat-nm{font-size:12px;font-weight:600;color:var(--t1);letter-spacing:-.15px;text-align:center;line-height:1.25;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* ── Category Browse (full-page overlay with sidebar) ── */
.catbr{position:fixed;inset:0;z-index:205;background:var(--bg);display:flex;flex-direction:column;max-width:480px;margin:0 auto;transform:translateX(100%);opacity:0;transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .2s;pointer-events:none}
.catbr.on{transform:translateX(0);opacity:1;pointer-events:auto}
.catbr-hdr{display:flex;align-items:center;gap:10px;padding:env(safe-area-inset-top,12px) 12px 10px;background:rgba(4,26,27,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--w5);flex-shrink:0}
.catbr-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.catbr-back:active{background:var(--w6)}
.catbr-title{font-size:16px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catbr-addr{font-size:10px;color:var(--t3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.catbr-search{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.catbr-search:active{background:var(--w6)}
.catbr-body{display:flex;flex:1;overflow:hidden}
.catbr-side{width:90px;flex-shrink:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--w3);border-right:1px solid var(--w4);padding:8px 0}
.catbr-side::-webkit-scrollbar{display:none}
.catbr-sub{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,box-shadow .12s;position:relative}
.catbr-sub:active{background:var(--w4)}
.catbr-sub.active{background:var(--w4);box-shadow:inset 3px 0 0 var(--g)}
.catbr-sub-img{width:72px;height:72px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--w3);padding:0;flex-shrink:0}
.catbr-sub-img img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;margin:auto}
.catbr-sub-nm{font-size:12px;font-weight:500;color:var(--t3);text-align:center;line-height:1.25;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.catbr-sub.active .catbr-sub-nm{color:var(--t1);font-weight:600}
.catbr-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px}
.catbr-main::-webkit-scrollbar{display:none}
.catbr-hint{display:flex;align-items:center;justify-content:center;height:100%;color:var(--t3);font-size:13px;font-weight:500}
/* Shimmer placeholders for sidebar */
.catbr-sub-shim{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px}
.catbr-sub-shim-img{width:72px;height:72px;border-radius:14px;background:var(--w4);animation:shimmer 1.2s infinite}
.catbr-sub-shim-nm{width:56px;height:8px;border-radius:4px;background:var(--w4);animation:shimmer 1.2s infinite}
/* Products grid in main area (2-col, reuses .card styles with overrides) */
.catbr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.catbr-grid .card{animation:none}
.catbr-grid .card-nm{font-size:13px}
.catbr-grid .card-pr{font-size:16px}
@keyframes shimmer{0%,100%{opacity:.4}50%{opacity:.8}}

/* ── SMART DEALS ── */
.sd-section{padding:0 0 8px}
.sd-hd{display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin-bottom:12px}
.sd-hd h3{font-size:17px;font-weight:800;color:var(--t1);margin:0;letter-spacing:-0.2px}
.sd-hd span{font-size:11px;color:var(--t3);font-weight:500}
.sd-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 16px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sd-scroll::-webkit-scrollbar{display:none}
.sd-card{flex:0 0 150px;scroll-snap-align:start;background:var(--w4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r24);overflow:hidden;cursor:pointer;transition:transform .25s cubic-bezier(.32,.72,0,1);border:1px solid var(--w5);position:relative;box-shadow:inset 0 1px 0 var(--w8),0 2px 12px rgba(0,0,0,.15)}
.sd-card:active{transform:scale(.95)}
.sd-img{width:100%;aspect-ratio:1;background:var(--w3);display:flex;align-items:center;justify-content:center;padding:12px}
.sd-img img{width:85%;height:85%;object-fit:contain}
.sd-info{padding:8px 10px 10px}
.sd-name{font-size:11px;font-weight:500;color:var(--t1);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px;height:28px}
.sd-price-row{display:flex;align-items:center;gap:6px}
.sd-price{font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.2px}
.sd-plat{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sd-mrp{font-size:10px;color:var(--t3);text-decoration:line-through}
.sd-save{position:absolute;top:8px;right:8px;background:rgba(0,200,83,.15);color:#00c853;font-size:9px;font-weight:700;padding:3px 7px;border-radius:8px;letter-spacing:0.3px}
.sd-unit{font-size:9px;color:var(--t3);margin-top:2px}
.sd-plat-row{display:flex;gap:3px;margin-top:5px}
.sd-plat-dot{width:5px;height:5px;border-radius:50%;opacity:.4}
.sd-plat-dot.active{opacity:1;box-shadow:0 0 4px currentColor}
.sd-shimmer{flex:0 0 150px;height:220px;border-radius:16px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shm 1.5s infinite}

/* ── REPLENISHMENT NUDGES ── */
.nudge-section{padding:0 0 8px}
.nudge-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 16px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nudge-scroll::-webkit-scrollbar{display:none}
.nudge-card{flex:0 0 260px;scroll-snap-align:start;background:var(--glass);border:1px solid rgba(63,224,161,.08);border-radius:var(--r20);padding:14px;cursor:pointer;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex;gap:12px;align-items:center;box-shadow:inset 0 1px 0 var(--glass-highlight)}
.nudge-card:active{transform:scale(.97)}
.nudge-img{width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--w4);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px}
.nudge-img img{width:100%;height:100%;object-fit:contain}
.nudge-info{flex:1;min-width:0}
.nudge-name{font-size:12px;font-weight:600;color:var(--t1);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nudge-meta{font-size:10px;color:var(--t3);margin-top:3px}
.nudge-tag{display:inline-block;font-size:9px;font-weight:700;color:#00c853;background:rgba(0,200,83,.12);padding:2px 7px;border-radius:6px;margin-top:5px;letter-spacing:.3px}

/* ── PULL TO REFRESH ── */
.ptr-indicator{text-align:center;padding:0;height:0;overflow:hidden;transition:height .2s;color:var(--t3);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}
.ptr-indicator.active{height:40px;padding:8px 0}
.ptr-spinner{width:16px;height:16px;border:2px solid var(--w10);border-top-color:var(--g);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.conn-banner{padding:8px 16px;background:rgba(252,128,25,.06);color:var(--sw);font-size:11px;font-weight:600;text-align:center;animation:pulse 2s ease-in-out infinite}

/* Connection toast notification */
.conn-toast{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-100%);z-index:9998;background:rgba(4,26,27,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--w6);border-radius:0 0 var(--r16) var(--r16);padding:12px 16px;display:flex;align-items:center;gap:10px;transition:transform .4s cubic-bezier(.4,0,.2,1);max-width:380px;width:92%;box-shadow:var(--shadow-lg)}
.conn-toast.show{transform:translateX(-50%) translateY(0)}
.conn-toast span{flex:1;font-size:12px;font-weight:600;color:var(--t1)}
.conn-toast button{background:var(--g);color:#04211D;border:none;padding:6px 14px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.skel{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shm 1.5s infinite;border-radius:8px}
@keyframes shm{0%{background-position:200% 0}100%{background-position:-200% 0}}
.page-title{font-size:20px;font-weight:800;padding:20px 16px 10px;color:var(--t1)}
.cmp-t{display:none}

/* ── ANIMATIONS ── */
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes cartPop{0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes numBounce{0%{transform:scale(1)}30%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes qvBounce{0%{transform:scale(.7)}40%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes cardSlideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.cc{animation:scaleIn .35s ease both}.cc:nth-child(2){animation-delay:.1s}.cc:nth-child(3){animation-delay:.2s}
.card{animation:cardSlideUp .28s var(--ease-out-quart) both}
.card:nth-child(2){animation-delay:.03s}.card:nth-child(3){animation-delay:.06s}
.card:nth-child(4){animation-delay:.09s}.card:nth-child(5){animation-delay:.12s}.card:nth-child(6){animation-delay:.15s}
.sh.on{animation:slideUp .35s cubic-bezier(.32,.72,0,1)}
.ov.on{animation:fadeIn .25s ease}
.pr.best{animation:scaleIn .3s ease .1s both}
.det-img{animation:scaleIn .35s ease}
.page{animation:none;will-change:opacity,transform}
.page.pg-enter{animation:pgSlideIn .28s var(--ease-out-quart) both}
@keyframes pgSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── Smooth scroll & touch ── */
*{-webkit-tap-highlight-color:transparent}
.grid,.cat-grid,.cat-section{will-change:auto}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100vw}
#mC .grid{transition:opacity .15s ease}

/* ── Related Products Section ── */
.rel-section{padding:16px 0 8px;overflow:hidden}
.rel-title{font-size:13px;font-weight:700;color:var(--t2);padding:0 16px 12px;display:flex;align-items:center;gap:8px}
.rel-title::before{content:'';width:3px;height:14px;border-radius:2px;background:var(--g)}
.rel-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 16px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rel-scroll::-webkit-scrollbar{display:none}
.rel-card{flex-shrink:0;width:130px;scroll-snap-align:start;background:var(--w4);border:1px solid var(--w6);border-radius:var(--r16);overflow:hidden;cursor:pointer;transition:transform .15s}
.rel-card:active{transform:scale(.96)}
.rel-card-img{height:110px;background:var(--w3);display:flex;align-items:center;justify-content:center;padding:8px}
.rel-card-img img{max-height:94px;max-width:100%;object-fit:contain}
.rel-card-bd{padding:8px 10px 10px}
.rel-card-nm{font-size:10px;color:var(--t2);font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:26px}
.rel-card-pr{font-size:13px;font-weight:700;color:var(--t1);margin-top:4px}
.rel-card-unit{font-size:9px;color:var(--t3);margin-top:2px}
.rel-section .skel-scroll{display:flex;gap:10px;padding:0 16px}
.rel-section .skel-card{flex-shrink:0;width:130px;height:120px;border-radius:var(--r16)}

/* ── Active Order Banner ── */
.active-order-banner{margin:8px 14px;padding:12px 16px;background:rgba(63,224,161,.06);border:1px solid rgba(63,224,161,.12);border-radius:var(--r16);display:flex;align-items:center;gap:12px;cursor:pointer;animation:slideUp .35s ease;transition:transform .15s}
.active-order-banner:active{transform:scale(.98)}
.aob-pulse{width:10px;height:10px;border-radius:50%;background:var(--g);flex-shrink:0;animation:aobPulse 2s ease-in-out infinite;box-shadow:0 0 8px rgba(63,224,161,.4)}
@keyframes aobPulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
.aob-info{flex:1;min-width:0}
.aob-title{font-size:12px;font-weight:700;color:var(--t1)}
.aob-sub{font-size:10px;color:var(--t3);margin-top:2px}
.aob-eta{font-size:12px;font-weight:700;color:var(--g);flex-shrink:0}

/* ── MaxSaver Badge ── */
.ms-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(63,224,161,.08));border:1px solid rgba(139,92,246,.15);font-size:10px;font-weight:600;color:#a78bfa;margin-top:6px}
.ms-badge svg{width:12px;height:12px;stroke:#a78bfa;fill:none;stroke-width:2}
.ms-badge-save{color:var(--g);font-weight:700}

/* ── LOGIN SCREEN ── */
.login-screen{position:fixed;inset:0;z-index:9998;background:#060f0c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;transition:opacity .4s,transform .4s;overflow:hidden}
.login-screen::before{content:'';position:absolute;top:-20%;left:-10%;width:60%;height:60%;border-radius:50%;background:radial-gradient(circle,rgba(63,224,161,.15),transparent 65%);filter:blur(60px);pointer-events:none}
.login-screen::after{content:'';position:absolute;bottom:-15%;right:-10%;width:50%;height:50%;border-radius:50%;background:radial-gradient(circle,rgba(63,224,161,.08),transparent 65%);filter:blur(50px);pointer-events:none}
.login-screen.out{opacity:0;transform:scale(1.03);pointer-events:none}
.login-card{width:100%;max-width:380px;text-align:center;position:relative;z-index:1}
.login-glass{background:var(--w4);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:24px;border:1px solid var(--w8);padding:32px 24px;box-shadow:0 24px 48px rgba(0,0,0,.3),inset 0 1px 0 var(--w6)}
.login-logo{font-size:30px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}.login-logo span{color:var(--g)}
.login-sub{font-size:13px;color:var(--t3);margin-bottom:28px;line-height:1.5}
.login-label{font-size:11px;font-weight:700;color:var(--t2);text-align:left;margin-bottom:8px;display:block;text-transform:uppercase;letter-spacing:.5px}
.login-phone-row{display:flex;gap:8px;margin-bottom:12px}
.login-prefix{padding:14px 14px;border-radius:var(--r12);font-size:15px;font-weight:600;background:var(--w5);color:var(--t2);border:1px solid var(--w8);flex-shrink:0}
.login-input{flex:1;padding:14px 16px;border-radius:var(--r12);font-size:15px;font-weight:500;background:var(--w5);color:var(--t1);border:1px solid var(--w8);transition:.25s;letter-spacing:1px}
.login-input:focus{border-color:rgba(63,224,161,.5);box-shadow:0 0 0 3px rgba(63,224,161,.1);background:var(--w6)}
.login-input::placeholder{color:var(--t3);letter-spacing:0;font-weight:400}
.login-btn{width:100%;padding:16px;border-radius:var(--r16);font-weight:700;font-size:14px;transition:.2s;margin-bottom:8px;letter-spacing:.3px}
.login-btn:active{transform:scale(.97)}
.login-btn-primary{background:linear-gradient(135deg,var(--g),#2dd4bf);color:#04211D;box-shadow:0 4px 16px rgba(63,224,161,.25)}
.login-btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.login-btn-secondary{background:var(--w6);color:var(--t2);border:1px solid var(--w8)}
.login-msg{font-size:12px;min-height:20px;margin:8px 0}
.login-existing{background:var(--g-soft);border:1px solid rgba(63,224,161,.15);border-radius:var(--r12);padding:12px 16px;margin:12px 0;font-size:12px;color:var(--g);font-weight:500;text-align:left}
.login-footer{font-size:10px;color:var(--t3);margin-top:20px;line-height:1.5;opacity:.6}
.login-step{display:none;animation:fadeUp .4s ease}.login-step.active{display:block}
#login-addr-form{text-align:left}
#login-addr-form .loc-form-label{text-align:left}
#login-addr-form .loc-map-detected{text-align:left}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.login-user-info{background:var(--w4);border-radius:var(--r12);padding:12px 16px;margin:12px 0;text-align:left;border:1px solid var(--w6)}
.login-user-phone{font-size:15px;font-weight:700;color:var(--t1);margin-bottom:2px}
.login-user-label{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}
.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--t3);font-size:11px;font-weight:500}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--w8)}
.login-step-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,rgba(63,224,161,.15),rgba(63,224,161,.05));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;border:1px solid rgba(63,224,161,.15)}
.login-step-title{font-size:18px;font-weight:800;color:var(--t1);margin-bottom:4px}
.login-step-sub{font-size:12px;color:var(--t3);margin-bottom:24px;line-height:1.5}
.login-addr-btns{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.login-addr-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r12);background:var(--w4);border:1px solid var(--w8);cursor:pointer;transition:.2s;text-align:left}
.login-addr-btn:active{transform:scale(.98);background:var(--w6)}
.login-addr-btn svg{width:20px;height:20px;stroke:var(--g);fill:none;stroke-width:2;flex-shrink:0}
.login-addr-btn-title{font-size:13px;font-weight:600;color:var(--t1)}
.login-addr-btn-sub{font-size:10px;color:var(--t3);margin-top:2px}
.login-addr-done{display:flex;align-items:center;gap:10px;padding:14px;background:var(--g-soft);border:1px solid rgba(63,224,161,.2);border-radius:var(--r12);margin-bottom:16px}
.login-addr-done svg{width:20px;height:20px;stroke:var(--g);fill:none;stroke-width:2.5;flex-shrink:0}
.login-addr-done-text{font-size:12px;color:var(--g);font-weight:600;flex:1}

/* ── SPLASH SCREEN ── */
.splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);overflow:hidden}
.splash-logo{font-size:32px;font-weight:800;letter-spacing:-.5px;color:var(--t1)}
.splash-logo span{color:var(--g)}
.splash-sub{font-size:13px;color:var(--t3);margin-top:8px}
.splash.out{animation:splashOut .35s ease both}
@keyframes splashOut{to{opacity:0}}

/* ═══ Toast Notifications ═══ */
.toast-container{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:420px;z-index:99999;pointer-events:none;padding:12px 16px}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;margin-bottom:8px;font-size:13px;font-weight:500;line-height:1.4;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.12);animation:toastIn .35s ease,toastOut .3s ease forwards;animation-delay:0s,var(--toast-dur,4s);will-change:transform,opacity}
.toast.t-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.2);color:#fca5a5}
.toast.t-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.2);color:#86efac}
.toast.t-warn{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.2);color:#fde047}
.toast.t-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.2);color:#93c5fd}
.toast-icon{font-size:16px;flex-shrink:0}
.toast-text{flex:1}
.toast-close{cursor:pointer;opacity:.6;font-size:16px;padding:4px;flex-shrink:0}
.toast-close:hover{opacity:1}
@keyframes toastIn{from{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toastOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}

/* ═══ Session Expired Overlay ═══ */
.session-overlay{position:fixed;inset:0;z-index:99990;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .3s ease}
.session-card{background:#1a1a1a;border-radius:20px;padding:32px 24px;max-width:340px;width:100%;text-align:center;border:1px solid var(--w8)}
.session-card h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:8px}
.session-card p{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:24px;line-height:1.5}

/* ═══ Connect Prompt (lazy onboarding) ═══ */
.connect-prompt{background:var(--w4);border:1px solid var(--w8);border-radius:16px;padding:24px;text-align:center;margin:20px}
.connect-prompt h3{font-size:16px;font-weight:700;color:var(--t1);margin-bottom:6px}
.connect-prompt p{font-size:12px;color:var(--t3);margin-bottom:16px;line-height:1.5}
.connect-prompt .login-btn{max-width:260px;margin:0 auto 8px}

/* Bug Report */
.bug-modal{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeUp .3s ease}
.bug-modal-body{width:100%;max-width:480px;max-height:85vh;background:var(--s);border-radius:20px 20px 0 0;padding:20px;overflow-y:auto}
.bug-modal-title{font-size:17px;font-weight:800;color:var(--t1);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.bug-modal-title span.x{margin-left:auto;font-size:20px;color:var(--t3);cursor:pointer;padding:4px 8px}
.bug-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.bug-cat{padding:6px 12px;border-radius:100px;font-size:11px;font-weight:600;background:var(--w5);color:var(--t2);border:1px solid var(--w6);cursor:pointer;transition:.2s}
.bug-cat.on{background:rgba(239,68,68,.12);color:#fca5a5;border-color:rgba(239,68,68,.3)}
.bug-ta{width:100%;min-height:100px;max-height:200px;padding:12px;border-radius:12px;border:1px solid var(--w8);background:var(--w4);color:var(--t1);font-size:13px;font-family:inherit;resize:vertical;outline:none;transition:.2s}
.bug-ta:focus{border-color:rgba(239,68,68,.3)}
.bug-ta::placeholder{color:var(--t3)}
.bug-submit{width:100%;padding:14px;border-radius:12px;border:none;background:#ef4444;color:#fff;font-size:14px;font-weight:700;cursor:pointer;margin-top:12px;transition:.2s}
.bug-submit:disabled{opacity:.5;cursor:not-allowed}
.bug-context{margin-top:10px;padding:10px;border-radius:10px;background:var(--w3);border:1px solid var(--w4);font-size:10px;color:var(--t3)}
.bug-success{text-align:center;padding:30px 20px}
.bug-success .checkmark{font-size:48px;margin-bottom:12px}
.bug-success h3{font-size:16px;font-weight:700;color:var(--t1);margin-bottom:6px}
.bug-success p{font-size:12px;color:var(--t3);line-height:1.6}

/* Landscape lock — show rotate message on mobile */

/* ── Light: status dots no glow ── */
body.light .hdr-dot.on{box-shadow:none}
body.light .sd-plat-dot.active{box-shadow:none}

/* ── Light: search overlay "Your products" text ── */
body.light .sov-card-name{color:var(--t1) !important}
body.light .sov-card-body .card-qb{color:#fff}
body.light .sov-card-body .card-qv{color:#fff}
body.light .sd-card{background:var(--surface);border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}
body.light .sd-img{background:rgba(0,0,0,.02)}
body.light .sd-name{color:var(--t1)}


/* ── Light: ticker/nudge status text more visible ── */
body.light .hdr-dots{opacity:.9}
body.light #hdrTicker{color:var(--t1) !important;font-weight:600 !important}

@media screen and (max-height:500px) and (orientation:landscape){
  body::after{content:'Please rotate your device to portrait mode';position:fixed;inset:0;z-index:99999;background:var(--bg);color:var(--t1);display:flex;align-items:center;justify-content:center;font-family:var(--f);font-size:16px;font-weight:600;text-align:center;padding:20px}
}

/* Order/optimizer loading dots animation */
.order-dots span{animation:dotPulse 1.4s infinite;opacity:0}
.order-dots span:nth-child(1){animation-delay:0s}
.order-dots span:nth-child(2){animation-delay:.2s}
.order-dots span:nth-child(3){animation-delay:.4s}
@keyframes dotPulse{0%,80%,100%{opacity:0}40%{opacity:1}}

/* ════════════════════════════════════════════════════════════════
   LIGHT MODE
   ════════════════════════════════════════════════════════════════ */

body,body .app-bg,body .hdr,body .bnav,body .sb,body .card,body .qv-sh,body .det,
body .order-card,body .pc,body .fab,body .login-step,body .splash{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease;
}

body.light{
  --bg:#E2E7E4;--bg-soft:#D9DFDC;--surface:#F5F7F6;--surface-2:#EAEDEB;--surface-3:#DFE3E0;
  --card:#FFFFFF;--card-glass:rgba(0,0,0,.03);
  --glass:rgba(0,0,0,.04);--glass-border:rgba(0,0,0,.08);--glass-highlight:rgba(0,0,0,.06);
  --t1:#0D1B15;--t2:#334D42;--t3:#5F7D73;
  --g:#0DA86B;--g-soft:rgba(13,168,107,.1);--g-glow:rgba(13,168,107,.15);
  --r:#E53E3E;--r-soft:rgba(229,62,62,.08);
  --shadow-lg:0 16px 40px rgba(0,0,0,.07);--shadow-md:0 6px 20px rgba(0,0,0,.05);--shadow-sm:0 2px 10px rgba(0,0,0,.04);
  --bk:#C99B10;--sw:#D46510;--zp:#6D28D9;
  /* Overlay layers — inverted for light bg */
  --w3:rgba(0,0,0,.025);--w4:rgba(0,0,0,.035);--w5:rgba(0,0,0,.04);
  --w6:rgba(0,0,0,.07);--w8:rgba(0,0,0,.08);--w10:rgba(0,0,0,.08);
  --w15:rgba(0,0,0,.12);--w20:rgba(0,0,0,.15);
  /* Text opacity layers — inverted */
  --w30:rgba(0,0,0,.25);--w50:rgba(0,0,0,.4);--w55:rgba(0,0,0,.45);
  --w60:rgba(0,0,0,.5);--w70:rgba(0,0,0,.6);--w75:rgba(0,0,0,.65);
  color-scheme:light;
}
body.light .app-bg{background:var(--bg)}
body.light .hdr{background:rgba(244,246,245,.88);border-bottom-color:rgba(0,0,0,.06)}
body.light .hdr-brand.glow .hl-super,body.light .hdr-brand.glow .hl-order,body.light .hdr-brand.glow .hdr-time{text-shadow:none}
body.light .hdr-btn{background:rgba(0,0,0,.05)}
body.light .bnav{background:rgba(255,255,255,.94);border-top-color:rgba(0,0,0,.07)}
body.light .bnav-badge{color:#fff}
body.light .sb{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.07)}
body.light .sb:focus-within{border-color:rgba(13,168,107,.35)}
body.light .sb-back:active{background:rgba(0,0,0,.06)}
body.light .sp{background:rgba(0,0,0,.04)}
body.light .flt-pill{border-color:rgba(0,0,0,.08);background:rgba(0,0,0,.03)}
body.light .flt-pill.on{border-color:rgba(0,0,0,.14);color:var(--t1);background:rgba(0,0,0,.06)}
body.light .flt-sort{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}
body.light .sort-dd{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.1)}
body.light .sort-opt:hover,body.light .sort-opt:active{background:rgba(13,168,107,.06)}
body.light .card{background:#fff;border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}
body.light .card-img{background:#fff}
body.light .card-add{background:rgba(13,168,107,.08);border-color:var(--g)}
body.light .card-qr{background:var(--g)}
body.light .card-qb,body.light .card-qv{color:#fff}
body.light .card-oos-tag{color:var(--r);border-color:rgba(229,62,62,.15);background:rgba(229,62,62,.04)}
body.light .grid-section{border-bottom-color:rgba(0,0,0,.07)}
body.light .det-ov{background:rgba(0,0,0,.25)}
body.light .det{background:var(--bg);border-color:rgba(0,0,0,.06)}
body.light .det-close{background:rgba(0,0,0,.06);color:var(--t2)}
body.light .det-plat-info{background:rgba(0,0,0,.02)}
body.light .dpi-row{border-bottom-color:rgba(0,0,0,.04)}
body.light .det-divider{background:rgba(0,0,0,.06)}
body.light .det-avail-row{background:rgba(0,0,0,.03)}
body.light .det-avail-row:active{background:rgba(0,0,0,.06)}
body.light .det-bought-badge{background:rgba(255,255,255,.9)}
body.light .det-img{background:#fff}
body.light .qv-ov{background:rgba(0,0,0,.2)}
body.light .qv-sh{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.06);border-bottom:none}
body.light .qv-bar{background:rgba(0,0,0,.12)}
body.light .qv-hd-img{background:rgba(0,0,0,.03)}
body.light .qv-opt{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.06)}
body.light .qv-opt:active{background:rgba(0,0,0,.05)}
body.light .qv-opt-add,body.light .qv-opt-qb,body.light .qv-opt-qv{color:#fff}
body.light .opt{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.08)}
body.light .opt.sel{border-color:rgba(13,168,107,.35);background:rgba(13,168,107,.05)}
body.light .opt-qty{color:#fff}
body.light .pr{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.04)}
body.light .pr.sel{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1)}
body.light .place-btn{background:var(--surface-2)}
body.light .place-btn.best{background:var(--g);color:#fff}
body.light .order-modal{background:rgba(0,0,0,.3)}
body.light .order-card{background:rgba(255,255,255,.98);border-top-color:rgba(13,168,107,.2)}
body.light .order-plat{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.06)}
body.light .order-total{border-top-color:rgba(0,0,0,.08)}
body.light .order-note{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.05)}
body.light .order-confirm{color:#fff}
body.light .order-cancel{border-color:rgba(0,0,0,.1)}
body.light .fab{color:#fff}
body.light .pc{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.06);box-shadow:0 1px 6px rgba(0,0,0,.04)}
body.light .pc-r input{background:var(--surface);border-color:rgba(0,0,0,.1)}
body.light .pc-r input:focus{border-color:rgba(13,168,107,.4)}
body.light .bg{color:#fff}
body.light .cart-item{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.05)}
body.light .cart-qb,body.light .cart-qv{color:#fff}
body.light .login-step{background:var(--bg)}
body.light .login-input{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}
body.light .login-input:focus{border-color:rgba(13,168,107,.4)}
body.light .login-btn{color:#fff}
body.light .login-addr-btn{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.08)}
body.light .login-addr-btn:active{background:rgba(0,0,0,.05)}
body.light .connect-prompt{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.06)}
body.light .splash{background:var(--bg)}
body.light .splash-bg{background:radial-gradient(ellipse at 50% 40%,rgba(13,168,107,.08),transparent 60%),var(--bg)}
body.light .toast.t-error{background:rgba(239,68,68,.07);border-color:rgba(239,68,68,.15);color:#dc2626}
body.light .toast.t-success{background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.15);color:#16a34a}
body.light .toast.t-warn{background:rgba(234,179,8,.07);border-color:rgba(234,179,8,.15);color:#b45309}
body.light .toast.t-info{background:rgba(59,130,246,.07);border-color:rgba(59,130,246,.15);color:#2563eb}
body.light .session-overlay{background:rgba(0,0,0,.35)}
body.light .session-card{background:#fff;border-color:rgba(0,0,0,.08)}
body.light .bug-modal{background:rgba(0,0,0,.4)}
body.light .bug-modal-body{background:var(--bg)}
body.light .bug-cat{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08)}
body.light .bug-cat.on{background:rgba(239,68,68,.07);color:#dc2626;border-color:rgba(239,68,68,.2)}
body.light .bug-ta{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}
body.light .bug-context{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.04)}
body.light .cat-tile{background:#fff;border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.03)}
body.light .store-closed-banner{background:rgba(229,62,62,.05);border-color:rgba(229,62,62,.12)}

/* ── Search overlay ── */
body.light .search-ov{background:var(--bg)}
body.light .search-ov-hdr{background:var(--bg);border-bottom-color:rgba(0,0,0,.06)}
body.light .search-ov-back:active{background:rgba(0,0,0,.06)}
body.light .search-ov-input{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08)}
body.light .search-ov-input:focus-within{border-color:rgba(0,0,0,.15)}
body.light .sov-chip{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.08)}
body.light .sov-chip:active{background:rgba(13,168,107,.08);border-color:rgba(13,168,107,.2)}
body.light .sov-chip svg{stroke:rgba(0,0,0,.35)}
body.light .sov-chip span{color:rgba(0,0,0,.7)}
body.light .sov-card{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.06)}
body.light .sov-card:active{background:rgba(0,0,0,.06)}
body.light .sov-card-img{background:rgba(0,0,0,.02)}
body.light .sov-card-name{color:rgba(0,0,0,.75)}
body.light .sov-card-mrp{color:rgba(0,0,0,.35)}
body.light .sov-pop-pill{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.05)}
body.light .sov-pop-pill:active{background:rgba(13,168,107,.06);border-color:rgba(13,168,107,.12)}
body.light .sov-pop-icon{background:rgba(0,0,0,.04)}
body.light .sov-instant-icon{background:rgba(0,0,0,.04)}
body.light .sov-instant-icon.recent{background:rgba(0,0,0,.04)}

/* ── Recent searches (home page) ── */
body.light .recent-chip{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.07)}
body.light .recent-chip:active{background:rgba(0,0,0,.07)}

/* ── Detail sheet (product page) ── */
body.light .det-img{background:#fff}
body.light .det-carousel-dots .dot{background:rgba(0,0,0,.15)}
body.light .det-carousel-dots .dot.on{background:var(--g)}
body.light .det-urgency{background:rgba(251,146,60,.06)}

/* ── Order detail modal ── */
body.light .order-detail-card{background:rgba(255,255,255,.98);border-top-color:rgba(0,0,0,.08)}
body.light .order-detail-close{background:rgba(0,0,0,.06)}

/* ── Category tiles on home ── */
body.light .cat-row{border-bottom-color:rgba(0,0,0,.04)}


/* ── Detail sheet (product page) — FULL OVERRIDE ── */
body.light .det-sticky-bar{background:rgba(232,237,234,.97);border-top-color:rgba(0,0,0,.08);box-shadow:0 -4px 20px rgba(0,0,0,.06)}
body.light .det-cart-stepper{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1)}
body.light .det-cart-btn{color:var(--t1)}
body.light .det-cart-btn:active{background:rgba(0,0,0,.06)}
body.light .det-cart-plus{color:var(--g)}
body.light .det-add{color:#fff}
body.light .det-car-btn{background:rgba(0,0,0,.06);color:var(--t1)}
body.light .det-dot{background:rgba(0,0,0,.15)}
body.light .det-dot.on{background:var(--t1)}
body.light .det-carousel{background:rgba(0,0,0,.02)}
body.light .det-rating-badge{background:rgba(0,0,0,.55);color:#fff}
body.light .det-eta-badge{background:rgba(0,0,0,.55)}
body.light .det-bought-badge{background:rgba(0,0,0,.55);color:var(--g)}
body.light .det-nm{color:var(--t1)}
body.light .det-avail-row{background:rgba(0,0,0,.03)}
body.light .det-avail-row:active{background:rgba(0,0,0,.06)}
body.light .det-divider{background:rgba(0,0,0,.06)}
body.light .det-plat-info{background:rgba(0,0,0,.02)}
body.light .dpi-row{border-bottom-color:rgba(0,0,0,.04)}
body.light .det-desc-title .opc{color:var(--t3)}
body.light .det-info-title .opc{color:var(--t3)}

/* ── Cart page ── */
body.light .cart-hdr{background:rgba(232,237,234,.88);border-bottom-color:rgba(0,0,0,.06)}
body.light .ci{border-bottom-color:rgba(0,0,0,.06)}
body.light .ci-q{background:rgba(0,0,0,.05)}

/* ── Card variant labels (3 apps / Swiggy · Zepto) ── */
body.light .card-unit{opacity:1;color:var(--t2)}

/* ── Quick variant sheet ── */
body.light .qv-sh{background:rgba(232,237,234,.97)}

/* ── Header bar same warm tone ── */
body.light .hdr{background:rgba(232,237,234,.88)}

/* ── Bottom nav same warm tone ── */
body.light .bnav{background:rgba(237,241,238,.94)}


/* ── Detail sheet (product page) ── */
body.light .det-sticky-bar{background:rgba(232,237,234,.97);border-top-color:rgba(0,0,0,.08);box-shadow:0 -4px 20px rgba(0,0,0,.06)}
body.light .det-cart-stepper{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.1)}
body.light .det-cart-btn{color:var(--t1)}
body.light .det-cart-btn:active{background:rgba(0,0,0,.06)}
body.light .det-cart-plus{color:var(--g)}
body.light .det-add{color:#fff}
body.light .det-car-btn{background:rgba(0,0,0,.06);color:var(--t1)}
body.light .det-dot{background:rgba(0,0,0,.15)}
body.light .det-dot.on{background:var(--t1)}
body.light .det-carousel{background:rgba(0,0,0,.02)}
body.light .det-rating-badge{background:rgba(0,0,0,.55);color:#fff}
body.light .det-eta-badge{background:rgba(0,0,0,.55)}
body.light .det-bought-badge{background:rgba(0,0,0,.55);color:var(--g)}
body.light .det-avail-row{background:rgba(0,0,0,.03)}
body.light .det-avail-row:active{background:rgba(0,0,0,.06)}
body.light .det-plat-info{background:rgba(0,0,0,.02)}
body.light .dpi-row{border-bottom-color:rgba(0,0,0,.04)}

/* ── Cart page ── */
body.light .cart-hdr{background:rgba(232,237,234,.88);border-bottom-color:rgba(0,0,0,.06)}
body.light .ci{border-bottom-color:rgba(0,0,0,.06)}
body.light .ci-q{background:rgba(0,0,0,.05)}

/* ── Header/Nav warm tone ── */
body.light .hdr{background:rgba(232,237,234,.88)}
body.light .bnav{background:rgba(237,241,238,.94)}
body.light .qv-sh{background:rgba(232,237,234,.97)}


/* ══ LIGHT MODE: Detail Sheet (.sh = product detail slide-up) ══ */
body.light .sh{background:rgba(226,231,228,.96);border-color:rgba(0,0,0,.08);box-shadow:0 -8px 40px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.5)}
body.light .sh-hd{background:rgba(226,231,228,.97)}
body.light .sh-bar{background:rgba(0,0,0,.12)}
body.light .sh-x{color:var(--t2)}
body.light .sh-x:active{background:rgba(0,0,0,.06)}
body.light .det-sticky-bar{background:rgba(226,231,228,.97);border-top-color:rgba(0,0,0,.08);box-shadow:0 -4px 20px rgba(0,0,0,.06)}
body.light .det-cart-stepper{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1)}
body.light .det-cart-btn{color:var(--t1)}
body.light .det-cart-btn:active{background:rgba(0,0,0,.08)}
body.light .det-cart-plus{color:var(--g)}
body.light .det-add{color:#fff}
body.light .det-car-btn{background:rgba(255,255,255,.7);color:var(--t1)}
body.light .det-dot{background:rgba(0,0,0,.15)}
body.light .det-dot.on{background:var(--t1)}
body.light .det-carousel{background:#fff}
body.light .det-nm{color:var(--t1)}
body.light .det-rating-badge{background:rgba(0,0,0,.6);color:#fff}
body.light .det-eta-badge{background:rgba(0,0,0,.6)}
body.light .det-bought-badge{background:rgba(0,0,0,.6);color:var(--g)}

/* ══ LIGHT MODE: Cart page ══ */
body.light .cart-hdr{background:rgba(226,231,228,.9);border-bottom-color:rgba(0,0,0,.06)}
body.light .ci{border-bottom-color:rgba(0,0,0,.06)}
body.light .ci-q{background:rgba(0,0,0,.06)}

/* ══ LIGHT MODE: Overlay ══ */
body.light .ov{background:rgba(0,0,0,.35)}

/* ══ LIGHT MODE: Nudge cards ══ */
body.light .nudge-card{background:rgba(0,0,0,.04);border-color:rgba(13,168,107,.12);box-shadow:none}

/* ══ LIGHT MODE: Search overlay hardcoded colors ══ */
body.light .sov-chip svg{stroke:rgba(0,0,0,.35)}
body.light .sov-chip span{color:rgba(0,0,0,.65)}
body.light .sov-card-name{color:rgba(0,0,0,.7)}
body.light .sov-card-mrp{color:rgba(0,0,0,.3)}

/* ══ LIGHT MODE: Order detail modal ══ */
body.light .order-detail-card{background:rgba(226,231,228,.98);border-top-color:rgba(0,0,0,.08)}
body.light .order-detail-close{background:rgba(0,0,0,.06)}


/* ── Light: status dots no glow ── */
body.light .hdr-dot.on{box-shadow:none}
body.light .sd-plat-dot.active{box-shadow:none}

/* ── Light: search overlay "Your products" text ── */
body.light .sov-card-name{color:var(--t1) !important}
body.light .sov-card-body .card-qb{color:#fff}
body.light .sov-card-body .card-qv{color:#fff}
body.light .sd-card{background:var(--surface);border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}
body.light .sd-img{background:rgba(0,0,0,.02)}
body.light .sd-name{color:var(--t1)}


/* ── Light: ticker/nudge status text more visible ── */
body.light .hdr-dots{opacity:.9}
body.light #hdrTicker{color:var(--t1) !important;font-weight:600 !important}

@media screen and (max-height:500px) and (orientation:landscape){body.light::after{background:var(--bg);color:var(--t1)}}

/* ═══════════════════════════════════════════════════════════════════════
   Match-feedback system (2026-04-19)
   — reuses existing tokens: --t1/t2/t3, --w4/6/8/10, --bg, --surface
   ═══════════════════════════════════════════════════════════════════════ */

.mfb-trigger{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:500;color:var(--t3);
  background:transparent;border:none;cursor:pointer;
  padding:6px 10px;border-radius:8px;
  transition:background .15s,color .15s;
  margin-top:14px;-webkit-tap-highlight-color:transparent;
}
.mfb-trigger svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.mfb-trigger:hover{background:var(--w4);color:var(--t2)}
.mfb-trigger:active{background:var(--w6)}
.mfb-trigger:focus-visible{outline:2px solid var(--w15);outline-offset:2px}

.mfb-modal{
  position:fixed;inset:0;z-index:99998;
  background:rgba(0,0,0,.85);backdrop-filter:blur(8px);
  display:flex;align-items:flex-end;justify-content:center;
  animation:fadeUp .25s ease;
}
.mfb-body{
  width:100%;max-width:480px;max-height:92vh;
  background:var(--surface);color:var(--t1);
  border-radius:20px 20px 0 0;padding:20px;
  overflow-y:auto;display:flex;flex-direction:column;
}
@media (max-width:480px){ .mfb-body{max-height:95vh} }

.mfb-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.mfb-hdr .mfb-back{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  background:var(--w4);border:none;border-radius:8px;cursor:pointer;
  color:var(--t2);transition:.15s;-webkit-tap-highlight-color:transparent;
}
.mfb-hdr .mfb-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5}
.mfb-hdr .mfb-back:hover{background:var(--w8);color:var(--t1)}
.mfb-hdr .mfb-title{font-size:16px;font-weight:700;color:var(--t1);flex:1}
.mfb-hdr .mfb-x{
  background:transparent;border:none;color:var(--t3);font-size:20px;cursor:pointer;
  padding:4px 8px;line-height:1;
}
.mfb-hdr .mfb-x:hover{color:var(--t1)}

.mfb-sub{font-size:12px;color:var(--t3);margin-bottom:16px;line-height:1.5}

/* Screen 1 — type cards */
.mfb-cards{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.mfb-card{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 14px;border-radius:12px;
  background:var(--w3);border:1px solid var(--w6);
  cursor:pointer;transition:border-color .15s,background .15s,transform .15s;
  -webkit-tap-highlight-color:transparent;
}
.mfb-card:hover{background:var(--w4);border-color:var(--w10);transform:translateY(-1px)}
.mfb-card:active{transform:translateY(0)}
.mfb-card.on{border-color:var(--t2);background:var(--w5)}
.mfb-card-icon{
  width:36px;height:36px;flex-shrink:0;border-radius:10px;
  background:var(--w5);display:flex;align-items:center;justify-content:center;color:var(--t2);
}
.mfb-card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.mfb-card-body .mfb-card-title{font-size:14px;font-weight:600;color:var(--t1);margin-bottom:2px}
.mfb-card-body .mfb-card-sub{font-size:12px;color:var(--t3);line-height:1.4}

/* Screen 2A/2B — product selection */
.mfb-prodlist{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mfb-prodlist-label{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin:12px 2px 4px}
.mfb-prodcard{
  display:flex;gap:12px;align-items:center;
  padding:10px;border-radius:10px;
  background:var(--w3);border:1px solid var(--w6);
  cursor:pointer;transition:.15s;-webkit-tap-highlight-color:transparent;
}
.mfb-prodcard.locked{opacity:.55;cursor:default;background:var(--w3)}
.mfb-prodcard:not(.locked):hover{background:var(--w4);border-color:var(--w10)}
.mfb-prodcard.on{border-color:var(--t2);background:var(--w6)}
.mfb-prodimg{
  width:48px;height:48px;border-radius:8px;background:var(--w4);overflow:hidden;flex-shrink:0;
}
.mfb-prodimg img{width:100%;height:100%;object-fit:cover}
.mfb-prodinfo{flex:1;min-width:0}
.mfb-prodname{font-size:12.5px;font-weight:500;color:var(--t1);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mfb-prodmeta{font-size:11px;color:var(--t3);margin-top:4px;display:flex;gap:8px;align-items:center}
.mfb-platbadge{
  font-size:9.5px;font-weight:700;letter-spacing:.3px;padding:2px 6px;border-radius:4px;
  text-transform:uppercase;
}
.mfb-platbadge.blinkit{background:rgba(252,211,77,.15);color:#fcd34d}
.mfb-platbadge.swiggy{background:rgba(251,146,60,.15);color:#fb923c}
.mfb-platbadge.zepto{background:rgba(167,139,250,.15);color:#a78bfa}
.mfb-check{
  width:20px;height:20px;border:1.5px solid var(--w15);border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.mfb-prodcard.on .mfb-check{background:var(--t2);border-color:var(--t2)}
.mfb-prodcard.on .mfb-check::after{content:'✓';color:var(--bg);font-size:12px;font-weight:700}

/* Screen 2C — checkboxes */
.mfb-checkrow{
  display:flex;align-items:center;gap:10px;padding:10px;
  border-radius:10px;background:var(--w3);border:1px solid var(--w6);
  cursor:pointer;margin-bottom:6px;-webkit-tap-highlight-color:transparent;
}
.mfb-checkrow:hover{background:var(--w4)}
.mfb-checkrow input[type=checkbox]{width:16px;height:16px;accent-color:var(--t2)}
.mfb-checkrow label{font-size:13px;color:var(--t1);cursor:pointer;flex:1}
.mfb-checkinput{
  width:100%;margin-top:4px;padding:8px 10px;font-size:12px;
  background:var(--w4);border:1px solid var(--w6);border-radius:8px;color:var(--t1);
  font-family:inherit;
}

/* Textareas */
.mfb-ta{
  width:100%;min-height:80px;max-height:180px;padding:12px;
  border-radius:10px;border:1px solid var(--w8);background:var(--w3);color:var(--t1);
  font-size:13px;font-family:inherit;resize:vertical;outline:none;transition:.2s;
  margin-top:10px;
}
.mfb-ta:focus{border-color:var(--t3)}
.mfb-ta::placeholder{color:var(--t3)}
.mfb-char{text-align:right;font-size:10px;color:var(--t3);margin-top:2px}

/* Footer */
.mfb-footer{margin-top:auto;padding-top:14px;display:flex;gap:10px;align-items:center}
.mfb-submit{
  flex:1;padding:13px;border-radius:12px;border:none;
  background:var(--t1);color:var(--bg);font-size:14px;font-weight:700;cursor:pointer;
  transition:.15s;
}
.mfb-submit:hover:not(:disabled){transform:translateY(-1px)}
.mfb-submit:disabled{opacity:.4;cursor:not-allowed;transform:none}
.mfb-msg{font-size:12px;color:var(--t3);margin-top:8px;text-align:center;min-height:18px}
.mfb-msg.err{color:#fca5a5}
.mfb-msg.ok{color:#6ee7b7}

/* Success state */
.mfb-success{text-align:center;padding:32px 12px}
.mfb-success-icon{
  width:52px;height:52px;margin:0 auto 14px;border-radius:50%;
  background:rgba(110,231,183,.12);display:flex;align-items:center;justify-content:center;
  animation:mfbPop .4s cubic-bezier(.22,1,.36,1) both;
}
.mfb-success-icon svg{width:26px;height:26px;stroke:#6ee7b7;fill:none;stroke-width:2.5;
  stroke-dasharray:40;stroke-dashoffset:40;animation:mfbDraw .5s .2s ease forwards}
@keyframes mfbPop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes mfbDraw{to{stroke-dashoffset:0}}
.mfb-success h3{font-size:17px;font-weight:700;color:var(--t1);margin-bottom:6px}
.mfb-success p{font-size:13px;color:var(--t3);line-height:1.5;max-width:320px;margin:0 auto 16px}
.mfb-success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mfb-success-btn{
  padding:10px 20px;border-radius:10px;border:none;cursor:pointer;font-size:13px;font-weight:600;
  transition:.15s;
}
.mfb-success-btn.primary{background:var(--t1);color:var(--bg)}
.mfb-success-btn.ghost{background:var(--w4);color:var(--t2);border:1px solid var(--w6)}
.mfb-success-btn:hover{transform:translateY(-1px)}

/* Light theme */
body.light .mfb-body{background:var(--bg)}
body.light .mfb-card{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}
body.light .mfb-card:hover{background:rgba(0,0,0,.05)}
body.light .mfb-prodcard{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}
body.light .mfb-checkrow{background:rgba(0,0,0,.03)}
body.light .mfb-ta{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.1)}
body.light .mfb-checkinput{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.08)}

body.no-feedback .mfb-trigger{display:none !important}

/* ═══ Boot screens (Step 1) ═══ */
.boot-screen{position:fixed;inset:0;z-index:10000;background:#0a0f14;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.boot-screen.hidden{display:none}
.boot-content{width:100%;max-width:360px;text-align:center;color:#e8ebef}
.boot-icon{width:64px;height:64px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;color:#4ade80}
.boot-icon svg{width:100%;height:100%}
.boot-icon.pulse{animation:bootPulse 1.6s ease-in-out infinite}
@keyframes bootPulse{0%,100%{opacity:0.5}50%{opacity:1}}
.boot-title{font-size:24px;font-weight:700;margin:0 0 12px;line-height:1.2}
.boot-body{font-size:15px;line-height:1.5;color:#9ca3af;margin:0 0 28px}
.boot-steps{text-align:left;background:#131a22;border-radius:12px;padding:16px 18px;margin:0 0 24px}
.boot-steps.hidden{display:none}
.boot-step{display:flex;gap:10px;margin:10px 0;font-size:14px;line-height:1.5;color:#d1d5db}
.boot-step-num{flex:0 0 22px;height:22px;border-radius:50%;background:#1f2937;color:#9ca3af;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-top:1px}
.boot-btn{width:100%;padding:15px 20px;background:#4ade80;color:#0a0f14;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s}
.boot-btn:active{background:#22c55e}
.boot-btn:disabled{opacity:0.6;cursor:wait}
.boot-btn.hidden{display:none}
.boot-hint{font-size:13px;color:#6b7280;margin:14px 0 0}
.boot-hint.hidden{display:none}
.boot-escape{display:inline-block;margin-top:24px;font-size:13px;color:#6b7280;text-decoration:underline;cursor:pointer;-webkit-tap-highlight-color:transparent}
.boot-escape.hidden{display:none}
.boot-escape:active{color:#9ca3af}


/* ── A67: Rich home widgets (Blinkit stories rail + bento price grid) ── */
.rich-section{margin:14px 0 18px}
.rich-hd{display:flex;justify-content:space-between;align-items:center;padding:0 14px;margin-bottom:12px}
.rich-hd>span{font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.4px}
/* .rich-x close-button removed 2026-04-29 — Featured rail is permanent. */
/* Stories rail */
.rich-stories{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 14px}
.rich-stories::-webkit-scrollbar{display:none}
.rs-card{flex:0 0 auto;width:132px;height:158px;border-radius:16px;position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid var(--w8);background:var(--w3);transition:transform .12s}
.rs-card:active{transform:scale(.96)}
.rs-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.rs-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.85))}
.rs-title{position:absolute;left:10px;right:10px;bottom:10px;font-size:14px;font-weight:800;letter-spacing:-.2px;color:#fff;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.7);z-index:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rs-badge{position:absolute;top:6px;left:6px;background:rgba(255,255,255,.92);color:#dc2626;font-size:9px;font-weight:700;padding:2px 6px;border-radius:6px;z-index:2;letter-spacing:.3px;text-transform:uppercase}
/* .rich-toggle settings-page toggle removed 2026-04-29 — Featured rail is permanent (no Beta). */

/* Reduced-motion: respect OS-level user preference (WCAG 2.1 SC 2.3.3). */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .page.pg-enter,.so-fade-in,.card,.cc,.det-img,.pr.best{animation:none !important;opacity:1 !important;transform:none !important}
  .qv-sh,.sh,.loc-sh,.search-ov,.catbr{transition:none !important}
}
