@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hind-bengali-400.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1;}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hind-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hind-bengali-700.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1;}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hind-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{--red:#e3262c;--red2:#ff4b4f;--ink:#f6efe6;--mute:#b9aea2;--bg:#0b0a0d;--card:#17141a;--line:rgba(255,255,255,.1);--amber:#ffb45a;--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:'Hind Siliguri',system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}
body{overscroll-behavior:none}
button,a{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--red);padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
#stage{position:fixed;inset:0}
#c{display:block;width:100%;height:100%;touch-action:none}
#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:linear-gradient(#0b0a0dee,#0b0a0d00)}
.brand{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;text-align:left}
.brand img{width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 2px #fff2,0 0 18px #e3262c88}
.bt{display:flex;flex-direction:column;line-height:1.1}
.bt b{font-size:18px;font-weight:700;letter-spacing:.2px}
.bt small{font-size:12px;color:var(--mute)}
.tools{display:flex;align-items:center;gap:8px}
.lang{display:flex;background:#ffffff14;border-radius:999px;padding:3px}
.lang button{border:0;background:none;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:600;color:var(--mute);min-height:32px}
.lang button[aria-pressed=true]{background:var(--ink);color:#111}
.call{display:inline-flex;align-items:center;gap:5px;background:var(--red);padding:8px 13px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;box-shadow:0 4px 18px #e3262c66;min-height:36px;white-space:nowrap}
.chip{position:fixed;z-index:19;top:calc(64px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);background:#17141ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:13.5px;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}
.chip .dot,.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7a7a7a;margin-right:6px;vertical-align:1px}
.dot.on{background:#3ddc84;box-shadow:0 0 8px #3ddc84}
.dot.soon{background:var(--amber)}
.hint{position:fixed;z-index:5;left:50%;transform:translateX(-50%);bottom:calc(150px + var(--safe-b));font-size:13px;color:var(--mute);background:#0b0a0daa;padding:5px 12px;border-radius:999px;pointer-events:none;transition:opacity .6s;white-space:nowrap}
.hint.gone{opacity:0}
.viewbar{position:fixed;z-index:6;left:50%;transform:translateX(-50%);bottom:calc(150px + var(--safe-b));display:flex;gap:6px}
.viewbar[hidden]{display:none}
.viewbar button{border:1px solid var(--line);background:#17141ae6;padding:8px 12px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap;min-height:38px}
.viewbar button[aria-pressed=true]{background:var(--ink);color:#111}
.dock{position:fixed;z-index:10;left:0;right:0;bottom:0;padding:0 0 calc(8px + var(--safe-b));background:linear-gradient(#0b0a0d00,#0b0a0df2 30%)}
.dockhead{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px}
.menuBtn{border:0;background:var(--ink);color:#111;font-weight:700;padding:8px 14px;border-radius:999px;font-size:14px;min-height:38px}
.count{font-size:13px;color:var(--mute)}
.branches{list-style:none;margin:0;padding:2px 12px 4px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.branches::-webkit-scrollbar{display:none}
.branches li{flex:0 0 auto;scroll-snap-align:start}
.branches button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:8px 12px;min-width:132px;text-align:left}
.branches button b{font-size:14.5px;font-weight:600;white-space:nowrap}
.branches button small{font-size:12px;color:var(--mute);white-space:nowrap}
.branches button[aria-current=true]{border-color:var(--red);background:#2a1215;box-shadow:0 0 0 1px var(--red) inset}
.pin{position:absolute;left:0;top:0;pointer-events:auto;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;will-change:transform}
.pin span{background:#e3262cf0;color:#fff;font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 12px #e3262c99;border:1px solid #ff8a8d}
.pin.off span{background:#3a2a2cf0;border-color:#7a5254;box-shadow:none}
.pin i{width:2px;height:14px;background:linear-gradient(#ff6b6e,#ff6b6e00)}
.pin.sel span{background:#fff;color:var(--red);border-color:#fff}
.area{position:absolute;left:0;top:0;font-size:12px;color:#d9cfc4b0;letter-spacing:.3px;white-space:nowrap;text-shadow:0 1px 3px #000;will-change:transform}
.road{position:absolute;left:0;top:0;font-size:11.5px;color:#ffe2b8;background:#0b0a0d99;padding:1px 6px;border-radius:5px;white-space:nowrap;will-change:transform}
.panel{position:fixed;z-index:30;left:0;right:0;bottom:0;max-height:78vh;background:#141116f7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-radius:20px 20px 0 0;transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding-bottom:var(--safe-b)}
.panel.open{transform:none}
.grab{width:40px;height:5px;border-radius:9px;background:#ffffff33;margin:8px auto 0}
.close{position:absolute;right:10px;top:8px;width:38px;height:38px;border-radius:50%;border:0;background:#ffffff14;font-size:15px}
.pbody{overflow-y:auto;padding:6px 16px 20px;-webkit-overflow-scrolling:touch}
.pbody h2{margin:6px 44px 2px 0;font-size:22px;line-height:1.25}
.pbody h3{margin:18px 0 8px;font-size:16px;color:var(--amber)}
.sub{color:var(--mute);font-size:14px;margin:0 0 10px}
.status{display:inline-flex;align-items:center;font-size:14px;background:#ffffff0f;border-radius:999px;padding:4px 11px;margin:2px 0 10px}
.addr{font-size:15px;line-height:1.55;margin:0 0 12px}
.acts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:6px 0 4px}
.acts a{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;border-radius:12px;padding:11px 8px;font-weight:700;font-size:14.5px;background:#ffffff12;border:1px solid var(--line);min-height:46px;text-align:center}
.acts a.pri{background:var(--red);border-color:var(--red)}
.acts img{width:18px;height:18px;border-radius:4px}
.gallery{display:flex;gap:8px;overflow-x:auto;margin:4px -16px 6px;padding:0 16px;scrollbar-width:none}
.gallery img{width:132px;height:132px;object-fit:cover;border-radius:12px;flex:0 0 auto;background:#222}
.gallery img.wide{width:210px}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:8px 0 4px;scrollbar-width:none;position:sticky;top:-6px;background:#141116;padding:6px 0;z-index:2}
.tabs button{border:1px solid var(--line);background:none;border-radius:999px;padding:6px 12px;font-size:13.5px;white-space:nowrap;min-height:36px}
.tabs button[aria-selected=true]{background:var(--ink);color:#111;border-color:var(--ink)}
.items{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;background:#ffffff08;border:1px solid var(--line);border-radius:14px;padding:8px}
.item img{width:72px;height:72px;border-radius:10px;object-fit:cover;background:#222}
.item b{display:block;font-size:15.5px;font-weight:600}
.item small{display:block;font-size:13px;color:var(--mute);line-height:1.35}
.item .pr{font-weight:700;color:#fff;font-size:15px;white-space:nowrap;text-align:right}
.item .pr em{display:block;font-style:normal;font-size:11px;color:var(--mute);font-weight:400}
.item.na{opacity:.45}
.tea{display:flex;flex-wrap:wrap;gap:8px}
.tea span{background:#ffffff0f;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px}
.note{font-size:12.5px;color:var(--mute);line-height:1.5;margin:12px 0 0}
.mini{list-style:none;margin:0;padding:0;columns:2;column-gap:14px;font-size:14px}
.mini li{break-inside:avoid;display:flex;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px dashed #ffffff14}
.credit{position:fixed;z-index:4;right:8px;bottom:calc(126px + var(--safe-b));font-size:10px;color:#ffffff55;pointer-events:none}
.fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:90px 20px 200px;text-align:center}
.fallback[hidden]{display:none}
.fallback img{width:min(92vw,520px);height:auto;border-radius:16px}
.fallback p{color:var(--mute);max-width:420px}
.lang-en .bn-only{display:none}
@media (min-width:900px){
  .panel{left:auto;top:76px;right:14px;bottom:14px;width:420px;max-height:none;border-radius:18px;border:1px solid var(--line);transform:translateX(110%)}
  .panel.open{transform:none}
  .grab{display:none}
  .hint,.viewbar{bottom:150px}
  body.panel-open .viewbar{left:calc(50% - 220px)}
  body.panel-open .dock{right:440px}
  body.panel-open .credit{right:448px}
  .branches{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){.panel{transition:none}}

.shopcard{position:fixed;z-index:7;left:10px;right:10px;top:calc(104px + env(safe-area-inset-top,0px));max-width:380px;margin:0 auto;background:#17141ae8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:10px 12px;font-size:13px;box-shadow:0 8px 30px #0008}
.shopcard[hidden]{display:none}
.sc-h{display:flex;gap:9px;align-items:center}.sc-h img{border-radius:50%;flex:none}
.sc-h b{display:block;font-size:15px;line-height:1.25}.sc-h small{color:var(--mute);font-size:12.5px}
.shopcard p{margin:6px 0 4px;color:#e9dfd3;line-height:1.35;font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-r{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--mute)}.sc-r .rt{color:#ffcf5a;font-weight:700}.sc-r .rt small{color:var(--mute);font-weight:400}
.sc-a{display:flex;gap:6px;margin-top:8px}.sc-a button,.sc-a a{border:1px solid var(--line);background:#ffffff12;color:var(--ink);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;min-height:36px;text-decoration:none;display:inline-flex;align-items:center}
.sc-a .pri{background:var(--red);border-color:var(--red2);color:#fff;flex:1;justify-content:center}
body.street .hint{display:none}
@media (min-width:900px){.shopcard{left:14px;right:auto;top:120px;margin:0;width:340px}}
.shopcard.compact p,.shopcard.compact .sc-r{display:none}
.streetGo{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin:10px 0 4px;padding:11px 14px;border-radius:12px;border:1px solid #ff8a8d;background:linear-gradient(#e3262c,#b8141b);color:#fff;font-weight:700;font-size:15px;min-height:46px;box-shadow:0 4px 18px #e3262c55}

/* ---- v3: branch switcher, real photos, nearby, lightbox, official menu ---- */
.viewbar{flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 16px)}
.vb-r{display:flex;gap:6px}
.sw{display:flex;align-items:stretch;gap:4px;background:#17141aee;border:1px solid #e3262c99;border-radius:999px;padding:3px;box-shadow:0 4px 18px #0009;max-width:calc(100vw - 16px)}
.sw>button{border:0;background:#ffffff14;border-radius:999px;width:40px;min-height:40px;font-size:14px;padding:0;color:var(--ink)}
.sw>button:active{background:var(--red)}
.swl{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0 26px 0 12px;border-radius:999px;cursor:pointer}
.swl::after{content:'▾';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--amber);pointer-events:none}
.swt{font-size:10.5px;line-height:1.1;color:var(--amber);font-weight:600;letter-spacing:.2px}
.swt i{font-style:normal;color:var(--mute);font-weight:400}
.swl select{appearance:none;-webkit-appearance:none;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;font-size:14.5px;padding:0;margin:0;max-width:52vw;min-width:120px;text-overflow:ellipsis;cursor:pointer}
.swl select option{background:#17141a;color:var(--ink)}
.swl:focus-within{outline:2px solid var(--amber);outline-offset:1px}
@media (max-width:899px){
  body.street .dock{display:none}
  body.street .viewbar{bottom:calc(10px + var(--safe-b))}
  body.street .credit{bottom:calc(4px + var(--safe-b));left:8px;right:auto}
}
.shopcard{padding:9px 11px}
.sc-h>div{flex:1;min-width:0}
.sc-h small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-x{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:#ffffff14;color:var(--ink);font-size:14px}
.shopcard p.sc-ad{-webkit-line-clamp:1;margin:5px 0 4px}
.sc-ad b{color:#ffe2b8;font-weight:600}
.sc-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.sthumbs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.sthumbs button,.pthumbs button{flex:none;border:1px solid #ffffff2a;padding:0;border-radius:8px;overflow:hidden;background:#222;line-height:0}
.sthumbs img{width:56px;height:42px;object-fit:cover}
.shopcard p.sc-note{flex:1 1 100%;margin:0;font-size:11px;color:var(--mute);-webkit-line-clamp:2}
.nophoto{margin:0;font-size:12px;color:#ffcf9a;background:#ffffff0d;border:1px dashed #ffffff30;border-radius:8px;padding:4px 8px}
.shopcard p.nophoto{-webkit-line-clamp:1;margin:0;font-size:11.5px;color:#ffcf9a}
.sc-nb{flex:1 1 100%;font-size:12.5px}
.sc-nb summary{cursor:pointer;color:var(--amber);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:4px;min-height:28px}
.sc-nb summary::-webkit-details-marker{display:none}
.sc-nb summary::after{content:'▾';font-size:11px}
.sc-nb[open] summary::after{content:'▴'}
.sc-nb .nb{max-height:30vh;overflow:auto}
.shopcard.compact .sc-more,.shopcard.compact .sc-ad{display:none}
.nb{list-style:none;margin:2px 0 0;padding:0;font-size:13.5px}
.nb li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed #ffffff14}
.nb li a{color:var(--ink);text-decoration:underline dotted #ffffff55}
.nb li b{color:var(--mute);font-weight:400;white-space:nowrap}
.addr .rdname{color:#ffe2b8}
.pthumbs{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 4px;padding:0 16px;scrollbar-width:none}
.pthumbs img{width:132px;height:100px;object-fit:cover}
.pbody .nophoto{display:inline-block;font-size:13.5px}
.minicats h4{margin:10px 0 2px;font-size:13px;color:#ffcf9a;font-weight:600}
.mini li span{min-width:0}
.mini li small{display:block;font-size:11.5px;color:var(--mute);line-height:1.3}
.mini li b{white-space:nowrap}.mini li em{font-style:normal;font-size:11px;color:var(--mute);font-weight:400}
.acts button{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;padding:11px 8px;font-weight:700;font-size:14.5px;background:#ffffff12;border:1px solid var(--line);min-height:46px;color:var(--ink)}
.acts button.pri{background:var(--red);border-color:var(--red)}
.menuShot{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#222;margin:4px 0 6px;line-height:0}
.menuShot img{width:100%;height:150px;object-fit:cover;object-position:50% 30%}
.menuShot span{position:absolute;left:10px;bottom:10px;line-height:1.2;background:#e3262cee;color:#fff;font-weight:700;padding:7px 12px;border-radius:999px;font-size:14px}
.item.noimg{grid-template-columns:1fr auto}
.lb{position:fixed;inset:0;z-index:60;background:#000000f0;display:flex;align-items:center;justify-content:center;padding:calc(56px + env(safe-area-inset-top,0px)) 8px calc(16px + var(--safe-b))}
.lb[hidden]{display:none}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;max-height:100%}
.lb img{max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);object-fit:contain;border-radius:8px;touch-action:pinch-zoom}
.lb figcaption{font-size:13px;color:#e9dfd3;text-align:center;line-height:1.45;padding:0 12px}
.lb figcaption a{color:var(--amber)}
.lb-x{position:absolute;right:12px;top:calc(10px + env(safe-area-inset-top,0px));width:42px;height:42px;border-radius:50%;border:0;background:#ffffff22;color:#fff;font-size:17px}
.lb-p,.lb-n{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:12px;background:#ffffff1c;color:#fff;font-size:30px}
.lb-p{left:6px}.lb-n{right:6px}
.lb-p[hidden],.lb-n[hidden]{display:none}

/* Keep the real shop visible above the compact mobile information card. */
@media(max-width:899px){.shopcard{top:calc(92px + env(safe-area-inset-top,0px));max-width:calc(100vw - 24px)}.shopcard p.sc-note{-webkit-line-clamp:1;font-size:10px}.shopcard .sc-nb summary{min-height:22px;font-size:11px}.sthumbs img{width:50px;height:34px}.sc-h img{width:25px;height:25px}.sc-h b{font-size:13px}.shopcard p.sc-ad{font-size:11px}.sc-a button{min-height:32px;font-size:12px}.sc-more{gap:2px 6px}}
