/* ═══ VARIABLES ═══ */
:root{
  --hf-vv-height:100dvh;--hf-keyboard-inset:0px;
  --bg:#181815;--bg2:#1e1e19;--panel:#24241f;--panel2:#30302a;--card:#24241f;
  --line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);--line3:rgba(255,255,255,.2);
  --tx:#f4efe6;--soft:#d2cdc2;--muted:#b9b4aa;
  --acc:#f4efe6;--acc2:rgba(244,239,230,.08);--acc3:rgba(244,239,230,.2);--acc-solid:#f4efe6;--on-acc:#181815;
  --red:#ef4444;--red2:rgba(239,68,68,.12);--danger-fg:#ff8a8a;--danger-bg:#321b20;--green:#22c55e;
  --nav-h:64px;--safe-t:env(safe-area-inset-top,0px);--tg-csa-t:var(--tg-content-safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
  --shadow:0 32px 80px rgba(0,0,0,.45);--f:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.light{
  --bg:#f4f0e8;--bg2:#eee9df;--panel:#fffcf7;--panel2:#e9e3d8;--card:#fffcf7;
  --line:rgba(0,0,0,.07);--line2:rgba(0,0,0,.12);--line3:rgba(0,0,0,.2);
  --tx:#1b1a17;--soft:#4b473f;--muted:#6c685f;
  --acc:#1b1a17;--acc2:rgba(27,26,23,.05);--acc3:rgba(27,26,23,.16);--acc-solid:#1b1a17;--on-acc:#f9f5ec;
  --danger-fg:#b42318;--danger-bg:#fde8e8;
  --shadow:0 24px 64px rgba(18,20,32,.12);
}
.ac-silver{--acc:#8394b2;--acc2:rgba(131,148,178,.12);--acc3:rgba(131,148,178,.24)}
.ac-rose{--acc:#c0566a;--acc2:rgba(192,86,106,.12);--acc3:rgba(192,86,106,.24)}
.ac-jade{--acc:#2fa87a;--acc2:rgba(47,168,122,.12);--acc3:rgba(47,168,122,.24)}

/* ═══ RESET ═══ */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;scrollbar-width:none}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--tx);font-family:var(--f);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}
button,input,select,textarea{font:inherit;color:inherit;border:none;background:none;cursor:pointer}
button,.nav,.chips,.sortbar,.catalog-seg,.settings-section-label{-webkit-user-select:none;user-select:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
[role="dialog"][tabindex="-1"]:focus,[role="region"][tabindex="-1"]:focus{outline:0}
img{display:block;max-width:100%}
*::-webkit-scrollbar{display:none}

/* ═══ TELEGRAM-ONLY BROWSER GATE ═══ */
.hf-app-gate-pending .app,.hf-app-gated .app{display:none}
.telegram-gate[hidden]{display:none!important}
.telegram-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:28px;background:
  radial-gradient(circle at 50% 0,rgba(146,168,255,.25),transparent 34%),
  linear-gradient(180deg,var(--bg),var(--bg2));color:var(--tx);font-family:var(--f);overflow:auto}
.telegram-gate-card{width:min(390px,100%);padding:28px 24px;border:1px solid var(--line2);border-radius:26px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow);text-align:center}
.telegram-gate-brand{margin:0 auto 18px;display:flex;flex-direction:column;align-items:center;color:var(--tx);font-size:27px;font-weight:900;letter-spacing:-.055em;line-height:.86}
.telegram-gate-brand span{color:var(--acc);font-size:19px;font-weight:750;letter-spacing:-.035em}
.telegram-gate h1{margin:0;font-size:26px;line-height:1.06;letter-spacing:-.05em}
.telegram-gate p:not(.telegram-gate-kicker){margin:12px 0 0;color:var(--soft);font-size:14px;line-height:1.55}
.telegram-gate-cta,.telegram-gate-link{display:flex;align-items:center;justify-content:center;text-decoration:none}
.telegram-gate-cta{min-height:48px;margin-top:22px;border-radius:16px;background:var(--tx);color:var(--bg);font-weight:900}
.telegram-gate-link{width:max-content;max-width:100%;margin:12px auto 0;color:var(--muted);font-size:13px;font-weight:800}

/* ═══ APP SHELL ═══ */
.app{position:relative;height:100vh;height:100dvh;max-width:430px;margin:0 auto;overflow:hidden;overflow:clip;overscroll-behavior:none;
  background:var(--bg);
  box-shadow:var(--shadow)}

/* ═══ SCREENS ═══ */
.screen{position:absolute;inset:0 0 calc(var(--nav-h) + var(--safe-b)) 0;isolation:isolate;display:flex;flex-direction:column;opacity:0;pointer-events:none;visibility:hidden;transform:none;transition:none}
.screen.active{opacity:1;pointer-events:auto;visibility:visible;transform:none;transition:none}
@keyframes su{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(30px + var(--safe-b));overscroll-behavior-y:contain;scroll-behavior:auto}
.scroll::-webkit-scrollbar{display:none}
#screen-home{--home-chrome-h:176px;--home-collapse:0}
#screen-home .scroll{padding-top:calc(var(--home-chrome-h) + 2px)}

/* ═══ TOPBAR ═══ */
.topbar{flex-shrink:0;z-index:20;padding:calc(var(--safe-t) + var(--tg-csa-t) + 16px) 16px 10px;
  background:var(--bg);
  position:relative;border-bottom:1px solid transparent;box-shadow:none}
.light .topbar{background:var(--bg)}
.home-topbar{overflow:visible;--home-collapse:0;--home-full-height:0px;--home-top-pad:calc(var(--safe-t) + var(--tg-csa-t) + 10px);position:absolute;top:0;left:0;right:0;height:auto;padding:calc(var(--safe-t) + var(--tg-csa-t) + 10px) 16px 12px;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:transform .28s cubic-bezier(.16,1,.3,1),background .18s ease,border-bottom-color .18s ease,opacity .28s cubic-bezier(.16,1,.3,1);transform:translateY(calc(var(--home-collapse,0) * -1 * (var(--home-chrome-h,176px) + 10px)));opacity:calc(1 - (var(--home-collapse,0) * .04));will-change:transform;border-bottom:1px solid var(--line);z-index:610}
.home-topbar.lang-open,.home-topbar[data-focused='1']{overflow:visible;z-index:650;transform:translateY(0)!important;opacity:1!important}
.light .home-topbar{background:var(--bg)}
.home-topbar .home-title-row,.home-topbar .sbar-wrap,.home-topbar .collapse-part,.home-topbar .home-toolbar-space{opacity:1;transform:none;pointer-events:auto}
.home-topbar .home-title-row{max-height:none;overflow:visible;will-change:opacity,transform;transition:opacity .26s cubic-bezier(.2,.8,.2,1),transform .26s cubic-bezier(.2,.8,.2,1)}
.home-topbar[data-focused='1'] .home-title-row,.home-topbar[data-focused='1'] .sbar-wrap,.home-topbar[data-focused='1'] .collapse-part,.home-topbar[data-focused='1'] .home-toolbar-space{opacity:1;transform:none}
.home-topbar[data-measuring='1']{transition:none!important}
.home-topbar.is-collapsed{pointer-events:none}
.home-topbar.is-collapsed.lang-open,.home-topbar.is-collapsed[data-focused='1']{pointer-events:auto}
.home-topbar.is-collapsed .home-title-row{opacity:1;transform:none;max-height:none;margin-bottom:12px;pointer-events:auto}
body.detail-open .home-topbar{visibility:hidden;pointer-events:none}
.home-title-row{position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.top-controls{position:relative;z-index:120;display:flex;align-items:center;gap:8px;flex-shrink:0;pointer-events:auto}
.home-head-copy{display:flex;flex-direction:column;gap:0;min-width:0}
.home-head-copy .page-title{display:flex;align-items:center;gap:9px;font-size:32px;font-weight:850;letter-spacing:-.045em;line-height:1;color:var(--tx)}
.home-logo-button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}
.home-logo-button:focus-visible{outline:2px solid var(--acc);outline-offset:5px;border-radius:7px}
.wordmark-text{min-width:0}
.wordmark-f{display:inline;color:var(--acc);font-size:.96em;font-weight:inherit;letter-spacing:inherit;vertical-align:baseline;margin:0}
.home-head-copy .page-sub{display:none}
.viewseg{display:flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:var(--panel);border:1px solid var(--line2);box-shadow:none}
.viewbtn{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:all .14s}
.viewbtn svg{width:16px;height:16px}
.viewbtn.on{background:var(--tx);color:var(--bg)}
.siconbtn{width:34px;height:34px;border-radius:11px;background:var(--panel2);border:1px solid var(--line2);display:grid;place-items:center;position:relative;transition:transform .12s,opacity .12s}
.siconbtn svg{width:14px;height:14px;color:var(--tx)}
.siconbtn:active{transform:scale(.94);opacity:.78}
.siconbtn .dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--acc);display:none}
.siconbtn.has .dot{display:block}
.home-toolbar-space{height:0}
.home-topbar .sbar-wrap{padding:3px 0 0;position:relative;z-index:70}
.home-search-row{display:flex;align-items:center;gap:8px;min-width:0}
.home-search-row .sbar{flex:1;min-width:0}
.search-close-btn{width:44px;height:44px;border-radius:14px;background:var(--panel);border:1px solid var(--line2);color:var(--muted);display:none;place-items:center;flex:0 0 44px;transition:transform .12s,opacity .12s,color .12s}
.search-close-btn svg{width:18px;height:18px}
.home-topbar[data-focused='1'] .search-close-btn{display:grid}
.search-close-btn:active{transform:scale(.94);opacity:.78;color:var(--tx)}
.search-history-block{padding:8px 0 0;overflow:hidden}
.search-history-row{display:flex;gap:7px;overflow-x:auto;padding:0 2px 2px;overscroll-behavior-x:contain;scroll-padding-inline:2px}
.search-chip{flex-shrink:0;min-height:44px;max-width:172px;padding:7px 11px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--soft);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-chip:active{transform:scale(.96);background:var(--panel2)}
.search-chip.clear{color:var(--muted);border-style:dashed}
.home-filter-btn{width:44px;height:44px;border-radius:14px;background:var(--panel);border-color:var(--line2);flex:0 0 44px;color:var(--tx)}
.home-filter-btn svg{width:17px;height:17px}
.home-filter-btn .dot{display:none!important}
.filter-count{position:absolute;top:5px;right:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900;line-height:1;box-shadow:0 0 0 2px var(--panel)}
.filter-count[hidden]{display:none!important}
.cat-row{display:block;padding:8px 0 10px;overflow:visible}
.cat-section{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.cat-list{display:flex;gap:10px;overflow-x:auto;padding:0 2px 4px;scroll-padding-inline:2px;overscroll-behavior-x:contain}
.cat-row .chip{min-height:38px;min-width:0;padding:0 14px;border-radius:11px;font-size:13.5px;font-weight:650;letter-spacing:-.01em;background:none;border:1px solid var(--line2);box-shadow:none;color:var(--soft);justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s}
.light .cat-row .chip{box-shadow:none}
.cat-row .chip:active{opacity:.6}
.cat-row .chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}
.cat-row .chip.on{background:var(--tx);color:var(--bg);border-color:transparent;box-shadow:none;font-weight:750}
.cat-row .chip.on .chip-label{color:currentColor}
.home-sortbar{position:relative;z-index:8;margin:0;padding:0 0 10px;gap:8px;pointer-events:auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;align-items:center;touch-action:pan-y}
.home-sort-group{display:flex;flex:1 1 100%;min-width:0;gap:4px;padding:3px;border-radius:14px;background:var(--panel);border:1px solid var(--line2);overflow:hidden}
.home-sortbar .sortchip{flex:1 1 0;min-width:0;text-align:center;justify-content:center;min-height:31px;padding:0 6px;border-radius:10px;font-size:10.5px;background:transparent;border:0;box-shadow:none;color:var(--muted);display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-sortbar .sortchip.on{background:var(--tx);color:var(--bg);border-color:transparent;box-shadow:none}
.trow{display:flex;align-items:center;gap:10px;min-height:42px}
.topbar:not(.home-topbar) .trow{min-height:0;align-items:center;padding:0 0 4px}
.topbar:not(.home-topbar) .title-wrap{gap:4px;padding:0;min-width:0}
.topbar:not(.home-topbar) .page-title{font-size:24px;line-height:1.05;font-weight:900;letter-spacing:-.055em}
.topbar:not(.home-topbar) .page-sub{font-size:13px;line-height:1.25}
.topbar:not(.home-topbar) .sbar-wrap{padding:10px 0 2px}

/* ═══ LOGO ═══ */
.logo-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.logo-mark{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--acc3),var(--acc2));
  border:1px solid var(--acc3);position:relative;overflow:hidden}
.logo-mark::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent)}
.logo-mark svg{width:22px;height:18px;color:var(--acc)}
.logo-text{min-width:0}
.logo-text h1{font-size:16px;font-weight:800;letter-spacing:-.04em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-text p{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ═══ ICON BUTTON ═══ */
.ibtn{width:36px;height:36px;border-radius:11px;background:var(--panel);border:1px solid var(--line2);
  display:grid;place-items:center;flex-shrink:0;position:relative;transition:opacity .12s,transform .12s}
.ibtn svg{width:16px;height:16px;color:var(--tx)}
.ibtn:active{opacity:.6;transform:scale(.92)}
.backbtn{width:auto;min-width:88px;height:44px;padding:0 14px;display:flex;align-items:center;gap:7px;border-radius:12px;background:rgba(17,20,32,.88);border:1px solid var(--line2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.light .backbtn{background:rgba(255,255,255,.92)}
.backbtn svg{width:16px;height:16px;flex-shrink:0}
.backbtn span{font-size:12px;font-weight:800;color:var(--tx);letter-spacing:-.01em;display:block}
body.tg-context .tg-back-fallback{display:none!important;pointer-events:none}
body.tg-context .bdetail-topbar{justify-content:flex-end}
.totop{position:absolute;right:16px;bottom:calc(var(--nav-h) + var(--safe-b) + 18px);z-index:55;width:46px;height:46px;border-radius:999px;background:rgba(17,20,32,.92);border:1px solid var(--line2);display:none;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity .18s,transform .18s;opacity:0;transform:translateY(8px)}
.light .totop{background:rgba(255,255,255,.94)}
.totop.on{display:grid;opacity:1;transform:translateY(0)}
.totop svg{width:18px;height:18px;color:var(--tx)}
.totop:active{transform:scale(.94);opacity:.8}
.ibtn.lit{background:var(--tx);border-color:transparent}
.ibtn.lit svg{color:var(--bg)}
.pull-refresh-indicator{position:absolute;top:calc(var(--home-chrome-h,176px) + 8px);left:50%;z-index:600;display:flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:999px;background:rgba(21,21,31,.88);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:11.5px;font-weight:850;letter-spacing:-.01em;box-shadow:0 10px 26px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transform:translate(-50%,-10px) scale(.96);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.light .pull-refresh-indicator{background:rgba(255,255,255,.94);border-color:rgba(0,0,0,.08);color:var(--tx);box-shadow:0 12px 30px rgba(18,20,32,.13)}
.pull-refresh-indicator.on{opacity:1;transform:translate(-50%,0) scale(1)}
.pull-refresh-spinner{width:12px;height:12px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;opacity:.86;animation:ptrspin .78s linear infinite}
@keyframes ptrspin{to{transform:rotate(360deg)}}

/* ═══ LANG PILL ═══ */
.lpill{position:relative;display:flex;align-items:center;gap:7px;z-index:520}
.quick-theme{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:13px;border:1px solid var(--line2);background:var(--panel);color:var(--tx);box-shadow:none}
.quick-theme svg{width:17px;height:17px}
.quick-theme:active{transform:scale(.96);opacity:.78}
.quick-theme:focus-visible,.lang-trigger:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.lang-select{position:relative;display:inline-flex;z-index:720}
.lang-trigger{height:36px;min-width:38px;padding:0 11px;border-radius:11px;border:1px solid var(--line2);background:var(--panel);color:var(--tx);font-size:11px;font-weight:900;letter-spacing:.06em;box-shadow:none}
.lang-trigger{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px}
.lang-trigger::-webkit-details-marker{display:none}
.lang-trigger:active{transform:scale(.96);opacity:.78}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:760;min-width:154px;padding:6px;border-radius:16px;border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 42px rgba(0,0,0,.22);display:none}
.light .lang-menu{box-shadow:0 16px 36px rgba(18,20,32,.12)}
.lang-menu.op,.lang-select[open] .lang-menu{display:grid;gap:3px}
.lang-option{width:100%;min-height:40px;padding:0 9px;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--soft);font-size:12px;font-weight:800;text-align:left}
.lang-option b{font-size:10px;color:var(--muted);letter-spacing:.06em}
.lang-option.on{background:var(--tx);color:var(--bg)}
.lang-option.on b{color:currentColor;opacity:.72}

/* ═══ SEARCH BAR ═══ */
.sbar-wrap{padding:8px 16px 0}
.sbar{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line2);min-width:0;
  height:44px;border-radius:14px;padding:0 9px 0 13px;transition:border-color .18s,box-shadow .18s;box-shadow:none}
.sbar:focus-within{border-color:var(--line3);box-shadow:none}
.sbar input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:16px;font-family:var(--f);outline:0}
.sbar input:focus,.sbar input:focus-visible{outline:0}
.sbar input::placeholder{color:var(--muted)}
.sbar .si{color:var(--muted);flex-shrink:0}
.sbar .si svg{width:16px;height:16px}
.sbar .sc{color:var(--muted);padding:2px;border-radius:6px;display:none;transition:opacity .12s;flex-shrink:0}
.sbar .sc svg{width:13px;height:13px;display:block}
.sbar .sc.on{display:block}

/* ═══ CATEGORY CHIPS ═══ */
.chips{display:flex;gap:8px;padding:10px 16px 8px;overflow-x:auto;flex-shrink:0}
.chip{flex-shrink:0;padding:9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);
  color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:4px;transition:all .15s}
.chip span.cn{font-size:10px;opacity:.5}
.chip.on{background:var(--tx);color:var(--bg);border-color:transparent}
.chip.on span.cn{opacity:.45}

/* ═══ FEED HEAD ═══ */
.fhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 16px 14px}
.fhead h3{font-size:22px;font-weight:800;letter-spacing:-.045em;line-height:1.15}
.fhead p{font-size:12px;color:var(--muted)}
.announce-banner{margin:11px 16px 5px;border:1px solid var(--line2);background:linear-gradient(145deg,var(--panel),var(--acc2));border-radius:16px;color:var(--tx);font-size:12.5px;font-weight:650;line-height:1.5;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.light .announce-banner{box-shadow:0 8px 22px rgba(24,24,21,.06)}
.announce-banner span,.announce-banner button{position:relative;display:block;width:100%;padding:13px 14px 13px 42px;text-align:left;color:inherit;font:inherit}
.announce-banner span::before,.announce-banner button::before{content:'';position:absolute;left:17px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 5px var(--acc2)}
.announce-banner button:active{opacity:.75}
.channel-batch-banner{margin:10px 12px 4px;padding:11px 12px;border:1px solid var(--line2);background:var(--panel);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--soft);font-size:12px;font-weight:700;line-height:1.35}
.channel-batch-banner[hidden]{display:none}
.channel-batch-banner button{flex-shrink:0;padding:7px 10px;border:1px solid var(--acc3);border-radius:10px;background:var(--acc2);color:var(--acc);font:inherit;font-weight:800}
.channel-batch-banner button:active{opacity:.72}
.home-sections{display:grid;gap:18px;padding:4px 0 17px;overflow:hidden}
.home-sections:empty{display:none}
.home-section{display:grid;gap:10px;min-width:0}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 16px}
.home-section-head h3{font-size:17px;font-weight:900;letter-spacing:-.035em;line-height:1.05;color:var(--tx);font-family:'Space Grotesk','DM Sans',system-ui,sans-serif}
.home-section-head p{margin-top:4px;font-size:11px;font-weight:650;line-height:1.25;color:var(--muted)}
.home-section-view{min-height:32px;flex-shrink:0;padding:0 10px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--soft);font-size:11px;font-weight:850;font-family:var(--f)}
.home-section-view:active{transform:scale(.96);background:var(--panel2)}
.home-section-row{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:16px;padding:0 16px 3px;-webkit-overflow-scrolling:touch}
.home-section-row .card{flex:0 0 148px;width:148px;scroll-snap-align:start;border-radius:15px;box-shadow:0 2px 9px rgba(0,0,0,.1)}
.light .home-section-row .card{box-shadow:0 2px 9px rgba(18,20,32,.045)}
.home-section-row .card-img-wrap{aspect-ratio:3 / 4}
.home-section-row .card-top{top:7px;left:7px;right:7px}
.home-section-row .card-body{padding:9px 10px 10px;min-height:88px}
.home-section-row .card-brand{font-size:9px;margin-bottom:5px}
.home-section-row .card-name{font-size:12px;min-height:32px}
.home-section-row .card-bot{margin-top:7px}
.home-section-row .card-price{font-size:15px}
.home-section-row .card-rat{font-size:10px;padding:4px 6px}
.home-section-row .card-rat svg{width:11px;height:11px}
.home-section-row .spill{width:40px;height:40px}

