/* ==========================================================================
   گیفت‌لند — استایل مشترک فروشگاه
   Design tokens (dark default + light), shared layout & component classes.
   Used by every storefront page. Admin panel has its own stylesheet.
   ========================================================================== */
* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:#1F2024; --bg2:#191A1D;
  --surface:linear-gradient(155deg,#2B2C30,#27282C);
  --inset:linear-gradient(155deg,#33343A,#2B2C30);
  --tile:#33343A; --cover:linear-gradient(145deg,#33343A,rgba(254,219,153,.10));
  --glass:blur(26px) saturate(1.2); --glass-hi:inset 0 1px 0 rgba(255,255,255,.09);
  --blob1:rgba(254,219,153,.14); --blob2:rgba(254,219,153,.07);
  --ink:#FFFFFF; --text:#F7F7F8; --body:#D5D5D8; --muted:#B1B2B7; --faint:#97989E; --dim:#7D7E84; --dimmer:#696A70;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.14); --line3:rgba(255,255,255,.21);
  --accent:#FEDB99; --accent-hover:#F4CA78; --accent-ink:#FEDB99;
  --accent-soft:rgba(254,219,153,.12); --accent-medium:rgba(254,219,153,.22); --accent-line:rgba(254,219,153,.25); --accent-line2:rgba(254,219,153,.52);
  --action-bg:#FEDB99; --action-hover:#F4CA78; --action-text:#1F2024;
  --header:rgba(31,32,36,.94); --grid:rgba(255,255,255,.014); --glow:rgba(254,219,153,.07); --glow2:rgba(254,219,153,.05);
  --shadow:0 30px 80px rgba(0,0,0,.38);
  --ok:#7BD88F; --ok-soft:rgba(123,216,143,.1); --ok-line:rgba(123,216,143,.26);
  --wait:#F4C47C; --wait-soft:rgba(244,196,124,.12); --wait-line:rgba(244,196,124,.28);
  --danger:#EF9A9A; --danger-soft:rgba(239,154,154,.1); --danger-line:rgba(239,154,154,.26);
  --ink-on-accent:#1F2024;
}

body[data-theme="light"] {
  --bg:#FFFFFF; --bg2:#F7F7F8;
  --surface:linear-gradient(155deg,#FFFFFF,#FCFCFD);
  --inset:#FAFAFB; --tile:#F6F6F7; --cover:linear-gradient(145deg,#F7F7F8,rgba(254,219,153,.24));
  --glass:blur(28px) saturate(1.02); --glass-hi:inset 0 1px 0 #FFFFFF;
  --blob1:rgba(31,32,36,.06); --blob2:rgba(254,219,153,.14);
  --ink:#1F2024; --text:#2B2C30; --body:#48494F; --muted:#66676E; --faint:#7F8087; --dim:#A0A1A7; --dimmer:#B6B7BC;
  --line:rgba(31,32,36,.09); --line2:rgba(31,32,36,.13); --line3:rgba(31,32,36,.21);
  --accent-ink:#7B5410; --accent-soft:rgba(254,219,153,.24); --accent-medium:rgba(254,219,153,.48); --accent-line:rgba(137,92,12,.22); --accent-line2:rgba(137,92,12,.46);
  --action-bg:#1F2024; --action-hover:#2B2C30; --action-text:#FFFFFF;
  --header:rgba(255,255,255,.94); --grid:rgba(31,32,36,.022); --glow:rgba(31,32,36,.035); --glow2:rgba(254,219,153,.08);
  --shadow:0 24px 60px rgba(31,32,36,.09);
  --ok:#1F8A5B; --ok-soft:rgba(31,138,91,.08); --ok-line:rgba(31,138,91,.2);
  --wait:#B57A16; --wait-soft:rgba(181,122,22,.08); --wait-line:rgba(181,122,22,.22);
  --danger:#C0392B; --danger-soft:rgba(192,57,43,.08); --danger-line:rgba(192,57,43,.2);
}

body {
  font-family:'Vazirmatn',system-ui,sans-serif; direction:rtl;
  background:var(--bg); color:var(--text); min-height:100vh; overflow-x:hidden;
}
a { color:var(--accent-ink); text-decoration:none; }
a:hover { color:var(--accent-ink); }
::selection { background:var(--accent); color:var(--ink-on-accent); }
::-webkit-scrollbar { width:11px; height:11px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:rgba(128,128,128,.35); border-radius:8px; border:2px solid var(--bg); }
.ic { display:grid; place-items:center; }
img { max-width:100%; display:block; }

/* ambient background blobs */
.bg-blobs { position:fixed; inset:0; pointer-events:none; z-index:0; }
.bg-blobs .blob { position:absolute; border-radius:50%; }
.blob-a { top:-180px; right:-160px; width:600px; height:600px; background:radial-gradient(circle,var(--blob1),transparent 65%); }
.blob-b { top:26%; left:-220px; width:680px; height:680px; background:radial-gradient(circle,var(--blob2),transparent 65%); }
.blob-c { top:58%; right:8%; width:520px; height:520px; background:radial-gradient(circle,var(--blob1),transparent 65%); }
.blob-d { bottom:-260px; left:24%; width:720px; height:720px; background:radial-gradient(circle,var(--blob2),transparent 65%); }

.page { background:var(--bg); color:var(--text); min-height:100vh; overflow-x:hidden; }
.public-premium-bg { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; background:radial-gradient(ellipse at bottom,#1b2735 0%,#090a0f 100%); opacity:.72; }
.public-premium-bg-stars { position:absolute; top:0; left:0; width:2px; height:2px; background:transparent; box-shadow:120px 180px #fff,360px 420px #fff,640px 120px #fff,900px 520px #fff,1180px 240px #fff,1420px 700px #fff,1660px 340px #fff,1880px 820px #fff,220px 980px #fff,760px 1120px #fff,1260px 960px #fff,1740px 1260px #fff; animation:homeAnimStar 50s linear infinite; opacity:.34; }
.public-premium-bg-stars-2 { width:1px; height:1px; box-shadow:80px 260px #fff,420px 80px #fff,820px 360px #fff,1120px 640px #fff,1540px 180px #fff,1860px 560px #fff,300px 1360px #fff,980px 1480px #fff,1460px 1180px #fff; animation-duration:100s; opacity:.24; }
.public-premium-bg-stars-3 { width:3px; height:3px; box-shadow:260px 540px #fff,600px 860px #fff,1040px 220px #fff,1380px 520px #fff,1780px 980px #fff,520px 1540px #fff,1200px 1740px #fff; animation-duration:150s; opacity:.18; }
@keyframes homeAnimStar { from { transform:translateY(0); } to { transform:translateY(-1200px); } }
[data-active="index.html"] .page { background:transparent; position:relative; z-index:1; --home-glass-primary:rgba(255,255,255,.085); --home-glass-secondary:rgba(255,255,255,.055); --home-glass-subtle:rgba(255,255,255,.035); --home-glass-border:rgba(255,255,255,.12); --home-glass-shadow:0 18px 50px rgba(0,0,0,.24); }
[data-active="index.html"] .glass,[data-active="index.html"] .home-cta { background:var(--home-glass-primary); border:1px solid var(--home-glass-border); backdrop-filter:blur(16px) saturate(125%); -webkit-backdrop-filter:blur(16px) saturate(125%); box-shadow:var(--home-glass-shadow),inset 0 1px 0 rgba(255,255,255,.07); }
[data-active="index.html"] .cat-tile,[data-active="index.html"] .prod,[data-active="index.html"] .home-promo-banner { background:var(--home-glass-secondary); border:1px solid var(--home-glass-border); backdrop-filter:blur(16px) saturate(125%); -webkit-backdrop-filter:blur(16px) saturate(125%); box-shadow:var(--home-glass-shadow),inset 0 1px 0 rgba(255,255,255,.05); }
[data-active="index.html"] .home-content-card,[data-active="index.html"] .home-review-card,[data-active="index.html"] .faq-item { background:var(--home-glass-subtle); border-color:rgba(255,255,255,.09); backdrop-filter:blur(14px) saturate(115%); -webkit-backdrop-filter:blur(14px) saturate(115%); box-shadow:0 14px 36px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.04); }
[data-active="index.html"] .cat-tile:hover,[data-active="index.html"] .prod:hover { background:rgba(255,255,255,.075); }
[data-active="index.html"] .hdr { background:rgba(9,10,15,.6); backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%); }
[data-active="index.html"] #firstPurchaseBanner { background:var(--home-glass-primary)!important; }
body[data-theme="light"][data-active="index.html"] .home-space-bg { background:linear-gradient(180deg,#f7f8fa,#eef0f3); opacity:.45; }
body[data-theme="light"][data-active="index.html"] .page { --home-glass-primary:rgba(255,255,255,.72); --home-glass-secondary:rgba(255,255,255,.58); --home-glass-subtle:rgba(255,255,255,.46); --home-glass-border:rgba(31,32,36,.11); --home-glass-shadow:0 18px 45px rgba(31,32,36,.11); }
body[data-theme="light"][data-active="index.html"] .home-content-card, body[data-theme="light"][data-active="index.html"] .home-review-card, body[data-theme="light"][data-active="index.html"] .faq-item { border-color:rgba(31,32,36,.09); }
[data-active="index.html"] .home-cta .btn-primary { box-shadow:0 10px 24px rgba(31,32,36,.22); }
[data-active="index.html"] .bg-blobs { opacity:.25; }
[data-active="index.html"] .ftr { background:rgba(9,10,15,.45); }
[data-active="index.html"] .prod-img { background:rgba(255,255,255,.035); }
body[data-theme="light"][data-active="index.html"] .ftr { background:rgba(255,255,255,.72); }
@media (prefers-reduced-motion:reduce) { .public-premium-bg-stars { animation:none; } }
.wrap { max-width:1200px; margin:0 auto; padding-left:32px; padding-right:32px; }
.z { position:relative; z-index:1; }

/* announcement bar */
.announce { background:var(--bg2); border-bottom:1px solid var(--line); font-size:12px; font-weight:500; text-align:center; padding:9px 16px; color:var(--muted); }
.announce b { color:var(--accent-ink); font-weight:700; letter-spacing:.5px; }

/* ============================ HEADER ============================ */
.hdr { position:sticky; top:0; z-index:50; background:var(--header); backdrop-filter:blur(20px); border-bottom:1px solid var(--line); }
.hdr-inner { max-width:1200px; margin:0 auto; padding:0 32px; height:76px; display:flex; align-items:center; gap:28px; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; flex:none; }
.logo-mark { width:40px; height:40px; border-radius:11px; background:var(--accent); color:var(--ink-on-accent); display:grid; place-items:center; }
.logo-txt { display:flex; flex-direction:column; line-height:1.15; }
.logo-name { font-size:17.5px; font-weight:800; color:var(--ink); letter-spacing:-.2px; }
.logo-tag { font-size:10px; color:var(--faint); font-weight:500; letter-spacing:.3px; }
.nav { display:flex; align-items:center; gap:4px; flex:none; }
.nav a { padding:9px 14px; color:var(--muted); font-size:13.5px; font-weight:500; text-decoration:none; border-radius:9px; }
.nav a:hover, .nav a.active { color:var(--ink); background:var(--accent-soft); }
.hdr-search { flex:1; position:relative; max-width:320px; min-width:170px; margin-right:auto; }
.hdr-search input { width:100%; background:var(--tile); border:1px solid var(--line2); border-radius:11px; padding:10.5px 40px 10.5px 14px; color:var(--text); font-family:inherit; font-size:13px; outline:none; }
.hdr-search input:focus { border-color:var(--accent-line2); }
.hdr-search svg { position:absolute; right:14px; top:50%; transform:translateY(-50%); opacity:.45; color:var(--text); }
.hdr-actions { display:flex; align-items:center; gap:10px; flex:none; }
.theme-btn { width:41px; height:41px; border-radius:11px; background:transparent; border:1px solid var(--line3); cursor:pointer; display:grid; place-items:center; color:var(--muted); }
.theme-btn:hover { border-color:var(--accent-line2); color:var(--accent-ink); }
.mobile-menu-btn { display:none; width:41px; height:41px; padding:10px; border:1px solid var(--line3); border-radius:11px; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; gap:4px; }
.mobile-menu-btn span { display:block; width:100%; height:2px; border-radius:2px; background:var(--text); }
.mobile-menu { display:none; border-top:1px solid var(--line); padding:14px 18px 18px; background:var(--header); }
.mobile-menu nav { display:grid; gap:3px; }
.mobile-menu nav a { padding:11px 12px; border-radius:9px; color:var(--body); font-size:13.5px; }
.mobile-menu nav a:hover { background:var(--accent-soft); color:var(--ink); }
.mobile-auth { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:12px; margin-top:8px; border-top:1px solid var(--line); }
.mobile-auth .btn { justify-content:center; }

/* ============================ BUTTONS ============================ */
.btn { display:inline-flex; align-items:center; gap:9px; border-radius:11px; font-family:inherit; font-weight:700; cursor:pointer; text-decoration:none; border:none; font-size:13px; padding:10px 18px; transition:background .18s, border-color .18s, transform .18s; }
.btn-primary { background:var(--action-bg); color:var(--action-text); }
.btn-primary:hover { background:var(--action-hover); color:var(--action-text); }
.btn-outline { background:transparent; border:1px solid var(--line3); color:var(--text); font-weight:600; }
.btn-outline:hover { border-color:var(--accent-line2); }
.btn-lg { font-size:14.5px; padding:15px 32px; border-radius:12px; }
.btn-dark { background:var(--action-bg); color:var(--action-text); }
.btn-dark:hover { background:var(--action-hover); color:var(--action-text); }
.btn-block { width:100%; justify-content:center; }

/* ============================ SHARED PRIMITIVES ============================ */
.glass { background:var(--surface); backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); box-shadow:var(--glass-hi); border:1px solid var(--line); border-radius:18px; }
.eyebrow { font-size:12.5px; color:var(--accent-ink); font-weight:700; letter-spacing:.5px; display:block; margin-bottom:10px; }
.h2 { font-size:30px; font-weight:800; color:var(--ink); letter-spacing:-.5px; }
.sec { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:88px 32px 0; }
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; gap:18px; flex-wrap:wrap; }
.link-more { font-size:13px; color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:7px; font-weight:500; padding-bottom:4px; }
.link-more:hover { color:var(--accent-ink); }
.pill { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:700; padding:4px 11px; border-radius:100px; }
.pill.ok { background:var(--ok-soft); border:1px solid var(--ok-line); color:var(--ok); }
.pill.wait { background:var(--wait-soft); border:1px solid var(--wait-line); color:var(--wait); }
.pill.accent { background:var(--accent-soft); border:1px solid var(--accent-line); color:var(--accent-ink); }

/* category tiles */
.cat-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.cat-tile { background:var(--surface); backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); box-shadow:var(--glass-hi); border:1px solid var(--line); border-radius:16px; padding:26px 18px 22px; text-decoration:none; display:flex; flex-direction:column; gap:16px; transition:transform .2s, border-color .2s; }
.cat-tile:hover { border-color:var(--accent-line2); transform:translateY(-3px); }
.cat-ic { width:46px; height:46px; border-radius:13px; background:var(--accent-soft); border:1px solid var(--accent-line); display:grid; place-items:center; color:var(--accent-ink); }
.cat-name { font-size:14px; color:var(--ink); display:block; margin-bottom:4px; font-weight:700; }
.cat-count { font-size:11.5px; color:var(--faint); }

/* product cards */
.prod-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.home-slider-wrap { position:relative; display:flex; align-items:center; gap:10px; }
.home-product-slider { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; flex:1; }
.home-product-slider::-webkit-scrollbar { display:none; }
.home-product-slider .prod { flex:0 0 calc(25% - 11px); scroll-snap-align:start; }
.home-slider-control { width:34px; height:34px; border:1px solid var(--line2); border-radius:50%; background:var(--surface); color:var(--ink); cursor:pointer; flex:0 0 auto; }
.home-banner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-promo-banner { min-height:150px; padding:22px; border:1px solid var(--line2); border-radius:18px; background:var(--surface); display:flex; align-items:flex-end; gap:14px; overflow:hidden; }
.home-promo-banner img { width:92px; height:92px; object-fit:contain; flex:none; }
.home-promo-banner b,.home-promo-banner span { display:block; }
.home-promo-banner b { color:var(--ink); margin-bottom:8px; }
.home-promo-banner span { color:var(--muted); font-size:13px; line-height:1.8; }
.home-promo-banner a { display:inline-block; margin-top:10px; color:var(--accent-ink); font-size:12px; }
@media (max-width:1024px) { .home-product-slider .prod { flex-basis:calc(33.333% - 10px); } }
@media (max-width:780px) { .home-product-slider .prod { flex-basis:78%; } .home-slider-control { display:none; } .home-banner-grid { grid-template-columns:1fr; } }
.prod { background:var(--surface); backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); box-shadow:var(--glass-hi); border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, border-color .2s; }
.prod:hover { border-color:var(--accent-line2); transform:translateY(-3px); }
.prod-img { position:relative; height:150px; background:var(--cover); border-bottom:1px solid var(--line); display:grid; place-items:center; overflow:hidden; }
.prod-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.prod-img .ph { color:var(--dim); }
.prod-badge { position:absolute; top:12px; right:12px; background:var(--surface); color:var(--accent-ink); font-size:10.5px; font-weight:700; padding:4px 11px; border-radius:100px; border:1px solid var(--accent-line); }
.prod-body { padding:18px; display:flex; flex-direction:column; flex:1; }
.prod-name { font-size:14.5px; color:var(--ink); margin-bottom:4px; font-weight:700; text-decoration:none; }
.prod-name:hover { color:var(--accent-ink); }
.prod-sub { font-size:12px; color:var(--faint); margin-bottom:18px; }
.prod-foot { margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; }
.prod-old { font-size:11px; color:var(--dim); text-decoration:line-through; display:block; margin-bottom:1px; }
.prod-price { font-size:16px; color:var(--ink); font-weight:800; }
.prod-price .u { font-size:10.5px; font-weight:400; color:var(--faint); }
.prod-buy { width:38px; height:38px; border-radius:11px; background:transparent; border:1px solid var(--accent-line2); cursor:pointer; display:grid; place-items:center; color:var(--accent-ink); }
.prod-buy:hover { background:var(--accent-soft); }
.prod-buy:disabled { opacity:.45; cursor:not-allowed; }

/* Shared premium shell for public commerce/content pages. Homepage art direction
   stays isolated under [data-active="index.html"]. */
.public-commerce-page {
  --public-container:1200px;
  --public-radius-lg:24px;
  --public-radius-md:18px;
  --public-surface-primary:rgba(255,255,255,.072);
  --public-surface-secondary:rgba(255,255,255,.046);
  --public-surface-subtle:rgba(255,255,255,.026);
  --public-surface-border:rgba(255,255,255,.105);
  --public-elevation:0 20px 54px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.055);
}
body[data-theme="light"].public-commerce-page {
  --public-surface-primary:rgba(255,255,255,.82);
  --public-surface-secondary:rgba(255,255,255,.68);
  --public-surface-subtle:rgba(255,255,255,.5);
  --public-surface-border:rgba(31,32,36,.1);
  --public-elevation:0 18px 48px rgba(31,32,36,.085),inset 0 1px #fff;
}
.public-commerce-page .page { position:relative; background:linear-gradient(180deg,var(--bg),var(--bg2) 54%,var(--bg)); }
.public-commerce-page .public-premium-bg { display:none; }
body[data-theme="dark"].public-commerce-page .page { background:transparent; }
body[data-theme="dark"].public-commerce-page .public-premium-bg { display:block; position:absolute; }
body[data-theme="dark"].public-commerce-page .public-premium-bg::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px 120px); }
body[data-theme="dark"].public-commerce-page .bg-blobs { opacity:.25; }
.public-commerce-page .bg-blobs { opacity:.55; }
.public-commerce-page .hdr-inner { max-width:1380px; gap:18px; }
.public-commerce-page .nav { gap:0; }
.public-commerce-page .nav a { padding-inline:8px; font-size:12px; }
.public-commerce-page .hdr-search { min-width:145px; max-width:210px; }
.public-commerce-page .hdr-actions>#authLink { display:none; }
.public-container,.public-section { position:relative; z-index:1; width:100%; max-width:var(--public-container); margin-inline:auto; padding-inline:32px; }
.public-page-hero { position:relative; z-index:1; overflow:hidden; border-bottom:1px solid var(--line); }
.public-page-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(760px 360px at 82% 0,var(--glow),transparent 68%); }
.public-page-hero-inner { padding-top:34px; padding-bottom:44px; }
.public-page-kicker,.public-section-kicker { display:block; color:var(--accent-ink); font-size:11px; font-weight:700; letter-spacing:.35px; }
.public-page-kicker { margin-bottom:9px; }
.public-page-title { max-width:760px; margin:0 0 9px; color:var(--ink); font-size:clamp(31px,4vw,42px); font-weight:790; line-height:1.4; letter-spacing:-.8px; }
.public-page-summary { color:var(--muted); font-size:13.5px; line-height:1.9; }
.public-breadcrumb { padding:0 0 21px; }
.public-breadcrumb-current { color:var(--accent-ink); font-weight:650; }
.public-section { padding-top:50px; padding-bottom:88px; }
.public-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.public-section-head h2 { margin-top:6px; color:var(--ink); font-size:22px; font-weight:760; line-height:1.55; }
.public-section-count { flex:none; color:var(--faint); font-size:12px; }

