:root{
  --font-display:"Inter","SF Pro Text",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:"Inter","SF Pro Text",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ink:#2a2330;
  --ink-deep:#002b5c;
  --muted:#6b6475;
  --faint:#8b93a1;
  --paper:#f5f7fa;
  --paper-2:#eaf1f9;
  --surface:#fbfdff;
  --line:#cbdceb;
  --line-soft:#dde8f1;
  --brand:#004c97;
  --brand-light:#0057b8;
  --brand-deep:#002b5c;
  --sky:#42b7e5;
  --signal:#009739;
  --signal-soft:#e6f5ec;
  --warning:#8a5a12;
  --warning-soft:#fbf2df;
  --radius:14px;
  --radius-lg:14px;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 1px 2px rgba(0,43,92,.05),0 12px 34px rgba(0,43,92,.08);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:132px}
body{min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px}
::selection{background:var(--brand);color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:3000;padding:.65rem .9rem;border-radius:var(--radius);background:var(--brand-deep);color:#fff;font-weight:650;transform:translateY(-160%);transition:transform .25s var(--ease)}
.skip-link:focus{transform:translateY(0)}

/* ---------- signal-bar brand motif ---------- */
.signal-mark{display:inline-flex;align-items:flex-end;gap:2.5px;height:12px}
.signal-mark i{width:3px;border-radius:1px;background:currentColor;opacity:.32}
.signal-mark i:nth-child(1){height:4px}
.signal-mark i:nth-child(2){height:6px}
.signal-mark i:nth-child(3){height:8px}
.signal-mark i:nth-child(4){height:10px}
.signal-mark i:nth-child(5){height:12px}
.signal-mark.is-live i{opacity:1}

/* ---------- entrance reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(20px);animation:rise .8s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* ---------- topbar ---------- */
.topbar{background:var(--brand-deep);color:rgba(255,255,255,.85);font-size:.76rem;letter-spacing:.01em}
.topbar-inner{width:min(94vw,1800px);min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-inline:auto}
.topbar strong{color:#fff;font-weight:600}

/* ---------- header (matches homepage glow pill) ---------- */
#siteHeader{position:sticky;top:0;z-index:1000;padding:8px 0 6px;background:var(--paper)}
.header-shell{position:relative;width:min(94vw,1800px);margin-inline:auto}
.header-main{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(280px,520px) auto;justify-content:space-between;align-items:center;gap:clamp(.75rem,1.8vw,2rem);min-height:60px;padding:5px 6px 5px 10px;border:1px solid #a8dff3;border-radius:999px;background:radial-gradient(ellipse 58% 115% at 50% -58%,rgba(91,210,255,.2),transparent 68%),linear-gradient(100deg,#fbfdff,#f2f8fc 52%,#fbfdff);box-shadow:0 8px 24px rgba(0,43,92,.09),0 0 10px rgba(88,204,246,.3),0 0 24px rgba(88,204,246,.13),inset 0 0 24px rgba(91,207,247,.08),inset 0 1px 0 rgba(255,255,255,.95);transition:border-color .25s linear,box-shadow .25s linear}
.header-main::before{content:"";position:absolute;z-index:3;inset:-1px;border:1px solid rgba(99,213,253,.78);border-radius:inherit;box-shadow:0 0 7px rgba(68,196,242,.58),0 0 18px rgba(68,196,242,.2),inset 0 0 7px rgba(68,196,242,.14);pointer-events:none}
#siteHeader.scrolled .header-main{border-color:#84d3ef;box-shadow:0 12px 30px rgba(0,43,92,.13),0 0 12px rgba(78,201,246,.36),0 0 28px rgba(78,201,246,.16),inset 0 0 24px rgba(91,207,247,.08)}
.logo{display:flex;align-items:center;width:190px;height:46px;flex:none}
.logo-picture,.brand-logo{display:block;width:100%;height:100%}
.brand-logo{object-fit:contain;object-position:left center}
.product-search{position:relative;width:100%}
.search-field{display:flex;align-items:center;gap:4px;width:100%;height:46px;padding:4px 4px 4px 17px;border:1px solid #b9d2e4;border-radius:999px;background:linear-gradient(100deg,#f9fcfe,#edf6fb);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 10px rgba(0,76,151,.06);transition:border-color .18s linear,box-shadow .18s linear,background .18s linear}
.search-field:focus-within{border-color:#4fbde8;background:#fbfeff;box-shadow:0 0 0 3px rgba(66,188,235,.13),0 0 18px rgba(75,194,239,.2)}
.product-search input{min-width:0;flex:1;width:auto;border:0;background:transparent;color:var(--brand-deep);font-weight:600;outline:0}
.product-search input::placeholder{color:#667b8f;opacity:1}
.search-key{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:#557085;font-size:.72rem;font-weight:700}
.search-clear,.search-submit{flex:none;display:grid;place-items:center;border:0;cursor:pointer}
.search-clear{width:38px;height:38px;border-radius:50%;background:transparent}
.search-clear:hover{background:#e8f0f6}
.search-clear img{width:14px;height:14px;opacity:.67}
.search-submit{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--brand),var(--brand-deep));box-shadow:0 4px 12px rgba(0,43,92,.2);transition:transform .18s var(--ease)}
.search-submit:hover{transform:scale(1.04)}
.search-submit img{width:17px;height:17px;filter:brightness(0) invert(1)}
.search-clear[hidden],.search-suggestions[hidden]{display:none}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1100;padding:7px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 18px 42px rgba(0,43,92,.18);overflow:hidden}
.search-option{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:58px;padding:6px 9px;border:0;border-radius:var(--radius);background:transparent;text-align:left;cursor:pointer}
.search-option:hover,.search-option.is-active{background:#e7f0f7}
.search-option>img{width:46px;height:46px;border-radius:6px;object-fit:cover;background:var(--paper-2)}
.search-option-copy{min-width:0;display:grid;gap:1px}
.search-option-name{overflow:hidden;color:var(--brand-deep);font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.search-option-cat{color:#5c7083;font-size:.7rem;font-weight:600}
.search-option-price{color:var(--brand);font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.search-empty{display:grid;gap:3px;padding:15px 13px;color:var(--brand-deep);font-size:.86rem;font-weight:700;text-align:center}
.search-empty span{color:#65788a;font-size:.75rem;font-weight:500}
.nav-actions{display:flex;align-items:center;gap:.55rem}
.cart-btn,.burger{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1px solid #d1dfeb;border-radius:50%;background:#edf4f9;cursor:pointer;transition:transform .18s var(--ease),background .18s linear}
.cart-btn:hover,.burger:hover{background:#e1edf6;transform:translateY(-1px)}
.cart-btn>img{width:20px;height:20px;filter:invert(25%) sepia(66%) saturate(1797%) hue-rotate(180deg) brightness(83%) contrast(105%)}
.burger img{width:23px;height:23px;filter:invert(25%) sepia(66%) saturate(1797%) hue-rotate(180deg) brightness(83%) contrast(105%)}
.cart-count{position:absolute;top:-2px;right:-4px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border:2px solid #f8fcff;border-radius:9px;background:var(--signal);color:#fff;font-size:.62rem;font-weight:800}
.cart-count[hidden]{display:none}
.header-order{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.25rem;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;font-size:.87rem;font-weight:750;white-space:nowrap;box-shadow:0 4px 14px rgba(0,76,151,.18);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.header-order:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,76,151,.3)}
.order-short{display:none}
.header-nav{display:none;position:absolute;top:calc(100% + 8px);right:8px;z-index:1050;width:min(250px,calc(100% - 16px));padding:7px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#f8fbfd;box-shadow:0 18px 42px rgba(0,43,92,.18)}
.header-nav.open{display:flex;flex-direction:column;gap:3px}
.header-nav a{min-height:44px;display:flex;align-items:center;padding:.65rem .9rem;border-radius:var(--radius);color:#34495e;font-size:.88rem;font-weight:650}
.header-nav a:hover{background:#e2edf5;color:var(--brand)}

/* ---------- product canvas ---------- */
.product-main{width:min(1180px,92vw);margin-inline:auto;padding:clamp(.75rem,2vw,1.5rem) 0 5rem}
.breadcrumb{display:flex;align-items:center;gap:.6rem;min-height:36px;margin-bottom:clamp(1rem,2vw,1.75rem);color:var(--muted);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;overflow:auto;white-space:nowrap}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb span[aria-hidden="true"]{color:#9bb0c0}
.breadcrumb [aria-current="page"]{color:var(--ink)}

.product-shell{display:grid;grid-template-columns:minmax(0,.96fr) minmax(390px,1.04fr);gap:clamp(1.5rem,3.2vw,3rem);align-items:start}

/* ---------- gallery ---------- */
.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;min-width:0}
.gallery-stage{position:relative;height:clamp(340px,28vw,390px);min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid #c8dceb;border-radius:var(--radius-lg);background:linear-gradient(145deg,#f9fcff,#e8f1f9);box-shadow:0 10px 28px rgba(0,76,151,.08);isolation:isolate;touch-action:pan-y}
.gallery-stage::after{content:"";position:absolute;left:8%;right:8%;bottom:9%;height:26px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,43,92,.14),transparent 70%);pointer-events:none}
.gallery-media{position:absolute;inset:0;z-index:1;display:grid;place-items:center;transition:opacity .18s linear,transform .28s var(--ease)}
.gallery-media.is-changing{opacity:0;transform:scale(.985)}
.gallery-main-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:none;box-sizing:border-box;padding:clamp(.9rem,2vw,1.75rem);object-fit:contain;object-position:center;transition:transform .35s var(--ease)}
.gallery-control,.gallery-zoom{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .18s var(--ease),background .18s linear,border-color .18s linear}
.gallery-control{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}
.gallery-control:hover,.gallery-zoom:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.gallery-control:hover img,.gallery-zoom:hover img{filter:brightness(0) invert(1)}
.gallery-control img,.gallery-zoom img{width:16px;height:16px;filter:invert(25%) sepia(66%) saturate(1797%) hue-rotate(180deg) brightness(83%) contrast(105%);transition:filter .18s linear}
.gallery-prev{left:1rem}
.gallery-next{right:1rem}
.gallery-zoom{right:1rem;top:1rem;width:44px;height:44px;border-radius:50%}
.gallery-zoom[hidden]{display:none}
.gallery-counter{position:absolute;z-index:3;left:1rem;bottom:1rem;min-height:30px;display:flex;align-items:center;padding:.2rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#486176;font-family:var(--font-display);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.gallery-thumbs{display:flex;gap:.65rem;overflow:auto;padding:2px 2px 6px;scrollbar-width:none}
.gallery-thumbs::-webkit-scrollbar{display:none}
.gallery-thumb{position:relative;width:74px;height:74px;flex:none;padding:4px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .18s linear,transform .2s var(--ease),box-shadow .2s var(--ease)}
.gallery-thumb::after{content:"";position:absolute;left:10px;right:10px;bottom:-7px;height:2px;border-radius:2px;background:var(--brand);opacity:0;transform:scaleX(.4);transition:opacity .2s linear,transform .25s var(--ease)}
.gallery-thumb:hover{transform:translateY(-2px);border-color:#7ebbdc}
.gallery-thumb[aria-current="true"]{border-color:var(--brand);box-shadow:0 0 0 2px rgba(0,76,151,.1)}
.gallery-thumb[aria-current="true"]::after{opacity:1;transform:scaleX(1)}
.gallery-thumb>img{width:100%;height:100%;border-radius:5px;object-fit:cover;object-position:center}

/* ---------- buy panel ---------- */
.product-buy{position:sticky;top:118px;min-width:0;padding:clamp(1.35rem,2.5vw,2rem);border:1px solid #d2e1ed;border-radius:var(--radius-lg);background:#fbfdff;box-shadow:0 10px 30px rgba(0,76,151,.08)}
.product-meta{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.product-brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--brand);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.product-code{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.badge-chip{margin-left:auto;display:inline-flex;min-height:26px;align-items:center;padding:.15rem .6rem;border-radius:999px;background:var(--signal-soft);color:var(--signal);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.badge-chip.hot{background:#fff0ec;color:#b5262f;box-shadow:inset 0 0 0 1px #f2c0b7}
.product-title{max-width:18ch;color:var(--brand-deep);font-family:var(--font-display);font-size:clamp(2rem,3vw,2.85rem);font-weight:800;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.product-summary{max-width:56ch;margin-top:1rem;color:var(--muted);font-size:1rem;line-height:1.7}
.product-review-link{min-height:40px;display:inline-flex;align-items:center;gap:.45rem;margin-top:.85rem;color:var(--brand);font-size:.78rem;font-weight:700;border-bottom:1px solid transparent;transition:border-color .18s linear}
.product-review-stars{color:var(--brand);font-size:.76rem;letter-spacing:.08em}
.product-review-link:hover{border-color:var(--brand)}
.buy-divider{height:1px;margin:1.5rem 0 1.35rem;background:var(--line)}
.availability{display:flex;align-items:center;gap:.55rem;color:var(--signal);font-size:.78rem;font-weight:800;letter-spacing:.03em}
.availability::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 0 rgba(0,151,57,.35);animation:pulse 2.4s var(--ease) infinite}
.availability.is-out{color:#b42318}
.availability.is-out::before{background:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.12);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,151,57,.32)}70%{box-shadow:0 0 0 8px rgba(0,151,57,0)}100%{box-shadow:0 0 0 0 rgba(0,151,57,0)}}
.price-block{display:flex;align-items:baseline;flex-wrap:wrap;gap:.8rem;margin-top:.7rem}
.current-price{color:var(--brand-deep);font-family:var(--font-display);font-size:clamp(2rem,2.6vw,2.65rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.old-price{color:#8797a5;font-size:1.02rem;font-variant-numeric:tabular-nums;text-decoration:line-through}
.saving{display:inline-flex;min-height:26px;align-items:center;padding:.15rem .6rem;border-radius:999px;background:var(--signal-soft);color:var(--signal);font-size:.7rem;font-weight:800}
.key-benefits{display:grid;margin:1.4rem 0 1.5rem;border-top:1px solid var(--line-soft)}
.key-benefits li{position:relative;display:flex;align-items:baseline;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line-soft);color:var(--ink);font-size:.85rem;font-weight:500;list-style:none}
.key-benefits li::before{content:"";width:5px;height:5px;flex:none;transform:translateY(-2px) rotate(45deg);background:var(--signal)}
.buy-actions{display:grid;grid-template-columns:122px minmax(0,1fr);gap:.7rem}
.quantity-picker{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;border:1px solid #bcd1df;border-radius:999px;background:var(--surface);overflow:hidden}
.quantity-picker button{height:50px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;transition:background .16s linear}
.quantity-picker button:hover{background:#e1eef6}
.quantity-picker button:disabled{cursor:not-allowed;opacity:.42}
.quantity-picker img{width:13px;height:13px;filter:invert(25%) sepia(66%) saturate(1797%) hue-rotate(180deg) brightness(83%) contrast(105%)}
.quantity-picker output{text-align:center;color:var(--brand-deep);font-family:var(--font-display);font-size:.95rem;font-weight:650;font-variant-numeric:tabular-nums}
.add-cart{position:relative;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;font-size:.92rem;font-weight:750;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 18px rgba(0,76,151,.2);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.add-cart::after{content:"→";font-family:var(--font-display);transition:transform .2s var(--ease)}
.add-cart:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,76,151,.27)}
.add-cart:hover::after{transform:translateX(3px)}
.add-cart:active{transform:translateY(0)}
.add-cart:disabled{background:#d7e0e7;color:#667788;cursor:not-allowed;box-shadow:none;transform:none}
.add-cart:disabled::after{display:none}
.add-cart:disabled:hover{box-shadow:none;transform:none}
.buy-secondary{display:flex;justify-content:center;margin-top:.7rem}
.buy-secondary a{min-height:40px;display:inline-flex;align-items:center;padding:.4rem .9rem;border-radius:var(--radius);color:var(--brand);font-size:.8rem;font-weight:700;transition:background .16s linear}
.buy-secondary a:hover{background:#e4eef6}
.purchase-note{margin-top:1rem;color:var(--muted);font-size:.72rem;line-height:1.6}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.4rem;border-top:1px solid var(--line)}
.trust-item{display:grid;gap:.2rem;padding:.9rem .9rem .2rem 0}
.trust-item+.trust-item{padding-left:.9rem;border-left:1px solid var(--line)}
.trust-item strong{color:var(--brand-deep);font-size:.74rem;font-weight:700}
.trust-item span{color:var(--muted);font-size:.66rem;line-height:1.5}

/* ---------- section jump (scrollspy) ---------- */
.section-jump{position:sticky;top:80px;z-index:900;display:flex;gap:.35rem;margin:clamp(2.25rem,4vw,3.25rem) calc(50% - 50vw) 0;padding:.5rem calc(50vw - min(590px,46vw));border-block:1px solid var(--line);background:rgba(245,247,250,.96);backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}
.section-jump::-webkit-scrollbar{display:none}
.section-jump a{position:relative;min-height:42px;display:flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:999px;color:#496176;font-size:.78rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;transition:color .18s linear,background .18s linear,box-shadow .18s var(--ease)}
.section-jump a::before{content:attr(data-num);font-family:var(--font-display);font-size:.62rem;font-weight:600;color:#9bb0c0}
.section-jump a::after{display:none}
.section-jump a:hover{color:var(--ink)}
.section-jump a[aria-current="true"]{background:var(--brand);color:#f8fcff;box-shadow:0 5px 14px rgba(0,76,151,.18)}
.section-jump a[aria-current="true"]::before{color:#dbeeff}

/* ---------- detail sections ---------- */
.detail-stack{display:grid}
.detail-section{scroll-margin-top:160px;padding:clamp(2.25rem,4.5vw,3.75rem) 0;border-bottom:1px solid var(--line)}
.detail-section:last-child{border-bottom:0}
.section-head{display:flex;align-items:baseline;gap:clamp(1rem,2.5vw,2rem);margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.section-numeral{font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.5rem);font-weight:500;color:#9bb0c0;font-variant-numeric:tabular-nums}
.section-kicker{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;color:var(--signal);font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.detail-section h2{color:var(--brand-deep);font-family:var(--font-display);font-size:clamp(1.55rem,2.3vw,2.15rem);font-weight:800;line-height:1.18;letter-spacing:-.02em}
.detail-lead{max-width:62ch;margin-top:.6rem;color:var(--muted);font-size:.9rem}

.overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(2rem,5vw,5rem)}
.overview-copy{display:grid;gap:1rem;align-content:start;color:#405870;font-size:.95rem;line-height:1.8}
.best-for{display:grid;border-top:1px solid var(--line)}
.best-for li{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line-soft);color:#3f586f;font-size:.87rem;font-weight:600;list-style:none}
.best-for li::before{content:"";width:5px;height:5px;flex:none;transform:rotate(45deg);background:var(--brand)}

.spec-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.spec-list{border-top:1px solid var(--line)}
.spec-row{display:grid;grid-template-columns:minmax(130px,.4fr) minmax(0,.6fr);gap:1rem;padding:.85rem .75rem;border-bottom:1px solid var(--line-soft)}
.spec-row:nth-child(odd){background:var(--surface)}
.spec-row dt{color:#66798a;font-size:.76rem;font-weight:700;letter-spacing:.02em}
.spec-row dd{color:var(--ink);font-size:.85rem;font-weight:700}
.package-list{display:grid;gap:.1rem;border-top:1px solid var(--line)}
.package-list li{display:flex;align-items:baseline;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line-soft);color:#405870;font-size:.85rem;font-weight:550;list-style:none}
.package-list li::before{content:"—";color:#9bb0c0;font-size:.8em}
.package-note{margin-top:1.1rem;padding:.85rem 1rem;border-left:2px solid var(--warning);border-radius:0 var(--radius) var(--radius) 0;background:var(--warning-soft);color:var(--warning);font-size:.74rem;line-height:1.6}

.gallery-video-state{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(230px,1.15fr);align-items:center;gap:clamp(1rem,3vw,2.25rem);padding:clamp(1.5rem,4vw,3rem);overflow:hidden;background:linear-gradient(135deg,#002b5c,#004c97 58%,#0867ad);color:#f5faff}
.gallery-video-state::after{content:"";position:absolute;right:-12%;bottom:-38%;width:420px;aspect-ratio:1;border-radius:50%;background:#0f70b8;opacity:.42}
.gallery-video-poster{position:relative;z-index:1;width:100%;height:100%;min-height:0;padding:.5rem;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,25,50,.25))}
.gallery-video-copy{position:relative;z-index:2;display:grid;align-content:center;justify-items:start;gap:.65rem}
.gallery-play-mark{width:54px;height:54px;display:grid;place-items:center;border:1px solid #8ec9ef;border-radius:50%;background:#f5faff;box-shadow:0 10px 24px rgba(0,25,50,.22)}
.gallery-play-mark img{width:22px;height:22px;transform:translateX(2px);filter:invert(24%) sepia(69%) saturate(1974%) hue-rotate(179deg) brightness(80%) contrast(104%)}
.gallery-video-copy strong{font-size:clamp(1.35rem,2.5vw,2rem);font-weight:800;line-height:1.15}
.gallery-video-copy p{max-width:38ch;color:#d8eaf7;font-size:.9rem;line-height:1.65}
.video-status{display:inline-flex;width:max-content;min-height:28px;align-items:center;padding:.2rem .7rem;border:1px solid #8ec9ef;border-radius:999px;color:#e6f4ff;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gallery-video-player,.gallery-video-embed{position:absolute;inset:0;width:100%;height:100%;background:var(--brand-deep)}
.gallery-video-player{object-fit:contain}
.gallery-video-embed iframe{width:100%;height:100%;border:0}
.gallery-video-thumb{padding:0;background:var(--brand-deep)}
.gallery-video-thumb>img{width:100%;height:100%;object-fit:cover;opacity:.7}
.video-thumb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,43,92,.15),rgba(0,43,92,.78))}
.video-thumb-play{position:absolute;left:50%;top:43%;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f5faff;transform:translate(-50%,-50%)}
.video-thumb-play img{width:12px;height:12px;transform:translateX(1px);filter:invert(24%) sepia(69%) saturate(1974%) hue-rotate(179deg) brightness(80%) contrast(104%)}
.video-thumb-label{position:absolute;left:0;right:0;bottom:6px;color:#f5faff;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}

.review-overview{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
.legacy-rating-panel{display:grid;gap:1rem;padding:clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--brand-deep),var(--brand));color:#f5faff;box-shadow:0 12px 30px rgba(0,43,92,.16)}
.legacy-rating-label{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d8eaf7}
.legacy-rating-score{display:flex;align-items:center;gap:1rem}
.legacy-rating-score>strong{font-size:clamp(2.6rem,5vw,4rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.legacy-rating-score>span{display:grid;gap:.3rem}
.legacy-rating-score small{color:#d8eaf7;font-size:.72rem;font-weight:600}
.legacy-rating-panel>p{color:#d8eaf7;font-size:.82rem;line-height:1.65}
.review-stars{--review-fill:100%;position:relative;display:inline-block;width:5.4em;height:1em;color:#b7c6d2;font-size:.8rem;line-height:1;letter-spacing:.08em;white-space:nowrap}
.review-stars::before,.review-stars::after{content:"★★★★★";position:absolute;inset:0;white-space:nowrap}
.review-stars::after{width:var(--review-fill);overflow:hidden;color:#f4bd2d}
.review-form{display:grid;gap:1.25rem;padding:clamp(1.25rem,2.5vw,1.75rem);border:1px solid #c8dceb;border-radius:var(--radius-lg);background:#fbfdff;box-shadow:0 8px 24px rgba(0,76,151,.06)}
.review-form-head{display:grid;gap:.35rem}
.review-form-head h3,.review-list-heading h3{color:var(--brand-deep);font-size:1.25rem;font-weight:800;line-height:1.25}
.review-form-head p{max-width:62ch;color:var(--muted);font-size:.82rem;line-height:1.6}
.review-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.review-field{display:grid;align-content:start;gap:.35rem}
.review-field-wide{grid-column:1/-1}
.review-field label,.review-rating-field legend{color:var(--brand-deep);font-size:.78rem;font-weight:750}
.review-field label span{color:var(--muted);font-weight:500}
.review-field input,.review-field textarea{width:100%;border:1px solid #b9cedf;border-radius:10px;background:#f4f8fb;color:var(--ink);font-size:1rem;outline:0;transition:border-color .18s linear,box-shadow .18s linear,background .18s linear}
.review-field input{min-height:46px;padding:.65rem .8rem}
.review-field textarea{min-height:124px;padding:.75rem .8rem;line-height:1.55;resize:vertical}
.review-field input:focus,.review-field textarea:focus{border-color:var(--brand-light);background:#fbfdff;box-shadow:0 0 0 3px rgba(0,87,184,.12)}
.review-field input[aria-invalid="true"],.review-field textarea[aria-invalid="true"]{border-color:#b43636;background:#fff8f7}
.review-field-help{color:var(--muted);font-size:.7rem}
.field-error{min-height:1em;color:#a32626;font-size:.7rem;font-weight:650;line-height:1.4}
.review-rating-field{min-width:0;border:0}
.review-rating-options{display:flex;gap:.35rem;margin-top:.4rem}
.review-rating-options label{position:relative;cursor:pointer}
.review-rating-options input{position:absolute;opacity:0;pointer-events:none}
.review-rating-options label>span[aria-hidden="true"]{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c1d5e4;border-radius:10px;background:#f4f8fb;color:#7790a4;font-size:1.15rem;transition:transform .16s var(--ease),border-color .16s linear,background .16s linear,color .16s linear}
.review-rating-options input:checked+span{border-color:var(--brand);background:#e6f0f8;color:var(--brand);box-shadow:0 0 0 2px rgba(0,76,151,.1)}
.review-rating-options input:focus-visible+span{outline:3px solid var(--sky);outline-offset:2px}
.review-consent{display:flex;align-items:flex-start;gap:.65rem;color:#405870;font-size:.78rem;line-height:1.55;cursor:pointer}
.review-consent input{width:18px;height:18px;flex:none;margin-top:.1rem;accent-color:var(--brand)}
.review-submit,.show-all-reviews{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.85rem;font-weight:800;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s linear}
.review-submit{width:max-content;padding:.7rem 1.35rem;border:0;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#f8fcff;box-shadow:0 6px 16px rgba(0,76,151,.18)}
.review-submit:hover,.show-all-reviews:hover{transform:translateY(-1px)}
.review-form-status{min-height:1.2em;color:var(--signal);font-size:.76rem;font-weight:750}
.local-review-card{display:grid;gap:.65rem;padding-top:1rem;border-top:1px solid #3979ad}
.local-review-card h4{font-size:.95rem;font-weight:800}
.local-review-card p{color:#e7f3fb;font-size:.8rem;line-height:1.6}
.local-review-card .review-stars{margin-left:auto}
.local-review-card .review-card-head small{color:#b9d8ed}
.local-review-note{color:#b9d8ed;font-size:.68rem}
.placeholder-reviews{display:grid;gap:1.25rem;margin-top:clamp(1.5rem,3vw,2.5rem)}
.review-disclosure{display:grid;gap:.35rem;padding:1rem 1.15rem;border:1px solid #dbc790;border-radius:12px;background:#fbf2df;color:#725018}
.review-disclosure strong{font-size:.84rem;font-weight:800}
.review-disclosure p{max-width:90ch;font-size:.76rem;line-height:1.55}
.review-list-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.review-count{flex:none;color:var(--brand);font-size:.76rem;font-weight:800}
.placeholder-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.placeholder-review-card{display:grid;align-content:start;gap:.55rem;padding:1.1rem;border:1px solid #d4e2ed;border-radius:var(--radius-lg);background:#fbfdff;box-shadow:0 5px 16px rgba(0,76,151,.05)}
.placeholder-review-card[hidden]{display:none}
.review-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem}
.review-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e3eff7;color:var(--brand);font-size:.78rem;font-weight:800}
.review-card-head>span:nth-child(2){display:grid;gap:.05rem}
.review-card-head strong{color:inherit;font-size:.8rem;font-weight:800}
.review-card-head small{color:var(--muted);font-size:.66rem}
.review-badge{width:max-content;display:inline-flex;align-items:center;min-height:24px;padding:.15rem .55rem;border-radius:999px;background:#fbf2df;color:#7b5718;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.review-badge.local{background:#e6f5ec;color:#176b36}
.review-badge.customer{background:#e6f5ec;color:#176b36}
.placeholder-review-card h4{color:var(--brand-deep);font-size:.9rem;font-weight:800}
.placeholder-review-card p{color:#405970;font-size:.8rem;line-height:1.65}
.show-all-reviews{justify-self:center;padding:.65rem 1.25rem;border:1px solid var(--brand);background:#f4f9fc;color:var(--brand)}
.show-all-reviews[hidden]{display:none}

.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.related-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:.9rem;align-items:center;min-width:0;padding:.8rem;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);transition:transform .22s var(--ease),border-color .2s linear,box-shadow .22s var(--ease)}
.related-card:hover{transform:translateY(-3px);border-color:#8fbfd9;box-shadow:var(--shadow)}
.related-card img{width:96px;height:96px;border-radius:var(--radius);object-fit:cover;background:var(--paper-2)}
.related-copy{min-width:0;display:grid;gap:.2rem}
.related-copy span{color:var(--signal);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.related-copy strong{color:var(--brand-deep);font-size:.83rem;font-weight:700;line-height:1.35}
.related-copy b{color:var(--brand);font-family:var(--font-display);font-size:.9rem;font-weight:650;font-variant-numeric:tabular-nums}

/* ---------- not found ---------- */
.product-not-found{min-height:60vh;display:grid;place-items:center;padding:2rem}
.not-found-inner{max-width:620px;display:grid;justify-items:center;gap:.9rem;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-align:center}
.not-found-inner h1{color:var(--brand-deep);font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:650;line-height:1.08;letter-spacing:-.03em}
.not-found-inner p{color:var(--muted)}
.not-found-inner a{min-height:48px;display:inline-flex;align-items:center;padding:.7rem 1.2rem;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;font-weight:750;box-shadow:0 4px 14px rgba(0,76,151,.18);transition:transform .18s var(--ease)}
.not-found-inner a:hover{transform:translateY(-1px)}

/* ---------- footer (matches homepage) ---------- */
footer{position:relative;margin-top:2rem;padding:3rem 0 1.5rem;background:var(--brand-deep);color:#b0c4d8}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--signal),var(--brand-light))}
.footer-inner{width:min(1180px,92%);display:grid;grid-template-columns:1.35fr repeat(2,.65fr);gap:2.5rem;margin-inline:auto}
.footer-logo{display:inline-flex;width:210px;height:66px;margin-bottom:1.1rem;padding:8px 10px;border-radius:var(--radius);background:#f4f9fc}
.footer-logo img{width:100%;height:100%;object-fit:contain}
footer h3{margin-bottom:.75rem;color:#f5faff;font-family:var(--font-display);font-size:.92rem;font-weight:650;letter-spacing:.02em}
footer p,footer a{font-size:.82rem;line-height:1.7}
.footer-links{display:grid;align-content:start;gap:.45rem}
.footer-links a:hover{color:#fff}
.foot-bottom{width:min(1180px,92%);margin:1.75rem auto 0;padding-top:1.1rem;border-top:1px solid rgba(216,232,245,.16);font-size:.74rem}

/* ---------- image dialog ---------- */
.image-dialog{width:min(94vw,1080px);max-width:none;max-height:92vh;padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 30px 90px rgba(0,25,50,.4);overflow:hidden}
.image-dialog::backdrop{background:rgba(3,20,36,.82)}
.image-dialog-close{position:absolute;top:.85rem;right:.85rem;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#f5fafc;cursor:pointer;transition:background .18s linear}
.image-dialog-close:hover{background:#e8f0f6}
.image-dialog-close img{width:16px;height:16px;filter:invert(25%) sepia(66%) saturate(1797%) hue-rotate(180deg) brightness(83%) contrast(105%)}
.image-dialog figure{display:grid;grid-template-rows:minmax(0,1fr) auto;height:min(88vh,880px)}
.image-dialog figure>img{width:100%;height:100%;min-height:0;padding:1.75rem;object-fit:contain;background:var(--paper-2)}
.image-dialog figcaption{padding:.8rem 1rem;color:#4f6578;font-size:.78rem;text-align:center}

/* ---------- mobile buy bar ---------- */
.mobile-buy-bar{display:none}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .product-shell{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:2rem}
  .related-grid{grid-template-columns:1fr}
}

@media(max-width:980px){
  .topbar-inner{justify-content:flex-start;text-align:left}
  .topbar-right{display:none}
  .header-main{grid-template-columns:auto minmax(220px,1fr) auto;gap:.65rem}
}

@media(max-width:900px){
  .product-shell{grid-template-columns:1fr}
  .product-buy{position:static}
  .product-title{max-width:22ch}
  .overview-grid,.spec-layout,.review-overview{grid-template-columns:1fr}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:820px){
  .header-shell{padding:0;border-radius:999px}
  .header-main{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;min-height:58px;padding:5px 6px;border-radius:999px}
  .product-search{position:static;grid-column:2;grid-row:1}
  .nav-actions{grid-column:3;grid-row:1}
  .header-nav{left:auto;right:6px}
}

@media(max-width:640px){
  html{scroll-padding-top:96px}
  body{padding-bottom:80px}
  .topbar{font-size:.7rem}
  .topbar-inner{min-height:28px;width:94vw}
  #siteHeader{padding:6px 0 4px}
  .header-shell{width:calc(100% - 1rem);padding:0;border-radius:999px}
  .header-main{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;min-height:58px;padding:5px;border-radius:999px}
  .logo{width:160px;height:42px}
  .search-field{height:45px;padding-left:14px}
  .product-search input{font-size:.82rem}
  .search-key{display:none}
  .search-submit{width:37px;height:37px}
  .search-clear{width:34px;height:34px}
  .nav-actions{gap:.35rem}
  .cart-btn,.burger{width:40px;height:40px}
  .cart-btn>img{width:18px;height:18px}
  .burger img{width:21px;height:21px}
  .header-order{display:inline-flex}
  .search-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;border-radius:14px}
  .product-main{width:94vw;padding-top:.5rem;padding-bottom:2rem}
  .breadcrumb{margin-bottom:.9rem;font-size:.64rem}
  .product-shell{gap:1.75rem}
  .gallery-stage{height:340px;min-height:0;border-radius:var(--radius)}
  .gallery-main-image{padding:.85rem}
  .gallery-thumb{width:66px;height:66px}
  .gallery-control{width:40px;height:40px}
  .gallery-prev{left:.6rem}.gallery-next{right:.6rem}
  .gallery-zoom{right:.6rem;top:.6rem}
  .gallery-counter{left:.6rem;bottom:.6rem}
  .product-title{font-size:clamp(1.75rem,8.5vw,2.4rem)}
  .product-summary{font-size:1rem;line-height:1.65}
  .product-buy{padding:1.15rem}
  .current-price{font-size:2rem}
  .buy-actions{display:none}
  .buy-secondary{justify-content:flex-start}
  .trust-strip{grid-template-columns:1fr}
  .trust-item{padding:.7rem 0 0}
  .trust-item+.trust-item{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .section-jump{top:60px;margin-top:2rem}
  .section-jump a{min-height:46px;font-size:.72rem}
  .detail-section{scroll-margin-top:130px}
  .section-head{gap:.8rem}
  .spec-row{grid-template-columns:1fr;gap:.15rem;padding:.75rem .65rem}
  .gallery-video-state{grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:.85rem;padding:1rem}
  .gallery-video-copy{gap:.4rem}
  .gallery-video-copy strong{font-size:1.15rem}
  .gallery-video-copy p{font-size:.72rem;line-height:1.5}
  .gallery-play-mark{width:42px;height:42px}
  .gallery-play-mark img{width:17px;height:17px}
  .review-form-grid,.placeholder-review-grid{grid-template-columns:1fr}
  .review-field-wide{grid-column:auto}
  .legacy-rating-score{align-items:flex-start}
  .review-list-heading{align-items:start;flex-direction:column}
  .review-submit{width:100%}
  .related-grid{grid-template-columns:1fr}
  .related-card{grid-template-columns:84px minmax(0,1fr)}
  .related-card img{width:84px;height:84px}
  .footer-inner{grid-template-columns:1fr;gap:1.75rem}
  .mobile-buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:950;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;padding:.65rem max(.8rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -10px 30px rgba(0,43,92,.13)}
  .mobile-price{display:grid;line-height:1.25}
  .mobile-price span{color:var(--muted);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
  .mobile-price strong{color:var(--brand);font-family:var(--font-display);font-size:1.08rem;font-weight:700;font-variant-numeric:tabular-nums}
  .mobile-buy-bar button{min-height:48px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;font-size:.85rem;font-weight:750;letter-spacing:.02em;cursor:pointer}
  .mobile-buy-bar button:disabled{background:#d7e0e7;color:#667788;cursor:not-allowed}
}

@media(max-width:520px){
  .logo{width:38px;height:38px}
}

@media(max-width:400px){
  .header-main{gap:4px;padding:4px}
  .cart-btn,.burger{width:36px;height:36px}
  .nav-actions{gap:.25rem}
  .search-field{height:39px;padding:3px 3px 3px 9px}
  .search-submit{width:33px;height:33px}
  .search-submit img{width:15px;height:15px}
  .search-clear{width:30px;height:30px}
}

@media(max-width:390px){
  .gallery-stage{height:300px;min-height:0}
  .review-rating-options{gap:.25rem}
  .review-rating-options label>span[aria-hidden="true"]{width:38px;height:38px}
}

@media(max-width:350px){
  .header-main{gap:3px;padding:3px}
  .logo{width:32px;height:32px}
  .cart-btn,.burger{width:34px;height:34px}
  .order-full{display:none}
  .order-short{display:inline}
  .nav-actions{gap:2px}
  .search-field{height:37px;padding:2px 2px 2px 7px}
  .search-submit{width:31px;height:31px}
  .search-clear{width:28px;height:28px}
}

.product-shell[data-gallery-ratio="4:3"] .gallery-stage{width:100%;height:auto;aspect-ratio:4/3}
.product-shell[data-gallery-ratio="4:3"] .gallery-main-image{padding:0}
.product-shell[data-gallery-ratio="4:3"] .gallery-thumb{width:88px;height:auto;aspect-ratio:4/3;padding:0}
.product-shell[data-gallery-ratio="4:3"] .gallery-thumb>img{border-radius:10px;object-fit:contain}

.product-shell[data-gallery-ratio="1:1"] .gallery-stage{width:100%;height:auto;aspect-ratio:1/1}
.product-shell[data-gallery-ratio="1:1"] .gallery-main-image{padding:0;object-fit:contain}
.product-shell[data-gallery-ratio="1:1"] .gallery-thumb{width:78px;height:auto;aspect-ratio:1/1;padding:0}
.product-shell[data-gallery-ratio="1:1"] .gallery-thumb>img{border-radius:10px;object-fit:cover}

@media(max-width:640px){
  .product-shell[data-gallery-ratio="4:3"] .gallery-thumb{width:80px}
  .product-shell[data-gallery-ratio="1:1"] .gallery-thumb{width:72px}
}

@media(hover:hover){
  .gallery-stage:hover .gallery-main-image{transform:scale(1.015)}
  .product-shell[data-gallery-ratio="4:3"] .gallery-stage:hover .gallery-main-image{transform:none}
  .product-shell[data-gallery-ratio="1:1"] .gallery-stage:hover .gallery-main-image{transform:none}
}

/* Build-time product HTML stays useful and readable before JavaScript enhances it. */
.product-prerender{width:min(1180px,92%);margin:0 auto;padding:2rem 0 4rem}
.product-prerender-breadcrumb{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:1.25rem;color:var(--muted);font-size:.9rem}
.product-prerender-breadcrumb a{color:var(--brand);font-weight:700}
.product-prerender-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.product-prerender figure{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}
.product-prerender figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.product-prerender-copy,.product-prerender>section{padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}
.product-prerender>section{margin-top:1.5rem}
.product-prerender-kicker{color:var(--signal);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-prerender h1{margin:.45rem 0 1rem;color:var(--brand-deep);font-size:clamp(1.75rem,4vw,3rem);line-height:1.12}
.product-prerender h2{margin:1rem 0 .65rem;color:var(--brand-deep);font-size:clamp(1.2rem,2vw,1.55rem)}
.product-prerender p+p{margin-top:.75rem}
.product-prerender ul{padding-left:1.2rem}
.product-prerender li+li{margin-top:.4rem}
.product-prerender-price{margin-top:1.2rem;color:var(--brand-deep);font-size:1.35rem;font-weight:800}
.product-prerender-price span{color:var(--signal);font-size:.9rem}
.product-prerender-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.25rem}
.product-prerender-specs div{padding:.7rem 0;border-bottom:1px solid var(--line-soft)}
.product-prerender-specs dt{color:var(--muted);font-size:.82rem;font-weight:700}
.product-prerender-specs dd{margin-top:.15rem;color:var(--ink);font-weight:650}

@media(max-width:760px){
  .product-prerender{padding-top:1rem}
  .product-prerender-grid{grid-template-columns:1fr}
  .product-prerender-specs{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}
