.dms-hover-media{position:relative;display:block;overflow:hidden;isolation:isolate;line-height:0;width:100%}
.dms-hover-media>img,.dms-hover-media>picture{display:block;width:100%}
.dms-hover-media>.dms-hover-player{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;background:#111;opacity:0;pointer-events:none;z-index:2;transition:opacity .15s}
.dms-hover-media.dms-hover-playing>.dms-hover-player{opacity:1}
.dms-hover-badge{position:absolute;bottom:10px;left:10px;z-index:3;background:#111b;color:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:12px;line-height:1;pointer-events:none}
.dms-hover-playing>.dms-hover-badge{opacity:0}
.dms-hover-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.dms-hover-media>.dms-hover-player{transition:none}}

.dms-product-video { margin-block: 12px; }
.dms-product-video-panel video { width: 100%; max-height: 60vh; background: #111; }
.dms-product-video [hidden] { display: none !important; }

.dms-video-image-host { position: relative; }
.dms-product-video-overlay {
    position: absolute;
    inset: 0;
    margin: 0;
    z-index: 5;
    pointer-events: none;
}
.dms-product-video .dms-product-video-toggle {
    display: inline-grid;
    place-items: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    min-width: 0;
    padding: 0;
    border: 1px solid #fff8;
    border-radius: 50% !important;
    color: #fff;
    background: #222 !important;
    pointer-events: auto;
}
.dms-product-video-overlay .dms-product-video-toggle {
    position: absolute !important;
    inset: auto auto 12px 12px !important;
    margin: 0 !important;
    z-index: 2;
}
.dms-product-video .dms-product-video-toggle .dms-product-video-icon {
    display: block !important;
    width: 22px;
    height: 22px;
    pointer-events: none;
}
.dms-product-video-overlay .dms-product-video-panel {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    background: #111;
    color: #fff;
    pointer-events: auto;
}
.dms-product-video-overlay .dms-product-video-panel video {
    width: 100%;
    max-height: 100%;
}
.dms-product-video-overlay [role="status"]:empty { display: none; }
