/* Independent product gallery compositions. All source photographs keep their proportions. */
body.product-page .detail-gallery[data-gallery-style]{display:block!important;position:relative;min-width:0;--gallery-canvas:var(--surface);--gallery-control:var(--page);--gallery-ink:var(--ink)}
body.product-page .detail-gallery[data-gallery-style] .detail-stage{grid-column:auto;grid-row:auto;border:0!important;border-radius:18px!important;background:var(--gallery-canvas);position:relative;isolation:isolate}
body.product-page .detail-gallery[data-gallery-style] .detail-zoom{display:grid;place-items:center;position:relative;background:transparent;overflow:hidden;min-width:0}
body.product-page .detail-gallery[data-gallery-style] .detail-zoom img{width:100%;height:clamp(400px,45vw,620px)!important;padding:28px!important;object-fit:contain;transition:opacity .2s}
body.product-page .detail-gallery[data-gallery-style] .gallery-zoom-icon{position:absolute;top:auto!important;bottom:20px;right:20px;padding:0!important;width:44px;height:44px;border:1px solid var(--line);display:grid;place-items:center;background:var(--gallery-control);color:var(--gallery-ink);border-radius:50%;box-shadow:0 4px 20px #0000000b}
.gallery-zoom-icon svg,.detail-arrows svg,.detail-lightbox button svg{display:block;width:20px;height:20px;flex:none}
body.product-page .detail-gallery[data-gallery-style] .gallery-counter{left:20px;top:20px;padding:8px 12px;font:500 11px var(--body,system-ui);letter-spacing:.08em;background:var(--gallery-control);color:var(--gallery-ink);border:0;box-shadow:0 3px 15px #00000008}
body.product-page .detail-gallery[data-gallery-style] .detail-arrows{top:50%;bottom:auto;left:14px;right:14px;transform:translateY(-50%)}
body.product-page .detail-gallery[data-gallery-style] .detail-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--gallery-control);color:var(--gallery-ink);box-shadow:0 4px 20px #0000000c;transition:transform .18s,background .18s;backdrop-filter:blur(8px)}
body.product-page .detail-gallery[data-gallery-style] .detail-arrows button:hover{transform:scale(1.08)}
body.product-page .detail-gallery[data-gallery-style] .detail-thumbs{display:flex;flex-direction:row!important;gap:10px;max-height:none;overflow:auto;padding:14px 4px!important;scrollbar-width:thin;grid-column:auto;grid-row:auto;justify-content:flex-start}
body.product-page .detail-gallery[data-gallery-style] .detail-thumbs button{width:64px!important;height:76px!important;flex:0 0 64px!important;padding:4px;border-radius:8px;opacity:.65;background:var(--gallery-canvas);border:1px solid transparent;box-shadow:none;transition:opacity .2s}
body.product-page .detail-gallery[data-gallery-style] .detail-thumbs button[aria-pressed=true]{border:1px solid var(--accent);opacity:1;box-shadow:0 0 0 1px var(--accent)}
body.product-page .detail-gallery[data-gallery-style] .detail-photo-status{grid-column:auto;max-width:none;font-size:10px;letter-spacing:.04em;margin:5px 0 12px;line-height:1.7}
body.product-page .detail-gallery[data-gallery-count="1"] .detail-thumbs{display:none}body.product-page .detail-gallery[data-gallery-count="0"] .detail-no-photo{border:1px dashed var(--line);min-height:320px;opacity:.65}
/* Studio: a vertical contact strip and generous clean canvas. */
body.product-page .detail-gallery[data-gallery-style=studio]{display:grid!important;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start}
body.product-page .detail-gallery[data-gallery-style=studio] .detail-stage{grid-column:2;grid-row:1}
body.product-page .detail-gallery[data-gallery-style=studio] .detail-thumbs{grid-column:1;grid-row:1;flex-direction:column!important;max-height:620px;padding:3px!important}
body.product-page .detail-gallery[data-gallery-style=studio] .detail-thumbs button{flex:0 0 76px!important}
body.product-page .detail-gallery[data-gallery-style=studio] .detail-photo-status{grid-column:2}
body.product-page .detail-gallery[data-gallery-style=studio][data-gallery-count="0"],body.product-page .detail-gallery[data-gallery-style=studio][data-gallery-count="1"]{display:block!important}
/* Film: one framed photograph and a centered film strip. */
body.product-page .detail-gallery[data-gallery-style=film] .detail-stage{border-radius:4px!important;border:1px solid var(--line)!important}
body.product-page .detail-gallery[data-gallery-style=film] .detail-thumbs{justify-content:center}
body.product-page .detail-gallery[data-gallery-style=film] .detail-thumbs button{border-radius:2px;padding:3px}
/* Editorial: large opening image followed by a two-column visual story. */
body.product-page .detail-gallery[data-gallery-style=editorial] .detail-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:transparent;overflow:visible;border-radius:0!important}
body.product-page .detail-gallery[data-gallery-style=editorial] .detail-slide{background:var(--gallery-canvas);border-radius:10px;overflow:hidden}
body.product-page .detail-gallery[data-gallery-style=editorial] .detail-slide:first-of-type{grid-column:1/-1}
body.product-page .detail-gallery[data-gallery-style=editorial] .detail-slide:not(:first-of-type) .detail-zoom img{height:300px!important;padding:15px!important}
body.product-page .detail-gallery[data-gallery-style=editorial] .gallery-counter,body.product-page .detail-gallery[data-gallery-style=editorial] .detail-arrows,body.product-page .detail-gallery[data-gallery-style=editorial] .detail-thumbs{display:none!important}
body.product-page .detail-gallery[data-gallery-style=editorial] .detail-slide .gallery-zoom-icon{bottom:12px;right:12px;width:36px;height:36px}
/* Immersive: a dark photographic stage with quiet dot navigation. */
body.product-page .detail-gallery[data-gallery-style=immersive]{--gallery-canvas:#1d1e20;--gallery-control:#ffffffed;--gallery-ink:#202124}
body.product-page .detail-gallery[data-gallery-style=immersive] .detail-stage{border-radius:24px!important;box-shadow:0 18px 50px #00000013}
body.product-page .detail-gallery[data-gallery-style=immersive] .detail-zoom img{background:transparent;padding:38px!important;height:660px!important}
body.product-page .detail-gallery[data-gallery-style=immersive] .detail-thumbs{display:none!important}
.gallery-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;padding-top:10px}.gallery-dots button{display:grid;place-items:center;width:36px;height:44px;background:transparent;border:0;padding:0;color:var(--ink)}.gallery-dots button::after{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.3;transition:width .2s,opacity .2s}.gallery-dots button[aria-pressed=true]::after{width:22px;border-radius:6px;opacity:1;background:var(--accent)}
/* Showcase: a horizontal rail that reveals the next photograph. */
body.product-page .detail-gallery[data-gallery-style=showcase] .detail-stage{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-padding:0;border-radius:0!important;background:transparent;touch-action:pan-x pan-y;padding-bottom:12px}
body.product-page .detail-gallery[data-gallery-style=showcase] .detail-slide{flex:0 0 86%;scroll-snap-align:start;background:var(--gallery-canvas);border-radius:18px;overflow:hidden;position:relative}
body.product-page .detail-gallery[data-gallery-style=showcase][data-gallery-count="1"] .detail-slide{flex-basis:100%}
body.product-page .detail-gallery[data-gallery-style=showcase] .detail-zoom img{height:600px!important;padding:24px!important}
body.product-page .detail-gallery[data-gallery-style=showcase] .detail-arrows,body.product-page .detail-gallery[data-gallery-style=showcase] .gallery-counter{display:none!important}
body.product-page .detail-gallery[data-gallery-style=showcase] .detail-thumbs{padding-top:5px!important}
/* Fullscreen controls use the same icon language as the gallery. */
.product-page .detail-lightbox{border-radius:18px;padding:16px 22px;background:var(--page);max-height:96dvh}.product-page .detail-lightbox>button#detail-zoom-close{display:grid;place-items:center;background:var(--card);box-shadow:0 4px 20px #0001}.product-page .detail-lightbox>div:last-child button{display:grid;place-items:center}.product-page .detail-lightbox #detail-zoom-toggle{font-size:11px;border-radius:30px;padding:10px 18px}
@media(max-width:760px){body.product-page .detail-gallery[data-gallery-style=studio]{display:block!important}body.product-page .detail-gallery[data-gallery-style=studio] .detail-thumbs{flex-direction:row!important;max-height:none}body.product-page .detail-gallery[data-gallery-style] .detail-zoom img{height:min(115vw,500px)!important;padding:18px!important}body.product-page .detail-gallery[data-gallery-style] .detail-thumbs button{width:55px!important;flex-basis:55px!important;height:65px!important}body.product-page .detail-gallery[data-gallery-style] .detail-arrows{left:10px;right:10px}body.product-page .detail-gallery[data-gallery-style] .gallery-counter{top:14px;left:14px}body.product-page .detail-gallery[data-gallery-style] .gallery-zoom-icon{bottom:14px;right:14px}body.product-page .detail-gallery[data-gallery-style=editorial] .detail-stage{gap:9px}body.product-page .detail-gallery[data-gallery-style=editorial] .detail-slide:not(:first-of-type) .detail-zoom img{height:220px!important;padding:10px!important}body.product-page .detail-gallery[data-gallery-style=immersive] .detail-zoom img{height:480px!important;padding:25px!important}body.product-page .detail-gallery[data-gallery-style=showcase] .detail-slide{flex-basis:88%;border-radius:14px}body.product-page .detail-gallery[data-gallery-style=showcase] .detail-zoom img{height:440px!important}.product-page .detail-lightbox{padding:12px}}
@media(prefers-reduced-motion:reduce){body.product-page .detail-gallery[data-gallery-style] *,.gallery-dots button::after{transition:none!important;scroll-behavior:auto!important}}
