/* Full-frame product evidence. The slide moves; the media never crops or zooms. */
.product-gallery{--gallery-surface:#e9eae7;--gallery-border:#d6d8d4;--gallery-top:24px;position:relative;width:100%;min-width:0;margin-block:24px 36px}
.product-gallery .gallery-sticky{width:100%;min-width:0}
.product-gallery .gallery-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--v-blue,#2459ec) transparent;border:1px solid var(--gallery-border);background:var(--gallery-surface)}
.product-gallery .gallery-viewport:focus-visible{outline:2px solid var(--v-blue,#2459ec);outline-offset:5px}
.product-gallery .gallery-track{display:flex;width:100%;align-items:stretch}
.product-gallery .gallery-slide{flex:0 0 100%;min-width:0;margin:0;padding:var(--v-media-inset,24px);display:flex;flex-direction:column;gap:18px;scroll-snap-align:center;scroll-snap-stop:always}
.product-gallery .gallery-media{height:clamp(270px,43vw,660px);min-height:0;display:flex;justify-content:center;align-items:center;width:100%}
.product-gallery .gallery-media>img,.product-gallery .gallery-media>video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none!important;border-radius:0}
.product-gallery figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13px;line-height:1.5;color:var(--v-muted,#62666c);min-height:40px}
.product-gallery .gallery-slide-title{font-weight:550;color:var(--v-ink,#191b1c);font-size:14px}
.product-gallery .gallery-controls{display:none;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px;min-height:56px}
.product-gallery.gallery-enhanced .gallery-controls{display:flex}
.product-gallery .gallery-controls button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--gallery-border);border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background .2s,color .2s}
.product-gallery .gallery-controls button:hover{background:var(--v-blue,#2459ec);color:#fff;border-color:var(--v-blue,#2459ec)}
.product-gallery .gallery-controls button:disabled{opacity:.35;cursor:default;background:transparent;color:inherit;border-color:var(--gallery-border)}
.product-gallery .gallery-counter{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.05em;margin-right:auto;min-width:55px}
.product-gallery .gallery-dots{display:flex;align-items:center;gap:0}
.product-gallery .gallery-dots button{width:32px;height:44px;border:0;border-radius:0;position:relative}
.product-gallery .gallery-dots button::after{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.25;transition:opacity .2s,width .2s}
.product-gallery .gallery-dots button[aria-current=true]::after{opacity:1;width:18px;border-radius:8px;background:var(--v-blue,#2459ec)}
.product-gallery .gallery-dots button:hover{background:transparent;color:var(--v-blue,#2459ec)}
.product-gallery.gallery-pinned .gallery-sticky{position:sticky;top:var(--gallery-top);height:min(880px,calc(100svh - 48px));display:flex;flex-direction:column}
.product-gallery.gallery-pinned .gallery-viewport{flex:1;min-height:0;overflow:hidden;scroll-snap-type:none}
.product-gallery.gallery-pinned .gallery-track{height:100%;will-change:transform}
.product-gallery.gallery-pinned .gallery-media{height:auto;flex:1}
.product-gallery.gallery-pinned figcaption{flex:none}
.product-gallery[data-gallery-single] .gallery-viewport{overflow:visible;scroll-snap-type:none}
.product-gallery[data-gallery-single] .gallery-controls,.product-gallery[data-gallery-single] .gallery-media,.product-gallery[data-gallery-single] figcaption{transform:none!important}
.product-gallery[data-gallery-compact] .gallery-media{height:clamp(230px,28vw,440px)}
.hifive-chapter .product-gallery{--gallery-surface:#222529;--gallery-border:#3e4247;--v-ink:#eeefeb;--v-muted:#b7babf}
@media(max-width:700px){.product-gallery{margin-block:18px 24px}.product-gallery .gallery-slide{gap:12px}.product-gallery .gallery-media{height:clamp(245px,69vw,450px)}.product-gallery figcaption{display:block;min-height:62px;font-size:12px}.product-gallery figcaption span{display:block}.product-gallery .gallery-slide-title{margin-bottom:4px}.product-gallery .gallery-controls{gap:8px}.product-gallery .gallery-dots button{width:28px}}
@media(prefers-reduced-motion:reduce){.product-gallery *{scroll-behavior:auto!important;transition:none!important}}
@media print{.product-gallery{height:auto!important;break-inside:auto}.product-gallery .gallery-sticky{position:static!important;height:auto!important}.product-gallery .gallery-viewport{overflow:visible;border:0}.product-gallery .gallery-track{display:block;transform:none!important}.product-gallery .gallery-slide{break-inside:avoid}.product-gallery .gallery-media{height:280px!important}.product-gallery .gallery-controls{display:none!important}}
/* overflow:hidden would turn this existing chapter into a sticky scroll container. */
.hifive-chapter:has(.product-gallery){overflow:clip}

/* Two motion planes: the entire contained media moves by at most 8px; captions
   counter-move by 14px. Reserved space keeps every image edge visible. */
.product-gallery .gallery-media{padding-block:10px;transform:translate3d(0,var(--gallery-plane-offset,0px),0)}
.product-gallery figcaption{margin-inline:14px;transform:translate3d(var(--gallery-caption-offset,0px),0,0)}
.motion-paused .product-gallery .gallery-media,.motion-paused .product-gallery figcaption{transform:none}
@media(prefers-reduced-motion:reduce){.product-gallery .gallery-media,.product-gallery figcaption{transform:none}}
@media print{.product-gallery .gallery-media,.product-gallery figcaption{transform:none!important}}

/* A small control strip replaces browser chrome; no scrim ever covers the video. */
.product-gallery .video-enhanced{position:relative}
.product-gallery .video-enhanced>video{opacity:1;filter:none}
.product-gallery .video-toolbar{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(340px,calc(100% - 24px));padding:3px 6px;border:1px solid #d6d8d4;border-radius:8px;background:#fafbf8;color:#191b1c;box-shadow:0 3px 14px #191b1c12;opacity:0;pointer-events:none;transition:opacity .16s}
.product-gallery .video-toolbar[hidden],.product-gallery .video-toolbar [hidden]{display:none}
.product-gallery .video-enhanced:hover .video-toolbar,.product-gallery .video-enhanced:has(:focus-visible) .video-toolbar,.product-gallery .video-touch .video-toolbar{opacity:1;pointer-events:auto}
.product-gallery .video-toolbar button{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}
.product-gallery .video-toolbar button:hover{background:#e9ece7}
.product-gallery .video-toolbar button span{display:flex}
.product-gallery .video-toolbar .icon{width:20px;height:20px}
.product-gallery .video-toolbar input{min-width:0;flex:1;height:44px;margin:0;accent-color:var(--v-blue,#2459ec);cursor:pointer}
.product-gallery .video-toolbar :focus-visible{outline:2px solid var(--v-blue,#2459ec);outline-offset:2px}
.product-gallery .video-time{font-size:11px;font-variant-numeric:tabular-nums;min-width:30px}
.product-gallery .video-enhanced:fullscreen{width:100vw;height:100vh;max-height:none;padding:24px;background:var(--gallery-surface);transform:none!important}
.product-gallery .video-enhanced:fullscreen>video{width:100%;height:100%;object-fit:contain}
@media(hover:none),(pointer:coarse){.product-gallery .video-toolbar{opacity:1;pointer-events:auto}}
@media print{.product-gallery .video-toolbar{display:none}}

/* Optional review→immersive match move: fade chrome, then enlarge the complete
   prototype into the next video's contained frame. No masks, scrims or crops. */
.product-gallery .gallery-viewport{position:relative}
.product-gallery .gallery-immersive-layer{position:absolute;inset:0;z-index:2;background:var(--gallery-surface);pointer-events:none;transition:opacity .18s ease-out}
.product-gallery .gallery-immersive-layer[hidden]{display:none}
.product-gallery .gallery-immersive-layer>img{position:absolute;display:block;max-width:none;max-height:none;object-fit:contain;transform:none!important;pointer-events:none}
.product-gallery .gallery-immersive-prototype{z-index:1}
.product-gallery .gallery-immersive-caption{position:absolute;display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13px;line-height:1.5;color:var(--v-muted,#62666c)}
.product-gallery.gallery-transitioning .gallery-slide>.gallery-media,.product-gallery.gallery-transitioning .gallery-slide>figcaption{visibility:hidden}
.product-gallery.gallery-transition-handoff .gallery-transition-target>.gallery-media,.product-gallery.gallery-transition-handoff .gallery-transition-target>figcaption{visibility:visible}
.product-gallery.gallery-transitioning:not(.gallery-transition-handoff) .video-toolbar{visibility:hidden!important;pointer-events:none!important}
@media print{.product-gallery .gallery-immersive-layer{display:none!important}.product-gallery .gallery-slide>.gallery-media,.product-gallery .gallery-slide>figcaption{visibility:visible!important}}
