.woocommerce-product-gallery.site-media-enhanced{position:relative}
.woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav{display:flex!important;gap:10px;overflow-x:auto;list-style:none;padding:2px!important;margin:0!important}
.woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav li{position:relative;flex:0 0 calc((100% - 30px)/4);min-width:0;list-style:none}
html body .woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav button{all:unset!important;box-sizing:border-box!important;display:block!important;position:relative!important;width:100%!important;aspect-ratio:1!important;margin:0!important;padding:0!important;border:2px solid transparent!important;border-radius:var(--site-product-gallery-radius,22px)!important;overflow:hidden!important;background:transparent!important;cursor:pointer!important}
html body .woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav button[aria-pressed=true]{border-color:var(--site-accent,#315d4b)!important}
html body .woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav button:focus-visible{outline:2px solid var(--site-accent,#315d4b)!important;outline-offset:-4px!important}
html body .woocommerce-product-gallery.site-media-enhanced .site-gallery-media-nav img{display:block!important;width:100%!important;height:100%!important;margin:0!important;border-radius:calc(var(--site-product-gallery-radius,22px) - 2px)!important;object-fit:cover!important;opacity:1!important;filter:none!important;pointer-events:none}
.site-gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;background:#0009;font-size:16px;pointer-events:none}
.site-gallery-video{position:absolute;top:0;left:0;right:0;background:var(--site-bg,#fff);z-index:5;touch-action:pan-y}
.woocommerce-product-gallery.site-media-enhanced .site-gallery-video video{display:block;width:100%;height:100%;object-fit:contain;filter:none!important;opacity:1!important;mix-blend-mode:normal}
.woocommerce-product-gallery.site-video-active .woocommerce-product-gallery__wrapper{visibility:hidden}
.woocommerce-product-gallery.site-media-enhanced :is(.flex-viewport,.woocommerce-product-gallery__wrapper){touch-action:pan-y}
html body .woocommerce-product-gallery.site-video-active :is(.woocommerce-product-gallery__trigger,.flex-direction-nav){display:none!important}
.site-gallery-video-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:100%;max-height:100%}
.site-gallery-video-status{position:absolute;bottom:56px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:8px 14px;border-radius:12px;background:#ffffffeb;color:#304050;font:13px/1.4 var(--site-font,sans-serif);text-align:center;pointer-events:none}
.site-gallery-video-status[hidden]{display:none!important}
.woocommerce-product-gallery.site-media-enhanced .site-gallery-video video{cursor:pointer}
.woocommerce-product-gallery.site-media-enhanced .site-gallery-video video:focus-visible{outline:2px solid var(--site-accent,#315d4b);outline-offset:-2px}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-sound{all:unset!important;box-sizing:border-box!important;position:absolute!important;top:12px!important;right:12px!important;z-index:2!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:50%!important;border:1px solid #ffffff80!important;background:#ffffffeb!important;color:#304050!important;box-shadow:0 2px 8px #0002!important;cursor:pointer!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-sound svg{display:block!important;width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none}
/* Reserve the gallery's top-right corner for the favorite button, including square videos. */
html body .woocommerce-product-gallery.site-media-enhanced:has(.site-bridge-single-favorite) .site-gallery-sound{right:72px!important}
.site-gallery-sound[data-muted=true] .site-gallery-sound-on,.site-gallery-sound[data-muted=false] .site-gallery-sound-off{display:none}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-sound:focus-visible{outline:2px solid var(--site-accent,#315d4b)!important;outline-offset:2px!important}
.woocommerce-product-gallery .site-gallery-video[hidden]{display:none!important}
.site-gallery-loop-transition{position:absolute;left:0;right:0;z-index:6;overflow:hidden;pointer-events:none;border-radius:var(--site-product-gallery-radius,22px)}
.site-gallery-loop-transition>div{display:flex;width:200%;height:100%}
html body .woocommerce-product-gallery .site-gallery-loop-transition img{display:block!important;flex:0 0 50%!important;width:50%!important;height:100%!important;max-width:none!important;object-fit:cover!important;margin:0!important;border-radius:var(--site-product-gallery-radius,22px)!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume{all:unset!important;box-sizing:border-box!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:2!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;border:1px solid #ffffff80!important;background:#ffffffd9!important;color:#304050!important;box-shadow:0 2px 8px #0002!important;cursor:pointer!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume svg{display:block!important;width:20px!important;height:20px!important;fill:currentColor!important;pointer-events:none}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume span{display:none!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume:hover{background:#fffffff2!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume[hidden]{display:none!important}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-resume:focus-visible{outline:2px solid var(--site-accent,#315d4b)!important;outline-offset:3px!important}
.site-media-lightbox .site-lightbox-video{position:relative;width:100%;height:100dvh;display:grid;place-items:center}
.site-media-lightbox .site-lightbox-video .site-gallery-video-frame{position:relative;left:auto;top:auto;transform:none}
.site-media-lightbox .site-lightbox-video video{display:block;width:100%;height:100%;object-fit:contain;cursor:pointer;filter:none;opacity:1}
.site-media-lightbox .site-lightbox-video video:focus-visible{outline:2px solid var(--site-accent,#315d4b);outline-offset:2px}

/* Keep progress beneath the picture, inside the existing gallery footprint. */
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-video-frame>video{height:calc(100% - 40px)!important}
.site-gallery-video-timeline{box-sizing:border-box;display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;background:#fff;color:#304050;touch-action:none}
.site-gallery-video-time{flex:none;font:12px/1.3 var(--site-font,sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap}
html body :is(.woocommerce-product-gallery.site-media-enhanced,.site-media-lightbox) .site-gallery-video-timeline input{appearance:none;-webkit-appearance:none;box-sizing:border-box;display:block;flex:1;min-width:0;width:100%;height:20px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;cursor:pointer;background:transparent;accent-color:var(--site-accent,#315d4b)}
html body .site-gallery-video-timeline input[type=range]::-webkit-slider-runnable-track{box-shadow:none;border:0;height:4px;border-radius:4px;background:linear-gradient(to right,var(--site-accent,#315d4b) var(--video-progress,0%),#dce2df var(--video-progress,0%))}
html body .site-gallery-video-timeline input[type=range]::-webkit-slider-thumb{box-shadow:none;border:0;appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:var(--site-accent,#315d4b)}
html body .site-gallery-video-timeline input[type=range]::-moz-range-track{box-shadow:none;border:0;height:4px;border-radius:4px;background:#dce2df}
html body .site-gallery-video-timeline input[type=range]::-moz-range-progress{box-shadow:none;border:0;height:4px;border-radius:4px;background:var(--site-accent,#315d4b)}
html body .site-gallery-video-timeline input[type=range]::-moz-range-thumb{box-shadow:none;border:0;width:12px;height:12px;border:0;border-radius:50%;background:var(--site-accent,#315d4b)}
.site-gallery-video-timeline input:focus-visible{outline:2px solid var(--site-accent,#315d4b);outline-offset:2px}
.site-gallery-video-timeline input:disabled{opacity:.45;cursor:default}

/* Video owns its loading state; PhotoSwipe only tracks image downloads. */
.pswp.site-media-lightbox.site-lightbox-video-active .pswp__preloader{display:none!important}