/* ═══ PRODUCT GRID ═══ */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px;align-items:start;align-content:start}

/* ═══ PRODUCT CARD ═══ */
.card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;height:auto;
  cursor:pointer;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.12);
  transition:transform .14s,border-color .16s}
.grid:not(.list-mode) .card{height:auto;align-self:start}
.card:active{transform:scale(.97);transition:transform .1s ease;border-color:var(--line2)}
.light .card{box-shadow:0 2px 10px rgba(18,20,32,.05)}
.card-img-wrap{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:var(--panel2);isolation:isolate}
.card-img-wrap::after{content:'';position:absolute;inset:auto 0 0;height:36%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));z-index:1}
.image-preset{display:block;background:linear-gradient(135deg,var(--panel2),var(--panel))}
.image-preset-product-card{width:100%;height:100%;object-fit:cover;object-position:center top}
.image-preset-product-detail{width:100%;height:100%;object-fit:cover;object-position:center center;background:var(--panel2)}
.image-preset-product-thumb{width:100%;height:100%;object-fit:cover;object-position:center center;background:var(--panel2)}
.image-preset-brand-card{width:86%;height:86%;max-width:86%;max-height:86%;object-fit:contain;object-position:center center;background:transparent}
.image-preset-brand-hero{width:auto;height:auto;max-width:56%;max-height:130px;object-fit:contain;object-position:center center;background:transparent}
.card-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .3s}
.card-img.ld{opacity:0;background:linear-gradient(90deg,var(--panel2) 25%,var(--panel) 50%,var(--panel2) 75%);background-size:200% 100%;animation:imgshim 1.4s infinite}@keyframes imgshim{0%{background-position:200% 0}100%{background-position:-200% 0}}
.card-top{position:absolute;top:8px;left:8px;right:8px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:2}
.card-top>.save-w{margin-left:auto;pointer-events:all}
.save-w{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.card-kicker{display:block;max-width:92px;padding:5px 7px;border-radius:999px;background:rgba(10,10,18,.52);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:8px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.light .card-kicker{background:rgba(255,255,255,.88);border-color:rgba(18,20,32,.08);color:var(--tx)}
.badge-n{padding:4px 7px;border-radius:999px;background:rgba(13,13,24,.58);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:7.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.light .badge-n{background:rgba(255,255,255,.88);border-color:rgba(18,20,32,.09);color:var(--tx)}
.spill{width:40px;height:40px;border-radius:999px;background:rgba(10,10,18,.58);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;
  box-shadow:0 8px 18px rgba(0,0,0,.18);transition:transform .12s,background .14s,border-color .14s}
.light .spill{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.08)}
.spill:active{transform:scale(.85)}
.spill.sv{background:var(--acc);border-color:transparent}
.spill svg{width:13px;height:13px;color:#fff}
.light .spill:not(.sv) svg{color:var(--tx)}
.spill.sv svg{color:#fff}
.card-share-btn svg{color:rgba(255,255,255,.85)}
.light .card-share-btn svg{color:var(--tx)}
.card-img-rating{display:none}
.card-img-rating:empty{display:none}
.card-img-rating .card-rat{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.06);color:#0d0d18;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
:root:not(.light) .card-img-rating .card-rat{background:rgba(0,0,0,.58);border-color:rgba(255,255,255,.12);color:#eeeef8}
.card-body{padding:11px 12px 13px;flex:0 0 auto;display:flex;flex-direction:column;min-height:96px}
.card-brand{align-self:flex-start;max-width:100%;padding:0;border:0;background:none;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted);line-height:1.2;
  margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.2em}
.light .card-brand{background:none}
.card-name{font-size:14px;font-weight:680;line-height:1.32;color:var(--tx);letter-spacing:-.005em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.card-bot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:9px;padding-top:0}
.card-price{min-width:0;max-width:100%;display:block;padding:0;border:0;background:transparent;border-radius:0;font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--acc)}.card-rat{padding:4px 7px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--soft);font-size:12px;display:flex;align-items:center;gap:3px;flex-shrink:0;font-weight:850;line-height:1}
.card-rat svg{width:13px;height:13px;flex-shrink:0;fill:var(--acc)}

/* ═══ SKELETON ═══ */
.skel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}
.grid.is-skeleton{pointer-events:none}
.brand-grid.is-skeleton{border-style:dashed}
.skel-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0}
.skel-img{aspect-ratio:3 / 4}
.skel-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px}
.skel-l{height:9px;border-radius:5px;width:60%}
.skel-l.w80{width:82%}.skel-l.w70{width:70%}.skel-l.w40{width:42%}
.skel-line-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.skel-pill{width:42px;height:19px;border-radius:999px;flex-shrink:0}
.skel-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:12px;background:var(--panel);border-bottom:1px solid var(--line)}
.skel-row:last-child{border-bottom:0}
.skel-row-media{width:48px;height:48px;border-radius:15px}
.skel-row-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.sk{background:linear-gradient(90deg,var(--panel2) 25%,var(--panel) 50%,var(--panel2) 75%);background-size:200% 100%;animation:shim 1.4s infinite}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ═══ EMPTY STATE (legacy) ═══ */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:60px 24px;gap:14px;text-align:center}
.e-ico{width:58px;height:58px;border-radius:999px;background:var(--panel);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--muted)}
.e-ico svg{width:24px;height:24px}
.empty h4{font-size:17px;font-weight:700;letter-spacing:-.02em}
.empty p{font-size:13px;color:var(--muted);line-height:1.55;max-width:220px}
.empty-suggestions{width:100%;max-width:296px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:2px}
.empty-suggestions-label{width:100%;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.empty-suggestion-chip{max-width:132px;min-height:44px;padding:8px 11px;border-radius:999px;background:var(--panel);border:1px solid var(--line2);color:var(--soft);font-size:11.5px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-suggestion-chip:active{transform:scale(.96);background:var(--panel2)}
.empty-reset{margin-top:14px;min-height:44px;padding:9px 18px;border-radius:12px;background:var(--acc2);color:var(--acc);border:1px solid var(--acc3);font-size:13px;font-weight:800;cursor:pointer;transition:opacity .15s}
.empty-reset:active{opacity:.8}

/* ═══ EMPTY STATE HERO (new) ═══ */
.empty-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:56px 28px 64px;gap:0;text-align:center;grid-column:1/-1}
.empty-icon-wrap{width:64px;height:64px;border-radius:20px;background:var(--panel);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--muted);margin-bottom:20px}
.empty-icon-wrap svg{width:40px;height:40px;opacity:.6}
.empty-title{font-family:var(--f);font-size:20px;font-weight:700;
  letter-spacing:-.03em;color:var(--tx);margin:0 0 8px;line-height:1.2}
.empty-sub{font-size:14px;color:var(--muted);line-height:1.6;max-width:240px;margin:0 0 20px;font-weight:450}
.empty-cta{padding:10px 22px;border-radius:14px;background:var(--acc2);color:var(--acc);
  border:1px solid var(--acc3);font-size:14px;font-weight:700;cursor:pointer;
  transition:opacity .15s,transform .12s ease;letter-spacing:-.01em;margin-top:4px}
.empty-cta:active{opacity:.75;transform:scale(.97)}

/* ═══ BOTTOM NAV ═══ */
.nav{position:absolute;bottom:0;left:0;right:0;
  height:calc(var(--nav-h) + var(--safe-b));
  padding:0 12px max(var(--safe-b), 6px);
  background:rgba(13,13,20,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line);z-index:30}
.light .nav{background:rgba(255,255,255,.92)}
.nav-inner{position:relative;display:grid;grid-template-columns:repeat(4,1fr);height:100%;padding-top:6px}
.nav-ind{position:absolute;top:8px;height:calc(100% - 16px);width:25%;padding:0 4px;
  transition:transform .3s cubic-bezier(.2,.8,.2,1);pointer-events:none;display:none}
.nav-ind::before{content:'';display:block;height:100%;border-radius:16px;
  background:var(--panel);border:1px solid var(--line)}
.nbtn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;
  gap:3px;padding:7px 4px 5px;border-radius:14px;color:var(--muted);font-size:10px;font-weight:650;transition:transform .12s ease,opacity .12s ease,color .18s,background .18s}
.nbtn:active{transform:scale(.91);opacity:.82}
.nbtn.on{color:var(--acc);background:transparent}
.nbtn.on::before{content:'';position:absolute;top:0;left:50%;width:24px;height:2px;border-radius:0 0 2px 2px;background:var(--acc);transform:translateX(-50%)}
.nbtn svg{width:20px;height:20px;transition:transform .2s cubic-bezier(.2,.8,.2,1),color .18s}
.nbtn.on svg{transform:translateY(-1px) scale(1.05);color:var(--acc)}
.nbtn span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;line-height:1.15}
.nbtn.on span{opacity:1}
.nbadge{position:absolute;top:4px;right:calc(50% - 17px);min-width:15px;height:15px;
  border-radius:999px;background:var(--red);color:#fff;font-size:8px;font-weight:900;
  display:none;align-items:center;justify-content:center;padding:0 3px}

