
.we-sms-product-video {
    width: 560px;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    margin: 28px auto 0;
    position: relative;
}
.we-sms-product-video iframe { display:block; width:100%; height:100%; border:0; }
.we-sms-gallery-video { position:relative; }
.we-sms-gallery-video a { display:block; position:relative; cursor:pointer; }
.we-sms-gallery-video img { display:block; width:100%; height:auto; }
.we-sms-gallery-play {
    position:absolute; left:50%; top:50%; width:64px; height:46px;
    border-radius:14px; background:#e62117; transform:translate(-50%,-50%);
    pointer-events:none;
}
.we-sms-gallery-play:after {
    content:""; position:absolute; left:26px; top:12px;
    border-top:11px solid transparent; border-bottom:11px solid transparent;
    border-left:16px solid #fff;
}
.we-sms-video-modal[hidden] { display:none !important; }
.we-sms-video-modal {
    position:fixed; inset:0; z-index:999999; display:flex; align-items:center;
    justify-content:center; padding:24px; background:rgba(0,0,0,.88);
}
.we-sms-video-modal-frame {
    width:min(1100px, 100%); aspect-ratio:16 / 9; position:relative;
    background:#000; box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.we-sms-video-modal-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.we-sms-video-modal-close {
    position:absolute; top:12px; right:18px; z-index:2; border:0;
    background:transparent; color:#fff; font-size:42px; line-height:1; cursor:pointer;
}
html.we-sms-video-modal-open { overflow:hidden; }
@media (max-width:600px) {
    .we-sms-video-modal { padding:12px; }
    .we-sms-video-modal-close { top:4px; right:12px; }
}
@supports not (aspect-ratio:16 / 9) {
    .we-sms-product-video { height:0; padding-bottom:56.25%; }
    .we-sms-product-video iframe { position:absolute; inset:0; }
    .we-sms-video-modal-frame { height:0; padding-bottom:56.25%; }
}

.product-overview-video.we-sms-product-video {
    display:block;
    width: min(560px, 100%);
    max-width:100%;
    aspect-ratio:16 / 9;
    height:auto;
    margin:30px auto 0;
}
.product-overview-video.we-sms-product-video iframe {
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    border:0;
}

/* Site-specific gallery slider: overrides the theme's three-column image grid. */
.woocommerce div.product div.images .we-sms-slider-ready .woocommerce-product-gallery__wrapper,
.we-sms-slider-ready .woocommerce-product-gallery__wrapper { display:block; position:relative; }
.we-sms-slider-ready .we-sms-slider-viewport { width:100%; overflow:hidden; touch-action:pan-y; border:1px solid #e4e4e4; border-radius:5px; box-sizing:border-box; }
.we-sms-slider-ready .we-sms-slider-track { display:flex; transition:transform .35s ease; width:100%; }
.woocommerce div.product div.images .we-sms-slider-ready .we-sms-slider-track > .woocommerce-product-gallery__image,
.we-sms-slider-ready .we-sms-slider-track > .woocommerce-product-gallery__image,
.we-sms-slider-ready .we-sms-slider-track > div:first-child { display:flex; flex:0 0 100%; width:100% !important; min-width:0; aspect-ratio:1/1; padding:clamp(10px,1.5vw,25px) !important; margin:0; border:0 !important; border-radius:0; box-sizing:border-box; align-items:center; justify-content:center; grid-column:auto; }
.we-sms-slider-ready .we-sms-slider-track .woocommerce-product-gallery__image a { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.we-sms-slider-ready .we-sms-slider-track img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.we-sms-slider-ready .we-sms-slider-controls { position:absolute; top:calc((100% - 95px)/2); left:8px; right:8px; display:flex; justify-content:space-between; pointer-events:none; }
.we-sms-slider-ready .we-sms-slider-controls button { pointer-events:auto; width:40px; height:40px; border:0; border-radius:50%; background:rgba(0,28,78,.85); color:white; font-size:30px; line-height:35px; cursor:pointer; }
.we-sms-slider-ready .we-sms-slider-controls button:disabled { opacity:.25; cursor:default; }
.we-sms-slider-ready .we-sms-slider-thumbs { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.we-sms-slider-ready .we-sms-slider-thumb { position:relative; width:75px; height:75px; padding:4px; border:1px solid #ddd; background:white; cursor:pointer; border-radius:4px; }
.we-sms-slider-ready .we-sms-slider-thumb.is-active { border:2px solid #116dd5; }
.we-sms-slider-ready .we-sms-slider-thumb img { width:100%; height:100%; object-fit:contain; }
.we-sms-slider-ready .we-sms-slider-thumb-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#e62117; color:white; border-radius:5px; padding:4px 8px; font-size:12px; }
@media (prefers-reduced-motion:reduce) { .we-sms-slider-ready .we-sms-slider-track { transition:none; } }