.public-commerce-page .glass { background:var(--public-surface-primary); border-color:var(--public-surface-border); backdrop-filter:blur(18px) saturate(120%); -webkit-backdrop-filter:blur(18px) saturate(120%); box-shadow:var(--public-elevation); }
.public-commerce-page .prod { background:var(--public-surface-secondary); border-color:var(--public-surface-border); border-radius:var(--public-radius-md); box-shadow:0 14px 38px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.04); }
body[data-theme="light"].public-commerce-page .prod { box-shadow:0 14px 38px rgba(31,32,36,.07),inset 0 1px #fff; }
.public-commerce-page .prod:hover { border-color:var(--accent-line); box-shadow:0 20px 46px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.05); }
.public-commerce-page .prod-img { height:178px; background:linear-gradient(145deg,var(--public-surface-subtle),var(--accent-soft)); }
.public-commerce-page .prod-body { padding:20px; }
.public-commerce-page .prod-name { font-size:15px; line-height:1.75; }
.public-commerce-page .prod-sub { min-height:42px; line-height:1.8; }
.public-commerce-page .prod-foot { padding-top:14px; border-top:1px solid var(--line); }
.public-commerce-page .catalog-state { background:var(--public-surface-secondary); border-color:var(--public-surface-border); box-shadow:0 14px 36px rgba(0,0,0,.1); }