/* ═══ BRANDS SCREEN ═══ */
.catalog-topbar{padding-bottom:9px;border-bottom:1px solid var(--line)}
.catalog-tab-scroll{padding-top:10px;padding-bottom:32px}
.catalog-seg{display:flex;gap:26px;margin:0 16px 18px;padding:0;border:0;border-bottom:1px solid var(--line);background:none;box-shadow:none;border-radius:0}
.light .catalog-seg{box-shadow:none}
.catalog-seg-btn{flex:0 0 auto;min-width:0;min-height:44px;padding:0 0 13px;border-radius:0;background:none;color:var(--muted);font-size:16px;font-weight:850;letter-spacing:-.01em;position:relative;transition:color .18s}
.catalog-seg-btn.on{background:none;color:var(--tx);box-shadow:none}
.catalog-seg-btn.on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--tx)}
.catalog-seg-btn:active{transform:none;opacity:.7}
.catalog-panel{animation:su .30s cubic-bezier(.22,.61,.36,1) both}
.catalog-gender-block{padding:0 16px 12px}
.catalog-mini-label{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 2px}
.catalog-gender-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:1px}
.gender-chip{flex:0 0 auto;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--soft);font-size:12px;font-weight:850;letter-spacing:0;transition:background .14s,color .14s,border-color .14s,transform .12s}
.gender-chip.on{background:var(--tx);color:var(--bg);border-color:transparent}
.gender-chip:active{transform:scale(.96)}
.catalog-main-head{padding:1px 16px 12px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.catalog-main-head h3,.catalog-results-head h3{font-size:15px;font-weight:900;letter-spacing:0}
.catalog-main-head p{display:none}
/* Editorial-minimal categories: full-width hairline rows, just a clean name + chevron. */
.catalog-main-list{display:block;padding:0 18px 20px}
.catalog-main-card{position:relative;min-width:0;border:0;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--line);transition:none}
.catalog-main-card::after{content:none}
.light .catalog-main-card{box-shadow:none;background:none}
.catalog-main-card:last-child{border-bottom:0}
.catalog-main-card.open,.catalog-main-card.selected{border-color:var(--line);background:none;box-shadow:none}
.catalog-main-row{position:relative;z-index:1;width:100%;min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:19px 2px;text-align:left;color:var(--tx);background:none;font-family:var(--f)}
.catalog-main-copy{min-width:0}
.catalog-main-copy b{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.08;white-space:normal}
.catalog-main-card.selected .catalog-main-copy b{color:var(--tx)}
.catalog-main-chevron{width:24px;height:24px;display:grid;place-items:center;color:var(--muted);transition:transform .24s cubic-bezier(.22,1,.36,1),color .16s}
.catalog-main-chevron svg{width:19px;height:19px}
.catalog-main-card.open .catalog-main-chevron{transform:rotate(90deg);color:var(--tx)}
.catalog-main-row:active{opacity:.55}
.catalog-sublist{position:relative;z-index:1;display:flex;flex-direction:column;padding:2px 0 18px 2px}
.catalog-subrow{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 6px 12px 18px;border:0;border-left:1.5px solid var(--line);background:none;color:var(--soft);font-size:16px;font-weight:550;letter-spacing:-.012em;text-align:left;font-family:var(--f);transition:color .16s,border-color .16s;animation:catSubReveal .3s cubic-bezier(.22,1,.36,1) both}
.catalog-subrow-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-subrow-go{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center;color:var(--muted);opacity:0;transform:translateX(-5px);transition:opacity .16s,transform .2s cubic-bezier(.22,1,.36,1)}
.catalog-subrow-go svg{width:16px;height:16px}
.catalog-subrow.on{color:var(--tx);font-weight:750;border-left-color:var(--tx)}
.catalog-subrow.on .catalog-subrow-go{opacity:1;transform:translateX(0);color:var(--tx)}
.catalog-subrow.all{font-weight:650}
.catalog-subrow:active{opacity:.55}
@keyframes catSubReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.catalog-subrow{animation:none}.catalog-main-chevron,.catalog-subrow-go{transition:none}}
.catalog-results{padding-top:2px}
.catalog-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 16px 11px}
.catalog-results-head p{font-size:12px;color:var(--muted);font-weight:750}
.catalog-category-notify{min-height:44px;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 2px;border:0;background:none;color:var(--acc);font-family:var(--f);font-size:12px;font-weight:750;line-height:1;white-space:nowrap}
.catalog-category-notify svg{width:18px;height:18px;flex:0 0 auto}
.catalog-category-notify:active{opacity:.55}
.catalog-results-grid{padding-top:0}
.catalog-brand-search{padding:0 16px 12px}
.catalog-brand-search .sbar{height:44px;background:var(--panel);border-color:var(--line2)}
.catalog-brands-panel .catalog-head{padding:3px 16px 10px}
.catalog-brands-panel .brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 22px;margin:0;border:0;border-radius:0;overflow:visible;background:transparent}
.catalog-brands-panel .brand-tile{position:relative;min-height:144px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px;border-radius:18px;background:var(--panel);border:1px solid var(--line2);box-shadow:none;transition:border-color .14s,background .14s}
.light .catalog-brands-panel .brand-tile{box-shadow:none}
.catalog-brands-panel .brand-tile:active{background:var(--panel2);border-color:var(--line)}
.catalog-brands-panel .brand-tile-media{width:70px!important;height:70px!important;border-radius:20px;background:#fff}
.catalog-brands-panel .brand-tile.is-product-cover .brand-tile-media img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.catalog-brands-panel .brand-tile-body{width:100%;display:grid;gap:3px}
.catalog-brands-panel .brand-tile-name{font-size:13.5px;font-weight:900;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15}
.catalog-brands-panel .brand-tile-count{font-size:11px;font-weight:800;color:var(--muted)}
.catalog-scroll{padding-top:8px;padding-bottom:28px}
.catalog-section{margin-bottom:8px}
.catalog-head{padding:8px 16px 8px}
.catalog-head h3{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.brand-grid{display:grid;grid-template-columns:1fr;gap:0;padding:0;margin:0 16px 18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.brand-tile{min-width:0;min-height:64px;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:12px 14px;border-radius:0;background:var(--panel);border:0;border-bottom:1px solid var(--line);box-shadow:none;cursor:pointer;transition:background .14s;font-family:var(--f);color:var(--tx);text-align:left}
.brand-tile:last-child{border-bottom:0}
.brand-tile:active{transform:none;background:var(--panel2)}
.light .brand-tile{box-shadow:none}
.brand-tile-media{width:44px;height:44px;border-radius:12px;background:#f6f6f8;border:1px solid var(--line2);display:grid;place-items:center;overflow:hidden;color:var(--acc);font-size:15px;font-weight:900;letter-spacing:-.04em;flex-shrink:0}
.brand-tile-media img{width:86%;height:86%;max-width:86%;max-height:86%;object-fit:contain;object-position:center center;background:transparent;padding:0;box-sizing:border-box}
.brand-tile-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.brand-tile-name{font-size:14px;font-weight:750;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-tile-count{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;
  cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.16);transition:transform .14s}
.bcard:active{transform:scale(.97)}
.bcard-img{position:relative;aspect-ratio:1;background:var(--panel2);overflow:hidden}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.bcard-img img.ld{opacity:0}
.bcard-placeholder{width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--panel),var(--panel2));font-size:36px;font-weight:900;color:var(--acc);letter-spacing:-.05em}
.bcard-feat-badge{position:absolute;top:8px;left:8px;padding:4px 8px;border-radius:999px;
  background:var(--acc);color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.bcard-body{padding:11px 12px 13px}
.bcard-name{font-size:13px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcard-count{font-size:11px;color:var(--muted);margin-top:3px}
.catalog-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 12px 16px}
.catalog-empty{min-height:280px}
.mini-card .card-rat{font-size:11.5px;color:var(--soft)}
.mini-card .card-rat svg{width:11px;height:11px}

/* category detail */
.category-detail{z-index:44}
.category-topbar{padding:calc(var(--safe-t) + var(--tg-csa-t) + 8px) 12px 8px;background:linear-gradient(to bottom,var(--bg) 86%,rgba(241,243,248,.82) 100%);border-bottom:1px solid var(--line)}
.light .category-topbar{background:linear-gradient(to bottom,var(--bg) 86%,rgba(241,243,248,.9) 100%)}
.category-topbar .ov-trow{padding-bottom:7px;gap:10px}
.category-topbar .backbtn{width:44px;height:44px;min-width:44px;padding:0;border-radius:12px;justify-content:center}
.category-topbar .backbtn span{display:none}
.category-topbar .ov-title{min-width:0;flex:1}
.category-topbar .ov-title h3{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-topbar .ov-title p{font-size:11px}
.cat-sub-btn{height:44px;max-width:112px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:var(--f);font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--sh2)}
.cat-sub-btn.on{background:var(--acc);border-color:transparent;color:#fff}
.cat-sub-btn:active{transform:scale(.97)}
.category-sortbar{display:flex;gap:6px;padding:0 0 5px;overflow-x:auto;scroll-padding-inline:2px}
.category-sortbar .bsort{padding:7px 11px;font-size:10.5px;border-radius:999px}
.category-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 0 calc(34px + var(--safe-b));overscroll-behavior-y:contain}
.category-grid{gap:10px;padding:8px 12px calc(28px + var(--safe-b));align-items:start;align-content:start}
.category-grid .card{border-radius:17px;box-shadow:0 4px 14px rgba(0,0,0,.1);height:auto;align-self:start}
.category-grid .card-img-wrap{aspect-ratio:3 / 4}
.category-grid .card-top{top:7px;left:7px;right:7px}
.category-grid .card-body{padding:9px 10px 10px}
.category-grid .card-brand{font-size:9px}
.category-grid .card-name{font-size:13px;min-height:34px}
.category-grid .card-price{font-size:15px}
.category-grid .card-rat{font-size:11.5px}
.category-grid .card-rat svg{width:11px;height:11px}
.category-grid .spill{width:40px;height:40px}
.category-grid .spill svg{width:13px;height:13px}
.category-grid .badge-n{font-size:7px;padding:4px 8px}

/* ═══ BRAND DETAIL SCREEN ═══ */
.bdetail{position:absolute;inset:0;z-index:46;background:var(--bg);display:none;flex-direction:column}
.bdetail.op{display:flex;animation:slideup .32s cubic-bezier(.22,.61,.36,1)}
@keyframes slideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
.bdetail-hero{position:relative;height:clamp(178px,46vw,214px);min-height:178px;max-height:214px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.16),rgba(146,168,255,.08) 42%,transparent 66%),linear-gradient(145deg,#171723,#222438 54%,#11111b);background-size:cover;background-position:center center;flex-shrink:0;overflow:hidden}
.light .bdetail-hero{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.90),rgba(245,245,247,.96) 55%,rgba(232,232,238,1))}
.bdetail-hero.has-brand-media{background:radial-gradient(circle at 20% 14%,rgba(83,103,216,.20),transparent 34%),linear-gradient(145deg,#171723,#222438 58%,#11111b)}
.bdetail-hero.has-hero-cover{background:linear-gradient(145deg,#171723,#222438)}
.bdetail-hero.has-brand-logo-only{background:radial-gradient(circle at 16% 22%,rgba(83,103,216,.24),transparent 36%),radial-gradient(circle at 88% 12%,rgba(255,255,255,.08),transparent 28%),linear-gradient(145deg,#151620,#252638 66%,#11111b)}
.light .bdetail-hero.has-brand-logo-only{background:radial-gradient(circle at 16% 22%,rgba(83,103,216,.16),transparent 38%),linear-gradient(145deg,#f8f8fb,#e9ebf4)}
.bdetail-hero.no-brand-media{background:radial-gradient(circle at 22% 18%,rgba(83,103,216,.22),transparent 36%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.10),transparent 30%),linear-gradient(145deg,#151620,#232436 62%,#101018)}
.light .bdetail-hero.no-brand-media{background:radial-gradient(circle at 25% 18%,rgba(83,103,216,.18),transparent 36%),linear-gradient(145deg,#f7f7fb,#e8eaf4)}
.bdetail-hero::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.03) 0%,rgba(0,0,0,.08) 54%,rgba(0,0,0,.40) 100%)}
.light .bdetail-hero::after{background:linear-gradient(to bottom,rgba(255,255,255,.03) 0%,rgba(255,255,255,.07) 42%,rgba(20,22,34,.30) 100%)}
.bdetail-hero.has-brand-logo-only::after{background:linear-gradient(to bottom,rgba(0,0,0,.01) 0%,rgba(0,0,0,.03) 48%,rgba(0,0,0,.14) 100%)}
.light .bdetail-hero.has-brand-logo-only::after{background:linear-gradient(to bottom,rgba(255,255,255,.02) 0%,rgba(255,255,255,.07) 48%,rgba(20,22,34,.11) 100%)}
.bdetail-hero img.bdetail-logo-hero{position:absolute;z-index:3;display:block;object-fit:contain;object-position:center center;background:transparent;box-sizing:border-box;transform:none;filter:none}
.bdetail-hero.has-hero-cover img.bdetail-logo-hero{inset:0;z-index:1;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;padding:0}
.bdetail-hero.has-brand-logo-only img.bdetail-logo-hero{left:16px;bottom:20px;width:68px;height:68px;padding:11px;border-radius:21px;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.38);box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.65)}
.light .bdetail-hero.has-brand-logo-only img.bdetail-logo-hero{background:rgba(255,255,255,.80);border-color:rgba(20,22,34,.09);box-shadow:0 12px 28px rgba(20,22,34,.10),inset 0 1px 0 rgba(255,255,255,.70)}
.bdetail-hero.no-brand-media img.bdetail-logo-hero{display:none!important}
.light .bdetail-hero img.bdetail-logo-hero{filter:none}
.bdetail-hero-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.03) 54%,rgba(0,0,0,.18) 100%)}
.bdetail-hero-gradient{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(83,103,216,.10),transparent 58%)}
.bdetail-topbar{position:absolute;top:calc(var(--safe-t) + var(--tg-csa-t) + 12px);left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;z-index:3;pointer-events:none}
.bdetail-topbar .backbtn,.bdetail-topbar>div{pointer-events:auto}
.bdetail-topbar>div{position:static;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 58px)}
.bdetail-info{position:absolute;bottom:16px;left:16px;right:16px;z-index:3}
.bdetail-hero.has-brand-logo-only .bdetail-info{left:98px;right:16px;bottom:24px}
.bdetail-info h2{font-size:clamp(17px,4.5vw,22px);font-weight:900;letter-spacing:-.045em;color:#fff;line-height:1;white-space:normal;overflow:visible;text-overflow:unset;text-shadow:0 2px 16px rgba(0,0,0,.34)}
.bdetail-info p{font-size:12px;color:rgba(255,255,255,.76);margin-top:5px;white-space:normal;overflow:hidden;text-overflow:ellipsis}
.bd-sub-btn{width:44px;min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;gap:0;border-radius:999px;background:rgba(16,18,28,.24);border:1px solid rgba(255,255,255,.16);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.bd-sub-btn svg{width:16px;height:16px;color:currentColor}
.bd-sub-btn span{display:none}
.bd-sub-btn.lit{background:rgba(146,168,255,.18);border-color:rgba(146,168,255,.38);color:#f3f5ff;box-shadow:0 7px 18px rgba(83,103,216,.13),inset 0 1px 0 rgba(255,255,255,.08)}
.light .bd-sub-btn{background:rgba(83,103,216,.08);border-color:rgba(20,22,34,.12);color:#23263a;box-shadow:0 4px 12px rgba(20,22,34,.06),inset 0 1px 0 rgba(255,255,255,.34)}
.light .bd-sub-btn.lit{background:rgba(83,103,216,.13);border-color:rgba(83,103,216,.34);color:var(--acc);box-shadow:0 6px 16px rgba(83,103,216,.10),inset 0 1px 0 rgba(255,255,255,.36)}
.bd-sub-btn.lit span{color:currentColor}
.bd-sub-btn:active{transform:scale(.96);background:rgba(16,18,28,.38)}
.light .bd-sub-btn:active{background:rgba(83,103,216,.15)}
.bd-sub-btn:focus-visible,.bd-notify-btn:focus-visible,.cat-notify-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.bd-notify-btn,.cat-notify-btn{width:44px;min-width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(16,16,24,.74);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.bd-notify-btn svg,.cat-notify-btn svg{width:16px;height:16px;color:currentColor}
.bdetail-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;overscroll-behavior-y:contain}
.bdetail-cats{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px 10px;overflow:visible;flex-shrink:0;align-items:flex-start}
.bdetail-cats .chip{flex:0 1 auto;max-width:100%;min-height:36px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.bdetail-cats .chip .cn{flex-shrink:0}
.bdetail-grid-wrap{flex:0 0 auto;padding:0 14px calc(34px + var(--safe-b));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;align-content:start}
.bdetail-grid-wrap .card{border-radius:16px;height:auto!important;align-self:start}
.bdetail-grid-wrap .card{display:flex!important}
.bdetail-grid-wrap .card-img-wrap{aspect-ratio:3 / 4 !important}
.bdetail-grid-wrap .card-body{padding:10px 11px 12px}
.bdetail-grid-wrap .card-name{min-height:33px}
.bdetail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:40px 24px;color:var(--muted)}
.bdetail-count{padding:0 16px 13px;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* ═══ PRODUCT DETAIL ═══ */
.pdetail{position:absolute;inset:0;z-index:64;background:var(--panel);display:none;flex-direction:column}
.pdetail.op{display:flex}
.pd-shell-head{position:absolute;top:0;left:0;right:0;z-index:6;padding:calc(var(--safe-t) + var(--tg-csa-t) + 4px) 12px 6px;background:transparent;border-bottom:0;pointer-events:none}
.light .pd-shell-head{background:transparent}
.pd-shell-row{display:grid;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:8px;pointer-events:none}
.pd-head-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.pd-back,.pd-head-left,.pd-head-actions{pointer-events:auto}
.pd-back{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border-radius:13px;background:rgba(21,21,31,.72);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:800;flex-shrink:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.light .pd-back{background:rgba(255,255,255,.88);border-color:rgba(0,0,0,.08);color:var(--tx)}
.pd-back svg{width:16px;height:16px}
.pd-back:active{transform:scale(.97);opacity:.82}
.pd-head-copy{grid-column:2;justify-self:center;width:min(100%,260px);min-width:0;text-align:center;opacity:0;transform:translateY(5px);transition:opacity .22s ease,transform .22s ease;padding:7px 10px;border-radius:13px;background:rgba(21,21,31,.66);border:1px solid rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.light .pd-head-copy{background:rgba(255,255,255,.86);border-color:rgba(0,0,0,.08);color:var(--tx)}
.pd-head-copy.show{opacity:1;transform:translateY(0)}
.pdetail.is-scrolled .pd-head-copy{opacity:1;transform:translateY(0)}
.pd-head-copy b{display:block;font-size:13px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-head-copy span{display:block;font-size:11px;color:currentColor;opacity:.68;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-head-actions{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:42px;flex-shrink:0}
.pd-head-actions .ibtn{background:rgba(21,21,31,.72);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pd-head-actions .ibtn svg{color:currentColor}
.light .pd-head-actions .ibtn{background:rgba(255,255,255,.88);border-color:rgba(0,0,0,.08);color:var(--tx)}
.pd-media{position:relative;margin:calc(var(--safe-t) + var(--tg-csa-t) + 18px) 12px 0;overflow:hidden;background:linear-gradient(145deg,var(--panel2),var(--panel));height:clamp(300px,45vh,410px);max-height:none;flex-shrink:0;box-shadow:0 14px 38px rgba(0,0,0,.16);min-height:0;padding:0;box-sizing:border-box;border:1px solid var(--line2);border-radius:22px}
.light .pd-media{box-shadow:0 14px 34px rgba(18,20,32,.08)}
.pd-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:opacity .3s;border-radius:21px;border:0;background:transparent;padding:0;box-sizing:border-box;box-shadow:none}
.pd-media #pdImg{position:relative;z-index:1}
.pd-media.is-square-image #pdImg{object-fit:cover;object-position:center center}
.pd-media.is-wide-image #pdImg,.pd-media.is-tall-image #pdImg{object-fit:contain;object-position:center center;padding:10px}
.pd-media .pd-img-back{position:absolute;z-index:0;inset:-9%;width:118%;height:118%;max-width:none;object-fit:cover;filter:blur(20px) saturate(.72);opacity:.34;transform:scale(1.04);border-radius:0}
.pd-media .pd-img-back[hidden]{display:none}
.pd-media.has-contained::after{content:'';position:absolute;z-index:0;inset:0;background:color-mix(in srgb,var(--panel2) 54%,transparent);pointer-events:none}
.pd-media img.ld{opacity:0}
.pd-media-badge{display:none !important}
.pd-chip{padding:7px 10px;border-radius:999px;background:rgba(9,9,13,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#pdHeroMeta{display:none !important}
.pd-gallery{margin:8px 16px 0;display:none;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;max-height:76px;opacity:1;transition:opacity .22s ease,max-height .24s ease,margin .24s ease,padding .24s ease}
.pd-gallery.show{display:flex}
/* Keep photo choices reachable when the detail body scrolls on short screens. */
.pd-thumb{width:68px;height:68px;border-radius:13px;overflow:hidden;border:2px solid transparent;background:var(--panel2);flex-shrink:0;position:relative;padding:0}
.pd-thumb.on{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc2)}
.pd-thumb img{width:100%;height:100%;object-fit:cover;object-position:center center;background:var(--panel2)}
.pd-body{flex:1;overflow-y:auto;background:var(--panel);padding:0 0 calc(190px + var(--safe-b));overscroll-behavior-y:contain}
.pd-card{background:transparent;border:0;border-radius:0;padding:12px 18px 18px;box-shadow:none}
.light .pd-card{box-shadow:none}
.pd-brand{display:inline-flex;align-items:center;max-width:100%;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line2);color:var(--soft);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-brand[hidden]{display:none!important}
.pd-title-block{display:grid;gap:11px;align-items:start;min-width:0;margin-top:0}
.pd-name{font-size:24px;font-weight:900;letter-spacing:-.045em;line-height:1.12;max-width:100%;overflow-wrap:anywhere}
.pd-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:13px 14px;border-radius:16px;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line2)}
.pd-price-label{display:block;margin-bottom:3px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pd-price{font-size:30px;font-weight:950;letter-spacing:-.055em;color:var(--acc);margin-top:0;line-height:.98}
.pd-price-side{display:block!important;min-width:0;text-align:right;color:var(--muted)}
.pd-price-side strong{display:block;font-size:13px;color:var(--tx);font-weight:800}
.pd-price-side span{display:block;max-width:130px;margin-top:3px;font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-context-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:-2px}
.pd-context-line[hidden]{display:none!important}
.pd-context-line span{max-width:100%;padding:6px 9px;border-radius:999px;background:var(--panel2);border:1px solid var(--line2);color:var(--soft);font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-mini,.pd-quick-meta,.pd-qchip{display:none !important}
.pd-div{display:none}
.trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin:16px 0 14px}
.trust{background:var(--panel2);border:0;border-radius:13px;padding:10px 11px;text-align:left;min-width:0;box-shadow:none}
.trust b{font-size:8.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);display:block;font-weight:800}
.trust span{font-size:13px;font-weight:800;margin-top:4px;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx)}
.trust-category{background:var(--tx);border-color:transparent}
.trust-category b,.trust-category span{color:var(--bg)}
.trust-rating span{font-size:17px;font-weight:900;letter-spacing:-.03em;color:var(--acc)}
.pd-note{font-size:13px;line-height:1.65;color:var(--soft);margin-top:2px;padding-top:14px;border-top:1px solid var(--line)}
.affiliate-note{margin-top:8px;font-size:11px;line-height:1.45;color:var(--muted);font-weight:700;letter-spacing:.01em}
.affiliate-note[hidden]{display:none!important}
.pd-info-chip{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:12px 0 8px;padding:11px 16px;border-radius:13px;background:var(--acc2);border:1px solid var(--acc3);color:var(--tx);font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;outline:none;transition:opacity .15s}
.pd-info-chip:active{opacity:.8}
.pd-cta{position:absolute;z-index:10;left:0;right:0;bottom:0;padding:12px 16px calc(14px + var(--safe-b) + var(--hf-keyboard-inset));background:color-mix(in srgb,var(--panel) 92%,transparent);border-top:1px solid var(--line);display:grid;grid-template-columns:52px 52px minmax(0,1fr);align-items:center;gap:8px 10px;box-shadow:0 -18px 36px rgba(0,0,0,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.light .pd-cta{background:rgba(255,255,255,.92);box-shadow:0 -18px 34px rgba(18,20,32,.08)}
#pdSaveBtn{display:none!important}
.pd-cta-note{display:block;grid-column:1 / -1;font-size:11px;line-height:1.35;color:var(--acc);font-weight:750;min-width:0;overflow-wrap:anywhere}
.pd-cta-note[hidden]{display:none!important}
.pd-region-alert{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(239,68,68,.3);border-radius:12px;background:rgba(239,68,68,.1);color:#ff7b7b;font-size:12px;line-height:1.35;font-weight:800}
.pd-region-alert[hidden]{display:none!important}
.pd-region-alert svg{width:18px;height:18px;flex:0 0 auto}
.light .pd-region-alert{border-color:rgba(190,24,24,.22);background:rgba(220,38,38,.08);color:#b91c1c}
.pd-region-alert.is-soft{border-color:var(--acc3);background:var(--acc2);color:var(--acc)}
.light .pd-region-alert.is-soft{border-color:var(--acc3);background:var(--acc2);color:var(--acc)}
.pd-region-alert.is-general,.light .pd-region-alert.is-general{border-color:var(--line2);background:var(--panel2);color:var(--soft)}
.pd-cta-save{width:52px;height:52px;border-radius:14px;background:var(--panel);border:1px solid var(--line2);color:var(--tx);display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:opacity .12s,transform .12s,background .14s}
.pd-cta-share{width:52px;height:52px;border-radius:14px;background:var(--panel);border:1px solid var(--line2);color:var(--tx);display:grid;place-items:center;flex-shrink:0;transition:opacity .12s,transform .12s}
.pd-cta-share svg{width:22px;height:22px}
.pd-cta-share:active{transform:scale(.96);opacity:.82}
.light .pd-cta-save{box-shadow:0 6px 18px rgba(18,20,32,.08)}
.pd-cta-save svg{width:18px;height:18px}
.pd-cta-save.sv{background:var(--acc);border-color:transparent;color:#fff}
.pd-cta-save:active{transform:scale(.96);opacity:.82}
.mini-card .mc-save{position:absolute;top:7px;right:7px;width:40px;height:40px;border-radius:999px;background:rgba(10,10,18,.58);border:1px solid rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.light .mini-card .mc-save{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.08);color:var(--tx)}
.mini-card .mc-save.sv{background:var(--acc);border-color:transparent;color:#fff}
.mini-card .mc-save svg{width:14px;height:14px}
.mini-card .mc-save:active{transform:scale(.92)}
.btn-p{flex:1;width:100%;min-width:0;min-height:52px;padding:0 16px;border-radius:14px;background:var(--tx);color:var(--bg);font-size:14px;font-weight:800;letter-spacing:-.01em;transition:opacity .12s;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f)}
.pd-cta .btn-p{min-height:56px;border-radius:16px;background:var(--acc);color:#fff;font-size:15px;font-weight:900;box-shadow:0 10px 26px var(--acc3)}
.btn-p:active{opacity:.75}
.btn-p.is-disabled{background:var(--panel2);border:1px solid var(--line2);color:var(--muted);box-shadow:none}
.btn-p.is-disabled:active{opacity:.85}
.btn-p svg{width:15px;height:15px;flex-shrink:0}
.btn-g{padding:16px 14px;border-radius:16px;border:1px solid var(--line2);background:var(--panel);color:var(--tx);font-size:14px;font-weight:800;transition:opacity .12s;display:flex;align-items:center;gap:6px;font-family:var(--f)}
.btn-g:active{opacity:.7}
.btn-danger{padding:14px 16px;border-radius:14px;background:var(--danger-bg);color:var(--danger-fg);font-size:13px;font-weight:800;transition:opacity .12s;font-family:var(--f)}
.btn-danger:active{opacity:.7}

/* ═══ SETTINGS ═══ */
.settings-body{padding:4px 16px 32px;display:flex;flex-direction:column;gap:0}
.settings-section{display:flex;flex-direction:column;gap:0;margin-bottom:28px}
.settings-section-label{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:0 2px 10px;font-family:'Space Grotesk',var(--f)}
.settings-hairline{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:visible;display:flex;flex-direction:column}
/* round inner edges of first/last child to respect hairline border-radius */
.settings-hairline>*:first-child{border-top-left-radius:15px;border-top-right-radius:15px}
.settings-hairline>*:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}
.settings-hairline .scard{border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 16px;margin:0!important}
.settings-hairline .scard:last-child,.settings-hairline .settings-about-row:last-child{border-bottom:0}
.settings-hairline .settings-row:last-child,.settings-hairline .settings-promo-row:last-child{border-bottom:0}
.settings-hairline > .settings-row{border-bottom:1px solid var(--line)}
.settings-hairline .settings-ctrl-row:last-child{border-bottom:0}
/* feedback row above about-row — keep hairline separator */
.settings-hairline > .settings-row + .settings-about-row{border-top:0}
.settings-hairline > .settings-about-row{border-top:1px solid var(--line)}
.set-list{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:none}
.settings-row-list{display:grid;gap:0}
.settings-row{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);background:transparent;color:var(--tx);text-align:left;font-family:var(--f)}
.settings-row:last-child{border-bottom:0}
.settings-row:active{transform:none;background:var(--panel2)}
.settings-row-main{display:grid;gap:2px;min-width:0;flex:1 1 0}
.settings-row-main b{font-size:14px;font-weight:750;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.settings-row-main small{font-size:11px;font-weight:500;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.settings-row-action{flex-shrink:0;color:var(--muted);font-size:18px;font-weight:400;opacity:.5}
/* ctrl rows — theme/language inside hairline list */
.settings-ctrl-row{width:100%;display:grid;gap:5px;padding:13px 16px;border-bottom:1px solid var(--line)}
.settings-ctrl-row:last-child{border-bottom:0}
.settings-ctrl-label{font-size:12px;font-weight:700;color:var(--tx);letter-spacing:-.005em}
.scard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px 16px;box-shadow:none}
.settings-body .scard + .scard{margin-top:8px}
.settings-section-label + .scard{margin-top:0}
.set-list .scard{border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 16px;margin:0!important}
.set-list .scard:last-child{border-bottom:0}
.scard h4{font-size:14px;font-weight:760;letter-spacing:-.01em;margin-bottom:3px;min-width:0;overflow-wrap:anywhere}
.scard p{font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:12px;min-width:0;overflow-wrap:anywhere}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.settings-lang-row{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}
.settings-lang-row .lang-select{width:100%}
.settings-lang-row .lang-trigger{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:13px;letter-spacing:0;text-align:left;background:var(--panel2);border-color:var(--line)}
.lang-caret{width:15px;height:15px;color:var(--muted);flex-shrink:0}
.settings-lang-row .lang-menu{left:0;right:0;top:calc(100% + 8px);bottom:auto;width:100%;min-width:0;max-width:calc(100vw - 32px)}
.sbtn{flex:1;min-width:0;padding:9px 12px;border-radius:9px;border:1px solid var(--line2);background:var(--panel2);color:var(--muted);font-size:12px;font-weight:750;transition:all .14s;font-family:var(--f)}
.sbtn.on{background:var(--panel);color:var(--tx);border-color:var(--line);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.theme-select{width:100%;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:var(--tx);font-size:13px;font-weight:700;font-family:var(--f);cursor:pointer;appearance:auto}
.acc-row{display:flex;gap:10px;flex-wrap:wrap}
.acc-dot{width:30px;height:30px;border-radius:50%;border:3px solid transparent;transition:all .15s;position:relative;flex-shrink:0}
.acc-dot.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--tx)}
.legal-links{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel2)}
.legal-link{position:relative;display:block;width:100%;padding:13px 34px 13px 13px;border-radius:0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--tx);font-size:12.5px;font-weight:750;text-align:left;text-decoration:none;transition:background .14s;font-family:var(--f)}
.legal-link:last-child{border-bottom:0}
.legal-link::after{content:'›';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:18px;font-weight:600}
.legal-link:active{transform:none;background:var(--panel)}
.legal-document[hidden]{display:none!important}
.legal-document{display:flex;min-height:0;flex:1;flex-direction:column;gap:10px}
.legal-document-back{width:max-content;min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 4px;border:0;background:transparent;color:var(--acc);font:800 13px var(--f);text-align:left}
.legal-document-back span[aria-hidden='true']{font-size:24px;font-weight:500;line-height:1;transform:translateY(-1px)}
.legal-document-back:active{opacity:.65}
.legal-document-back:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:8px}
.legal-sheet #legalSheetTitle:focus{outline:none}
.legal-document-frame{display:block;width:100%;height:min(66vh,calc(var(--hf-vv-height) - 188px));min-height:360px;border:0;border-radius:14px;background:var(--panel2)}
.legal-sheet.is-document .sheet-body{display:flex;min-height:0;overflow:hidden}
.sheet-sub{margin:3px 38px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
#legalSettingsCard p{display:none}
.notify-card{position:relative;overflow:hidden;display:grid;gap:10px;padding:15px 16px;background:transparent;border-color:var(--line);box-shadow:none}
.light .notify-card{box-shadow:none}
.notify-card::before{display:none}
.notify-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.notify-head h4{margin-bottom:0}
.notify-titleline{display:flex;align-items:center;gap:8px;min-width:0}
.notify-titleline h4{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notify-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line2);color:var(--soft);flex-shrink:0}
.notify-icon svg{width:14px;height:14px}
.notify-pill{flex-shrink:0;padding:4px 8px;border-radius:999px;background:var(--acc2);border:1px solid var(--acc3);color:var(--acc);font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.notify-card p{display:block;margin:0 0 0 38px;color:var(--muted);font-size:12px;line-height:1.4}
.notify-preview-row{display:none}
.notify-preview-chip{min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 6px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notify-preview-chip b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.notify-preview-chip.on{color:var(--tx);border-color:var(--line2);background:var(--panel2)}
.notify-preview-chip em{font-style:normal;color:var(--muted);font-size:9px;flex-shrink:0}
.notify-status{display:flex;align-items:center;gap:8px;margin-top:2px;padding:10px 11px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--soft);font-size:11px;font-weight:650;line-height:1.35}
.notify-status::before{content:'';width:5px;height:5px;border-radius:999px;background:var(--muted);box-shadow:0 0 0 3px var(--panel2);flex-shrink:0}
.notify-manage{width:100%;min-height:44px;padding:0 13px;border-radius:12px;background:var(--tx);color:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--f);font-size:12px;font-weight:850;text-align:left}
.notify-manage:active{opacity:.78}
.notify-manage span:last-child{font-size:18px;font-weight:500;opacity:.72}
.notify-foot{color:var(--muted);font-size:10px;font-weight:650;line-height:1.35;text-align:center;padding:0 4px}

/* ═══ FILTER SHEET ═══ */
.sheet{position:absolute;inset:0;z-index:60;display:none}
.sheet.op{display:block}
.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sheet-panel{position:absolute;bottom:0;left:0;right:0;background:var(--panel);
  border-radius:28px 28px 0 0;border:1px solid var(--line);border-bottom:none;
  max-height:min(88vh,calc(var(--hf-vv-height) - 20px));display:flex;flex-direction:column;animation:su .24s cubic-bezier(.22,.82,.22,1)}
.sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--line2);margin:12px auto 0;flex-shrink:0}
.sheet-head{padding:14px 20px 10px;flex-shrink:0}
.card-size-sheet .sheet-head,#filterSheet .sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card-size-sheet .sheet-head>div,#filterSheet .sheet-head>div{min-width:0}
.sheet-head h3{font-size:19px;font-weight:800;letter-spacing:-.04em}
.sheet-head p{font-size:12px;color:var(--muted);margin-top:3px}
.sheet>.sheet-panel .sheet-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);color:var(--tx);font:500 22px/1 var(--f)}
.sheet-body{padding:8px 20px;overflow-y:auto;flex:1;overscroll-behavior-y:contain}
.sg{margin-bottom:18px}
.sg h4{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted);margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:7px}
.opt{padding:9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);
  color:var(--soft);font-size:12px;font-weight:700;transition:all .14s;cursor:pointer;white-space:nowrap;font-family:var(--f)}
.opt.on{background:var(--tx);color:var(--bg);border-color:transparent}
.sheet-foot{display:flex;gap:10px;padding:12px 20px calc(14px + var(--safe-b) + var(--hf-keyboard-inset));border-top:1px solid var(--line);flex-shrink:0}

/* ═══ PRODUCT NOTE SHEET ═══ */
.note-sheet{position:fixed;inset:0;z-index:140;pointer-events:none}
.note-sheet.on{pointer-events:auto}
.note-sheet .note-sheet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s}
.note-sheet.on .note-sheet-overlay{opacity:1}
.note-sheet .sheet-panel{position:absolute;bottom:0;left:0;right:0;max-width:430px;margin:0 auto;max-height:min(88vh,calc(var(--hf-vv-height) - 20px));background:var(--panel);color:var(--tx);border-radius:20px 20px 0 0;padding:0 20px calc(24px + env(safe-area-inset-bottom,0px) + var(--hf-keyboard-inset));transform:translateY(100%);transition:transform .3s cubic-bezier(.32,1,.65,1);box-shadow:0 -18px 50px rgba(0,0,0,.25)}
.note-sheet.on .sheet-panel{transform:translateY(0)}
.note-sheet .sheet-handle{width:42px;height:4px;border-radius:99px;background:var(--line2);margin:10px auto 14px}
.note-sheet .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}
.note-sheet .sheet-head h3{margin:0;font-size:18px}
.note-sheet .sheet-close{width:34px;height:34px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);color:var(--tx);font-size:22px;line-height:1}
.note-sheet .sheet-body{padding:0;overflow-y:auto;max-height:min(56vh,calc(var(--hf-vv-height) - 160px));overscroll-behavior-y:contain}
.note-sheet .sheet-body p{white-space:pre-line;font-size:14px;line-height:1.6;color:var(--soft);margin:12px 0 0}

/* ═══ OVERLAY SCREENS ═══ */
.ov{position:absolute;inset:0;z-index:52;background:var(--bg);display:none;flex-direction:column}
.ov.op{display:flex;animation:su .30s cubic-bezier(.22,.61,.36,1)}
/* Brand and category are browse subpages, not blocking dialogs. Keep the
   primary navigation visible below them; true modal/product layers stay full. */
#categoryScreen,#bdetailScreen{bottom:calc(var(--nav-h) + var(--safe-b))}
.ov-topbar{flex-shrink:0;padding:calc(var(--safe-t)+14px) 16px 0;border-bottom:1px solid var(--line)}
.ov-trow{display:flex;align-items:center;gap:12px;padding-bottom:12px}
.ov-title h3{font-size:18px;font-weight:800;letter-spacing:-.04em}
.ov-title p{font-size:11px;color:var(--muted);margin-top:2px}

/* ═══ SAVE SHEET ═══ */
.save-sheet{position:absolute;inset:0;z-index:68;display:none}
.save-sheet.op{display:block}
.save-sheet .sheet-panel{max-height:80vh}
.save-list{display:flex;flex-direction:column;gap:10px}
.save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:var(--panel2)}
.save-row-left{min-width:0;display:flex;flex-direction:column;gap:3px}
.save-row-left b{font-size:13px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.save-row-left span{font-size:11px;color:var(--muted)}
.save-check{width:24px;height:24px;border-radius:999px;border:1px solid var(--line2);display:grid;place-items:center;background:var(--panel)}
.save-check.on{background:var(--tx);color:var(--bg);border-color:transparent}
.save-actions{display:flex;gap:10px;padding-top:8px}


.extra-imgs-list{display:grid;gap:8px}
.extra-img-row{display:flex;gap:8px;align-items:center}
.extra-img-row input{flex:1}
.extra-img-remove{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--panel2);display:grid;place-items:center;color:var(--muted)}
.extra-img-remove svg{width:14px;height:14px}
.add-extra-btn{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;border:1px dashed var(--line2);background:var(--panel2);font-size:12px;font-weight:800;color:var(--tx)}
.add-extra-btn svg{width:14px;height:14px}

