/* ---------------------------------------------------------------------------
   Lara's Hair & Beauty - custom hero slider + background video.

   These two pieces are ours, not the page builder's: plain markup, plain CSS,
   plain JS. Nothing here depends on a JS bundle being fetched at runtime.
   --------------------------------------------------------------------------- */

/* ===== hero image slider ================================================== */

.ds-slider {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
    background: #2a2a2a;
}

.ds-slider__slide {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transition: opacity 1.4s ease-in-out;
    will-change: opacity;
}

.ds-slider__slide.is-active {
    opacity: 1;
}

/* Ken Burns drift - subtle, only while the slide is showing */
@media (prefers-reduced-motion: no-preference) {
    .ds-slider__slide.is-active {
        animation: ds-kenburns 9s ease-out forwards;
    }
}

@keyframes ds-kenburns {
    from { transform: scale(1.06); }
    to   { transform: scale(1); }
}

/* the dark wash the original hero sits behind */
.ds-slider::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .38);
}

/* keep the builder's own content above whatever we paint behind it */
.ds-has-slider > .e-con-inner,
.ds-has-slider > .elementor-container,
.ds-has-video  > .e-con-inner,
.ds-has-video  > .elementor-container {
    position: relative;
    z-index: 1;
}

.ds-has-slider,
.ds-has-video {
    position: relative;
    overflow: hidden;
}

/* ===== background video =================================================== */

.ds-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
    background: #1d1d1d;
}

