/* elhs-style final */
.elhs-wrapper{--elhs-arrow:#fff;--elhs-arrow-bg:rgba(0,0,0,0.35);--elhs-arrow-hover:#fff;--elhs-arrow-bg-hover:rgba(0,0,0,0.55);--elhs-dot:rgba(0,0,0,0.2);--elhs-dot-active:#E75524;position:relative;overflow:hidden;width:100%; content-visibility: auto; contain-intrinsic-size: 600px;}
.elhs-slider{display:flex;transition:transform .45s ease;will-change:transform;}
.elhs-slide{flex:0 0 100%;box-sizing:border-box;padding:0px;}
.elhs-slide img{width:100%;height:auto;display:block;border-radius:0px;}
.elhs-arrow{position:absolute;top:50%;transform:translateY(-50%);background:var(--elhs-arrow-bg);color:var(--elhs-arrow);border:none;padding:8px;border-radius:50%;cursor:pointer;z-index:20;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s;}
.elhs-prev{left:10px;}
.elhs-next{right:10px;}
.elhs-arrow img.elhs-arrow-img{width:20px;height:20px;display:block;object-fit:contain; filter: invert(1);}
.elhs-arrow svg{width:20px;height:20px;display:block;fill:currentColor;stroke:currentColor;color:var(--elhs-arrow);}
.elhs-arrow-glyph{font-size:22px;color:var(--elhs-arrow);line-height:1;}
.elhs-arrow:hover{background:var(--elhs-arrow-bg-hover);color:var(--elhs-arrow-hover);}
.elhs-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:8px;display:flex;gap:6px;z-index:20;}
.elhs-dots button{width:10px;height:10px;border-radius:50%;border:none;background:var(--elhs-dot);cursor:pointer;padding:0;transition:background .12s;}
.elhs-dots button.active{background:var(--elhs-dot-active);}
.elhs-slide-link{display:block;width:100%;height:100%;}
@media (max-width:480px){ .elhs-arrow{padding:6px;} .elhs-arrow svg, .elhs-arrow img{width:16px;height:16px;} }

/* ---------------- Video slides ----------------
   Sized the same way as the image slides: responsive width 100%,
   height derived from the media's real aspect ratio (via CSS
   aspect-ratio, set inline per-slide from PHP using the video's true
   width/height when known). object-fit:contain guarantees the video
   itself is NEVER cropped or stretched — only letterboxed if a
   deliberately different ratio was chosen for a YouTube embed. */
.elhs-slide-video{position:relative;}
.elhs-video-container{position:relative;width:100%;overflow:hidden;background:#000;content-visibility:auto;contain-intrinsic-size:0 500px;}
.elhs-video-frame-locked{aspect-ratio:var(--elhs-video-ratio, 16 / 9);}
@media (min-width:768px) and (max-width:1024px){
    .elhs-video-frame-locked{aspect-ratio:var(--elhs-video-ratio-tablet, var(--elhs-video-ratio, 16 / 9));}
}
@media (max-width:767px){
    .elhs-video-frame-locked{aspect-ratio:var(--elhs-video-ratio-mobile, var(--elhs-video-ratio, 16 / 9));}
}
.elhs-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .4s ease;z-index:1;}
.elhs-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:2;background:#000;}
.elhs-yt-embed{position:absolute;inset:0;width:100%;height:100%;z-index:2;}
.elhs-yt-embed iframe.elhs-yt-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;}
.elhs-wrapper.elhs-click-to-play .elhs-yt-iframe{pointer-events:auto;}

/* Mobile: skip video entirely, show poster as a normal cover image */
.elhs-mobile-poster-only .elhs-bg-video,
.elhs-mobile-poster-only .elhs-yt-embed{display:none;}
.elhs-mobile-poster-only .elhs-video-poster{position:relative;width:100%;height:auto;opacity:1 !important;}
.elhs-mobile-poster-only .elhs-video-container{aspect-ratio:auto;}

.elhs-video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;background:transparent;border:none;cursor:pointer;padding:0;line-height:0;transition:transform .15s ease;}
.elhs-video-play-btn:hover{transform:translate(-50%,-50%) scale(1.08);}
.elhs-video-play-btn svg{width:68px;height:48px;display:block;}

.elhs-mute-toggle{position:absolute !important;right:14px !important;bottom:14px !important;z-index:2147483000 !important;width:40px !important;height:40px !important;border-radius:50% !important;border:1px solid rgba(255,255,255,0.25) !important;background:rgba(0,0,0,0.6) !important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 2px 8px rgba(0,0,0,0.35) !important;transition:background .18s,transform .15s;margin:0 !important;padding:0 !important;opacity:1 !important;visibility:visible !important;}
.elhs-mute-toggle:hover{background:rgba(0,0,0,0.85) !important;transform:scale(1.08);}

/* Pure-CSS speaker icon — no SVG, so it can never be hidden/broken by a
   theme's global "svg{display:none}" / "path{fill:none}" style resets. */
.elhs-speaker-icon{position:relative !important;display:block !important;width:15px !important;height:14px !important;background:#ffffff !important;clip-path:polygon(0% 35%,38% 35%,72% 6%,72% 94%,38% 65%,0% 65%) !important;flex:none !important;}
.elhs-mute-toggle[data-muted="1"] .elhs-speaker-icon::before{content:"" !important;position:absolute !important;top:50% !important;left:50% !important;width:22px !important;height:2px !important;background:#ffffff !important;border-radius:2px !important;transform:translate(-50%,-50%) rotate(45deg) !important;box-shadow:0 0 0 1px rgba(0,0,0,0.35) !important;}

@media (max-width:767px){
    .elhs-video-play-btn svg{width:52px;height:38px;}
    .elhs-mute-toggle{width:34px !important;height:34px !important;right:10px !important;bottom:10px !important;}
    .elhs-speaker-icon{width:13px !important;height:12px !important;}
    .elhs-mute-toggle[data-muted="1"] .elhs-speaker-icon::before{width:18px !important;}
}