/* S08: exact-SKU gallery and purchase context, in the accepted G2.5 language. */
.configuration-layout>.product-gallery{min-width:0}
.product-gallery{border:1px solid var(--line);background:#fff}
.product-gallery-stage{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff}
.product-gallery-frame{position:absolute;inset:0;width:100%;height:100%;padding:clamp(1rem,3vw,2rem);border:0;background:#fff;cursor:zoom-in}
.product-gallery-frame[hidden]{display:none}
.product-gallery-loading:not([hidden]){position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#fff;color:var(--ink-muted);font-size:var(--font-small)}
.product-gallery-image{display:block;width:100%;height:100%;object-fit:contain}
.product-gallery-frame.is-error{cursor:default;color:var(--ink-muted);font-size:var(--font-small)}
.product-gallery-controls{display:flex;justify-content:center;align-items:center;gap:var(--space-4);min-height:2.75rem;border-top:1px solid var(--line);color:var(--ink-muted);font-size:var(--font-small);font-variant-numeric:tabular-nums}
.product-gallery-arrow{min-width:2.75rem;min-height:2.75rem;border:0;background:transparent;color:var(--ink);font-size:var(--font-label);cursor:pointer}
.product-gallery-arrow:hover,.product-gallery-arrow:focus-visible{color:var(--action)}
.product-gallery-thumbs{display:flex;gap:var(--space-2);padding:var(--space-3);overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:thin}
.product-gallery-thumb{flex:0 0 4.5rem;width:4.5rem;height:4.5rem;padding:.25rem;border:1px solid var(--line);background:#fff;cursor:pointer}
.product-gallery-thumb[aria-current="true"]{border:2px solid var(--action);padding:calc(.25rem - 1px)}
.product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.product-gallery-empty{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:var(--space-5);color:var(--ink-muted);text-align:center;font-size:var(--font-small)}
.product-gallery-zoom{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(.75rem,3vw,2rem);border:0;background:#fff;color:var(--ink);overflow:hidden}
.product-gallery-zoom[open]{display:grid;grid-template-columns:minmax(2.75rem,4rem) minmax(0,1fr) minmax(2.75rem,4rem);align-items:center}
.product-gallery-zoom::backdrop{background:color-mix(in srgb,var(--ink) 75%,transparent)}
.product-gallery-close{position:absolute;right:var(--space-4);top:var(--space-4);z-index:2;min-width:2.75rem;min-height:2.75rem;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:var(--font-section);line-height:1;cursor:pointer}
.product-gallery-zoom-arrow{z-index:1;min-width:2.75rem;min-height:2.75rem;border:0;background:#fff;color:var(--ink);font-size:1.5rem;cursor:pointer}
.product-gallery-zoom-image{grid-column:2;min-width:0;min-height:0;height:100%;display:flex;align-items:center;justify-content:center}
.product-gallery-zoom-image img{display:block;max-width:100%;max-height:calc(100dvh - 4rem);object-fit:contain}
.product-gallery-zoom[open]:not(:has(.product-gallery-zoom-arrow)) .product-gallery-zoom-image{grid-column:1/-1}
.product-gallery-zoom[open] .product-gallery-zoom-arrow:first-of-type{grid-column:1;grid-row:1}
.product-gallery-zoom[open] .product-gallery-zoom-arrow:last-of-type{grid-column:3;grid-row:1}
.product-gallery-zoom-image{grid-row:1}
body.product-zoom-open .product-sticky{display:none!important}
#configuration-view[data-pending="true"] .product-gallery{opacity:.45}
.product-specifications,.product-description{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line)}
.product-specifications h2,.product-description h2{margin-bottom:var(--space-5)}
.product-specification-group{padding-block:var(--space-4);border-top:1px solid var(--line)}
.product-specification-group h3{font-family:var(--font-body);font-size:var(--font-label);letter-spacing:0;margin-bottom:var(--space-4)}
.product-specification-group .store-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-7)}
.product-specification-group .store-facts>div+div{margin:0}
.product-description-content{max-width:var(--measure);line-height:1.65}
.product-receiving>.text-link{display:inline-flex;margin-top:var(--space-4)}
.product-sticky[hidden]{display:none!important}
.product-sticky{display:none}
@media(max-width:959px){.product-gallery-stage{aspect-ratio:1.12/1}.product-specification-group .store-facts{grid-template-columns:1fr 1fr}}
@media(max-width:599px){
 .configuration-layout>.product-gallery{order:-1;width:100%;margin:var(--space-2) 0}
 .product-gallery-stage{aspect-ratio:1/1}
 .product-gallery-frame{padding:var(--space-3)}
 .product-gallery-thumb{flex-basis:3.75rem;width:3.75rem;height:3.75rem}
 .product-gallery-zoom{padding:.25rem}
 .product-gallery-close{top:calc(env(safe-area-inset-top) + .75rem);right:.75rem}
 .product-gallery-zoom-arrow{font-size:1.25rem}
 .product-specification-group .store-facts{grid-template-columns:1fr}
 body.product-sticky-ready .page-main{padding-bottom:calc(var(--product-sticky-height, 6rem) + env(safe-area-inset-bottom) + var(--space-4))}
 .product-sticky:not([hidden]){position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-3) max(var(--space-4),env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));border-top:1px solid var(--ink);background:var(--surface)}
 .product-sticky-context{grid-column:1;min-width:0;display:block;padding:0;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}
 .product-sticky-context strong,.product-sticky-context small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .product-sticky-context strong{font-size:var(--font-small);line-height:1.3}
 .product-sticky-context small{font-size:var(--font-small);color:var(--ink-muted)}
 .product-sticky-offer{grid-column:1;min-width:0}
 .product-sticky-offer .configuration-price{font-size:1.25rem;margin:0}
 .product-sticky-offer .configuration-status{margin:0}
 .product-sticky-action{grid-column:2;grid-row:1/3;min-height:2.75rem;max-width:45vw;white-space:normal;text-align:center;font-size:.82rem;line-height:1.2}
 body.menu-is-open .product-sticky{display:none!important}
}
@media(prefers-reduced-motion:reduce){.product-gallery *{scroll-behavior:auto!important}}
