/* Scoped static product gallery; shares the cabinet's token vocabulary. */
.product-gallery{position:relative;max-width:1840px;margin:0 auto;padding:32px 36px;color:var(--ink,#edf2f7);font-size:var(--sm-font-base,14px);scroll-margin-top:90px}
.product-gallery [hidden]{display:none!important}
.gallery-anchor{position:absolute;top:0;scroll-margin-top:90px}
.gallery-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:end;margin-bottom:18px}
.gallery-heading .eyebrow{margin-bottom:8px;letter-spacing:.13em;font-size:11px}
.gallery-heading h2{font-size:clamp(24px,2.3vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0}
.gallery-heading p{font-size:14px;color:var(--muted,#a9b8c9);line-height:1.55;margin:0}
.gallery-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 4px 10px;scrollbar-width:thin;scrollbar-color:#465362 transparent}
.product-gallery button{cursor:pointer;font:inherit;min-height:44px;border:1px solid #3c4857;border-radius:var(--sm-radius,10px);background:#181e26;color:#edf2f7;padding:9px 14px;transition:background .18s,border-color .18s}
.gallery-tabs button{white-space:nowrap;flex-shrink:0;font-size:14px}
.gallery-tabs button[aria-selected=true]{background:var(--lime,#bdff4a);border-color:var(--lime,#bdff4a);color:#142000;font-weight:700}
.product-gallery button:hover{border-color:var(--lime,#bdff4a)}
.product-gallery :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--lime,#bdff4a);outline-offset:2px}
.gallery-stage{touch-action:pan-y;border:1px solid #34404e;border-radius:12px;background:#181e26;overflow:hidden}
.gallery-stage figure{margin:0}
.gallery-image-link{display:block;background:#0b0e11}
.gallery-image-link img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none}
.gallery-stage figcaption{display:flex;gap:12px;align-items:baseline;border-top:1px solid #34404e;padding:12px 16px;line-height:1.5}
.gallery-stage figcaption strong{font-size:14px;white-space:nowrap}
.gallery-stage figcaption span{color:#a9b8c9;font-size:13px}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.gallery-pager{display:flex;align-items:center;gap:12px}
.gallery-pager button{width:44px;padding:6px;font-size:22px;line-height:1}
[data-gallery-count]{min-width:46px;text-align:center;color:#a9b8c9;font-variant-numeric:tabular-nums}
.gallery-lightbox{width:min(1560px,96vw);max-width:96vw;max-height:94dvh;overflow:auto;padding:16px;border:1px solid #485463;border-radius:12px;background:#11171e;color:#edf2f7;overscroll-behavior:contain}
.gallery-lightbox::backdrop{background:#000c}
.gallery-lightbox header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.gallery-lightbox h3{font-size:16px;line-height:1.4;margin:0}
.gallery-lightbox img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#0b0e11}
.gallery-lightbox p{font-size:12px;color:#a9b8c9;margin:12px 0 0}
.gallery-lightbox-image{max-height:calc(94dvh - 200px);overflow:auto;margin-top:10px;overscroll-behavior:contain}
.gallery-lightbox.is-zoomed img{width:auto;max-width:none;max-height:none}
@media(max-width:768px){.product-gallery{padding:26px 20px}.gallery-heading{grid-template-columns:1fr;gap:10px}.gallery-image-link img{max-height:none}.gallery-stage figcaption{display:block;padding:10px 12px}.gallery-stage figcaption span{display:block;margin-top:3px}.gallery-lightbox{padding:12px}.gallery-lightbox header{align-items:start}.gallery-lightbox h3{font-size:14px}.gallery-lightbox button{font-size:14px;white-space:nowrap}}
@media(max-width:430px){.product-gallery{padding-inline:16px}.gallery-heading h2{font-size:24px}.gallery-controls{gap:8px}.product-gallery [data-gallery-enlarge]{padding-inline:10px;font-size:14px}.gallery-pager{gap:6px}.gallery-tabs{margin-inline:-3px}}
@media(prefers-reduced-motion:reduce){.product-gallery *,.product-gallery *::before,.product-gallery *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#productGallery{box-sizing:border-box;scroll-margin-top:110px}#productGallery .gallery-image-link img{max-width:none;width:100%;height:auto;max-height:none;aspect-ratio:auto}

/* Split composition: the left rail replaces the previous unused side space. */
#productGallery .gallery-layout{display:grid;grid-template-columns:clamp(270px,21vw,350px) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:center;max-width:calc(clamp(270px,21vw,350px) + clamp(24px,3vw,48px) + var(--gallery-stage-width,1400px));margin-inline:auto}
#productGallery .gallery-sidebar{min-width:0}
#productGallery .gallery-heading{display:block;margin-bottom:24px}
#productGallery .gallery-heading h2{font-size:clamp(30px,2.5vw,42px);line-height:1.12;margin-bottom:18px}
#productGallery .gallery-heading p{font-size:14px;line-height:1.6}
#productGallery .gallery-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible;padding:2px}
#productGallery .gallery-tabs button{font-size:13px;white-space:normal;text-align:left;padding:10px 12px;line-height:1.3;min-height:44px}
#productGallery .gallery-preview{width:min(100%,var(--gallery-stage-width,100%));justify-self:end;min-width:0}
#productGallery .gallery-stage,#productGallery .gallery-controls{width:100%;max-width:none;box-sizing:border-box;margin-inline:0}
#productGallery .gallery-controls{margin-top:10px}
#productGallery .gallery-stage figcaption{padding:10px 14px}
/* Viewer image is always fitted whole, with controls overlaid instead of reserving rows. */
html.gallery-viewer-open,html.gallery-viewer-open body{overflow:hidden}
#productGallery .gallery-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#05070a;box-sizing:border-box}
#productGallery .gallery-lightbox .gallery-lightbox-image{width:100%;height:100%;max-height:none;margin:0;overflow:hidden}
#productGallery .gallery-lightbox img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0}
#productGallery .gallery-lightbox header{position:absolute;inset:12px 12px auto auto;z-index:1;display:flex;gap:6px;margin:0;padding:4px;border-radius:12px;background:#0b0e11c9;backdrop-filter:blur(8px)}
#productGallery .gallery-lightbox header h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#productGallery .gallery-lightbox header button{width:44px;height:44px;min-height:44px;padding:0;font-size:24px;background:#141b24d9}
#productGallery .gallery-lightbox>p{display:none}
@media(max-width:1000px){
 #productGallery .gallery-layout{display:block;max-width:none}
 #productGallery .gallery-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:end;margin-bottom:12px}
 #productGallery .gallery-heading h2{font-size:28px;margin:0}
 #productGallery .gallery-heading h2 br{display:none}
 #productGallery .gallery-heading p{font-size:12px}
 #productGallery .gallery-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px}
 #productGallery .gallery-tabs button{white-space:nowrap;font-size:13px}
 #productGallery .gallery-preview{margin-inline:auto}
}
@media(max-width:600px){
 #productGallery{padding:16px}
 #productGallery .gallery-heading{display:block}
 #productGallery .gallery-heading h2{font-size:26px;margin-bottom:8px}
 #productGallery .gallery-heading p{font-size:12px;line-height:1.4}
 #productGallery .gallery-heading .eyebrow{display:none}
 #productGallery .gallery-lightbox header{inset:6px 6px auto auto}
}