@media (max-width:1200px) {
  .public-commerce-page .nav,.public-commerce-page .hdr-search,.public-commerce-page .hdr-account { display:none; }
  .public-commerce-page .hdr-actions { margin-right:auto; }
  .public-commerce-page .mobile-menu-btn { display:flex; }
  .public-commerce-page .mobile-menu:not([hidden]) { display:block; }
}

/* Phase 32 reference-aligned catalog and product detail */
.category-selector-section,.category-children-section,.category-about-section { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:36px 32px 0; }
.public-commerce-page .category-selector-section { padding-top:30px; }
.public-commerce-page .category-selector-section .cat-grid { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.public-commerce-page .category-selector-section .cat-tile { min-height:86px; padding:16px; flex-direction:row; align-items:center; gap:13px; background:var(--public-surface-subtle); border-color:transparent; border-radius:15px; box-shadow:none; }
.public-commerce-page .category-selector-section .cat-tile:hover { background:var(--public-surface-secondary); border-color:var(--public-surface-border); transform:translateY(-2px); }
.public-commerce-page .category-selector-section .category-choice.active { background:var(--public-surface-primary); border-color:var(--accent-line); box-shadow:0 12px 32px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.05); }
.public-commerce-page .category-selector-section .cat-ic { width:40px; height:40px; flex:none; border:0; border-radius:12px; }
.public-commerce-page .category-selector-section .cat-name { font-size:13.5px; }
.public-commerce-page .category-children-section { padding-top:24px; }
.public-commerce-page .category-children-head { margin-bottom:12px; }
.public-commerce-page .category-children-grid .cat-tile { min-height:52px; background:transparent; border-color:var(--line); box-shadow:none; }
.public-commerce-page .category-children-grid .cat-tile:hover,.public-commerce-page .category-children-grid .cat-tile.active { background:var(--accent-soft); border-color:var(--accent-line); transform:none; }
.public-commerce-page .category-about-section { padding-top:36px; }
.public-commerce-page .category-about { padding:34px 36px; border-radius:var(--public-radius-lg); background:linear-gradient(135deg,var(--public-surface-primary),var(--public-surface-subtle)); }
.public-commerce-page .category-about-copy { max-width:670px; }
.public-commerce-page .category-about-points { gap:0; border-block:1px solid var(--line); }
.public-commerce-page .category-about-points span { padding:12px 2px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.public-commerce-page .category-about-points span:last-child { border-bottom:0; }
.public-commerce-page .category-about-points span::before { width:6px; height:6px; }
.category-choice { width:100%; text-align:right; cursor:pointer; color:inherit; font-family:inherit; }
.category-choice.active { border-color:var(--accent-line2); background:linear-gradient(145deg,var(--surface),var(--accent-soft)); }
.category-children-section { padding-top:22px; }
.category-children-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.category-children-head h2 { color:var(--ink); font-size:17px; font-weight:800; }
.category-children-head p { color:var(--faint); font-size:12px; }
.category-children-grid { display:flex; gap:10px; flex-wrap:wrap; }
.category-children-grid .cat-tile { width:auto; min-width:170px; padding:15px 17px; flex-direction:row; align-items:center; }
.category-children-grid .cat-ic { width:36px; height:36px; border-radius:10px; }
.category-about { border-radius:20px; padding:36px; display:grid; grid-template-columns:1.35fr 1fr; gap:40px; align-items:center; }
.category-about-copy h2,.product-description h2,.product-display-benefits h2,.product-specifications h2 { color:var(--ink); font-size:21px; font-weight:800; margin-bottom:10px; }
.category-about-copy p,.product-description>p { color:var(--muted); font-size:13.5px; line-height:2.15; white-space:pre-line; }
.category-about-points { display:grid; gap:11px; }
.category-about-points span { display:grid; grid-template-columns:10px 1fr; column-gap:10px; align-items:center; padding:11px 13px; border:1px solid var(--line); background:var(--inset); border-radius:12px; }
.category-about-points span::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--accent); grid-row:1/3; }
.category-about-points b { color:var(--ink); font-size:12.5px; }
.category-about-points small { color:var(--faint); font-size:10.5px; line-height:1.8; }
.category-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-state { grid-column:1/-1; margin:34px auto; width:min(100%,680px); padding:28px; text-align:center; color:var(--muted); background:var(--surface); border:1px dashed var(--line2); border-radius:16px; }
.catalog-state.empty { color:var(--faint); }
.catalog-state.error { color:var(--danger); border-color:rgba(238,136,136,.28); }
.home-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-process-grid .home-content-card { min-height:120px; padding:24px; }
.home-process-grid .home-content-card b { display:block; color:var(--ink); margin-bottom:8px; }
.home-process-grid .home-content-card span { display:block; color:var(--muted); line-height:1.9; font-size:13px; }
.home-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media (max-width:780px) { .home-process-grid,.home-content-grid { grid-template-columns:1fr; } }

.product-detail-shell { position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:28px 32px 88px; }
.product-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:40px; align-items:start; }
.product-breadcrumb-shell { padding-top:27px; }
.public-commerce-page .product-detail-shell { padding-top:18px; }
.public-commerce-page .product-detail-hero { direction:ltr; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:52px; }
.public-commerce-page .product-detail-media,.public-commerce-page .product-detail-copy { direction:rtl; }
.product-detail-media { min-width:0; border-color:var(--line2); border-radius:24px; overflow:hidden; box-shadow:var(--shadow),var(--glass-hi); }
.public-commerce-page .product-detail-media { border-color:var(--public-surface-border); box-shadow:var(--public-elevation); }
.product-detail-image { position:relative; height:420px; padding:24px; background:var(--cover); display:grid; place-items:center; color:var(--dim); overflow:hidden; }
.public-commerce-page .product-detail-image { height:400px; background:linear-gradient(145deg,var(--public-surface-subtle),var(--accent-soft)); }
.product-detail-image img { width:100%; height:100%; object-fit:contain; border-radius:15px; }
.product-image-empty { display:grid; justify-items:center; gap:12px; color:var(--dim); }
.product-image-empty small { color:var(--faint); font-size:11.5px; }
.product-media-badge { position:absolute; top:16px; right:16px; padding:5px 13px; border:1px solid var(--accent-line); border-radius:100px; background:var(--surface); color:var(--accent-ink); font-size:11px; font-weight:700; }
.product-trust-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.product-trust-row span { min-width:0; padding:16px 12px; text-align:center; border-left:1px solid var(--line); }
.product-trust-row span:last-child { border-left:0; }
.product-trust-row b { display:block; color:var(--ink); font-size:12.5px; font-weight:700; }
.product-trust-row small { display:block; margin-top:3px; color:var(--faint); font-size:10.5px; line-height:1.65; }
.product-detail-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:4px 0 0; }
.public-commerce-page .product-detail-copy { align-items:stretch; padding-top:10px; text-align:right; }
.product-category-pill { display:inline-flex; padding:6px 13px; margin-bottom:16px; text-decoration:none; }
.public-commerce-page .product-category-pill { width:max-content; margin-bottom:13px; padding:0; border:0; border-radius:0; background:transparent; }
.product-detail-copy h1 { margin:0 0 8px; color:var(--ink); font-size:clamp(28px,3.2vw,34px); font-weight:800; line-height:1.5; letter-spacing:-.6px; }
.public-commerce-page .product-detail-copy h1 { max-width:590px; font-size:clamp(30px,3.2vw,40px); font-weight:780; line-height:1.42; }
.product-detail-subtitle { color:var(--muted); line-height:2; font-size:14px; font-weight:300; }
.product-rating { display:flex; align-items:center; gap:9px; margin:15px 0 28px; }
.product-rating span { color:var(--accent-ink); font-size:13px; letter-spacing:2px; direction:ltr; }
.product-rating small { color:var(--faint); font-size:12px; }
.product-purchase-facts { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:-7px 0 25px; padding-block:14px; border-block:1px solid var(--line); }
.product-purchase-facts>span { min-width:0; padding-inline:16px; border-inline-start:1px solid var(--line); }
.product-purchase-facts>span:first-child { padding-inline-start:0; border-inline-start:0; }
.product-purchase-facts small,.product-purchase-facts b,.product-purchase-facts em { display:block; }
.product-purchase-facts small { margin-bottom:4px; color:var(--faint); font-size:10.5px; }
.product-purchase-facts b { color:var(--ink); font-size:12.5px; font-weight:700; }
.product-purchase-facts em { margin-top:2px; color:var(--muted); font-size:10.5px; font-style:normal; line-height:1.7; }
.product-plan-slot { width:100%; min-width:0; margin:0 0 28px; padding:0; border:0; }
.product-plan-slot legend { display:block; margin-bottom:12px; color:var(--faint); font-size:12.5px; font-weight:600; }
.product-plan-slot>div { display:flex; flex-wrap:wrap; gap:10px; }
.product-plan { min-width:132px; padding:12px 20px; text-align:right; border:1px solid var(--line3); background:transparent; color:var(--muted); border-radius:12px; font-family:inherit; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.product-plan.active { border:1.5px solid var(--accent-line2); background:var(--accent-soft); color:var(--ink); }
.product-plan:disabled { cursor:not-allowed; opacity:.58; }.product-plan b { font-size:13px; font-weight:600; }.product-plan>span { color:var(--faint); font-size:10.5px; }.product-plan.active b { font-weight:700; }.product-plan small { color:var(--faint); font-size:11px; }.product-plan.active small { color:var(--accent-ink); font-weight:600; }
.product-plan-placeholder { width:100%; display:flex; justify-content:space-between; gap:12px; padding:13px 15px; border:1px solid var(--line); background:var(--inset); border-radius:12px; margin-bottom:28px; }
.product-plan-placeholder span { color:var(--ink); font-weight:700; font-size:12.5px; }.product-plan-placeholder small { color:var(--faint); font-size:10.5px; }
.product-price-card { width:100%; padding:24px; border-color:var(--line2); border-radius:17px; }
.public-commerce-page .product-price-card { padding:25px; border-color:var(--public-surface-border); border-radius:var(--public-radius-md); background:linear-gradient(135deg,var(--public-surface-primary),var(--public-surface-subtle)); }
.product-price-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.product-price-card del { display:block; color:var(--dim); font-size:12.5px; margin-bottom:2px; }
.product-price-card b { color:var(--ink); font-size:28px; font-weight:800; letter-spacing:-.4px; }.product-price-card b small { color:var(--faint); font-size:13px; font-weight:400; }
.product-discount { padding:7px 13px; border:1px solid var(--accent-line); border-radius:11px; background:var(--accent-soft); color:var(--accent-ink); font-size:12.5px; font-weight:800; }
.product-buy-button { width:100%; min-height:52px; justify-content:center; gap:8px; border-radius:13px; font-size:15px; font-weight:800; }
.product-price-card>p { margin-top:12px; text-align:center; color:var(--faint); font-size:11.5px; font-weight:300; }
.product-content-stack { display:flex; flex-direction:column; gap:14px; padding-top:52px; }
.public-commerce-page .product-content-stack { gap:12px; padding-top:58px; }
.public-commerce-page .product-description,.public-commerce-page .product-specifications { background:var(--public-surface-subtle); box-shadow:none; }
.product-description,.product-display-benefits,.product-specifications { padding:32px; border-radius:20px; }
.product-description h2,.product-display-benefits h2,.product-specifications h2 { margin-bottom:16px; color:var(--ink); font-size:18px; font-weight:800; }
.product-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.product-benefit-grid article { display:flex; align-items:flex-start; gap:12px; min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--inset); }
.product-benefit-grid article>svg { flex:none; color:var(--accent); }.product-benefit-grid b { display:block; color:var(--ink); font-size:13px; margin-bottom:4px; }.product-benefit-grid p { color:var(--faint); font-size:11.5px; line-height:1.8; }
.product-description>p { margin-top:0; color:var(--body); font-size:13.5px; font-weight:300; line-height:2.3; white-space:pre-line; }
.product-description>p+p { margin-top:18px; }
.product-spec-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 40px; }
.product-spec-grid article { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); }
.product-spec-grid article>span { color:var(--faint); font-size:12.5px; }
.product-spec-grid article>b { color:var(--ink); font-size:12.5px; font-weight:600; text-align:left; }
.related-products-section { padding-top:64px; }
.public-commerce-page .related-products-section { padding-top:62px; }
.related-products-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }
.related-products-heading h2 { color:var(--ink); font-size:20px; font-weight:800; }
.related-products-heading .link-more { color:var(--accent-ink); text-decoration:none; font-size:12px; font-weight:600; }
.related-products-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.related-product-card .prod-buy { width:auto; height:auto; min-height:34px; padding:7px 12px; color:var(--accent-ink); text-decoration:none; font-size:10.5px; }