/* ═══ CONFIRM ═══ */
.cfm{position:absolute;inset:0;z-index:70;display:none;align-items:flex-end}
.cfm.op{display:flex}
.cfm-panel{position:relative;z-index:1;width:100%;background:var(--panel);border-radius:28px 28px 0 0;border:1px solid var(--line);border-bottom:none;
  padding:22px 20px calc(22px + var(--safe-b));animation:su .22s cubic-bezier(.22,.82,.22,1)}
.cfm-panel h3{font-size:19px;font-weight:800;letter-spacing:-.04em;margin-bottom:6px}
.cfm-panel p{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:20px}
.cfm-btns{display:flex;gap:10px}

/* ═══ TOAST ═══ */
.toast{position:absolute;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:50%;
  transform:translateX(-50%) translateY(110px);opacity:0;
  background:var(--tx);color:var(--bg);padding:11px 18px;border-radius:18px;
  font-size:13px;font-weight:700;white-space:normal;width:max-content;max-width:min(360px, calc(100vw - 28px));text-align:center;z-index:100;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;pointer-events:none;
  box-shadow:0 8px 28px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;gap:8px;line-height:1.35}
.toast.on{transform:translateX(-50%) translateY(0);opacity:1}
.toast svg{width:13px;height:13px;flex-shrink:0}
.toast span{min-width:0;overflow-wrap:anywhere}

/* ═══ SPLASH — Gallery edition ═══ */
/* Layout: full-height flex column, content pushed to bottom with flex-grow spacer.
   Uses existing theme vars (--bg/--tx/--acc/--soft/--line/--muted) — no hardcoded colors.
   Space Grotesk loaded in <head> for sp-title; DM Sans for everything else. */
.splash{position:fixed;top:0;bottom:0;left:50%;width:min(430px,100vw);transform:translateX(-50%);z-index:900;background:var(--bg);display:flex;
  flex-direction:column;align-items:stretch;padding:calc(20px + var(--safe-t) + var(--tg-csa-t)) 28px calc(28px + var(--safe-b));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.splash.hid{display:none}
.sp-bg{position:absolute;inset:0;pointer-events:none;background:var(--bg)}
.sp-glow{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.45;
  background:radial-gradient(80% 40% at 70% 90%,var(--acc2) 0%,transparent 70%)}
.sp-content{position:relative;z-index:1;width:100%;max-width:392px;margin:0 auto;display:flex;flex-direction:column;flex:1;animation:spIn .45s cubic-bezier(.2,.9,.25,1) both;min-width:0}
@keyframes spIn{from{opacity:0}to{opacity:1}}
@keyframes spRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── top bar ── */
.sp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;animation:spRise .42s cubic-bezier(.2,.9,.25,1) both;animation-delay:.04s}
.sp-index{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--tx);font-family:var(--f);flex-shrink:0}
.sp-wordmark{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);font-family:var(--f);white-space:nowrap}

/* ── spacer between top and bottom block ── */
.sp-bottom{display:flex;flex-direction:column;flex:1;justify-content:flex-end;animation:spRise .5s cubic-bezier(.2,.9,.25,1) both;animation-delay:.08s}

/* ── category kicker ── */
.sp-cat-kicker{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);margin-bottom:18px;font-family:var(--f);line-height:1.25}

/* ── headline ── */
.sp-title{max-width:100%;overflow-wrap:break-word;font-family:'Space Grotesk','DM Sans',system-ui,sans-serif;font-size:clamp(34px,9vw,40px);font-weight:600;line-height:1.04;letter-spacing:-.035em;margin-bottom:14px;color:var(--tx)}
.sp-title .sp-accent{color:var(--acc)}
/* loading/error states shrink title */
.splash.is-loading .sp-title,.splash.is-error .sp-title{font-size:26px;letter-spacing:-.02em;margin-top:16px;margin-bottom:8px}
.splash.is-loading .sp-title .sp-accent,.splash.is-error .sp-title .sp-accent{color:inherit}

/* ── sub ── */
.sp-sub{max-width:100%;overflow-wrap:break-word;font-size:13px;line-height:1.5;color:var(--soft);margin-bottom:24px;font-weight:450;font-family:var(--f)}

/* ── legacy hidden elements (kept for JS boot/error states) ── */
.sp-preview{display:none!important}
.sp-note{display:none!important}
.sp-feats{display:none!important}
.sp-sign{display:none!important}

/* ── preview/progress kept for loading state ── */
.sp-preview-grid{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:repeat(2,78px);gap:8px}
.sp-preview-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line2);background:linear-gradient(145deg,var(--panel),var(--card));box-shadow:0 10px 28px rgba(0,0,0,.12);min-width:0}
.light .sp-preview-card{box-shadow:0 8px 24px rgba(18,20,32,.07)}
.sp-preview-card.is-main{grid-row:span 2}
.sp-preview-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.sp-preview-card::after{content:'';position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));pointer-events:none}
.sp-preview-meta{position:absolute;left:9px;right:9px;bottom:8px;z-index:1;display:grid;gap:2px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.42);min-width:0}
.sp-preview-meta b{font-size:9px;font-weight:900;text-transform:uppercase;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-preview-meta span{font-size:10.5px;font-weight:780;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-preview-meta em{font-style:normal;font-size:12px;font-weight:950;color:#fff}
.sp-preview-fallback .sp-preview-card{display:grid;place-items:center;text-align:center;padding:10px}
.sp-preview-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--acc2);color:var(--acc);border:1px solid var(--acc3)}
.sp-preview-icon svg{width:18px;height:18px}
.sp-preview-fallback .sp-preview-meta{position:static;color:var(--tx);text-shadow:none}
.sp-preview-fallback .sp-preview-card::after{display:none}
.sp-progress{display:none;height:4px;width:100%;max-width:230px;margin:18px 0 0;border-radius:999px;background:var(--line);overflow:hidden}
.sp-progress span{display:block;width:45%;height:100%;border-radius:inherit;background:var(--acc);animation:spbar 1.25s ease-in-out infinite}
@keyframes spbar{0%{transform:translateX(-110%)}100%{transform:translateX(235%)}}

/* ── CTA row ── */
.sp-cta-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sp-cta-row:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:4px}
.sp-cta-label{font-size:12px;font-weight:600;color:var(--soft);font-family:var(--f);letter-spacing:.005em;transition:color .14s}
.sp-cta-row:hover .sp-cta-label,.sp-cta-row:active .sp-cta-label{color:var(--tx)}
.sp-cta-circle{width:52px;height:52px;border-radius:50%;background:var(--tx);color:var(--bg);display:grid;place-items:center;flex-shrink:0;transition:transform .16s cubic-bezier(.2,.9,.25,1),opacity .14s;border:none;cursor:pointer}
.sp-cta-circle svg{width:20px;height:20px}
.sp-cta-row:hover .sp-cta-circle,.sp-cta-row:active .sp-cta-circle{transform:scale(.95)}

/* ── loading / error state overrides ── */
.splash.is-loading .sp-content,.splash.is-error .sp-content{align-items:center;text-align:center}
.splash.is-loading .sp-top,.splash.is-error .sp-top{justify-content:center}
.splash.is-loading .sp-bottom,.splash.is-error .sp-bottom{align-items:center}
.splash.is-error .sp-bottom{justify-content:center}
.splash.is-loading .sp-cat-kicker,.splash.is-error .sp-cat-kicker{display:none}
.splash.is-loading .sp-sub,.splash.is-error .sp-sub{max-width:none;margin-left:auto;margin-right:auto}
.splash.is-loading .sp-cta-row,.splash.is-error .sp-cta-row{display:none}
.splash.is-loading .sp-progress{display:block;margin-left:auto;margin-right:auto}
/* error state re-shows a reload button */
.splash.is-error .sp-cta-row{display:flex;border:1px solid var(--line2);padding:11px 18px;margin-top:16px;justify-content:center;border-radius:999px;background:var(--tx);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.splash.is-error .sp-cta-label{color:var(--bg);font-weight:700}
.splash.is-error .sp-cta-circle{display:none}

@media(max-width:340px){
  .splash{padding-left:18px;padding-right:18px}
  .sp-title{font-size:34px}
}
@media(max-height:650px){
  .splash{padding-top:calc(14px + var(--safe-t) + var(--tg-csa-t));padding-bottom:calc(16px + var(--safe-b))}
  .sp-cat-kicker{margin-bottom:10px}
  .sp-title{font-size:32px;margin-bottom:9px}
  .sp-sub{font-size:12px;line-height:1.4;margin-bottom:14px}
  .sp-cta-row{padding-top:12px}
  .sp-cta-circle{width:46px;height:46px}
}

/* ── sp-btn: hidden by default; only error-state sp-cta-row is shown ── */
.sp-btn{display:none!important}

@media (prefers-reduced-motion:reduce){
  .sp-progress span{animation:none;width:100%}
  .sp-content,.sp-bottom,.sp-top{animation:none}
  .card,.sp-preview-card,.cat-row .chip{transition:none}
}

/* ═══ VERSION ═══ */
.ver{text-align:center;padding:12px;font-size:11px;color:var(--muted)}


/* logo removed by request */
.logo-mark,.sp-logo{display:none !important}
.logo-wrap{gap:0}
.logo-text h1{font-size:18px}


.title-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.page-title{font-size:18px;font-weight:800;letter-spacing:-.04em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Space Grotesk','DM Sans',system-ui,sans-serif}
.page-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sortbar,.afilters{display:flex;gap:8px;overflow-x:auto;padding:0 16px 8px}
.sortchip,.afchip{flex-shrink:0;padding:9px 13px;border-radius:999px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--panel),var(--panel2));color:var(--muted);font-size:12px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.sortchip.on,.afchip.on{background:var(--tx);color:var(--bg);border-color:transparent;box-shadow:0 10px 22px rgba(0,0,0,.12)}
.afchip.clear{color:var(--red);background:var(--red2);border-color:transparent}
#catChips.cat-row{padding:8px 0 8px}
#homeSorts.home-sortbar{position:relative;top:auto;z-index:8;margin:0;padding:0 0 10px;gap:8px;pointer-events:auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;align-items:center;touch-action:pan-y}
#homeSorts.home-sortbar .sortchip{flex:1 1 0;min-width:0;min-height:31px;padding:0 6px;border-radius:10px;font-size:10.5px;background:transparent;border:0;box-shadow:none;color:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#homeSorts.home-sortbar .sortchip.on{background:var(--tx);color:var(--bg);border-color:transparent}
.sect-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px}
.sect-head h3{font-size:15px;font-weight:800;letter-spacing:-.02em}
.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px 12px}
.mini-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer}
.mini-card:active{transform:scale(.98)}
.mini-card .mc-img{aspect-ratio:1.08;background:var(--panel2);overflow:hidden}
.mini-card .mc-img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.mini-card .mc-body{padding:10px}
.mini-card .mc-brand{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-card .mc-name{font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px}
.mini-card .mc-price{font-size:14px;font-weight:900;letter-spacing:-.02em;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* saved collections */
#screen-saved .topbar{padding-bottom:8px;border-bottom:1px solid var(--line)}
#screen-saved .page-title{font-size:24px;font-weight:900;letter-spacing:-.045em}
#screen-saved .page-sub{font-size:12px;font-weight:600;color:var(--muted);margin-top:3px}
.saved-subscriptions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 16px 12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.saved-subscriptions[hidden]{display:none}
.saved-subscriptions-copy{min-width:0}.saved-subscriptions-copy span{display:block;font-size:13px;font-weight:800;letter-spacing:-.02em}.saved-subscriptions-copy p{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
.saved-subscriptions button{flex:0 0 auto;min-height:44px;padding:0 13px;border:0;border-radius:11px;background:var(--tx);color:var(--bg);font-size:11px;font-weight:800}
@media(max-width:350px){.saved-subscriptions{align-items:stretch;flex-direction:column;gap:10px}.saved-subscriptions button{width:100%}}
#savedGrid{padding-top:2px}
.colbar{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 10px}
.colchip{flex-shrink:0;min-height:44px;padding:0 13px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--soft);font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px}
.colchip.on{background:var(--tx);color:var(--bg);border-color:transparent}
.colchip .cn{font-size:10px;font-weight:800;opacity:.68;padding:2px 6px;border-radius:999px;background:var(--panel2);color:var(--muted)}
.colchip.on .cn{background:rgba(255,255,255,.16);color:currentColor}
.colchip.add{border-style:dashed;color:var(--muted)}
.coltools{display:flex;gap:8px;min-width:0;padding:0 16px 12px}
.mini-btn{min-width:0;flex:1;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collection-input-wrap{display:grid;gap:7px}
.collection-input-wrap span{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.collection-input-wrap input{width:100%;height:46px;border:1px solid var(--line2);background:var(--panel2);border-radius:14px;padding:0 13px;font-size:14px;font-family:var(--f);color:var(--tx)}
.collection-input-wrap input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc2)}
.collection-input-wrap input.err{border-color:var(--red)}

/* brand detail sort */
.bdetail-tools{display:flex;gap:6px;padding:0 16px 14px;overflow-x:auto;align-items:center;flex-shrink:0;scroll-padding-inline:16px}
.bsort{flex-shrink:0;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--panel),var(--panel2));color:var(--muted);font-size:12px;font-weight:800}
.bsort.on{background:var(--tx);color:var(--bg);border-color:transparent}

