.product-preview{position:relative;display:block;width:100%;height:100%;touch-action:pan-y pinch-zoom;-webkit-touch-callout:none;user-select:none}
.product-preview img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .16s ease!important;transform:none!important;pointer-events:none}
.product-preview .preview-model{position:absolute;inset:0;opacity:0}
.product-preview.model-ready[data-preview=model] .preview-model,.product-preview.model-ready[data-failed=ghost] .preview-model{opacity:1}
.product-preview.model-ready[data-preview=model] .preview-ghost,.product-preview.model-ready[data-failed=ghost] .preview-ghost{opacity:0}
.preview-cue{position:absolute;top:8px;left:8px;right:8px;width:fit-content;max-width:calc(100% - 16px);padding:5px 8px;background:#f9f9f9ed;color:#2c2c2c;font-size:12px;line-height:1.55;pointer-events:none}
.preview-cue-mouse,.preview-cue-open{display:none}
.is-touch-preview[data-preview=model] .preview-cue-touch,.is-touch-preview[data-preview=model] .preview-cue-mouse{display:none}
.is-touch-preview[data-preview=model] .preview-cue-open{display:inline}
.product-preview[data-failed] .preview-cue{display:none}
.preview-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover) and (pointer:fine){.preview-cue-touch{display:none}.preview-cue-mouse{display:inline}}
@media(prefers-reduced-motion:reduce){.product-preview img{transition:none!important}}
html[data-readable=large] .preview-cue{font-size:14px}

.product-preview .ghost-collage{position:absolute;inset:0;display:block;background-size:300% 300%;background-position:left top;background-repeat:no-repeat;transition:opacity .16s ease;pointer-events:none}

/* Fill the card and conceal hairline edges around source photos. */
.listing-photo .product-preview,.product-photo .product-preview{overflow:hidden}
.listing-photo .product-preview img,.product-photo .product-preview img{object-fit:cover;transform:scale(1.015)!important}
.listing-photo>img,.product-photo>img{object-fit:cover;transform:scale(1.015)}

/* A photo-led rail on product pages: one tap goes straight to the item. */
body[data-page=product] #related-products.related-rail{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:0 0 10px;align-items:stretch}
body[data-page=product] #related-products.related-rail .related-card{display:block;flex:0 0 44%;min-width:0;scroll-snap-align:start;color:inherit;text-decoration:none}
body[data-page=product] #related-products.related-rail .related-photo{display:block;aspect-ratio:3/4;width:100%;overflow:hidden;background:#e9e9e9}
body[data-page=product] #related-products.related-rail .related-photo img{display:block;width:100%;height:100%;object-fit:cover}
body[data-page=product] #related-products.related-rail .related-number,body[data-page=product] #related-products.related-rail .related-name{display:block;line-height:1.5}
body[data-page=product] #related-products.related-rail .related-number{margin-top:10px;font-size:12px;letter-spacing:.04em;color:var(--sub)}
body[data-page=product] #related-products.related-rail .related-name{margin-top:3px;font-size:15px;font-weight:500;overflow-wrap:anywhere}
body[data-page=product] #related-products.related-rail .related-card:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(min-width:800px){body[data-page=product] #related-products.related-rail .related-card{flex-basis:calc((100% - 36px)/4)}}
@media(prefers-reduced-motion:reduce){body[data-page=product] #related-products.related-rail{scroll-snap-type:none}}

/* Product photos open directly, and the detail gallery accepts horizontal drags. */
body[data-page=product] .gallery-controls button{display:none!important}
body[data-page=product] .gallery-controls{pointer-events:none}
body[data-page=product] #gallery-open{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab}
body[data-page=product] #gallery-open:active{cursor:grabbing}
body[data-page=product] #gallery-open img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
body[data-page=product] .viewer-body{touch-action:pan-y pinch-zoom}
body[data-page=product] .viewer.is-zoomed .viewer-body{touch-action:auto}
body[data-page=product] #product-specs,body[data-page=product] a[href="#product-specs"]{display:none!important}
body[data-page=product] .all-sheet-image,body[data-page=product] .sheet-product-links{display:none!important}
body[data-page=product] .all-sheet-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:20px 0}
body[data-page=product] .all-sheet-photo-grid a{display:block;min-width:0;aspect-ratio:3/4;overflow:hidden;background:#eeeae4}
body[data-page=product] .all-sheet-photo-grid img{display:block;width:100%;height:100%;object-fit:cover}
body[data-page=product] .all-sheet-photo-grid a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
