/* Product media uses the existing gallery, square controls and Bootstrap dialogs. */
.cp-gallery__item video { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; background: #f5f5f5; }
.cp-gallery__video-mark { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; color: #fff; text-shadow: 0 1px 4px #000; font-size: 24px; }
.cp-gallery__position { position: absolute; left: 4px; bottom: 4px; padding: 2px 5px; background: rgb(0 0 0 / 70%); color: #fff; font-size: 10px; pointer-events: none; }
.product-media-preview__video { display: block; width: 100%; max-height: 70vh; background: #111; }
.shop-gallery__video { display: block; width: 100%; max-height: 720px; object-fit: contain; background: #f5f5f5; }
.shop-gallery__thumb { position: relative; }
.shop-gallery__video-mark { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; text-shadow: 0 1px 4px #000; }
.shop-card__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #f5f5f5; z-index: 1; pointer-events: none; }
.shop-card__video[controls] { pointer-events: auto; }
.shop-card__video-play { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ddd; border-radius: 0; background: #fff; color: #222; z-index: 2; }
.is-product-video-active .shop-card__image { opacity: 0 !important; }
[data-product-card-video][hidden], [data-product-card-play][hidden], [data-product-gallery-video][hidden], .shop-gallery__image[hidden] { display: none !important; }