/* similar products */
.sim-wrap{margin-top:18px}
.sim-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 18px;gap:12px}
.sim-head h4{font-size:15px;font-weight:850;letter-spacing:-.02em}
.sim-head span{font-size:11px;color:var(--muted);font-weight:650;text-align:right;min-width:0}
.sim-grid{display:flex;gap:10px;overflow-x:auto;padding:0 18px 8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-padding-inline:18px}
.sim-grid .card{border-radius:14px;min-width:140px;width:140px;flex-shrink:0;box-shadow:none}
.sim-grid .card-img-wrap{aspect-ratio:3 / 4}
.sim-grid .card-body{padding:9px 10px 10px}
.sim-grid .card-brand{font-size:9px}
.sim-grid .card-name{min-height:31px;font-size:12px}
.sim-grid .card-price{font-size:14px}
.sim-grid .card-rat{font-size:10px;padding:4px 6px}

/* subscriptions */
.subbadge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);font-size:12px;font-weight:700}
.subbadge.on{background:var(--acc2);border-color:var(--acc3);color:var(--acc)}

@media(max-width:380px){
  .grid,.skel-grid{gap:10px;padding:0 16px}
  .home-section-row .card{flex-basis:142px;width:142px}
  .home-section-head h3{font-size:16px}
  .brand-grid{gap:10px;padding:0 10px}
  .category-grid{gap:9px;padding:8px 10px calc(28px + var(--safe-b))}
  .catalog-main-list{padding:0 16px 18px}
  .catalog-main-row{min-height:66px;padding:17px 2px}
  .catalog-main-copy b{font-size:20px}
  .catalog-sublist{padding:2px 0 16px 2px}
  .catalog-subrow{min-height:44px;font-size:15px}
  .catalog-brands-panel .brand-grid{gap:10px;padding:0 10px 20px}
  .catalog-brands-panel .brand-tile{min-height:136px;padding:13px;border-radius:17px}
  .catalog-brands-panel .brand-tile-media{width:62px!important;height:62px!important;border-radius:18px}
  .catalog-category-grid{gap:8px;padding:0 10px 12px}
  .sp-title{font-size:38px}
  .sp-sub{font-size:15.5px}
  .sp-top{margin-bottom:36px}
  .sp-divider{margin:30px 0 26px}
  .bdetail-topbar{left:12px;right:12px;gap:8px}
  .bdetail-topbar>div{gap:7px;max-width:calc(100% - 54px)}
  .bd-sub-btn,.bd-notify-btn,.cat-notify-btn{width:44px;min-width:44px;height:44px}
  .bdetail-info{left:14px;right:14px;bottom:14px}
  .bdetail-hero.has-brand-logo-only img.bdetail-logo-hero{left:14px;bottom:20px;width:60px;height:60px;border-radius:19px}
  .bdetail-hero.has-brand-logo-only .bdetail-info{left:86px;right:14px;bottom:23px}
}

@media (max-width:360px){
  .bdetail-hero{min-height:176px}
  .bdetail-hero.has-hero-cover img.bdetail-logo-hero{width:100%;height:100%;max-height:none;top:auto}
  .bdetail-hero.has-brand-logo-only img.bdetail-logo-hero{width:56px;height:56px;padding:10px;border-radius:18px}
  .bdetail-hero.has-brand-logo-only .bdetail-info{left:80px;bottom:22px}
  .bdetail-info{right:16px}
}