/* tabs */
.tabs { display:flex; gap:4px; background:var(--surface); backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); border:1px solid var(--line2); border-radius:12px; padding:4px; }
.tab { padding:9px 18px; border-radius:9px; border:none; cursor:pointer; font-family:inherit; font-size:12.5px; font-weight:600; background:transparent; color:var(--faint); }
.tab.active { background:var(--accent); color:var(--ink-on-accent); font-weight:700; }

/* FAQ accordion */
.faq-list { border-top:1px solid var(--line2); }
.faq-item { border-bottom:1px solid var(--line2); }
.faq-q { width:100%; background:transparent; border:none; padding:22px 4px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; font-family:inherit; text-align:right; }
.faq-q span.q { font-size:15px; font-weight:600; color:var(--text); }
.faq-toggle { flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; border:1px solid var(--line3); color:var(--faint); }
.faq-item.open .faq-toggle { border-color:var(--accent-line2); color:var(--accent-ink); }
.faq-a { padding:0 4px 24px; font-size:13.5px; line-height:2.1; color:var(--muted); font-weight:300; display:none; }
.faq-item.open .faq-a { display:block; }

/* forms */
.field-lbl { font-size:12.5px; color:var(--faint); font-weight:600; display:block; margin-bottom:8px; }
.input, .textarea { width:100%; background:var(--tile); border:1px solid var(--line2); border-radius:12px; padding:12px 15px; color:var(--text); font-family:inherit; font-size:13.5px; outline:none; }
.input:focus, .textarea:focus { border-color:var(--accent-line2); }
.input.ltr { direction:ltr; text-align:right; }
.textarea { resize:vertical; line-height:2; min-height:120px; }

/* Contact page */
.contact-channel { background:var(--surface); backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); box-shadow:var(--glass-hi); border:1px solid var(--line); border-radius:18px; padding:26px 24px; min-width:0; }
.contact-channel-icon { width:44px; height:44px; border-radius:12px; background:var(--accent-soft); border:1px solid var(--accent-line); display:grid; place-items:center; margin-bottom:16px; color:var(--accent-ink); }
.contact-channel > b { font-size:14.5px; color:var(--ink); display:block; margin-bottom:5px; font-weight:700; }
.contact-channel > span:not(.contact-channel-icon) { font-size:12px; color:var(--faint); display:block; margin-bottom:10px; line-height:1.8; }
.contact-channel > strong { display:block; font-size:13.5px; color:var(--accent-ink); font-weight:700; letter-spacing:.2px; overflow-wrap:anywhere; }
.contact-form-title { font-size:20px; font-weight:800; color:var(--ink); margin-bottom:6px; }
.contact-form-sub { font-size:13px; color:var(--muted); font-weight:300; margin-bottom:28px; }
#contactForm { display:flex; flex-direction:column; gap:16px; }
.contact-fields, .contact-extra-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.subject-field { border:0; min-width:0; }
.subject-field legend { padding:0; }
.subject-chips { display:flex; gap:8px; flex-wrap:wrap; }
.subject-chip { background:transparent; border:1px solid var(--line3); color:var(--muted); padding:9px 17px; border-radius:100px; font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.subject-chip:hover { border-color:var(--accent-line2); }
.subject-chip.active { background:var(--accent); border-color:var(--accent); color:var(--ink-on-accent); font-weight:700; }
.contact-file-control { position:relative; min-height:46px; display:flex; align-items:center; gap:12px; padding:5px; border:1px solid var(--line3); border-radius:11px; background:var(--input); overflow:hidden; }
.contact-file-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.contact-file-button { flex:none; min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:6px 13px; border:1px solid var(--accent-line); border-radius:8px; background:var(--accent-soft); color:var(--accent-ink); font-size:12px; font-weight:700; cursor:pointer; }
.contact-file-name { min-width:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.6; text-overflow:ellipsis; white-space:nowrap; }
.contact-file-control:focus-within { border-color:var(--accent-line2); box-shadow:0 0 0 3px var(--accent-soft); }
.contact-file-button:hover { background:var(--accent); color:var(--ink-on-accent); }
.contact-submit { padding:15px; border-radius:12px; font-size:14.5px; }
.form-error, .auth-error { color:var(--danger); font-size:12.5px; text-align:center; }
.contact-success { text-align:center; padding:36px 0 20px; }
.contact-success-icon { width:64px; height:64px; border-radius:50%; background:var(--accent-soft); border:1px solid var(--accent-line); display:grid; place-items:center; margin:0 auto 20px; color:var(--accent-ink); }
.contact-success h3 { font-size:18px; color:var(--ink); margin-bottom:10px; }
.contact-success p { font-size:13.5px; color:var(--muted); margin-bottom:24px; line-height:2; }
.contact-success p b { color:var(--accent-ink); }

/* Shared editorial shell: FAQ, Contact and Terms only. */
.public-content-page {
  --public-content-container:1200px;
  --public-content-surface:rgba(255,255,255,.055);
  --public-content-surface-strong:rgba(255,255,255,.075);
  --public-content-border:rgba(255,255,255,.105);
  --public-content-shadow:0 18px 48px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.05);
}
body[data-theme="light"].public-content-page {
  --public-content-surface:rgba(255,255,255,.64);
  --public-content-surface-strong:rgba(255,255,255,.82);
  --public-content-border:rgba(31,32,36,.1);
  --public-content-shadow:0 16px 42px rgba(31,32,36,.075),inset 0 1px #fff;
}
.public-content-page .page { position:relative; background:linear-gradient(180deg,var(--bg),var(--bg2) 54%,var(--bg)); }
.public-content-page .public-premium-bg { display:none; }
body[data-theme="dark"].public-content-page .page { background:transparent; }
body[data-theme="dark"].public-content-page .public-premium-bg { display:block; position:absolute; }
body[data-theme="dark"].public-content-page .public-premium-bg::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px 120px); }
.public-content-page .bg-blobs { opacity:.35; }
body[data-theme="dark"].public-content-page .bg-blobs { opacity:.22; }
.public-content-page .hdr-inner { max-width:1380px; gap:18px; }
.public-content-page .nav { gap:0; }
.public-content-page .nav a { padding-inline:8px; font-size:12px; }
.public-content-page .hdr-search { min-width:145px; max-width:210px; }
.public-content-page .hdr-actions>#authLink { display:none; }
.public-content-container { position:relative; z-index:1; width:100%; max-width:var(--public-content-container); margin-inline:auto; padding-inline:32px; }
.public-content-hero { position:relative; z-index:1; overflow:hidden; border-bottom:1px solid var(--line); }
.public-content-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(760px 340px at 82% 0,var(--glow),transparent 70%); }
.public-content-hero-inner { padding-top:44px; padding-bottom:40px; }
.public-content-hero-centered { text-align:center; }
.public-content-eyebrow { display:block; margin-bottom:9px; color:var(--accent-ink); font-size:11px; font-weight:700; letter-spacing:.35px; }
.public-content-title { max-width:760px; margin:0 0 9px; color:var(--ink); font-size:clamp(31px,4vw,40px); font-weight:790; line-height:1.45; letter-spacing:-.7px; }
.public-content-hero-centered .public-content-title,.public-content-hero-centered .public-content-lead { margin-inline:auto; }
.public-content-lead { max-width:590px; color:var(--muted); font-size:14px; font-weight:350; line-height:2; }
.public-editorial-main { max-width:880px; padding-top:34px; padding-bottom:82px; }
.public-content-state { padding:34px 20px; color:var(--faint); text-align:center; border-bottom:1px solid var(--line); }
.public-content-state-error { color:var(--danger); }
.public-text-link { display:inline-flex; align-items:center; gap:8px; color:var(--accent-ink); font-size:13px; font-weight:700; text-decoration:none; }
.public-text-link:hover { color:var(--accent-hover); }

.faq-search-wrap { position:relative; max-width:470px; margin:24px auto 0; }
.faq-search { min-height:48px; padding-right:46px; background:var(--public-content-surface-strong); border-color:var(--public-content-border); box-shadow:var(--public-content-shadow); }
.faq-search-wrap>svg { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--faint); pointer-events:none; }
.faq-groups { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:28px; }
.public-content-page .chip {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 14px;
  border:1px solid var(--line2);
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-family:inherit;
  font-size:12px;
  font-weight:650;
  line-height:1.5;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.public-content-page .chip:hover { border-color:var(--accent-line2); }
.public-content-page .chip:focus-visible { outline:2px solid var(--accent-line2); outline-offset:2px; }
.public-content-page .chip.active { background:var(--accent-soft); border-color:var(--accent-line2); color:var(--accent-ink); }
.public-faq-list { border-top:1px solid var(--line2); }
.public-content-page .faq-item { border-bottom:1px solid var(--line2); transition:background .2s ease,border-color .2s ease; }
.public-content-page .faq-item.open { background:var(--public-content-surface); border-color:var(--public-content-border); }
.public-content-page .faq-q { min-height:68px; padding:19px 8px; color:var(--text); }
.public-content-page .faq-q:focus-visible { outline:2px solid var(--accent-line2); outline-offset:3px; border-radius:10px; }
.public-content-page .faq-toggle { transition:transform .2s ease,color .2s ease,border-color .2s ease; }
.public-content-page .faq-item.open .faq-toggle { transform:rotate(45deg); }
.public-content-page .faq-a { padding:0 8px 22px; color:var(--muted); font-size:14px; line-height:2.15; }
.public-content-page .faq-a p { max-width:720px; }
.public-editorial-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:46px; padding:28px 0 0; border-top:1px solid var(--line2); }
.public-editorial-cta h2 { margin-bottom:6px; color:var(--ink); font-size:18px; font-weight:760; }
.public-editorial-cta p { color:var(--muted); font-size:13px; line-height:1.9; }
.public-editorial-cta .btn { flex:none; min-height:44px; padding-inline:22px; }

