/* Existing product gallery rules scoped to the premium media component. */
.premium-product-gallery { position: relative; min-width: 0; }
.premium-product-gallery .v3-gallery-viewport { position: relative; overflow: hidden; border-radius: 0.5rem; aspect-ratio: 16 / 9; background: var(--v3-bg-soft); touch-action: pan-y; }
.premium-product-gallery .v3-gallery-track { display: flex; width: 100%; height: 100%; transform: translate3d(0,0,0); transition: transform 420ms cubic-bezier(.22,.75,.25,1); will-change: transform; }
.premium-product-gallery .v3-gallery-slide { position: relative; flex: 0 0 100%; width: 100%; height: 100%; margin: 0; display: grid; place-items: center; overflow: hidden; background: var(--v3-bg-soft); }
.premium-product-gallery .v3-gallery-slide > * { grid-area: 1 / 1; }
.premium-product-gallery .v3-gallery-slide img { width: 100%; height: 100%; display: block; object-fit: contain; }
.premium-product-gallery .v3-gallery-arrow { position: absolute; top: 50%; z-index: 3; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(20,24,40,.12); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--v3-navy); box-shadow: 0 8px 24px rgba(20,24,40,.18); transform: translateY(-50%); cursor: pointer; }
.premium-product-gallery .v3-gallery-prev { left: 1rem; }
.premium-product-gallery .v3-gallery-next { right: 1rem; }
.premium-product-gallery .v3-gallery-arrow:disabled { opacity: .35; cursor: default; box-shadow: none; }
.premium-product-gallery .v3-gallery { display: flex; gap: 0.6rem; justify-content: center; margin-top: -2.75rem; padding: 0 .25rem .5rem; position: relative; z-index: 2; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.premium-product-gallery .v3-gallery-thumb { width: 84px; height: 60px; padding: 0; border: 3px solid #fff; border-radius: 0.35rem; overflow: hidden; box-shadow: 0 6px 16px rgba(20, 24, 40, 0.18); background: #fff; cursor: pointer; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.premium-product-gallery .v3-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.premium-product-gallery .v3-gallery-thumb.is-active { border-color: var(--v3-coral); }
.premium-product-gallery .v3-gallery-thumb:hover { box-shadow: 0 8px 20px rgba(20, 24, 40, 0.24); }
.premium-product-gallery { --v3-bg-soft: #fff; --v3-navy: #252522; --v3-coral: #eb6829; height: 100%; }
.premium-product-gallery .v3-gallery-viewport { height: 100%; aspect-ratio: auto; }
.premium-product-gallery .v3-gallery-slide > a { display: block; width: 100%; height: 100%; }
.premium-product-gallery .v3-gallery { position: absolute; bottom: 0; left: 0; right: 0; margin: 0; }
.premium-product-gallery .v3-gallery-thumb { flex: 0 0 2rem; width: 2rem; height: 2rem; }
.premium-legacy .premium-product-gallery { height: min(56vw, 500px); }
@media (prefers-reduced-motion: reduce) { .premium-product-gallery .v3-gallery-track { transition: none; } }
.premium-product-gallery .v3-gallery-slide { min-height: 0; }
.premium-product-gallery .v3-gallery-slide img { aspect-ratio: auto; max-height: 100%; min-height: 0; object-fit: contain; }
.premium-product-gallery .v3-gallery-slide { grid-template: minmax(0, 1fr) / minmax(0, 1fr); }
/* Fill the existing media slot; theme geometry and tokens remain authoritative. */
.premium-runtime-media { width: 100%; height: 100%; min-width: 0; }
.premium-runtime-media > a { display: block; width: 100%; height: 100%; background: #fff; }
.premium-runtime-media > a > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.premium-legacy .premium-runtime-media[data-media-mode="gallery"] { height: min(56vw, 500px); }
