.pv-product-gallery { --pv-gallery-position:right; --pv-gallery-count:3; --pv-gallery-gap:16; --pv-gallery-spacing:24; --pv-gallery-thumb-width:24; --pv-gallery-ratio:1; --pv-gallery-main-fit:contain; --pv-gallery-thumb-fit:contain; --pv-gallery-active:#76516c; --pv-gallery-active-width:3; display:grid; width:100%; align-items:start; min-width:0; }
.pv-product-gallery > .brxe-slider-nested { min-width:0; width:100%; margin:0; }
.pv-product-gallery .pv-gallery-main { grid-area:main; }
.pv-product-gallery .pv-gallery-thumbs { grid-area:thumbs; }
.pv-gallery-main > .splide__track > .splide__list > .splide__slide, .pv-gallery-thumbs > .splide__track > .splide__list > .splide__slide { padding:0; overflow:hidden; align-items:stretch; justify-content:center; }
.pv-gallery-main .brxe-image, .pv-gallery-thumbs .brxe-image { width:100%; height:100%; margin:0; overflow:hidden; }
.pv-gallery-main img { width:100%; height:100%; object-fit:var(--pv-gallery-main-fit); }
.pv-gallery-thumbs img { width:100%; height:100%; object-fit:var(--pv-gallery-thumb-fit); }
.pv-gallery-thumbs .splide__slide { position:relative; cursor:pointer; box-sizing:border-box; }
.pv-gallery-indicator { position:absolute; inset:0; z-index:2; pointer-events:none; box-sizing:border-box; border:calc(var(--pv-gallery-active-width, 3) * 1px) solid var(--pv-gallery-active); opacity:0; }
.pv-gallery-selected > .pv-gallery-indicator { opacity:1; }
.pv-gallery-thumbs .splide__slide:focus-visible, .pv-gallery-main .splide__slide:focus-visible { outline:3px solid var(--pv-gallery-active); outline-offset:-5px; }
.pv-product-gallery[data-pv-click="lightbox"] .pv-gallery-main img { cursor:zoom-in; }
.pv-product-gallery[data-pv-click="zoom"] .pv-gallery-main img { cursor:zoom-in; transition:transform .15s ease; }
.pv-gallery-main .pv-gallery-zoomed img { transform:scale(2); cursor:zoom-out; }
.pv-gallery-dialog { border:0; border-radius:12px; padding:16px; background:#fff; color:#222; width:min(95vw,1100px); max-width:95vw; max-height:95vh; }
.pv-gallery-dialog::backdrop { background:rgba(0,0,0,.8); }
.pv-gallery-dialog img { display:block; width:100%; height:75vh; object-fit:contain; }
.pv-gallery-dialog nav { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pv-gallery-dialog button { min-width:44px; min-height:44px; cursor:pointer; }
@media (prefers-reduced-motion:reduce) { .pv-gallery-main img { transition:none!important; } }