.contact-channels-section { padding-top:30px; }
.contact-channels { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; }
.public-content-page .contact-channel { min-height:108px; display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto auto; column-gap:14px; align-content:center; padding:18px 20px; background:var(--public-content-surface); border-color:var(--public-content-border); border-radius:16px; box-shadow:var(--public-content-shadow); }
.public-content-page .contact-channel-icon { grid-row:1 / 4; align-self:center; margin:0; }
.public-content-page .contact-channel>b,.public-content-page .contact-channel>span:not(.contact-channel-icon),.public-content-page .contact-channel>strong { grid-column:2; }
.public-content-page .contact-channel>b { margin-bottom:1px; }
.public-content-page .contact-channel>span:not(.contact-channel-icon) { margin-bottom:4px; }
.contact-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:34px; align-items:start; padding-top:36px; padding-bottom:84px; scroll-margin-top:100px; }
.public-content-page .contact-form-card { min-width:0; padding:32px; border-color:var(--public-content-border); border-radius:20px; background:var(--public-content-surface-strong); box-shadow:var(--public-content-shadow); }
.public-content-page .contact-form-title { font-size:22px; }
.public-content-page .contact-form-sub { margin-bottom:24px; line-height:1.9; }
.public-content-page .input,.public-content-page .textarea { min-height:46px; background:rgba(0,0,0,.12); border-color:var(--line2); transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
body[data-theme="light"].public-content-page .input,body[data-theme="light"].public-content-page .textarea { background:rgba(255,255,255,.76); }
.public-content-page .input:focus,.public-content-page .textarea:focus { border-color:var(--accent-line2); box-shadow:0 0 0 3px var(--accent-soft); }
.public-content-page .textarea { min-height:132px; }
.public-content-page .subject-chip:focus-visible,.public-content-page .contact-submit:focus-visible { outline:2px solid var(--accent-line2); outline-offset:3px; }
.contact-aside { min-width:0; padding-top:4px; }
.contact-aside-section { padding:24px 2px; border-bottom:1px solid var(--line2); }
.contact-aside-section:first-child { padding-top:0; }
.contact-aside-section:last-child { border-bottom:0; }
.contact-aside-section h2 { margin-bottom:10px; color:var(--ink); font-size:16px; font-weight:760; }
.contact-aside-section p { margin-bottom:13px; color:var(--muted); font-size:12.75px; line-height:2; }
.contact-checklist { display:flex; flex-direction:column; gap:0; list-style:none; }
.contact-checklist li { position:relative; padding:10px 18px 10px 0; color:var(--muted); font-size:12.5px; line-height:1.9; border-bottom:1px solid var(--line); }
.contact-checklist li:last-child { border-bottom:0; }
.contact-checklist li::before { content:""; position:absolute; right:1px; top:18px; width:6px; height:6px; border-radius:50%; background:var(--accent); }

.terms-grid { position:relative; z-index:1; max-width:1050px; display:grid; grid-template-columns:220px minmax(0,760px); justify-content:center; gap:46px; align-items:start; padding-top:42px; padding-bottom:88px; }
.terms-toc { position:sticky; top:104px; display:flex; flex-direction:column; gap:2px; padding:12px; border:1px solid var(--public-content-border); border-radius:15px; background:var(--public-content-surface); box-shadow:var(--public-content-shadow); backdrop-filter:blur(16px) saturate(115%); -webkit-backdrop-filter:blur(16px) saturate(115%); }
.terms-toc b { padding:9px 10px 11px; color:var(--ink); font-size:13px; border-bottom:1px solid var(--line); }
.terms-toc a { padding:9px 10px; color:var(--muted); font-size:12px; line-height:1.8; text-decoration:none; border-radius:8px; }
.terms-toc a:hover,.terms-toc a:focus-visible { color:var(--accent-ink); background:var(--accent-soft); outline:0; }
.terms-loading { padding:10px; color:var(--faint); font-size:12px; }
.terms-body { min-width:0; }
.terms-section { padding:0 0 34px; margin-bottom:34px; border-bottom:1px solid var(--line2); scroll-margin-top:110px; }
.terms-section:last-child { margin-bottom:0; border-bottom:0; }
.terms-section h2 { margin-bottom:13px; color:var(--ink); font-size:19px; font-weight:770; line-height:1.7; }
.terms-section p { white-space:pre-line; color:var(--body); font-size:14px; font-weight:350; line-height:2.35; }

@media (max-width:900px) {
  .contact-layout { grid-template-columns:1fr; gap:26px; }
  .contact-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .contact-aside-section { padding:0; border-bottom:0; }
  .terms-grid { grid-template-columns:1fr; gap:30px; }
  .terms-toc { position:static; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .terms-toc b { width:100%; }
}

@media (max-width:1200px) {
  .public-content-page .nav,.public-content-page .hdr-search,.public-content-page .hdr-account { display:none; }
  .public-content-page .hdr-actions { margin-right:auto; }
  .public-content-page .mobile-menu-btn { display:flex; }
  .public-content-page .mobile-menu:not([hidden]) { display:block; }
}

@media (max-width:720px) {
  .public-content-container { padding-inline:18px; }
  .public-content-hero-inner { padding-top:30px; padding-bottom:31px; }
  .public-content-title { font-size:30px; letter-spacing:-.45px; }
  .public-content-lead { font-size:13.25px; line-height:1.95; }
  .public-editorial-main { padding-top:25px; padding-bottom:64px; }
  .faq-search-wrap { margin-top:20px; }
  .faq-groups { justify-content:flex-start; margin-bottom:20px; }
  .public-content-page .faq-q { min-height:64px; padding-block:17px; }
  .public-content-page .faq-q span.q { font-size:14px; }
  .public-content-page .faq-a { font-size:13.5px; }
  .public-editorial-cta { align-items:flex-start; flex-direction:column; margin-top:36px; }
  .contact-channels-section { padding-top:22px; }
  .contact-layout { padding-top:28px; padding-bottom:64px; }
  .public-content-page .contact-form-card { padding:24px 18px; }
  .contact-aside { grid-template-columns:1fr; gap:0; }
  .contact-aside-section { padding:22px 0; border-bottom:1px solid var(--line2); }
  .terms-grid { padding-top:28px; padding-bottom:64px; }
  .terms-toc { padding:10px; }
  .terms-toc a { padding:8px 9px; }
  .terms-section { padding-bottom:27px; margin-bottom:27px; }
  .terms-section h2 { font-size:17px; }
  .terms-section p { font-size:13.5px; line-height:2.25; }
}

/* Authentication page */
.auth-perk { display:flex; align-items:center; gap:12px; }
.auth-perk-icon { width:30px; height:30px; border-radius:9px; background:var(--tile); border:1px solid var(--line); display:grid; place-items:center; flex:none; color:var(--accent-ink); }
.auth-perk span:last-child { font-size:13px; color:var(--body); font-weight:500; }
.auth-tabs { display:flex; background:var(--tile); border:1px solid var(--line); border-radius:13px; padding:5px; margin-bottom:30px; }
.auth-tab { flex:1; background:transparent; border:0; color:var(--muted); padding:11px; border-radius:9px; font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer; }
.auth-tab.active { background:var(--accent); color:var(--ink-on-accent); font-weight:700; }
.auth-title { font-size:20px; font-weight:800; color:var(--ink); margin-bottom:6px; }
.auth-subtitle { font-size:12.5px; color:var(--muted); font-weight:300; margin-bottom:26px; }
.auth-form { display:flex; flex-direction:column; gap:16px; }
.auth-field:has(.field-lbl:empty) > .field-lbl { display:none; }
.auth-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.password-wrap { position:relative; }
.password-wrap .input { padding-left:46px; }
.password-toggle { position:absolute; left:12px; top:50%; transform:translateY(-50%); background:transparent; border:0; cursor:pointer; color:var(--faint); display:grid; padding:4px; }
.auth-password-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:-8px; font-size:12.5px; color:var(--faint); font-weight:600; }
.auth-password-heading button { background:none; border:0; color:var(--accent-ink); font:inherit; font-size:11.5px; cursor:pointer; }
.auth-check { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.auth-submit { width:100%; background:var(--action-bg); border:0; color:var(--action-text); padding:15px; border-radius:12px; font-family:inherit; font-size:14.5px; font-weight:800; cursor:pointer; margin-top:6px; }
.auth-submit:hover { background:var(--action-hover); }
.auth-submit:disabled, .contact-submit:disabled { opacity:.6; cursor:wait; }
.auth-success { color:var(--ok); font-size:12.5px; text-align:center; }
.auth-separator { display:flex; align-items:center; gap:14px; margin:20px 0; }
.auth-separator span { flex:1; height:1px; background:var(--line); }
.auth-separator b { font-size:11.5px; color:var(--dim); font-weight:400; }
.auth-otp { width:100%; background:transparent; border:1px solid var(--line3); color:var(--text); padding:13px; border-radius:12px; font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; }
.auth-otp:hover { border-color:var(--accent-line2); }
.auth-reset-link { display:block; margin:12px auto 0; background:none; border:0; color:var(--accent-ink); font:inherit; font-size:12px; cursor:pointer; }
.auth-legal { font-size:11px; color:var(--dim); line-height:2; text-align:center; margin-top:24px; font-weight:300; }
.auth-legal a { color:var(--muted); }
.auth-inline-actions { display:flex; gap:8px; flex-wrap:wrap; }
.auth-mode-note { font-size:12px; color:var(--muted); line-height:2; }
.auth-verify-intro { display:flex; align-items:center; gap:12px; padding:14px 15px; border:1px solid var(--accent-line); background:var(--accent-soft); border-radius:14px; }
.auth-verify-intro b { display:block; color:var(--ink); font-size:13px; margin-bottom:3px; }
.auth-verify-intro p { color:var(--muted); font-size:11px; line-height:1.8; }
.auth-verify-icon { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; flex:none; background:var(--accent); color:var(--ink-on-accent); font-weight:900; }
.auth-otp-field .field-lbl { display:block; text-align:center; margin-bottom:10px; }
.auth-otp-code { direction:ltr; display:grid; grid-template-columns:repeat(6,minmax(38px,1fr)); gap:9px; max-width:360px; margin:0 auto; }
.auth-otp-digit { width:100%; min-width:0; aspect-ratio:1/1.08; border:1px solid var(--line3); border-radius:12px; background:var(--input); color:var(--ink); text-align:center; font:800 clamp(18px,4vw,24px)/1 inherit; caret-color:var(--accent-ink); outline:none; transition:border-color .15s,box-shadow .15s,transform .15s; }
.auth-otp-digit:focus { border-color:var(--accent-line2); box-shadow:0 0 0 3px var(--accent-soft); transform:translateY(-1px); }
.auth-otp-field .auth-field-error { text-align:center; }
@media (max-width:480px) {
  .auth-otp-code { gap:6px; grid-template-columns:repeat(6,minmax(34px,1fr)); }
  .auth-otp-digit { border-radius:10px; }
}
.auth-inline-actions .btn { flex:1; min-width:140px; }
.auth-field-error { margin-top:6px; color:var(--danger); font-size:11.5px; line-height:1.8; }
.password-requirements { background:var(--inset); border:1px solid var(--line); border-radius:12px; padding:13px 14px; }
.password-requirements > b { display:block; color:var(--text); font-size:12px; margin-bottom:9px; }
.password-requirements ul { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; }
.password-rule { display:flex; align-items:flex-start; gap:7px; color:var(--faint); font-size:11px; line-height:1.7; }
.password-rule-icon { width:17px; height:17px; border:1px solid var(--line2); border-radius:50%; display:grid; place-items:center; flex:none; font-size:11px; line-height:1; margin-top:1px; }
.password-rule.pass { color:var(--ok); }
.password-rule.pass .password-rule-icon { background:var(--ok-soft); border-color:var(--ok-line); }
.password-rule.fail { color:var(--danger); }
.password-rule.fail .password-rule-icon { background:rgba(238,136,136,.08); border-color:rgba(238,136,136,.25); }
.password-toggle:focus-visible { outline:2px solid var(--accent-line2); outline-offset:2px; border-radius:7px; }

/* ============================ FOOTER ============================ */
.ftr { position:relative; z-index:1; border-top:1px solid var(--line); background:var(--bg2); }
.ftr-top { max-width:1200px; margin:0 auto; padding:56px 32px 28px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
.ftr-about p { font-size:12.5px; line-height:2.1; color:var(--faint); max-width:300px; font-weight:300; }
.ftr-logo { display:flex; align-items:center; gap:11px; text-decoration:none; margin-bottom:18px; }
.ftr-logo .logo-mark { width:36px; height:36px; border-radius:10px; }
.ftr-logo b { font-size:16px; color:var(--ink); font-weight:800; }
.ftr-socials { display:flex; gap:8px; margin-top:22px; }
.ftr-socials a { width:38px; height:38px; border-radius:10px; background:var(--tile); border:1px solid var(--line); display:grid; place-items:center; color:var(--muted); text-decoration:none; }
.ftr-socials a:hover { border-color:var(--accent-line2); color:var(--accent-ink); }
.ftr-col b { font-size:13.5px; color:var(--ink); display:block; margin-bottom:18px; font-weight:700; }
.ftr-col .links { display:flex; flex-direction:column; gap:12px; }
.ftr-col a { font-size:12.5px; color:var(--faint); text-decoration:none; font-weight:400; }
.ftr-col a:hover { color:var(--accent-ink); }
.ftr-bot { border-top:1px solid var(--line); }
.ftr-bot-inner { max-width:1200px; margin:0 auto; padding:20px 32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.ftr-copy { font-size:12px; color:var(--dimmer); }
.ftr-badges { display:flex; align-items:center; gap:8px; }
.ftr-badge { display:flex; align-items:center; gap:8px; background:var(--tile); border:1px solid var(--line); padding:8px 14px; border-radius:10px; font-size:11px; color:var(--muted); font-weight:500; }
.ftr-badge svg { color:var(--accent-ink); }

/* Home API-backed states */
[hidden] { display:none !important; }
.home-empty { grid-column:1 / -1; min-height:132px; padding:24px; border:1px dashed var(--line2); border-radius:18px; background:var(--inset); display:flex; align-items:center; justify-content:center; gap:16px; text-align:right; }
.home-empty-icon { width:46px; height:46px; flex:none; display:grid; place-items:center; border:1px solid var(--accent-line); border-radius:13px; background:var(--accent-soft); color:var(--accent-ink); }
.home-empty > div { display:flex; flex-direction:column; gap:5px; flex:1; }
.home-empty b { color:var(--ink); font-size:14px; font-weight:700; }
.home-empty span:not(.home-empty-icon) { color:var(--faint); font-size:12px; line-height:1.8; }
.home-empty .btn { flex:none; }
.home-empty-error { border-color:rgba(255,110,110,.32); background:rgba(255,110,110,.05); }
.home-brand-label { color:var(--dim); font-size:11.5px; font-weight:500; flex:none; }
.home-brand { color:var(--dimmer); font-size:14px; font-weight:700; letter-spacing:.2px; text-decoration:none; transition:color .2s; }
.home-brand:hover { color:var(--accent-ink); }
.home-content-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--inset); display:flex; align-items:flex-start; gap:14px; }
.home-content-card img { width:48px; height:48px; border-radius:12px; object-fit:cover; flex:none; }
.home-content-card > div { min-width:0; display:flex; flex-direction:column; gap:5px; }
.home-content-card b { color:var(--ink); font-size:13.5px; font-weight:700; }
.home-content-card span,.home-content-card p { color:var(--faint); font-size:11.5px; line-height:1.8; }
.home-content-card a { color:var(--accent-ink); font-size:11.5px; font-weight:700; text-decoration:none; }
.home-review-card { min-width:0; padding:26px; display:flex; flex-direction:column; gap:16px; }
.home-review-stars { color:var(--accent-ink); font-size:12px; letter-spacing:2px; }
.home-review-card p { color:var(--body); font-size:13px; line-height:2; flex:1; }
.home-review-card > div { padding-top:15px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.home-review-card b { color:var(--ink); font-size:12.5px; }
.home-review-card div span { color:var(--faint); font-size:11px; line-height:1.8; }

/* breadcrumb */
.crumb { display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--faint); padding:22px 0; flex-wrap:wrap; }
.crumb a { color:var(--faint); text-decoration:none; }
.crumb a:hover { color:var(--accent-ink); }
.crumb .sep { opacity:.5; }

/* responsive */
@media (max-width:1000px) {
  .nav, .hdr-search, .hdr-actions > #authLink, .hdr-account { display:none; }
  .hdr-inner { gap:14px; }
  .hdr-actions { margin-right:auto; }
  .mobile-menu-btn { display:flex; }
  .mobile-menu:not([hidden]) { display:block; }
  .cat-grid { grid-template-columns:repeat(3,1fr); }
  .prod-grid { grid-template-columns:repeat(2,1fr); }
  .ftr-top { grid-template-columns:1fr 1fr; }
  .contact-channels { grid-template-columns:repeat(2,1fr) !important; }
  .contact-layout { grid-template-columns:1fr !important; }
  .hero-grid { grid-template-columns:1fr !important; gap:44px !important; }
  .trust-grid { grid-template-columns:repeat(2,1fr) !important; }
  .review-grid { grid-template-columns:repeat(2,1fr) !important; }
  .game-banner { grid-template-columns:1fr !important; }
  .category-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-detail-hero { grid-template-columns:1fr; }
  .public-commerce-page .product-detail-hero { grid-template-columns:1fr; gap:34px; }
  .product-detail-image { height:380px; }
  .public-commerce-page .product-detail-image { height:350px; }
  .product-spec-grid,.product-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .hero-grid { grid-template-columns:1fr !important; }
  .cat-grid { grid-template-columns:repeat(2,1fr); }
  .ftr-top { grid-template-columns:1fr; }
  .wrap, .sec, .hdr-inner { padding-left:18px; padding-right:18px; }
  .announce { font-size:10.5px; line-height:1.7; }
  .logo-tag { display:none; }
  .hero-grid { padding:54px 18px 48px !important; gap:38px !important; }
  .hero-grid h1 { font-size:clamp(32px,10vw,42px) !important; }
  .hero-stats { display:grid !important; grid-template-columns:repeat(3,1fr); gap:12px !important; }
  .hero-stats > div { min-width:0; }
  .hero-stats b { font-size:18px !important; }
  .sec { padding:58px 18px 0; }
  .h2 { font-size:25px; }
  .game-banner, .home-cta { padding:30px 22px !important; gap:30px !important; }
  .game-banner h2, .home-cta h2 { font-size:25px !important; }
  .review-grid { grid-template-columns:1fr !important; }
  .home-empty { align-items:flex-start; flex-direction:column; text-align:right; }
  .home-empty .btn { width:100%; justify-content:center; }
  .contact-channels-section { padding:30px 18px 0 !important; }
  .contact-layout { padding:34px 18px 60px !important; }
  .contact-form-card { padding:24px 18px !important; }
  .contact-fields, .contact-extra-fields { grid-template-columns:1fr; }
  .auth-topbar { padding:18px !important; }
  .auth-topbar > div a { font-size:0 !important; }
  .auth-topbar > div a svg { margin:0; }
  .auth-shell { padding:8px 18px 40px !important; align-items:flex-start !important; }
  .auth-grid { grid-template-columns:1fr !important; max-width:520px !important; }
  .auth-brand { padding:28px 24px !important; border-left:0 !important; border-bottom:1px solid var(--line); }
  .auth-brand h1 { font-size:22px !important; }
  .auth-brand p { font-size:12.5px !important; }
  .auth-brand #perks { margin-top:24px !important; }
  .auth-form-panel { padding:30px 24px !important; }
  .category-selector-section,.category-children-section,.category-about-section,.product-detail-shell { padding-left:18px; padding-right:18px; }
  .public-container,.public-section { padding-inline:18px; }
  .public-page-hero-inner { padding-top:24px; padding-bottom:32px; }
  .public-page-title { font-size:30px; letter-spacing:-.45px; }
  .public-breadcrumb { padding-bottom:16px; }
  .public-section { padding-top:40px; padding-bottom:64px; }
  .public-section-head { align-items:flex-start; margin-bottom:19px; }
  .public-section-head h2 { font-size:19px; }
  .public-commerce-page .category-selector-section { padding-top:22px; }
  .public-commerce-page .category-selector-section .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-commerce-page .category-selector-section .cat-tile { min-height:78px; padding:14px; }
  .public-commerce-page .category-about-section { padding-top:28px; }
  .public-commerce-page .category-about { padding:25px 22px; }
  .category-about { grid-template-columns:1fr; padding:24px; gap:24px; }
  .category-children-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .product-detail-shell { padding-top:18px; }
  .product-breadcrumb-shell { padding-top:20px; }
  .product-detail-hero { gap:28px; }
  .public-commerce-page .product-detail-hero { gap:26px; }
  .product-detail-image { height:320px; padding:18px; }
  .public-commerce-page .product-detail-image { height:286px; }
  .public-commerce-page .product-detail-copy { padding-top:0; }
  .public-commerce-page .product-detail-copy h1 { font-size:29px; }
  .product-purchase-facts { margin-bottom:22px; }
  .product-content-stack { padding-top:36px; }
  .product-description,.product-display-benefits,.product-specifications { padding:24px 20px; }
  .product-spec-grid,.product-benefit-grid { grid-template-columns:1fr; }
  .related-products-section { padding-top:44px; }
  .related-products-heading { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width:480px) {
  .hdr-inner { height:66px; }
  .logo-mark { width:36px; height:36px; }
  .theme-btn, .mobile-menu-btn { width:38px; height:38px; }
  .cat-grid, .contact-channels, .trust-grid { grid-template-columns:1fr !important; }
  .public-commerce-page .category-selector-section .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .prod-grid { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .hero-stats > div:last-child { grid-column:1 / -1; }
  .auth-name-grid { grid-template-columns:1fr; }
  .auth-brand { padding:24px 20px !important; }
  .auth-form-panel { padding:26px 20px !important; }
  .subject-chip { padding:8px 13px; }
  .ftr-bot-inner { padding-left:18px; padding-right:18px; }
  .category-product-grid { grid-template-columns:1fr; }
  .category-children-grid { display:grid; grid-template-columns:1fr; }
  .category-children-grid .cat-tile { width:100%; min-width:0; }
  .product-plan-slot>div { display:grid; grid-template-columns:1fr; }
  .product-plan { width:100%; }
  .product-trust-row b { font-size:11px; }
  .product-trust-row small { font-size:9px; }
  .product-price-head { align-items:flex-start; flex-direction:column; }
  .public-commerce-page .product-detail-image { height:230px; }
  .product-purchase-facts { grid-template-columns:1fr; padding-block:0; }
  .product-purchase-facts>span { padding:11px 0; border-inline-start:0; border-bottom:1px solid var(--line); }
  .product-purchase-facts>span:last-child { border-bottom:0; }
  .public-commerce-page .product-price-card { padding:21px 18px; }
}

@media (max-width:600px) {
  .password-requirements ul { grid-template-columns:1fr; }
}

/* Homepage art direction: scoped editorial hierarchy, no application-wide leakage. */
[data-active="index.html"] .page {
  --home-display:clamp(40px,3.7vw,52px);
  --home-section-title:clamp(25px,2.1vw,32px);
  --home-card-title:14.5px;
  --home-section-gap:68px;
  --home-radius-lg:24px;
  --home-radius-md:17px;
  --home-radius-sm:12px;
  --home-elevation-1:0 12px 34px rgba(0,0,0,.14);
  --home-elevation-2:0 24px 70px rgba(0,0,0,.28);
}
[data-active="index.html"] .sec { padding-top:var(--home-section-gap); }
[data-active="index.html"] .sec-head { margin-bottom:30px; }
[data-active="index.html"] .h2 { font-size:var(--home-section-title); line-height:1.45; font-weight:750; letter-spacing:-.35px; }
[data-active="index.html"] .eyebrow { margin-bottom:8px; font-size:11px; font-weight:650; letter-spacing:.25px; }
[data-active="index.html"] .link-more { color:var(--faint); transition:color .18s ease,transform .18s ease; }
[data-active="index.html"] .link-more:hover { color:var(--ink); transform:translateX(-2px); }
[data-active="index.html"] #homeHeroSection .hero-grid { min-height:660px; padding-top:72px!important; padding-bottom:62px!important; gap:72px!important; }
[data-active="index.html"] #homeHeroSection .hero-grid>div { min-width:0; }
[data-active="index.html"] #homeHeroSection h1 { max-width:610px; margin-bottom:20px!important; font-size:var(--home-display)!important; line-height:1.24!important; font-weight:780!important; letter-spacing:-1.25px!important; }
[data-active="index.html"] #homeHeroSection h1 + p { max-width:520px!important; margin-bottom:30px!important; font-size:15.5px!important; line-height:2.05!important; color:var(--body)!important; }
[data-active="index.html"] #homeHeroSection .home-search { margin-bottom:20px!important; }
[data-active="index.html"] #homeHeroSection .home-search .ac-input { min-height:49px; border-radius:var(--home-radius-sm); background:rgba(255,255,255,.045); }
[data-active="index.html"] #homeHeroSection .hero-stats { gap:0!important; padding-top:4px; }
[data-active="index.html"] #homeHeroSection .hero-stats>div { min-width:132px; padding-inline:20px; border-inline-start:1px solid var(--line); }
[data-active="index.html"] #homeHeroSection .hero-stats>div:first-child { padding-right:0; border-inline-start:0; }
[data-active="index.html"] #homeHeroSection .hero-grid>div:last-child>.glass:first-child { border-radius:var(--home-radius-lg)!important; padding:31px!important; box-shadow:var(--home-elevation-2),inset 0 1px rgba(255,255,255,.08)!important; }
[data-active="index.html"] #homeHeroSection .hero-grid>div:last-child>.glass:last-child { margin-inline:24px!important; border-radius:var(--home-radius-sm)!important; background:var(--home-glass-subtle)!important; }
[data-active="index.html"] #homeBrandWall { border-color:rgba(255,255,255,.06)!important; }
[data-active="index.html"] #homeBrandList { opacity:.84; }
[data-active="index.html"] .cat-grid { gap:14px; }
[data-active="index.html"] .cat-tile { position:relative; min-height:152px; padding:23px 20px 20px; gap:19px; border-color:transparent; border-radius:var(--home-radius-md); box-shadow:var(--home-elevation-1),inset 0 1px rgba(255,255,255,.045); }
[data-active="index.html"] .cat-tile::after { content:""; position:absolute; inset-inline:20px; bottom:0; height:1px; background:linear-gradient(90deg,transparent,var(--accent-line),transparent); opacity:0; transition:opacity .2s ease; }
[data-active="index.html"] .cat-tile:hover::after { opacity:1; }
[data-active="index.html"] .cat-ic { width:42px; height:42px; border:0; border-radius:var(--home-radius-sm); }
[data-active="index.html"] .cat-name { font-size:var(--home-card-title); font-weight:680; }
[data-active="index.html"] .cat-count { line-height:1.7; }
[data-active="index.html"] .home-slider-wrap { gap:12px; }
[data-active="index.html"] .home-slider-control { border-color:transparent; background:var(--home-glass-subtle); box-shadow:var(--home-elevation-1); transition:background .18s ease,color .18s ease,transform .18s ease; }
[data-active="index.html"] .home-slider-control:hover { color:var(--accent-ink); background:var(--home-glass-secondary); transform:scale(1.04); }
[data-active="index.html"] .prod { border-color:transparent; border-radius:var(--home-radius-md); box-shadow:var(--home-elevation-1); transition:transform .22s ease,box-shadow .22s ease,background .22s ease; }
[data-active="index.html"] .prod:hover { border-color:transparent; transform:translateY(-4px); box-shadow:0 22px 52px rgba(0,0,0,.24); }
[data-active="index.html"] .prod-img { height:168px; border-bottom-color:rgba(255,255,255,.06); }
[data-active="index.html"] .prod-img img { transition:transform .28s ease; }
[data-active="index.html"] .prod:hover .prod-img img { transform:scale(1.025); }
[data-active="index.html"] .prod-body { padding:20px; }
[data-active="index.html"] .prod-name { font-size:var(--home-card-title); font-weight:680; line-height:1.75; }
[data-active="index.html"] .prod-sub { min-height:42px; margin-bottom:16px; line-height:1.8; }
[data-active="index.html"] .prod-price { font-size:17px; letter-spacing:-.2px; }
[data-active="index.html"] .prod-buy { border-color:var(--accent-line); border-radius:10px; transition:background .18s ease,transform .18s ease; }
[data-active="index.html"] .prod-buy:hover { transform:translateY(-1px); }
[data-active="index.html"] #homeFeaturedCategorySections .home-featured-category { padding-top:58px; }
[data-active="index.html"] #homeFeaturedCategorySections .home-product-slider:has(.prod:nth-child(2):last-child) .prod { flex-basis:calc(36% - 8px); }
[data-active="index.html"] #homeFeaturedCategorySections .home-product-slider:has(.prod:only-child) .prod { flex-basis:48%; }
[data-active="index.html"] #homeFeaturedCategorySections .home-featured-category:nth-child(even) .sec-head { padding-inline-start:24px; border-inline-start:2px solid var(--accent-line); }
[data-active="index.html"] .home-process-grid { position:relative; gap:0; padding:12px; border-radius:var(--home-radius-lg); background:var(--home-glass-subtle); box-shadow:var(--home-elevation-1); }
[data-active="index.html"] .home-process-grid .home-content-card { min-height:116px; padding:24px 26px; border:0; border-inline-start:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
[data-active="index.html"] .home-process-grid .home-content-card:last-child { border-inline-start:0; }
[data-active="index.html"] .home-process-grid .home-content-card b { font-size:14px; font-weight:680; }
[data-active="index.html"] .home-process-grid .home-content-card span { font-size:12.5px; color:var(--faint); }
[data-active="index.html"] .home-review-card { border:0; border-radius:var(--home-radius-md); }
[data-active="index.html"] .faq-list { border-top:0; }
[data-active="index.html"] .faq-item { margin-bottom:8px; padding-inline:18px; border:1px solid transparent; border-radius:var(--home-radius-sm); }
[data-active="index.html"] .faq-item.open { border-color:var(--line); background:var(--home-glass-subtle); }
[data-active="index.html"] .faq-q { min-height:66px; padding-block:17px; }
[data-active="index.html"] .home-cta { min-height:210px; padding:48px 52px!important; border-radius:var(--home-radius-lg)!important; background:linear-gradient(120deg,var(--home-glass-primary),var(--home-glass-subtle))!important; box-shadow:var(--home-elevation-2),inset 0 1px rgba(255,255,255,.08); }
[data-active="index.html"] #firstPurchaseBanner h2 { color:var(--ink)!important; font-size:30px!important; font-weight:760!important; }
[data-active="index.html"] #firstPurchaseBanner p { color:var(--body)!important; }
[data-active="index.html"] #firstPurchaseBanner .btn { min-height:52px; box-shadow:0 12px 28px rgba(0,0,0,.24); }
[data-active="index.html"] .ftr { margin-top:0; border-top-color:rgba(255,255,255,.06); }
body[data-theme="light"][data-active="index.html"] .hdr { background:rgba(250,250,251,.84); border-bottom-color:rgba(31,32,36,.07); }
body[data-theme="light"][data-active="index.html"] #homeHeroSection .home-search .ac-input { background:rgba(255,255,255,.72); }
body[data-theme="light"][data-active="index.html"] .cat-tile,body[data-theme="light"][data-active="index.html"] .prod { border-color:rgba(31,32,36,.035); box-shadow:0 14px 36px rgba(31,32,36,.075),inset 0 1px #fff; }
body[data-theme="light"][data-active="index.html"] .home-process-grid { box-shadow:0 16px 42px rgba(31,32,36,.07); }
@media (max-width:1000px) {
  [data-active="index.html"] #homeHeroSection .hero-grid { min-height:auto; gap:48px!important; }
}
@media (min-width:1001px) and (max-width:1500px) {
  [data-active="index.html"] #homeHeroSection .hero-grid { max-width:1140px!important; gap:54px!important; }
  [data-active="index.html"] #homeHeroSection h1 { max-width:520px; font-size:46px!important; letter-spacing:-.8px!important; }
  [data-active="index.html"] #homeHeroSection h1 + p { max-width:490px!important; }
  [data-active="index.html"] #homeHeroSection .hero-grid>div:last-child>.glass:first-child { padding:28px!important; }
}
@media (max-width:720px) {
  [data-active="index.html"] .page { --home-section-gap:54px; }
  [data-active="index.html"] .sec-head { margin-bottom:24px; }
  [data-active="index.html"] #homeHeroSection .hero-grid { padding-top:44px!important; padding-bottom:48px!important; gap:42px!important; }
  [data-active="index.html"] #homeHeroSection h1 { font-size:clamp(35px,10.5vw,43px)!important; line-height:1.3!important; }
  [data-active="index.html"] #homeHeroSection h1 + p { font-size:14px!important; line-height:2!important; }
  [data-active="index.html"] #homeHeroSection .hero-stats>div { min-width:0; padding-inline:14px; }
  [data-active="index.html"] #homeHeroSection .hero-grid>div:last-child>.glass:first-child { padding:24px!important; }
  [data-active="index.html"] .home-product-slider .prod { flex-basis:88%; }
  [data-active="index.html"] .prod-img { height:178px; }
  [data-active="index.html"] #homeFeaturedCategorySections .home-featured-category { padding-top:52px; }
  [data-active="index.html"] #homeFeaturedCategorySections .home-product-slider:has(.prod:nth-child(2):last-child) .prod,[data-active="index.html"] #homeFeaturedCategorySections .home-product-slider:has(.prod:only-child) .prod { flex-basis:88%; }
  [data-active="index.html"] .home-process-grid { padding:8px 18px; }
  [data-active="index.html"] .home-process-grid .home-content-card { min-height:auto; padding:20px 4px; border-inline-start:0; border-bottom:1px solid var(--line); }
  [data-active="index.html"] .home-process-grid .home-content-card:last-child { border-bottom:0; }
  [data-active="index.html"] .home-cta { min-height:0; padding:34px 26px!important; }
  [data-active="index.html"] #firstPurchaseBanner h2 { font-size:25px!important; }
}
@media (max-width:480px) {
  [data-active="index.html"] .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [data-active="index.html"] .cat-tile { min-height:140px; padding:20px 16px 18px; }
  [data-active="index.html"] .cat-ic { width:38px; height:38px; }
  [data-active="index.html"] .cat-name { font-size:13.5px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-active="index.html"] .cat-tile,[data-active="index.html"] .prod,[data-active="index.html"] .prod-img img,[data-active="index.html"] .home-slider-control,[data-active="index.html"] .link-more { transition:none; }
}

/* Final homepage polish: preserve destinations while clarifying visual priority. */
[data-active="index.html"] .logo-mark { width:44px; height:44px; border-radius:13px; }
[data-active="index.html"] .logo-name { font-size:18px; letter-spacing:-.3px; }
[data-active="index.html"] .nav { gap:1px; }
[data-active="index.html"] .nav a { padding-inline:11px; }
[data-active="index.html"] .nav a:nth-last-child(-n+2) { color:var(--faint); font-size:12px; padding-inline:8px; }
[data-active="index.html"] .hdr-search { max-width:300px; }
[data-active="index.html"] .home-search { align-items:stretch; padding:5px; border:1px solid var(--line2); border-radius:15px; background:var(--home-glass-subtle); box-shadow:0 10px 28px rgba(0,0,0,.12); }
[data-active="index.html"] .home-search .ac-input { flex:1; min-width:0; border:0!important; background:transparent!important; box-shadow:none; }
[data-active="index.html"] .home-search .ac-input:focus { outline:0; }
[data-active="index.html"] .home-search .btn { min-width:86px; border-radius:10px; }
[data-active="index.html"] .prod-fallback { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:var(--faint); text-align:center; padding:18px; }
[data-active="index.html"] .prod-fallback-mark { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--accent-line); border-radius:15px; color:var(--accent-ink); font-size:22px; background:var(--accent-soft); }
[data-active="index.html"] .prod-fallback b { color:var(--body); font-size:12px; font-weight:650; }
[data-active="index.html"] .prod-fallback small { color:var(--dim); font-size:10px; }
[data-active="index.html"] .home-promo-banner { box-shadow:var(--home-elevation-1); }
[data-active="index.html"] #homeOffersSection { padding-top:58px; }
[data-active="index.html"] #homeOffersGrid { gap:14px; }
[data-active="index.html"] #homeCtaSection { padding-bottom:72px!important; }
[data-active="index.html"] #siteFooter .ftr-top { padding-top:48px; }
body[data-theme="light"][data-active="index.html"] .home-search { background:rgba(255,255,255,.66); border-color:rgba(31,32,36,.12); box-shadow:0 12px 28px rgba(31,32,36,.08); }
body[data-theme="light"][data-active="index.html"] .prod-fallback-mark { background:rgba(254,219,153,.18); }
@media (min-width:1001px) and (max-width:1500px) {
  [data-active="index.html"] .nav a { padding-inline:8px; }
  [data-active="index.html"] .nav a:nth-last-child(-n+2) { padding-inline:6px; }
  [data-active="index.html"] .hdr-search { max-width:260px; }
}
@media (max-width:720px) {
  [data-active="index.html"] .logo-mark { width:40px; height:40px; }
  [data-active="index.html"] .home-search { width:100%; }
  [data-active="index.html"] .home-search .btn { min-width:74px; padding-inline:14px; }
  [data-active="index.html"] #homeCtaSection { padding-bottom:58px!important; }
}

/* Homepage merchandising states: image-led cards and compact identity-led fallbacks. */
[data-active="index.html"] .prod--fallback .prod-img { height:116px; border-bottom:0; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
[data-active="index.html"] .prod-fallback { width:100%; height:100%; padding:18px 20px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; text-align:right; }
[data-active="index.html"] .prod-fallback-monogram { width:54px; height:54px; flex:none; display:grid; place-items:center; border:1px solid var(--line2); border-radius:16px; color:var(--ink); font-size:18px; font-weight:750; letter-spacing:-.5px; background:rgba(255,255,255,.055); box-shadow:inset 0 1px rgba(255,255,255,.06); }
[data-active="index.html"] .prod-fallback>span { color:var(--muted); font-size:11.5px; line-height:1.7; }
[data-active="index.html"] .prod-fallback-tone-0 .prod-fallback-monogram { border-radius:16px 16px 7px 16px; color:var(--accent-ink); }
[data-active="index.html"] .prod-fallback-tone-1 .prod-fallback-monogram { border-radius:50%; background:var(--accent-soft); }
[data-active="index.html"] .prod-fallback-tone-2 .prod-fallback-monogram { transform:rotate(-3deg); border-color:var(--accent-line); }
[data-active="index.html"] .prod-fallback-tone-3 .prod-fallback-monogram { border-radius:7px 16px 16px 16px; background:linear-gradient(145deg,var(--accent-soft),rgba(255,255,255,.02)); }
[data-active="index.html"] .prod--fallback .prod-body { padding:17px 19px 18px; }
[data-active="index.html"] .prod--fallback .prod-name { margin-bottom:5px; font-size:15px; }
[data-active="index.html"] .prod--fallback .prod-sub { min-height:34px; margin-bottom:13px; font-size:11.5px; }
[data-active="index.html"] .prod-foot { padding-top:13px; border-top:1px solid rgba(255,255,255,.055); }
[data-active="index.html"] .prod-buy { width:auto; min-width:68px; padding-inline:11px; display:flex; gap:6px; }
[data-active="index.html"] .prod-fallback-inline { display:block; width:100%; height:100%; }
[data-active="index.html"] .prod-fallback-inline[hidden] { display:none; }
[data-active="index.html"] .prod-buy::after { content:"خرید"; font-family:inherit; font-size:11px; font-weight:700; }
[data-active="index.html"] .home-product-count-1 .home-slider-control,[data-active="index.html"] .home-product-count-2 .home-slider-control,[data-active="index.html"] .home-product-count-3 .home-slider-control { display:none; }
[data-active="index.html"] .home-product-count-1 .home-product-slider,[data-active="index.html"] .home-product-count-2 .home-product-slider,[data-active="index.html"] .home-product-count-3 .home-product-slider { display:grid; overflow:visible; gap:16px; }
[data-active="index.html"] .home-product-count-1 .home-product-slider { grid-template-columns:minmax(0,760px); }
[data-active="index.html"] .home-product-count-2 .home-product-slider { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; }
[data-active="index.html"] .home-product-count-3 .home-product-slider { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-active="index.html"] .home-product-count-1 .home-product-slider .prod,[data-active="index.html"] .home-product-count-2 .home-product-slider .prod,[data-active="index.html"] .home-product-count-3 .home-product-slider .prod { width:auto; max-width:none; }
[data-active="index.html"] .home-product-count-1 .prod--fallback { display:grid; grid-template-columns:190px minmax(0,1fr); }
[data-active="index.html"] .home-product-count-1 .prod--fallback .prod-img { height:100%; min-height:184px; }
[data-active="index.html"] #homeFeaturedCategorySections .home-featured-category:nth-child(even) { padding-inline:26px; padding-bottom:24px; border-radius:28px; background:radial-gradient(600px 260px at 88% 45%,rgba(254,219,153,.028),transparent 72%); }
[data-active="index.html"] #firstPurchaseBanner { border-inline:0; border-radius:0!important; border-top:1px solid var(--line2); border-bottom:1px solid var(--line2); box-shadow:none; background:transparent!important; }
[data-active="index.html"] #firstPurchaseBanner::after { content:""; position:absolute; inset-inline-start:0; top:50%; width:1px; height:54%; transform:translateY(-50%); background:var(--accent-line2); }
[data-active="index.html"] #siteFooter { border-top:0; background:linear-gradient(180deg,transparent,rgba(9,10,15,.52) 24%); }
body[data-theme="light"][data-active="index.html"] .prod--fallback .prod-img { background:linear-gradient(145deg,rgba(254,219,153,.09),rgba(255,255,255,.42)); }
body[data-theme="light"][data-active="index.html"] .prod-fallback-monogram { background:rgba(255,255,255,.74); border-color:rgba(31,32,36,.09); box-shadow:0 8px 20px rgba(31,32,36,.055); }
body[data-theme="light"][data-active="index.html"] .prod-foot { border-top-color:rgba(31,32,36,.06); }
body[data-theme="light"][data-active="index.html"] #homeFeaturedCategorySections .home-featured-category:nth-child(even) { background:radial-gradient(600px 260px at 88% 45%,rgba(254,219,153,.12),rgba(250,248,244,.32) 60%,transparent 78%); }
body[data-theme="light"][data-active="index.html"] #siteFooter { background:linear-gradient(180deg,transparent,rgba(247,244,238,.86) 24%); }
@media (max-width:1180px) and (min-width:721px) {
  [data-active="index.html"] .nav,[data-active="index.html"] .hdr-search,[data-active="index.html"] .hdr-actions>#authLink,[data-active="index.html"] .hdr-account { display:none; }
  [data-active="index.html"] .hdr-actions { margin-right:auto; }
  [data-active="index.html"] .mobile-menu-btn { display:flex; }
  [data-active="index.html"] .mobile-menu:not([hidden]) { display:block; }
}
@media (max-width:720px) {
  [data-active="index.html"] .home-product-count-1 .home-product-slider,[data-active="index.html"] .home-product-count-2 .home-product-slider,[data-active="index.html"] .home-product-count-3 .home-product-slider { grid-template-columns:1fr; }
  [data-active="index.html"] .home-product-count-1 .prod--fallback,[data-active="index.html"] .prod--fallback { display:grid; grid-template-columns:104px minmax(0,1fr); }
  [data-active="index.html"] .prod--fallback .prod-img,[data-active="index.html"] .home-product-count-1 .prod--fallback .prod-img { height:100%; min-height:154px; border-left:1px solid var(--line); }
  [data-active="index.html"] .prod-fallback { padding:14px; flex-direction:column; justify-content:center; text-align:center; gap:8px; }
  [data-active="index.html"] .prod-fallback-monogram { width:46px; height:46px; font-size:16px; }
  [data-active="index.html"] .prod--fallback .prod-body { padding:15px 16px; }
  [data-active="index.html"] .prod--fallback .prod-sub { min-height:0; margin-bottom:10px; line-height:1.7; }
  [data-active="index.html"] .prod-foot { padding-top:10px; }
  [data-active="index.html"] .prod-buy { min-width:62px; height:36px; }
  [data-active="index.html"] #homeFeaturedCategorySections .home-featured-category:nth-child(even) { padding-inline:18px; margin-inline:-18px; border-radius:0; }
  [data-active="index.html"] #firstPurchaseBanner { padding-inline:8px!important; }
}

/* Micro-polish: keep section actions visually attached to their content. */
[data-active="index.html"] .sec-head:has(.link-more) { justify-content:flex-start; gap:28px; }
[data-active="index.html"] .sec-head:has(.link-more)>div { min-width:0; }
[data-active="index.html"] .sec-head:has(.link-more) .link-more { flex:none; }
[data-active="index.html"] .home-product-count-2 .home-slider-wrap { justify-content:center; }
[data-active="index.html"] .home-product-count-2 .home-product-slider { width:min(100%,900px); margin-inline:auto; }
@media (max-width:720px) {
  [data-active="index.html"] .sec-head:has(.link-more) { gap:14px; align-items:flex-end; }
  [data-active="index.html"] .sec-head:has(.link-more) .link-more { font-size:12px; }
  [data-active="index.html"] .home-product-count-2 .home-product-slider { width:100%; }
}
