/* Photo-based visualizations have their own light and contact shadow. */
.photo-based-image{background:#f2ede5}
.photo-based-image img{transform:none;filter:none;object-fit:contain}
.photo-based-hero{background:#f2ede5;overflow:hidden}
.photo-based-hero .orb{display:none}
.photo-based-hero img{inset:0;width:100%;height:100%;object-fit:contain;transform:none;filter:none}
.photo-based-hero .art-caption{left:20px;right:20px;bottom:20px;font-size:.8125rem;letter-spacing:0;line-height:1.6;color:var(--muted)}
.photo-based-hero .art-number{display:none}
.product-media .photo-based-image{aspect-ratio:1;height:auto;max-height:none}
.product-media .photo-based-image .gallery-open{aspect-ratio:1}
@media(max-width:600px){.photo-based-hero{min-height:0;aspect-ratio:1;max-height:none}.photo-based-hero .art-caption{left:14px;bottom:14px}}

/* Product photos stay editable; the shared certificate is appended at render time. */
.product-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
.product-gallery.has-thumbnails{grid-template-columns:76px minmax(0,1fr)}
.product-gallery .gallery-main{min-width:0;grid-column:2;grid-row:1}
.product-gallery:not(.has-thumbnails) .gallery-main{grid-column:1}
.product-detail{grid-template-rows:min-content minmax(0,1fr);row-gap:18px}
.product-detail>.product-media{grid-column:1;grid-row:1}
.product-detail>.product-purchase{grid-column:2;grid-row:1 / span 2;min-width:0}
.product-detail>.product-assurances{grid-column:1;grid-row:2;min-width:0;align-self:start}
.product-assurances--with-thumbnails{margin-left:88px}
.product-assurances .delivery-included{margin:0 0 12px}
.product-assurances .purchase-trust{margin:0}
.product-gallery .product-image,.product-gallery .gallery-open{aspect-ratio:1;height:auto;max-height:none}
.product-gallery .product-image img{height:100%;width:100%;object-fit:contain}
.product-gallery .is-document{background:#fff}
.product-gallery .is-document img{transform:none;filter:none;padding:8px;background:#fff}
.product-gallery .gallery-thumbnails{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;margin:0;padding:3px;max-height:560px;overflow:auto;min-width:0;scrollbar-width:thin}
.product-gallery .gallery-thumbnail{position:relative;width:68px;height:68px;min-height:68px;padding:3px;flex-shrink:0;background:#f2ede5;border-radius:9px;cursor:pointer}
.product-gallery .gallery-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.product-gallery .gallery-thumbnail[data-gallery-kind=document]{background:#fff}
.product-gallery .gallery-thumbnail[aria-pressed=true]{border:2px solid var(--copper)}
.gallery-thumb-label{position:absolute;bottom:0;left:0;right:0;padding:2px 0;border-radius:0 0 6px 6px;background:#fffef5eb;color:#302e29;font-size:.625rem;font-weight:700;line-height:1.3;text-align:center;pointer-events:none;overflow-wrap:anywhere}
.gallery-caption{margin:8px 0 0;min-height:3.2em;font-size:.8125rem;font-weight:600;line-height:1.6;color:var(--muted)}
.gallery-original{display:inline-block;font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;min-height:40px;padding:5px 0}
#gallery-status{font-size:.875rem;line-height:1.5;margin:0}
#gallery-status:empty{display:none}
.gallery-fallback{display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem}
.product-gallery noscript{grid-column:1/-1}
@media(max-width:600px){
 .product-detail{grid-template-rows:none;row-gap:16px}
 .product-detail>.product-media,.product-detail>.product-purchase,.product-detail>.product-assurances{grid-column:1;grid-row:auto}
 .product-assurances--with-thumbnails{margin-left:0}
 .product-purchase>.eyebrow{margin-bottom:12px}
 .product-detail .product-purchase h1{margin-top:0;margin-bottom:10px}
 .product-purchase>p{margin-top:10px;margin-bottom:12px}
 .product-purchase .size-buttons{margin-top:12px}
 .product-gallery.has-thumbnails{grid-template-columns:minmax(0,1fr)}
 .product-gallery .gallery-main{grid-column:1;grid-row:1}
 .product-gallery .gallery-thumbnails{grid-column:1;grid-row:2;flex-direction:row;max-height:none;max-width:100%;overflow-x:auto;overflow-y:hidden}
}