/* Promo card — fits grid like a product card */
.promo-card{position:relative;background:linear-gradient(160deg,#0a0a0a,#141414);border:1px solid #252525;border-radius:16px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;height:100%}
.promo-card-close{position:absolute;top:8px;right:8px;z-index:10;width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,0.15);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.promo-card-close:active{background:rgba(255,255,255,0.30)}
.promo-card-share{position:absolute;bottom:8px;right:8px;z-index:10;width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,0.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.promo-card-share:active{background:rgba(255,255,255,0.30)}
.promo-card-dismissing{transition:opacity 0.28s ease,transform 0.28s ease;opacity:0;transform:scale(0.92);pointer-events:none}
.promo-card-media{flex:1;position:relative;background:#141414;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;min-height:180px;overflow:hidden}
.promo-card-pct{font-size:64px;font-weight:900;color:#7fff00;line-height:1;letter-spacing:-.04em;text-shadow:0 0 40px rgba(127,255,0,.3)}
.promo-card-pct span{font-size:40px}
.promo-card-off{font-size:20px;font-weight:900;color:#7fff00;letter-spacing:.1em;margin-top:-4px}
.promo-card-stamp{position:absolute;bottom:10px;right:10px;font-size:8px;font-weight:900;letter-spacing:.12em;color:rgba(127,255,0,.4);text-align:right;line-height:1.3}
.promo-card-body{padding:8px 10px 10px;background:#0f0f0f;border-top:1px solid #1f1f1f}
.promo-card-brand{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7fff00;margin-bottom:3px;opacity:.8}
.promo-card-name{font-size:11px;font-weight:700;color:#e0e0e0;line-height:1.3;margin-bottom:4px}
.promo-card-price{font-size:11px;font-weight:800;color:#7fff00}

/* Promo Modal */
.promo-modal-overlay{position:absolute;inset:0;z-index:200;background:rgba(0,0,0,.6);display:none;align-items:flex-end;backdrop-filter:blur(4px)}
.promo-modal-overlay.op{display:flex}
.promo-modal-panel{position:relative;width:100%;background:var(--panel);border-radius:24px 24px 0 0;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}
.promo-modal-x{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center}
.light .promo-modal-x{background:rgba(255,255,255,.78);border-color:rgba(0,0,0,.08);color:var(--tx)}
.promo-modal-handle{width:36px;height:4px;border-radius:999px;background:var(--line3);margin:12px auto 0;flex-shrink:0}
.promo-modal-hero{background:#121212;padding:32px 24px 24px;display:flex;align-items:baseline;gap:8px;justify-content:center}
.promo-modal-pct{font-size:80px;font-weight:900;color:#7fff00;line-height:1;letter-spacing:-.05em;text-shadow:0 0 60px rgba(127,255,0,.4)}
.promo-modal-off{font-size:36px;font-weight:900;color:#7fff00;letter-spacing:.08em}
.promo-modal-body{padding:20px 20px 0;overflow-y:auto;flex:1}
.promo-modal-title{font-size:20px;font-weight:900;letter-spacing:-.03em;color:var(--tx);margin-bottom:4px}
.promo-modal-sub{font-size:13px;color:var(--muted);margin-bottom:20px;white-space:pre-line;line-height:1.55}
.promo-modal-rules{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.promo-modal-rule{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;color:var(--soft)}
.promo-modal-rule-ico{font-size:16px;font-weight:900;color:#7fff00;flex-shrink:0;min-width:20px}
.promo-modal-cta{width:100%;padding:16px;background:#7fff00;color:#000;border-radius:14px;font-size:15px;font-weight:900;margin-bottom:10px;transition:opacity .15s}
.promo-modal-cta:active{opacity:.8}
.promo-modal-close{width:100%;padding:14px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;margin-bottom:calc(16px + var(--safe-b))}

/* Product Detail Promo Code */
.pd-promo{margin:10px 0 8px;padding:11px 13px;background:var(--panel2);border-radius:12px;border:1px solid var(--line2);border-left:2px solid var(--acc3)}
.pd-promo-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pd-promo-label{font-size:13px;font-weight:800;color:var(--tx);letter-spacing:.01em;flex:1;min-width:0}
.pd-promo-copy{padding:6px 13px;background:transparent;color:var(--acc);border:1px solid var(--acc3);border-radius:8px;font-size:12px;font-weight:800;flex-shrink:0;transition:background .14s,border-color .14s,color .14s}
.pd-promo-copy:active,.pd-promo-copy.is-copied{background:var(--acc2);border-color:var(--acc)}
.pd-promo-desc{margin-top:5px;font-size:12px;line-height:1.4;color:var(--muted)}
/* 90% deal banner */
.settings-deals-card{display:grid;gap:10px;background:var(--panel)!important}
.settings-deal-banner{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border-radius:15px;background:linear-gradient(145deg,#0d0d0d,#1b1b1b);border:1px solid #2a2a2a;color:#eaeaea;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.settings-deal-banner:active{background:linear-gradient(145deg,#151515,#222)}
.settings-deal-pct{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(127,255,0,.1);border:1px solid rgba(127,255,0,.28);color:#7fff00;font-size:20px;font-weight:950;letter-spacing:-.06em;flex-shrink:0;text-shadow:0 0 24px rgba(127,255,0,.28)}
.settings-deal-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.settings-deal-copy b{font-size:13px;font-weight:900;color:#7fff00;letter-spacing:-.01em}
.settings-deal-copy small{font-size:12px;line-height:1.38;color:#c9c9c9}
/* promo hairline row */
.settings-promo-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}
.settings-promo-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.settings-promo-info b{font-size:14px;font-weight:750;color:var(--tx);letter-spacing:-.01em}
.settings-promo-info small{font-size:11px;color:var(--muted)}
.settings-promo-copy{padding:7px 15px;background:transparent;color:var(--acc);border:1.5px solid var(--acc3);border-radius:10px;font-size:12px;font-weight:800;white-space:nowrap;transition:background .14s,color .14s;font-family:var(--f)}
.settings-promo-copy:active,.settings-promo-copy.is-copied{background:var(--acc2);color:var(--acc)}
/* about */
.settings-about-row{padding:14px 16px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.settings-about-logo{width:max-content;min-height:44px;padding:0 8px;border:0;background:transparent;font-family:var(--f);font-size:18px;font-weight:900;letter-spacing:-.04em;color:var(--tx);text-align:left;display:inline-flex;align-items:center}
.settings-about-logo b{color:var(--acc)}
.settings-about-logo:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:5px}
.settings-about-desc{font-size:12px;color:var(--muted);line-height:1.5;max-width:260px}
.settings-about-version{font-size:11px;color:var(--muted);opacity:.6}

/* ═══════════════════════════════════════════════════════════════
   CARD PRESS — lightweight CSS only (GSAP parallax/reveal removed)
   Cards are always visible; native scroll, no will-change on scroll.
   ═══════════════════════════════════════════════════════════════ */

/* Subtle press feedback via CSS — no JS, no layout recalc on scroll. */
#feedGrid .card:active{transform:scale(.97);transition:transform .12s ease}

/* ── PREMIUM LIGHT-HOME POLISH (taste, air, distinctive detail) ── */
/* Richer card surface: soft inner highlight + warmer elevation, not flat-stock. */
.light .card{
  box-shadow:0 1px 2px rgba(18,20,32,.04),0 8px 24px -12px rgba(18,20,32,.10);
  border-color:rgba(18,20,32,.06);
  transition:transform .14s,border-color .2s ease,box-shadow .32s cubic-bezier(.16,1,.3,1)}
.light .card-img-wrap{background:linear-gradient(155deg,#f4f4f8,#ececf3)}
/* Hairline top-light on the photo mask — that "designed" edge, very subtle. */
.card-img-wrap::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);border-radius:inherit}

/* Typographic lift: editorial brand kicker + tighter price in Space Grotesk. */
.card-brand{font-size:9px;letter-spacing:.11em}
.card-price{font-family:'Space Grotesk','DM Sans',system-ui,sans-serif;letter-spacing:-.03em;font-weight:700}
.light .card-name{color:#16182a}

/* ── SMOOTH MICRO-INTERACTIONS: category chips ── */
/* Active chip fills with a soft cushioned spring instead of a hard swap. */
.cat-row .chip{transition:background .26s cubic-bezier(.16,1,.3,1),color .22s ease,border-color .22s ease,transform .18s cubic-bezier(.16,1,.3,1)}
.cat-row .chip.on{transform:translateY(-1px)}
.cat-row .chip:not(.on):active{transform:scale(.96)}

/* ── SMOOTH MICRO-INTERACTIONS: sort segmented control ── */
/* Animate the active pill fill + a touch of lift, not an instant flip. */
.home-sortbar .sortchip,#homeSorts.home-sortbar .sortchip{
  transition:background .3s cubic-bezier(.16,1,.3,1),color .22s ease,box-shadow .3s ease;
  position:relative}
.home-sortbar .sortchip.on,#homeSorts.home-sortbar .sortchip.on{
  box-shadow:0 2px 10px -2px color-mix(in srgb,var(--tx) 40%,transparent)}

/* ═══ ACCESSIBILITY: reduced-motion overrides everything ═══ */
@media (prefers-reduced-motion:reduce){
  /* Cards: no transforms, no transitions. */
  #feedGrid .card{opacity:1!important;transform:none!important;transition:none!important}
  #feedGrid .card .card-img{transform:none!important;transition:none!important}
  .cat-row .chip,.home-sortbar .sortchip,#homeSorts.home-sortbar .sortchip{transition:none!important;transform:none!important}
  .card,.light .card{transition:none!important}
  /* Screen transitions: instant swap, no fade/rise */
  .screen{transition:none!important;transform:none!important}
  .screen.active{transform:none!important}
  .ov.op,.bdetail.op,.pdetail,.catalog-panel{animation:none!important}
}

/* ═══ PUBLIC APP REFINEMENT — editorial utility ═══ */
.home-head-copy .page-title,.topbar:not(.home-topbar) .page-title,.home-section-head h3,.page-title,.sp-title,.card-price{font-family:var(--f)}
.home-head-copy .page-title{font-weight:800;letter-spacing:-.04em}
.topbar:not(.home-topbar) .page-title,#screen-saved .page-title{font-weight:800;letter-spacing:-.04em}
.home-sortbar,#homeSorts.home-sortbar{display:none}
.cat-row .chip{min-height:44px;font-size:13px;font-weight:600}
.cat-row .chip.on{font-weight:700}
.lang-trigger{min-width:44px;height:44px;font-weight:700;letter-spacing:.02em}
.lang-option{min-height:44px}
.sbar .sc{width:44px;height:44px;padding:0;place-items:center}
.sbar .sc.on{display:grid}

.card{position:relative;box-shadow:none;cursor:default}
.light .card{box-shadow:none}
.card-open,.mini-card-open{position:relative;isolation:isolate;width:100%;min-width:0;display:flex;flex-direction:column;color:inherit;text-align:left}
.card-open:focus-visible,.mini-card-open:focus-visible{outline:0;border-radius:inherit}
.card-open:focus-visible::after,.mini-card-open:focus-visible::after{
  content:'';position:absolute;inset:0;z-index:4;pointer-events:none;border:2px solid var(--acc);border-radius:inherit}
html.hf-pointer-input .card-open:focus-visible::after,html.hf-pointer-input .mini-card-open:focus-visible::after{display:none}
.card-body{padding:12px 12px 14px;min-height:102px}
.card-brand{font-size:11px;line-height:1.25;font-weight:600;text-transform:none;letter-spacing:0;margin-bottom:5px;color:var(--muted)}
.card-name{font-size:14px;font-weight:600;line-height:1.38;min-height:38px}
.card-price{font-size:17px;font-weight:700;color:var(--tx)}
.spill,.home-section-row .spill,.category-grid .spill{width:44px;height:44px}
.card-img-back,.mini-media-back{position:absolute;inset:-10%;width:120%!important;height:120%!important;max-width:none;object-fit:cover!important;filter:blur(16px) saturate(.72);opacity:0;transform:scale(1.04);transition:opacity .2s;pointer-events:none}
.card-img-wrap.has-contained .card-img-back,.mc-img.has-contained .mini-media-back{opacity:.3}
.card-img-wrap.has-contained::after,.mc-img.has-contained::after{content:'';position:absolute;inset:0;z-index:0;background:color-mix(in srgb,var(--panel2) 58%,transparent);pointer-events:none}
.card-img.contain,.image-preset-product-card.contain{position:relative;z-index:1;object-fit:contain!important;object-position:center!important;background:transparent!important;padding:8px}
.mini-card{position:relative}
.mini-card-open{height:100%}
.mini-card .mc-brand{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}
.mini-card .mc-save{width:44px;height:44px}

.catalog-main-head{padding-bottom:8px}
.catalog-main-head h3{font-size:13px;font-weight:700;color:var(--muted)}
.catalog-main-row{grid-template-columns:minmax(0,1fr) auto 22px;min-height:76px}
.catalog-main-copy{display:grid;gap:4px}
.catalog-main-copy b{font-size:20px;font-weight:700}
.catalog-main-copy small{font-size:12px;line-height:1.3;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-main-count{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}
.catalog-panel.showing-results .catalog-main-head{display:none}
.catalog-panel.showing-results .catalog-main-list{padding:0 0 8px}
.catalog-result-nav{display:grid;gap:12px;padding:2px 16px 6px}
.catalog-result-back{width:max-content;min-height:44px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:650}
.catalog-result-back svg{width:17px;height:17px}
.catalog-result-nav h2{font-size:24px;line-height:1.08;font-weight:800;letter-spacing:-.04em}
.catalog-subchips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scroll-padding-inline:16px}
.catalog-subchip{flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:13px;background:var(--panel);color:var(--soft);font-size:12px;font-weight:600}
.catalog-subchip.on{background:var(--tx);border-color:var(--tx);color:var(--bg)}
.catalog-results{padding-top:4px}
.catalog-results-head h3{font-size:16px;font-weight:700}

.brand-tile{min-height:68px}
.brand-tile-name{font-weight:700}
.brand-tile.is-coming .brand-tile-count{color:var(--acc)}
.catalog-brands-panel .brand-grid{gap:10px;padding-inline:16px}
.catalog-brands-panel .brand-tile{min-height:88px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;justify-content:initial;gap:10px;padding:12px;border-radius:14px}
.catalog-brands-panel .brand-tile-media{width:48px!important;height:48px!important;border-radius:14px}
.catalog-brands-panel .brand-tile-body{align-self:center;gap:4px}
.catalog-brands-panel .brand-tile-name{font-size:13px;font-weight:700;line-height:1.2}
.catalog-brands-panel .brand-tile-count{font-size:10px;font-weight:600}

.bdetail-hero{transition:height .24s cubic-bezier(.2,.8,.2,1),min-height .24s,max-height .24s}
.bdetail.compact .bdetail-hero{height:calc(70px + var(--safe-t) + var(--tg-csa-t));min-height:calc(70px + var(--safe-t) + var(--tg-csa-t));max-height:calc(70px + var(--safe-t) + var(--tg-csa-t))}
.bdetail.compact .bdetail-hero>img,.bdetail.compact .bdetail-hero-gradient,.bdetail.compact .bdetail-hero-overlay,.bdetail.compact .bdetail-hero::after{opacity:0}
.bdetail.compact .bdetail-info{left:74px!important;right:70px;bottom:18px!important}
.bdetail.compact .bdetail-info h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdetail.compact .bdetail-info p{display:none}
.bdetail.compact .bdetail-topbar{align-items:center}
.bd-sub-btn.pending,.cat-sub-btn.pending{background:var(--acc2);border-color:var(--acc3);color:var(--acc)}

.pd-brand{margin-bottom:8px;padding:0;border:0;background:transparent;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
.pd-name{font-size:23px;font-weight:750;letter-spacing:-.035em}
.pd-price-row{padding:0;border:0;border-radius:0;background:transparent}
.pd-price-label{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}
.pd-price{font-size:28px;font-weight:750;color:var(--tx)}
.pd-context-line{gap:8px}
.pd-context-line span{padding:0;border:0;background:transparent;font-size:12px;font-weight:600;color:var(--muted)}
.pd-context-line span+span::before{content:'·';margin-right:8px;color:var(--muted)}
.pd-info-chip{justify-content:flex-start;width:auto;padding:10px 0;border:0;background:transparent;color:var(--soft)}
.pd-promo{padding:12px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.pd-promo-copy{min-height:44px}

.settings-body{padding-top:8px}
.settings-section{margin-bottom:24px}
.settings-section-label{padding:0 2px 9px;font-family:var(--f);font-size:14px;font-weight:700;letter-spacing:-.015em;text-transform:none;color:var(--tx)}
.settings-hairline{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:visible}
.settings-hairline>*:first-child,.settings-hairline>*:last-child{border-radius:0}
.settings-row{min-height:60px}
.settings-hairline>.settings-row{padding-inline:2px}
.settings-hairline .settings-ctrl-row{padding-inline:2px}
.settings-hairline .notify-card{padding-inline:2px}
.settings-hairline .settings-deal-banner{padding-inline:2px}
.settings-hairline .settings-promo-row{padding-inline:2px}
.settings-hairline .legal-link{padding-left:2px}
.settings-hairline .settings-about-row{padding-inline:2px}
.settings-about-logo{width:min(100%,220px);min-height:72px;justify-content:center;padding:8px}
.settings-about-logo .miralo-lockup{display:flex;align-items:center;justify-content:center;width:min(100%,210px);height:64px;overflow:visible;isolation:auto;background:transparent}
.settings-about-logo .miralo-wordmark{position:static;display:block;width:100%;max-width:100%;height:auto;transform:none;filter:invert(1) grayscale(1);mix-blend-mode:normal}
.light .settings-about-logo .miralo-wordmark{filter:none;mix-blend-mode:normal}
.settings-row-main b,.settings-promo-info b{font-weight:650}
.settings-row-main small,.settings-promo-info small{font-size:12px;white-space:normal}
.settings-ctrl-label{font-size:13px;font-weight:600}
.theme-select,.settings-lang-row .lang-trigger{height:44px}
.notify-card{gap:11px;padding:16px}
.notify-head,.notify-icon,.notify-pill,.notify-foot{display:none}
.notify-titleline h4{font-size:15px;font-weight:700}
.notify-card p{margin:0;font-size:13px;line-height:1.5}
.notify-status{padding:0;border:0;background:transparent;font-size:12px}
.notify-status::before{width:7px;height:7px;box-shadow:none;background:var(--acc)}
.notify-manage{min-height:48px;padding:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--tx);font-size:13px;font-weight:700}
.notify-manage:active{background:transparent;color:var(--acc)}
.settings-deals-card{gap:0!important;background:transparent!important}
.settings-deal-banner{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--tx);box-shadow:none}
.settings-deal-banner:active{background:var(--panel2)}
.settings-deal-pct{width:44px;height:auto;justify-content:flex-start;border:0;border-radius:0;background:transparent;color:var(--acc);font-size:18px;font-weight:750;text-shadow:none}
.settings-deal-copy b{color:var(--tx);font-size:14px;font-weight:650}
.settings-deal-copy small{color:var(--muted)}
.settings-promo-copy{min-height:44px}
#legalSettingsCard{padding:0!important}
.legal-links{border:0;border-radius:0;background:transparent}
.legal-link{min-height:52px;padding:0 36px 0 16px;display:flex;align-items:center;font-size:13px;font-weight:650}
.mini-btn{min-height:44px}
.mini-btn.danger{color:var(--red)}

.opt{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.filter-brand-search{width:100%;height:44px;margin:0 0 10px;padding:0 13px;border:1px solid var(--line2);border-radius:12px;background:var(--panel2);color:var(--tx);font:600 13px/1 var(--f);outline:none}
.filter-brand-search:focus-visible{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc2)}
.sheet-close{min-width:44px;min-height:44px}
.save-row{min-height:58px}

@media(max-width:360px){
  .nbtn{font-size:9px}
  .catalog-main-count{display:none}
  .catalog-main-row{grid-template-columns:minmax(0,1fr) 22px}
  .empty-hero{padding:28px 20px 44px}
  .empty-icon-wrap{width:56px;height:56px;margin-bottom:14px}
  .empty-sub{margin-bottom:14px}
  .empty-reset{margin-top:0;margin-bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ═══════════════════════════════════════════════════════════════
   PUBLIC APP UI V2 — one restrained editorial system
   ═══════════════════════════════════════════════════════════════ */

/* Product cards: one bounded object, including photo and metadata. */
.card,.light .card,.category-grid .card,.bdetail-grid-wrap .card{
  overflow:hidden;border:0;border-radius:8px;background:transparent;box-shadow:none;cursor:default}
.card::after{display:none}
.card-open{overflow:hidden;border-radius:inherit;background:transparent}
.card-img-wrap,.category-grid .card-img-wrap,.bdetail-grid-wrap .card-img-wrap{
  aspect-ratio:4 / 5!important;border-radius:8px;overflow:hidden;background:var(--panel2);isolation:isolate}
:root:not(.light) .card-img-wrap{background:var(--panel2)}
.card-img-wrap::after,.card-img-wrap.has-contained::after{display:none}
.card-img-wrap::before{z-index:3;border-radius:0;box-shadow:inset 0 -1px 0 var(--line)}
.light .card-img-wrap::before{box-shadow:inset 0 -1px 0 var(--line)}
.card-img,.image-preset-product-card,.card-img.contain,.image-preset-product-card.contain{
  position:relative;z-index:1;width:100%;height:100%;padding:0!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;transform:none}
.card-img-wrap.has-contained,.mini-card .mc-img.has-contained{position:relative;isolation:isolate;background:var(--panel2)}
.card-img-wrap.has-contained::after,.mini-card .mc-img.has-contained::after{
  content:'';display:block!important;position:absolute;inset:-9%;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(235,235,239,.58),rgba(235,235,239,.58)),var(--media-image);
  background-position:center;background-size:cover;filter:blur(11px) saturate(.78);transform:scale(1.08)}
:root:not(.light) .card-img-wrap.has-contained::after,:root:not(.light) .mini-card .mc-img.has-contained::after{
  background-image:linear-gradient(rgba(30,31,37,.58),rgba(30,31,37,.58)),var(--media-image)}
.card-img-wrap.has-contained .card-img.contain,.mini-card .mc-img.has-contained .image-preset-product-card.contain{
  position:relative;z-index:1;padding:6px!important;object-fit:contain!important;object-position:center!important}
.card-img-back,.mini-media-back{display:none!important}
.card-body,.category-grid .card-body,.bdetail-grid-wrap .card-body{
  min-height:0;padding:9px 0 12px;background:transparent}
.card-brand,.category-grid .card-brand{margin-bottom:4px;min-height:0;font-size:11px;font-weight:600;color:var(--muted)}
.card-name,.category-grid .card-name,.bdetail-grid-wrap .card-name{
  min-height:34px;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--soft)}
.card-bot{margin-top:7px}
.card-price,.category-grid .card-price,.bdetail-grid-wrap .card-price{font-size:12px;font-weight:800;line-height:1.3;color:var(--tx)}
.home-section-row .card-price,.sim-grid .card-price{font-size:17px;color:var(--acc)}
.card-top{top:8px;left:8px;right:8px}
.spill,.category-grid .spill{width:44px;height:44px;border:1px solid rgba(255,255,255,.2);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.mini-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.mini-card-open{overflow:hidden;border-radius:inherit}
.mini-card .mc-img{aspect-ratio:4 / 5;border-radius:0;overflow:hidden;background:var(--panel2)}
.mini-card .mc-body{padding:9px 10px 13px;background:var(--panel)}

/* Catalog: audience and product type are independent axes. */
.catalog-audience{padding:0 16px 22px}
.catalog-audience-head{margin-bottom:9px}
.catalog-audience-head h3,.catalog-main-head h3{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.01em}
.catalog-audience-chips{display:flex;gap:8px;margin:0 -16px;padding:0 16px;overflow-x:auto;scroll-padding-inline:16px}
.catalog-audience-chip{flex:0 0 auto;min-height:44px;padding:0 15px;border:1px solid var(--line2);border-radius:999px;background:var(--panel);color:var(--soft);font-size:13px;font-weight:650}
.catalog-audience-chip.on{background:var(--tx);border-color:var(--tx);color:var(--bg)}
.catalog-main-head{padding:0 16px 8px}
.catalog-main-head p{margin-top:4px;font-size:12px;line-height:1.4;color:var(--muted)}
.catalog-main-list{padding:0 16px 24px}
.catalog-main-card{background:transparent;border:0;border-bottom:1px solid var(--line)}
.catalog-main-card:first-child{border-top:1px solid var(--line)}
.catalog-main-row{min-height:78px;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:13px;padding:11px 0}
.catalog-main-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--panel2);color:var(--soft)}
.catalog-main-icon svg{width:23px;height:23px}
.catalog-main-copy b{font-size:17px;font-weight:700;letter-spacing:-.025em}
.catalog-main-copy small{margin-top:3px;font-size:12px;font-weight:500;line-height:1.3;color:var(--muted)}
.catalog-main-count{display:none!important}
.catalog-main-chevron{width:24px;height:24px;color:var(--muted)}
.catalog-panel.showing-results .catalog-audience{padding-bottom:12px}
.catalog-result-nav{padding-top:0}

/* Brand directory: real logo when available, deliberate typographic wordmark otherwise. */
.catalog-brands-panel .brand-grid{
  display:block;margin:0 16px 24px;padding:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:hidden}
.catalog-brands-panel .brand-tile{
  width:100%;min-height:72px;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:11px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}
.catalog-brands-panel .brand-tile:last-child{border-bottom:0}
.catalog-brands-panel .brand-tile:active{background:var(--panel2)}
.catalog-brands-panel .brand-tile-media{width:46px!important;height:46px!important;border:0;border-radius:12px;background:#fff}
.catalog-brands-panel .brand-tile-media img{width:82%;height:82%;max-width:82%;max-height:82%}
.catalog-brands-panel .brand-tile-media{position:relative;display:grid;place-items:center;overflow:hidden}
.catalog-brands-panel .brand-tile-letter{display:none;font-size:15px;font-weight:750;letter-spacing:-.02em;color:var(--soft)}
.catalog-brands-panel .brand-tile-media.is-fallback{background:var(--panel2)}
.catalog-brands-panel .brand-tile-media.is-fallback .brand-tile-letter{display:block}
.catalog-brands-panel .brand-tile-body{min-width:0;display:grid;gap:3px}
.catalog-brands-panel .brand-tile-name{font-size:14px;font-weight:700;line-height:1.25}
.catalog-brands-panel .brand-tile-status{font-size:11px;font-weight:650;color:var(--acc)}
.catalog-brands-panel .brand-tile-chevron{width:24px;height:24px;display:grid;place-items:center;color:var(--muted)}
.catalog-brands-panel .brand-tile-chevron svg{width:17px;height:17px}
.brand-tile-count{display:none!important}

/* Brand detail: toolbar-height identity header unless an actual cover exists. */
.bdetail-hero.no-brand-media,.bdetail-hero.has-brand-logo-only{
  height:calc(104px + var(--safe-t) + var(--tg-csa-t));min-height:calc(104px + var(--safe-t) + var(--tg-csa-t));max-height:calc(104px + var(--safe-t) + var(--tg-csa-t));background:var(--panel)}
.light .bdetail-hero.no-brand-media,.light .bdetail-hero.has-brand-logo-only{background:var(--panel)}
.bdetail-hero.no-brand-media::after,.bdetail-hero.has-brand-logo-only::after,.bdetail-hero.no-brand-media .bdetail-hero-gradient,.bdetail-hero.has-brand-logo-only .bdetail-hero-gradient,.bdetail-hero.no-brand-media .bdetail-hero-overlay,.bdetail-hero.has-brand-logo-only .bdetail-hero-overlay{display:none}
.bdetail-hero.has-brand-logo-only img.bdetail-logo-hero{
  left:16px;bottom:11px;width:44px;height:44px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none}
.bdetail-hero.no-brand-media .bdetail-info{left:16px;bottom:12px}
.bdetail-hero.has-brand-logo-only .bdetail-info{left:72px;bottom:14px}
.bdetail-hero.no-brand-media .bdetail-info h2,.bdetail-hero.has-brand-logo-only .bdetail-info h2{
  color:var(--tx);font-size:20px;font-weight:750;line-height:1.05;text-shadow:none}
.bdetail-hero.no-brand-media .bdetail-info p,.bdetail-hero.has-brand-logo-only .bdetail-info p{display:none}
.bdetail-hero.no-brand-media .bdetail-topbar .backbtn,.bdetail-hero.has-brand-logo-only .bdetail-topbar .backbtn,
.bdetail-hero.no-brand-media .bd-sub-btn,.bdetail-hero.has-brand-logo-only .bd-sub-btn{
  background:var(--panel2);border-color:var(--line2);color:var(--tx);box-shadow:none}
.bdetail-cats{flex-wrap:nowrap;gap:22px;overflow-x:auto;padding:7px 16px 0;border-bottom:1px solid var(--line)}
.bdetail-cats .chip{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 4px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted)}
.bdetail-cats .chip.on{border-bottom-color:var(--tx);background:transparent;color:var(--tx)}
.bdetail-tools{gap:18px;padding:8px 16px 10px;border-bottom:1px solid var(--line)}
.bdetail-tools .bsort{min-width:44px;min-height:44px;padding:0 4px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-weight:650}
.bdetail-tools .bsort.on{border-bottom-color:var(--tx);background:transparent;color:var(--tx)}
.bdetail-count{padding:2px 16px 13px;text-transform:none;letter-spacing:0;font-weight:650}
.bdetail-grid-wrap{gap:12px;padding-inline:16px}

/* Saved empty state: an editorial prompt, not a generic centered template. */
#savedEmpty .empty-hero{align-items:flex-start;justify-content:flex-start;padding:68px 16px 48px;text-align:left}
#savedEmpty .empty-icon-wrap{width:40px;height:40px;margin-bottom:18px;border:0;border-radius:0;background:transparent;place-items:start;color:var(--soft)}
#savedEmpty .empty-icon-wrap svg{width:32px;height:32px;opacity:1}
#savedEmpty .empty-title{margin-bottom:8px;font-size:26px;line-height:1.08}
#savedEmpty .empty-sub{max-width:280px;margin-bottom:22px;font-size:14px;text-align:left}
#savedEmpty .empty-cta{min-height:46px;padding:0 17px;border:0;border-radius:11px;background:var(--tx);color:var(--bg);font-weight:700}
@media(max-width:360px){#savedEmpty .empty-hero{padding:28px 16px 36px}}

/* Product detail: media and summary read as one composed object. */
.pdetail{background:var(--bg)}
.pdetail-scrim{position:absolute;inset:0;z-index:63;pointer-events:none;background:rgba(7,8,12,.56);opacity:0;transition:opacity .28s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body.detail-open .pdetail-scrim{opacity:1}
body.detail-closing .pdetail-scrim{opacity:0}
.pdetail.op{top:clamp(44px,7vh,76px);border-radius:28px 28px 0 0;box-shadow:0 -18px 48px rgba(0,0,0,.28);overflow:hidden;will-change:transform}
.pdetail.op.is-opening{animation:productSheetIn .42s cubic-bezier(.2,.82,.22,1) both}
.pdetail.is-dragging{animation:none!important;transition:none!important;transform:translate3d(0,var(--detail-drag-y,0px),0)}
.pdetail.is-settling{animation:none;transform:translate3d(0,var(--detail-drag-y,0px),0);transition:transform .24s cubic-bezier(.2,.82,.22,1)}
.pdetail.op.is-closing{pointer-events:none;animation:productSheetOut .30s cubic-bezier(.4,0,1,1) both}
.pd-sheet-handle{position:absolute;z-index:20;top:10px;left:50%;width:46px;height:4px;border-radius:999px;background:var(--line3);transform:translateX(-50%)}
@keyframes productSheetIn{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}
@keyframes productSheetOut{from{transform:translate3d(0,var(--detail-close-from,0px),0)}to{transform:translate3d(0,100%,0)}}
.pdetail.is-scrolled .pd-shell-head{background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pd-body{background:var(--bg);padding-bottom:calc(28px + var(--safe-b))}
body.tg-context .pd-shell-head{padding:8px 12px 6px}
/* Telegram's top controls sit in an absolute shell header. Keep the media
   card below the full 40px control row instead of letting the photo slide
   underneath the Back/actions buttons. */
body.tg-context .pd-back{display:inline-flex}
body.tg-context .pd-shell-row{grid-template-columns:minmax(0,1fr) 42px}
body.tg-context .pd-head-copy{grid-column:1}
body.tg-context .pd-head-actions{grid-column:2}
body.tg-context .pd-media{margin-top:56px}
.pd-media{
  height:min(52vh,calc((100vw - 24px) * 1.25));min-height:240px;max-height:440px;margin:calc(var(--safe-t) + var(--tg-csa-t) + 55px) 12px 0;border:0;border-radius:20px;background:var(--panel2);box-shadow:none;cursor:zoom-in}
.pd-media:focus{outline:none}
html:not(.hf-pointer-input) .pd-media:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.light .pd-media{box-shadow:none}
.pd-media img,.pd-media.is-wide-image #pdImg,.pd-media.is-tall-image #pdImg,.pd-media.is-square-image #pdImg{
  width:100%;height:100%;padding:0;object-fit:cover!important;object-position:center center;border-radius:20px;background:transparent}
.pd-media .pd-img-back,.pd-media.has-contained::after{display:none!important}
.pd-media.has-contained{position:relative;isolation:isolate;overflow:hidden;background:var(--panel2)}
.pd-media.has-contained::after{
  content:'';display:block!important;position:absolute;inset:-8%;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(235,235,239,.60),rgba(235,235,239,.60)),var(--media-image);
  background-position:center;background-size:cover;filter:blur(14px) saturate(.76);transform:scale(1.08)}
:root:not(.light) .pd-media.has-contained::after{
  background-image:linear-gradient(rgba(30,31,37,.60),rgba(30,31,37,.60)),var(--media-image)}
.pd-media.has-contained #pdImg{position:relative;z-index:1;padding:6px!important;object-fit:contain!important;object-position:center!important}
.pd-gallery{position:relative;z-index:4;margin:10px 16px 0}
.pd-thumb{width:62px;height:62px;border:1px solid var(--line2);border-radius:12px}
.pd-thumb.on{border-color:var(--tx);box-shadow:0 0 0 1px var(--tx)}
.pd-gallery:not(.show)+.pd-card{margin-top:-18px}
.pd-gallery.show+.pd-card{margin-top:10px}
.pd-card{
  position:relative;z-index:3;margin-right:12px;margin-left:12px;padding:23px 18px 20px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 12px 30px rgba(0,0,0,.10)}
.light .pd-card{box-shadow:0 12px 30px rgba(20,22,34,.07)}
.pd-brand{margin-bottom:7px;font-size:12px;font-weight:650;color:var(--muted)}
.pd-title-block{gap:13px}
.pd-name{font-size:24px;font-weight:750;line-height:1.14;letter-spacing:-.038em}
.pd-price-row{padding:0;background:none;border:0}
.pd-price-label{margin-bottom:3px;font-size:11px;font-weight:600;color:var(--muted)}
.pd-price{font-size:29px;font-weight:760;line-height:1;color:var(--acc)}
.pd-context-line{padding-top:12px;border-top:1px solid var(--line)}
.pd-context-line span{font-size:12px;font-weight:600;color:var(--muted)}
.pd-sizes{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.pd-sizes[hidden]{display:none!important}
.pd-sizes-head{display:grid;gap:3px}
.pd-sizes-head strong{font-size:13px;font-weight:750;color:var(--tx)}
.pd-sizes-head span{font-size:11px;font-weight:600;line-height:1.35;color:var(--muted)}
.pd-size-list{display:flex;flex-wrap:wrap;gap:7px}
.pd-size-chip{min-width:38px;min-height:38px;display:inline-grid;place-items:center;padding:7px 10px;border:1px solid var(--line2);border-radius:11px;background:var(--panel2);color:var(--tx);font-size:12px;font-weight:750}
.pd-sizes{min-width:0}
#pdSizingDetails:empty{display:none}
.pd-measurements{min-width:0;margin-top:8px;border:1px solid var(--line2);border-radius:12px;background:var(--panel2);overflow:hidden}
.pd-measurements summary{min-height:44px;padding:12px;font-size:13px;font-weight:700;cursor:pointer}
.pd-measurements-scroll{max-width:100%;overflow-x:auto;padding:0 12px 12px;overscroll-behavior-x:contain}
.pd-measurements table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}
.pd-measurements th,.pd-measurements td{padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}
.pd-variant-list{margin:0;padding:0 12px 12px 28px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.pd-dimension-list{display:grid;margin:0;padding:0 12px 12px;font-size:12px}
.pd-dimension-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.pd-dimension-list dt{color:var(--muted);overflow-wrap:anywhere}.pd-dimension-list dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}
.pd-sizing-note{margin:8px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.pd-assistance{margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--panel2)}
.pd-assistance-row{width:100%;min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:8px 13px;border-top:1px solid var(--line);background:transparent;color:var(--tx);text-align:left}
.pd-assistance-row:active{background:color-mix(in srgb,var(--acc2) 60%,transparent)}
.pd-assistance-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--acc2);color:var(--acc)}
.pd-assistance-icon svg{width:17px;height:17px}
.pd-assistance-copy{font-size:13px;font-weight:700;line-height:1.3}
.pd-assistance-arrow{color:var(--muted);font-size:20px;line-height:1;text-align:right}
.pd-promo{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin:12px 0 0;padding:13px;border:1px solid var(--acc3);border-radius:17px;background:linear-gradient(135deg,var(--acc2),color-mix(in srgb,var(--panel) 88%,transparent))}
.pd-promo-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--acc);color:#fff;font-size:18px;font-weight:850}
.pd-promo-content{min-width:0;display:grid;gap:3px}
.pd-promo-label{font-size:13px;font-weight:750;line-height:1.3;color:var(--tx)}
.pd-promo-copy{min-height:44px;padding:0 12px;border:1px solid var(--acc3);border-radius:10px;background:var(--panel);color:var(--acc);font-size:12px;font-weight:800}
.pd-promo-desc{margin:0;color:var(--muted);font-size:11px;line-height:1.35}
.card-brand{min-height:16px}
.sim-wrap{padding-top:24px}
.pd-cta{position:relative;left:auto;right:auto;bottom:auto;flex:0 0 auto;padding:10px 16px calc(10px + var(--safe-b) + var(--hf-keyboard-inset));grid-template-columns:minmax(0,1fr) 48px;gap:8px;background:var(--panel);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.pd-cta-save,.pd-cta-share{width:48px;height:52px;border-radius:14px;box-shadow:none}
.pd-cta .btn-p{min-height:52px;border-radius:14px;box-shadow:none}
.pd-cta-note{padding:0 2px;color:var(--muted);font-size:11px;line-height:1.4;font-weight:600}

/* YepExpress guide is a real in-app page, not a temporary bottom sheet. */
.yep-guide-page{position:fixed;inset:0;z-index:95;display:none;flex-direction:column;background:var(--bg);color:var(--tx)}
.yep-guide-page.on{display:flex;animation:yepGuidePageIn .24s cubic-bezier(.22,.8,.22,1) both}
.yep-guide-page-head{flex:0 0 auto;min-height:calc(56px + var(--safe-t) + var(--tg-csa-t));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:calc(8px + var(--safe-t) + var(--tg-csa-t)) 14px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.yep-guide-back{min-width:44px;min-height:44px;display:inline-flex;align-items:center;gap:3px;justify-self:start;padding:0 8px 0 2px;border-radius:12px;color:var(--tx);font-size:13px;font-weight:750}
.yep-guide-back svg{width:24px;height:24px}
.yep-guide-page-brand{padding:0 4px 11px;font-size:13px;font-weight:850;letter-spacing:-.025em}
.yep-guide-page-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.yep-guide-article{width:min(100%,720px);margin:0 auto;padding:32px 16px calc(56px + var(--safe-b))}
.yep-guide-hero{padding:0 2px 26px}
.yep-guide-kicker{display:flex;align-items:center;gap:8px;margin:0 0 15px;color:var(--acc);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.yep-guide-kicker::before{content:'';width:17px;height:2px;border-radius:999px;background:currentColor}
.yep-guide-hero h1{max-width:590px;margin:0;font-size:clamp(33px,8.5vw,48px);font-weight:820;line-height:1.03;letter-spacing:-.05em}
.yep-guide-summary{max-width:600px;margin:17px 0 0;color:var(--soft);font-size:15px;line-height:1.55;letter-spacing:-.01em}
.yep-guide-meta{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:20px;color:var(--muted);font-size:11px;font-weight:650}
.yep-guide-label-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;margin:0 0 32px;padding:20px;border:1px solid var(--acc3);border-radius:21px;background:linear-gradient(140deg,var(--acc2),var(--panel))}
.yep-guide-label-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--acc);color:#fff;font-size:12px;font-weight:900}
.yep-guide-label-card h2{margin:0;font-size:19px;line-height:1.18;letter-spacing:-.025em}
.yep-guide-label-card p{margin:8px 0;color:var(--soft);font-size:13px;line-height:1.5}
.yep-guide-label-card strong{display:block;color:var(--acc);font-size:13px;line-height:1.35}
.yep-guide-step-list{display:grid;gap:12px}
.yep-guide-step{display:grid;grid-template-columns:33px minmax(0,1fr);gap:13px;padding:22px 18px;border:1px solid var(--line);border-radius:21px;background:var(--panel)}
.yep-guide-step-number{padding-top:3px;color:var(--acc);font-size:12px;font-weight:900;letter-spacing:.03em}
.yep-guide-step h2{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.035em}
.yep-guide-step p{margin:9px 0 0;color:var(--soft);font-size:14px;line-height:1.55}
.yep-guide-step>p{grid-column:2}
.yep-guide-figure{max-width:390px;margin:19px auto 2px}
.yep-guide-screen-frame{overflow:hidden;border:1px solid var(--line2);border-radius:20px;background:#fff;box-shadow:0 13px 34px rgba(0,0,0,.12)}
.yep-guide-screen-frame-crop{aspect-ratio:1284/790}
.yep-guide-figure img{display:block;width:100%;height:auto;background:#fff}
.yep-guide-figure figcaption{margin:10px 2px 0;color:var(--muted);font-size:11px;line-height:1.45}
.yep-guide-check-card{display:grid;gap:20px;margin-top:32px;padding:25px 22px;border-radius:22px;background:var(--tx);color:var(--bg)}
.yep-guide-check-card h2{margin:0;font-size:26px;line-height:1.08;letter-spacing:-.04em}
.yep-guide-check-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.yep-guide-check-card li{position:relative;padding-left:31px;color:color-mix(in srgb,var(--bg) 88%,transparent);font-size:13px;line-height:1.5}
.yep-guide-check-card li::before{content:'✓';position:absolute;left:0;top:0;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--acc);color:#fff;font-size:11px;font-weight:900}
.yep-guide-stop-card{margin-top:12px;padding:22px;border:1px solid var(--acc3);border-radius:21px;background:var(--acc2)}
.yep-guide-stop-card h2,.yep-guide-install-card h2{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}
.yep-guide-stop-card p{margin:0;color:var(--soft);font-size:13px;line-height:1.55}
.yep-guide-install-card{margin-top:12px;padding:22px;border:1px solid var(--line);border-radius:21px;background:var(--panel)}
.yep-guide-install-card .guide-store-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.yep-guide-install-card .guide-store-button{min-height:50px;margin:0;padding:10px 12px;border:0;border-radius:13px;background:var(--tx);color:var(--bg);font-size:12px;font-weight:800;line-height:1.25;text-align:center}
.yep-guide-install-card .guide-store-button-secondary{border:1px solid var(--line2);background:var(--panel2);color:var(--tx)}
.yep-guide-catalog-button{width:100%;min-height:50px;margin-top:8px;padding:10px 16px;border-radius:13px;background:var(--acc);color:#fff;font-size:13px;font-weight:850}
.yep-guide-screen-note{max-width:560px;margin:20px auto 0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
@keyframes yepGuidePageIn{from{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:360px){.yep-guide-article{padding-inline:12px}.yep-guide-hero h1{font-size:32px}.yep-guide-label-card{grid-template-columns:40px minmax(0,1fr);padding:17px}.yep-guide-label-mark{width:40px;height:40px}.yep-guide-step{grid-template-columns:29px minmax(0,1fr);gap:9px;padding:20px 14px}.yep-guide-figure{margin-left:-38px}.yep-guide-install-card .guide-store-actions{grid-template-columns:1fr}}

/* Help is a primary trust surface: visible without competing with the store CTA. */
.pd-assistance-row:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.settings-section-priority{margin-top:2px}
.settings-help-card{overflow:hidden;border:1px solid var(--acc3);border-radius:16px;background:linear-gradient(135deg,var(--acc2),color-mix(in srgb,var(--panel) 92%,transparent))}
.settings-help-card .settings-help-row{min-height:68px;padding:10px 14px}
.settings-help-card .settings-help-row+.settings-help-row{border-top:1px solid var(--line)}
.settings-help-row .settings-row-main b{color:var(--acc);font-weight:750}
.settings-help-row .settings-row-action{color:var(--acc)}
.settings-help-row:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.guide-inline-cta,.guide-support-cta{width:100%;min-height:48px;margin-top:16px;padding:0 14px;border:1px solid var(--acc3);border-radius:14px;background:var(--acc2);color:var(--tx);font:750 13px/1.3 var(--f);text-align:left}
.guide-support-cta{background:var(--tx);border-color:var(--tx);color:var(--bg);text-align:center}
.guide-sheet .sheet-panel,.legal-sheet .sheet-panel{max-height:min(86vh,calc(var(--hf-vv-height) - 20px));padding-bottom:calc(18px + var(--safe-b) + var(--hf-keyboard-inset))}
.guide-sheet .sheet-body,.legal-sheet .sheet-body{max-height:min(calc(86vh - 78px),calc(var(--hf-vv-height) - 98px));padding-bottom:4px}
.guide-intro{margin-top:12px!important;color:var(--soft)!important}
.guide-steps{display:grid;gap:12px;margin:16px 0 0;padding:0;list-style:none;counter-reset:guide-step}
.guide-steps li{position:relative;padding:13px 13px 13px 46px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--soft);font-size:13px;line-height:1.5;counter-increment:guide-step}
.guide-steps li::before{content:counter(guide-step);position:absolute;left:13px;top:13px;width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:var(--acc);color:var(--on-acc);font-size:11px;font-weight:850}
.guide-steps b{color:var(--tx);font-weight:800}
.guide-warning{margin-top:14px;padding:13px 14px;border-left:3px solid var(--acc);border-radius:0 12px 12px 0;background:var(--acc2);color:var(--soft);font-size:12px;line-height:1.5}
.guide-store-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.guide-store-button{min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--tx);font:750 12px/1.25 var(--f)}
.guide-store-button:active{background:var(--acc2)}
.guide-store-button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.legal-sheet .legal-links{margin:14px 0 2px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}

/* Fullscreen photo viewer with explicit alternatives to every gesture. */
.photo-viewer{--viewer-dismiss-y:0px;--viewer-dismiss-progress:0;--viewer-bg-alpha:1;position:fixed;inset:0;z-index:180;display:none;background:#09090b;background:rgba(9,9,11,var(--viewer-bg-alpha));color:#fff;overflow:hidden;touch-action:none}
.photo-viewer.on{display:block}
.photo-viewer-bar{position:absolute;z-index:4;top:0;left:0;right:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;padding:calc(var(--safe-t) + var(--tg-csa-t) + 8px) 12px 10px;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}
.photo-viewer-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.10);color:#fff}
.photo-viewer-close svg{width:20px;height:20px}
.photo-viewer-copy{grid-column:2;min-width:0;text-align:center}
.photo-viewer-copy span{display:block;font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-viewer-copy b{display:block;margin-top:3px;font-size:11px;font-weight:600;color:rgba(255,255,255,.64)}
.photo-viewer-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;transform:translate3d(0,var(--viewer-dismiss-y),0)}
.photo-viewer-stage img{width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none;will-change:transform;opacity:1;transition:opacity .16s}
.photo-viewer-stage img.is-loading{opacity:.35}
.photo-viewer-stage img.is-zoomed{cursor:grab}
.photo-viewer-nav{position:absolute;z-index:4;top:50%;width:44px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(0,0,0,.36);color:#fff;transform:translateY(-50%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.photo-viewer-nav svg{width:22px;height:22px}
.photo-viewer-nav[hidden]{display:none!important}
.photo-viewer-prev{left:10px}.photo-viewer-next{right:10px}
.photo-viewer-hint{position:absolute;z-index:4;left:50%;bottom:calc(var(--safe-b) + 16px);max-width:calc(100% - 32px);padding:8px 12px;border-radius:14px;background:rgba(0,0,0,.44);color:rgba(255,255,255,.74);font-size:11px;font-weight:600;line-height:1.35;text-align:center;white-space:normal;transform:translateX(-50%)}
.photo-viewer-bar,.photo-viewer-nav,.photo-viewer-hint{opacity:calc(1 - var(--viewer-dismiss-progress) * 1.35)}
.photo-viewer.is-settling,.photo-viewer.is-settling .photo-viewer-stage,.photo-viewer.is-settling .photo-viewer-bar,.photo-viewer.is-settling .photo-viewer-nav,.photo-viewer.is-settling .photo-viewer-hint{transition:background-color .24s ease,transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.photo-viewer.is-dismissing,.photo-viewer.is-dismissing .photo-viewer-stage,.photo-viewer.is-dismissing .photo-viewer-bar,.photo-viewer.is-dismissing .photo-viewer-nav,.photo-viewer.is-dismissing .photo-viewer-hint{transition:background-color .24s ease,transform .24s cubic-bezier(.32,.72,.24,1),opacity .18s ease}

@media(max-height:650px){
  .pd-media{height:44vh;min-height:210px}
  .pd-card{padding-top:20px}
  .pd-name{font-size:22px}
  .pd-price{font-size:26px}
}

@media(max-width:360px){
  .catalog-main-row{grid-template-columns:42px minmax(0,1fr) 22px}
  .catalog-main-copy small{white-space:normal}
  .pd-media{margin-inline:10px;height:44vh}
  .pd-card{margin-inline:10px}
}

/* Brand-first product hierarchy: the canonical product title stays clean and
   localized while the brand remains the strongest text in every card. */
.card-brand,.category-grid .card-brand,.mini-card .mc-brand{
  min-height:16px;
  margin-bottom:5px;
  color:var(--tx);
  font-size:13px;
  font-weight:850;
  line-height:1.18;
  letter-spacing:.005em;
  text-transform:none;
}
.pd-brand{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  min-height:44px;
  margin:-7px 0 5px;
  padding:7px 2px 5px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--acc);
  font-size:17px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.012em;
  text-decoration:none;
  text-transform:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .14s ease,opacity .14s ease;
}
.pd-brand::after{content:'›';flex:0 0 auto;font-size:21px;font-weight:500;line-height:1;text-decoration:none;transform:translateY(-.5px)}
.pd-brand:active{opacity:.68;transform:translateX(2px)}
.pd-brand:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.pd-brand[hidden]{display:none!important}

/* Public app discovery and shopping-list hub. */
.catalog-seg{
  display:flex;
  gap:30px;
  margin:0 16px 20px;
  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.catalog-seg-btn{
  min-width:0;
  min-height:48px;
  padding:0 0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:19px;
  font-weight:850;
  letter-spacing:-.02em;
  position:relative;
  transition:color .16s,opacity .12s;
}
.catalog-seg-btn.on{
  color:var(--tx);
  background:transparent;
  box-shadow:none;
}
.catalog-seg-btn.on::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--tx)}
.catalog-seg-btn:active{opacity:.65;transform:none}

.saved-overview{
  margin:0 16px 12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel2);
}
.saved-overview[hidden]{display:none}
.saved-overview-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}
.saved-overview-list,.saved-overview-total{min-width:0;display:grid;gap:3px}
.saved-overview-list span,.saved-overview-total span{font-size:10px;font-weight:700;line-height:1.25;color:var(--muted)}
.saved-overview-list b{font-size:15px;font-weight:800;line-height:1.2;color:var(--tx)}
.saved-overview-total{text-align:right}
.saved-overview-total b{font-size:20px;font-weight:850;line-height:1;color:var(--acc)}
.saved-overview p{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:10px;font-weight:600;line-height:1.4;color:var(--muted)}
.saved-compare-entry{width:100%;min-height:44px;margin-top:11px;padding:0 12px;border:1px solid color-mix(in srgb,var(--acc) 42%,var(--line));border-radius:12px;background:var(--panel);color:var(--tx);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;text-align:left}
.saved-compare-entry span:last-child{color:var(--acc);font-size:18px;font-weight:500}
.saved-unavailable-card{border-style:dashed}
.saved-unavailable-media{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--panel2)}
.saved-unavailable-media::after{content:'';position:absolute;inset:0;background:rgba(20,20,24,.28);pointer-events:none}
.saved-unavailable-media .card-img{width:100%;height:100%;object-fit:cover;filter:grayscale(.72);opacity:.72}
.saved-unavailable-badge{position:absolute;z-index:2;left:9px;bottom:9px;max-width:calc(100% - 18px);padding:6px 9px;border-radius:999px;background:rgba(24,24,28,.82);color:#fff;font-size:10px;font-weight:800;line-height:1.2;backdrop-filter:blur(8px)}
.saved-unavailable-body{display:flex;flex-direction:column;gap:8px}
.saved-unavailable-body .card-brand,.saved-unavailable-body .card-name,.saved-unavailable-body .card-bot{margin:0}
.saved-unavailable-body p{margin:0;color:var(--muted);font-size:11px;font-weight:600;line-height:1.4}
.saved-restock-btn,.saved-unavailable-remove{width:100%;min-height:44px;padding:8px 9px;border:1px solid var(--line2);border-radius:11px;background:var(--panel2);color:var(--tx);font-size:11px;font-weight:750;line-height:1.25;text-align:center}
.saved-restock-btn{margin-top:auto;border-color:color-mix(in srgb,var(--acc) 45%,var(--line));color:var(--acc)}
.saved-restock-btn.on{background:var(--acc2)}
.saved-restock-btn:disabled{opacity:.55}
.saved-unavailable-remove{background:transparent;color:var(--muted)}

/* Saved-list comparison: 2-4 durable selections with intentional horizontal scrolling. */
.compare-sheet{z-index:72}
.compare-sheet .sheet-panel{max-height:min(92vh,calc(var(--hf-vv-height) - 12px))}
.compare-sheet .sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.compare-sheet .sheet-head>div{min-width:0}
.compare-sheet .sheet-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);color:var(--tx);font:500 22px/1 var(--f)}
.compare-body{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.compare-count{color:var(--muted);font-size:11px;font-weight:750;line-height:1.3}
.compare-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.compare-candidate{min-width:0;min-height:64px;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);color:var(--tx);display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:8px;text-align:left}
.compare-candidate.on{border-color:var(--acc);background:var(--acc2)}
.compare-candidate:disabled{opacity:.55}
.compare-candidate img{width:46px;height:50px;border-radius:9px;object-fit:cover;background:var(--panel)}
.compare-candidate span{min-width:0;display:grid;gap:3px}
.compare-candidate strong{overflow:hidden;color:var(--tx);font-size:11px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.compare-candidate small{overflow:hidden;color:var(--muted);font-size:10px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.compare-candidate i{width:24px;height:24px;border:1px solid var(--line2);border-radius:999px;display:grid;place-items:center;color:var(--muted);font-size:13px;font-style:normal;font-weight:850}
.compare-candidate.on i{border-color:var(--acc);background:var(--acc);color:#fff}
.compare-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:var(--panel2);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.compare-table{min-width:max-content}
.compare-table table{border-collapse:separate;border-spacing:0;table-layout:fixed}
.compare-table th,.compare-table td{width:148px;min-width:148px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--soft);font-size:11px;font-weight:650;line-height:1.35;text-align:left;vertical-align:top}
.compare-table tr:last-child th,.compare-table tr:last-child td{border-bottom:0}
.compare-table th:last-child,.compare-table td:last-child{border-right:0}
.compare-table thead th{position:relative;padding:9px;vertical-align:top;background:var(--panel)}
.compare-table thead th:not(.compare-corner){height:196px}
.compare-table thead img{width:100%;height:116px;border-radius:10px;object-fit:cover;background:var(--panel2)}
.compare-table thead strong{margin-top:7px;color:var(--tx);font-size:11px;font-weight:800;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.compare-table .compare-corner,.compare-table tbody th{position:sticky;left:0;z-index:2;width:86px;min-width:86px;background:var(--panel);color:var(--muted);font-size:10px;font-weight:800}
.compare-table .compare-corner{z-index:3}
.compare-remove{position:absolute;z-index:2;top:4px;right:4px;width:30px;height:30px;border:0;border-radius:999px;background:rgba(20,20,24,.78);color:#fff;font-size:19px;line-height:1}
.compare-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}
.compare-status.on{background:rgba(43,151,78,.14);color:#2c9250}
.compare-status.off{background:rgba(196,69,69,.13);color:#bd4747}
.compare-open{width:100%;min-height:40px;padding:6px 8px;border:0;border-radius:10px;background:var(--tx);color:var(--bg);font-size:11px;font-weight:800}
.compare-hint{min-height:38px;padding:10px 12px;border-radius:12px;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:650;line-height:1.4;text-align:center}
.compare-hint:empty{display:none}
.compare-sheet .sheet-foot .btn-g:disabled{opacity:.45}
@media(max-width:360px){.compare-sheet .sheet-head,.compare-sheet .sheet-body,.compare-sheet .sheet-foot{padding-left:14px;padding-right:14px}.compare-candidates{grid-template-columns:minmax(0,1fr)}.compare-table th,.compare-table td{width:138px;min-width:138px}.compare-table .compare-corner,.compare-table tbody th{width:78px;min-width:78px}}

/* User-controlled product density: three stable layouts, never arbitrary in-between sizes. */
.card-size-btn[aria-expanded="true"]{background:var(--tx);color:var(--bg)}
.card-size-body{display:grid;gap:14px;padding-top:4px}
.card-size-range{width:100%;height:44px;margin:0;accent-color:var(--acc);cursor:pointer}
.card-size-range:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:8px}
.card-size-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.card-size-labels button{min-height:44px;padding:7px;border:1px solid var(--line2);border-radius:11px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:750;line-height:1.2}
.card-size-labels button.on{border-color:var(--tx);background:var(--tx);color:var(--bg)}
.card-size-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:start;min-height:96px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.card-size-preview span{display:block;aspect-ratio:4 / 5;border:1px solid var(--line2);border-radius:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 28%,var(--panel)) 0 63%,var(--panel) 63%)}
.card-size-preview[data-size="large"]{grid-template-columns:1fr}
.card-size-preview[data-size="large"] span:not(:first-child){display:none}
.card-size-preview[data-size="medium"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-size-preview[data-size="medium"] span:last-child{display:none}

#feedGrid.card-size-large{grid-template-columns:minmax(0,1fr);gap:14px}
#feedGrid.card-size-medium{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#feedGrid.card-size-small{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-inline:10px}
#feedGrid.card-size-large .card-body{padding:13px 14px 16px}
#feedGrid.card-size-large .card-name{min-height:42px;font-size:16px}
#feedGrid.card-size-large .card-price{font-size:20px}
#feedGrid.card-size-small .card{border-radius:12px}
#feedGrid.card-size-small .card-body{padding:7px 7px 9px}
#feedGrid.card-size-small .card-brand{margin-bottom:3px;font-size:8px}
#feedGrid.card-size-small .card-name{min-height:31px;font-size:11.5px;line-height:1.34}
#feedGrid.card-size-small .card-bot{gap:3px;margin-top:5px}
#feedGrid.card-size-small .card-price{font-size:13px}
#feedGrid.card-size-small .card-top{top:5px;left:5px;right:5px}
.card-date{min-width:0;margin-left:auto;color:color-mix(in srgb,var(--muted) 78%,var(--tx));font-size:9.5px;font-weight:580;line-height:1;white-space:nowrap;letter-spacing:-.01em;opacity:.82}
#feedGrid.card-size-large .card-date{font-size:10.5px}
#feedGrid.card-size-small .card-date{font-size:8px}
.mc-meta{display:flex;align-items:center;gap:6px;margin-top:8px;min-width:0}
.mc-meta .mc-price{margin-top:0;min-width:0}
.mc-meta .card-date{margin-left:auto}

@media(max-width:360px){
  .home-head-copy .page-title{font-size:27px}
  .catalog-seg{gap:24px}
  .catalog-seg-btn{font-size:18px}
  #feedGrid.card-size-medium{gap:9px;padding-inline:12px}
  #feedGrid.card-size-small{gap:5px;padding-inline:8px}
  #feedGrid.card-size-small .card-body{padding-inline:6px}
  #feedGrid.card-size-small .card-name{font-size:11px}
  #feedGrid.card-size-small .card-price{font-size:12px}
  #feedGrid.card-size-small .card-date{font-size:7.5px}
}

.storage-recovery{
  position:fixed;
  z-index:1200;
  left:max(12px,env(safe-area-inset-left));
  right:max(12px,env(safe-area-inset-right));
  bottom:calc(76px + env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  gap:12px;
  max-width:560px;
  margin-inline:auto;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--acc) 36%,var(--line));
  border-radius:14px;
  background:var(--panel);
  color:var(--tx);
  box-shadow:0 14px 36px rgba(0,0,0,.18);
  font-size:12px;
  font-weight:650;
  line-height:1.4;
}
.storage-recovery[hidden]{display:none}
.storage-recovery span{min-width:0;flex:1}
.storage-recovery button{
  flex:0 0 auto;
  min-height:44px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:var(--acc);
  color:var(--on-acc);
  font:inherit;
  font-weight:800;
}


/* Miralo Links — warm neutrals, open product cards, quiet navigation. */
.miralo-lockup{display:block;width:164px;height:48px;position:relative;overflow:hidden;isolation:isolate;background:var(--bg)}
.miralo-wordmark{display:block;position:absolute;left:-50px;top:-20px;width:264px;max-width:none;height:auto;filter:invert(1) grayscale(1);mix-blend-mode:lighten}
.light .miralo-wordmark{filter:none;mix-blend-mode:darken}
.home-head-copy{flex:0 0 164px}
.home-logo-button{width:100%}
.home-title-row{min-height:48px;margin-bottom:4px;gap:16px}
.home-topbar{padding-inline:16px;padding-bottom:0}
.lpill{max-width:112px;text-align:right;text-transform:uppercase;letter-spacing:.1em;line-height:1.6;font-size:10px;font-weight:600;color:var(--muted)}
.top-controls{min-width:0;flex-shrink:1}
.home-search-row .sbar{border:0;border-bottom:1px solid var(--line2);border-radius:0;background:transparent;padding-left:0}
.home-search-row .sbar:focus-within{border-bottom-color:var(--tx)}
.home-search-row{gap:10px}
.home-filter-btn,.search-close-btn{border-radius:7px;background:var(--panel)}
.cat-row{padding:4px 0 0}
.cat-list{gap:20px;padding:0;scroll-padding-inline:0}
.cat-row .chip{min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px}
.cat-row .chip.on{background:transparent;color:var(--tx);box-shadow:inset 0 -2px 0 var(--tx)}
.fhead p{flex:0 0 auto;font-size:11px}
.fhead{padding:14px 16px 12px}
.afilters:empty{display:none}
.grid{row-gap:12px}
.grid .card-body{padding-top:7px;padding-bottom:4px}
.card-summary{display:flex;align-items:baseline;justify-content:space-between;gap:5px;min-width:0;margin-bottom:4px}
.card-summary .card-brand{min-width:0;margin:0;color:var(--tx);font-size:12px;font-weight:750;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-summary .card-price{flex-shrink:0;margin-left:auto;white-space:nowrap}
.card-bot{margin-top:5px}
.card-img-wrap::before,.light .card-img-wrap::before{box-shadow:none}
.card-top{top:5px;left:5px;right:5px}
.spill,.category-grid .spill{width:44px;height:44px;border:0;border-radius:7px;background:var(--panel);color:var(--tx);box-shadow:none;backdrop-filter:none}
.spill.sv{background:var(--panel);color:var(--tx)}
.spill.sv svg{color:var(--tx)}
.spill svg{width:16px;height:16px}
.card-date{display:none}
#feedGrid.card-size-large .card-body{padding:12px 0 18px}
#feedGrid.card-size-large .card-summary .card-brand{font-size:15px}
#feedGrid.card-size-large .card-price{font-size:16px}
#feedGrid.card-size-small .card-body{padding:8px 0 10px}
#feedGrid.card-size-small .card-summary{flex-wrap:wrap;gap:3px}
#feedGrid.card-size-small .card-summary .card-brand{font-size:11px;flex-basis:100%}
#feedGrid.card-size-small .card-summary .card-price{font-size:12px;margin-left:0}
#feedGrid.card-size-small .card-top{top:2px;left:2px;right:2px}
#feedGrid.card-size-small .spill{width:44px;height:44px}
.mini-card,.light .mini-card{border:0;border-radius:8px;background:transparent;box-shadow:none}
.mini-card .mc-img{border-radius:8px}
.mini-card .mc-body{padding:8px 0 10px;background:transparent}
.home-section-row .card{border-radius:8px;box-shadow:none}
.home-section-row .card-body,.sim-grid .card-body{padding:8px 0 10px}
.home-section-row .card-price,.sim-grid .card-price{font-size:12px;color:var(--tx)}
.nav,.light .nav{background:var(--bg);border-top:1px solid var(--line2);box-shadow:none;backdrop-filter:none}
.nav-ind{display:none}
.nbtn{position:relative;font-size:11px;letter-spacing:-.02em;color:var(--muted);gap:6px}
.nbtn.on{color:var(--tx);background:transparent}
.nbtn.on::before{content:'';position:absolute;top:0;left:50%;width:20px;height:2px;background:currentColor}
.nbtn svg{width:19px;height:19px}
.nbadge,.filter-count{background:var(--acc);color:var(--on-acc)}
.catalog-main-row{grid-template-columns:66px minmax(0,1fr) 20px;gap:14px;min-height:102px;padding:12px 0}
.catalog-main-icon{width:66px;height:78px;border-radius:7px;overflow:hidden}
.catalog-main-icon img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-subcategories{margin-top:12px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.catalog-subcategories summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;cursor:pointer;font-size:13px;font-weight:650;list-style:none}
.catalog-subcategories summary::-webkit-details-marker{display:none}
.catalog-subcategories summary::after{content:'+';font-size:20px;font-weight:400}
.catalog-subcategories[open] summary::after{content:'−'}
.catalog-subcategories .catalog-subchips{display:flex;flex-wrap:wrap;overflow:visible;padding:0 0 12px;gap:7px}
.catalog-subchip,.catalog-audience-chip,.colchip,.opt,.afchip{border-radius:7px}
.catalog-subchip{min-height:44px;font-size:12px}
.catalog-audience-chips{gap:7px}
.catalog-audience-chip{padding-inline:12px;font-size:12px}
.settings-body{padding-top:16px}
.settings-ctrl-row.card-size-btn{width:100%;text-align:left}
#sCardSizeValue{color:var(--muted);font-size:13px}
.settings-help-card,.settings-hairline,.scard{border-radius:8px}
.settings-help-card{background:transparent;border-color:var(--line2)}
.settings-help-row .settings-row-main b,.settings-help-row .settings-row-action{color:var(--tx)}
.settings-about-logo{width:min(100%,220px)}
.settings-about-logo .miralo-lockup{width:min(100%,210px);height:64px}
.btn-p,.btn-g,.theme-select,.settings-promo-copy,.lang-trigger,.opt,.sheet-close{border-radius:8px}
.btn-p{background:var(--tx);color:var(--bg);box-shadow:none}
.sheet-panel{border-radius:16px 16px 0 0;background:var(--bg)}
.filter-brand-search{font-size:16px;border-radius:8px}
.pd-shell-head,.pd-shell-row{background:var(--bg)}
.pd-shell-head{pointer-events:auto}
.pd-shell-row,body.tg-context .pd-shell-row{grid-template-columns:44px minmax(0,1fr) 44px}
.pd-head-copy,body.tg-context .pd-head-copy{grid-column:2;text-align:left;justify-self:start;background:transparent;border:0;border-radius:0;backdrop-filter:none;color:var(--tx)}
.light .pd-head-copy{background:transparent;border:0}
.pd-head-actions,body.tg-context .pd-head-actions{grid-column:3}
.pd-back{grid-column:1;width:44px;height:44px;justify-content:center;padding:0;border-radius:7px;background:var(--panel)}
.pd-share{width:44px;height:44px;border-radius:7px}
#bdSubBtn[hidden],#catSubBtn[hidden],#catalogCategoryNotifyBtn[hidden]{display:none!important}
.pd-card,.light .pd-card{border:0;border-radius:0;background:var(--bg);box-shadow:none;padding:22px 16px 18px}
.pd-gallery:not(.show)+.pd-card{margin-top:0}
.pd-title-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.pd-name{font-size:24px;font-weight:750}
.pd-price{font-size:26px;white-space:nowrap;color:var(--tx)}
.pd-price-label{display:none}
.pd-context-line{grid-column:1/-1}
.pd-assistance{border:0;border-radius:0;background:transparent}
.pd-assistance-row{padding-inline:0;grid-template-columns:28px minmax(0,1fr) 16px}
.pd-assistance-icon{width:28px;background:transparent;color:var(--muted)}
.pd-promo{border:0;border-top:1px solid var(--line2);border-radius:0;background:transparent;margin:0;padding:14px 0}
.pd-promo-mark{background:var(--panel2);color:var(--tx);border-radius:7px}
.pd-cta{background:var(--bg)}
.pd-cta .btn-p{grid-column:1;grid-row:1;border-radius:8px;background:var(--tx);color:var(--bg);font-weight:750}
.pd-cta .btn-p.is-disabled{background:var(--panel2);color:var(--tx)}
.pd-cta-save.sv{background:var(--tx);color:var(--bg)}
.pd-cta-save.sv svg{color:inherit!important}
.pd-cta-save{grid-column:2;grid-row:1;border-radius:8px}
.pd-region-alert:not([hidden])~.btn-p,.pd-region-alert:not([hidden])~.pd-cta-save{grid-row:2}
.pd-cta-note{grid-column:1/-1}
.pd-gallery .pd-thumb{border-radius:7px}
.sp-bg,.sp-glow{background:var(--bg);background-image:none}
.sp-glow{display:none}
.sp-title{color:var(--tx)}
.sp-top{justify-content:center}
.sp-index{display:none}
.telegram-gate{background:var(--bg)}
.telegram-gate-card{background:var(--panel);border-radius:12px;box-shadow:none}
.telegram-gate-brand .miralo-lockup{background:var(--panel)}
.telegram-gate-cta{border-radius:8px}
@media(max-width:360px){
  .home-head-copy{flex-basis:150px}
  .miralo-lockup{width:150px;height:44px}
  .miralo-wordmark{width:242px;left:-46px;top:-18px}
  .lpill{max-width:104px;font-size:10px}
  .home-title-row{gap:12px}
  .cat-list{gap:18px}
  .fhead h3{font-size:20px}
  .nbtn{font-size:10px}
  .catalog-main-row{grid-template-columns:60px minmax(0,1fr) 20px}
  .catalog-main-icon{width:60px;height:72px}
  .pd-name{font-size:21px}
  .pd-price{font-size:23px}
}

.afilters{flex-wrap:wrap;overflow:visible;gap:6px;padding-bottom:12px}
.afchip{min-height:36px;padding:7px 10px;font-size:11px;background:var(--panel);box-shadow:none}
.afchip.on{box-shadow:none}
.afchip.clear,#flReset{color:var(--muted);background:transparent;border:1px solid var(--line2)}
#flReset{border-radius:8px;background:var(--bg);color:var(--tx)}
.catalog-subcategories summary:focus-visible{outline:2px solid var(--tx);outline-offset:-2px}

/* Compact browsing, full product photography and direct appearance controls. */
.fhead[hidden]{display:none}
.lpill{max-width:none;gap:6px;text-transform:none;letter-spacing:0}
.lpill .quick-theme,.lpill .lang-trigger{width:44px;height:44px;padding:0;border-radius:6px}
.lpill .lang-menu{text-align:left;border-radius:8px}
#feedGrid{padding-top:10px}
.card-summary{flex-wrap:wrap;gap:2px}
.card-summary .card-brand{flex-basis:100%;font-size:11px}
.card-summary .card-price{margin-left:0;font-size:17px;font-weight:800;line-height:1.25}
.card-body>.card-brand{font-size:13px;font-weight:750;line-height:1.25;min-height:0;margin-bottom:5px;color:var(--tx)}
.card-body>.card-name{font-size:14px;line-height:1.35;min-height:0}
.card-body>.card-price{font-size:16px;line-height:1.25;margin-top:7px;color:var(--acc)}
#feedGrid.card-size-small .card-body>.card-brand{font-size:11px}
#feedGrid.card-size-small .card-body>.card-price{font-size:13px}
#feedGrid.card-size-large .card-body>.card-brand{font-size:15px}
#feedGrid.card-size-large .card-body>.card-price{font-size:18px}
.grid .card-body{padding-top:6px;padding-bottom:4px}
#feedGrid.card-size-medium .card-img-wrap{aspect-ratio:1 / 1.08!important}
.card-name,.category-grid .card-name,.bdetail-grid-wrap .card-name{min-height:0}
.card-img,.image-preset-product-card,.card-img.contain{object-fit:cover!important;padding:0!important;object-position:center!important}
.card-img-wrap.has-contained::after,.mini-card .mc-img.has-contained::after{display:none!important}
.pdetail.op{border-radius:14px 14px 0 0}
.pd-media{border-radius:6px;background:var(--panel);height:min(46vh,440px);min-height:220px}
.pd-media img,.pd-media.is-wide-image #pdImg,.pd-media.is-tall-image #pdImg,.pd-media.is-square-image #pdImg{object-fit:contain!important;border-radius:0;padding:0}
.pd-media.has-contained::after{display:none!important}
.pd-card,.light .pd-card{margin-inline:0;padding:18px 16px}
.pd-thumb,.pd-size-chip,.pd-measurements{border-radius:6px}
.pd-head-actions .ibtn{border-radius:6px;background:var(--panel);color:var(--tx);box-shadow:none;backdrop-filter:none}
