.wed-product-gallery { position: relative; width: 100%; min-width: 0; }
.wed-product-gallery__slider { position: relative; overflow: hidden; width: 100%; aspect-ratio: var(--wed-gallery-ratio, 2 / 3); touch-action: pan-y; }
.wed-product-gallery .swiper-wrapper { display: flex; height: 100%; box-sizing: content-box; transition-property: transform; }
.wed-product-gallery .swiper-slide { width: 100%; height: 100%; flex-shrink: 0; position: relative; overflow: hidden; }
.wed-product-gallery .swiper-slide a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.wed-product-gallery .swiper-slide img,
.wed-product-gallery .swiper-slide video { display: block; width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover; object-position: center; }
.wed-product-gallery__controls[hidden] { display: none; }
.wed-product-gallery .wed-product-gallery__controls button { position: absolute; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; z-index: 2; cursor: pointer; background: transparent; color: #fff; border: 0; border-radius: 0; width: 44px; height: 44px; padding: 8px; margin: 0; box-shadow: none; }
.wed-product-gallery .wed-product-gallery__prev { left: 10px; right: auto; }
.wed-product-gallery .wed-product-gallery__next { right: 10px; left: auto; }
.wed-product-gallery__controls button svg { display: block; width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; filter: drop-shadow(0 1px 2px rgb(0 0 0 / 35%)); }
.wed-product-gallery__controls button:disabled { opacity: .35; cursor: default; }
.wed-product-gallery__controls button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.wed-product-gallery__counter { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); z-index: 2; padding: 3px 9px; border-radius: 12px; background: rgb(0 0 0 / 40%); color: #fff; font-size: 12px; font-variant-numeric: tabular-nums; pointer-events: none; }
.wed-product-gallery:has(.swiper-slide-active video) .wed-product-gallery__counter { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
    .wed-product-gallery .swiper-wrapper { transition-duration: 0ms !important; }
}
