/* ======= VIDEO SLIDER ======= */
body.ella-lock { overflow: hidden; }

.ella-video-slider { padding: 40px 0; }
.ella-video-slider .ella-title {
    margin: 0 0 24px;
    font-size: 32px;
    line-height: 1.15;
    text-transform: uppercase;
}
.ella-video-slider .swiper { padding-bottom: 40px; }
.ella-video-slider .swiper-slide { height: auto; }

/* cover */
.ella-video-slider .ella-box-cover{
    position:relative;
    height:450px;
    border-radius:40px;
    overflow:hidden;
    cursor:pointer;
    transition:all .3s ease-out;
}
.ella-video-slider .ella-box-cover::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg, rgba(0,0,0,.60) 0%, rgba(0,0,0,0) 100%);
}
.ella-video-slider .ella-cover-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.ella-video-slider .ella-slide-h3{
    position:absolute;
    top:25%;
    width:100%;
    text-align:center;
    color:#fff;
    z-index:2;
    font-size:32px;
    text-transform:uppercase;
    padding:0 16px;
    box-sizing:border-box;
}

/* icons */
.ella-video-slider .ella-social-buttons{
    opacity:0;
    display:flex;
    gap:30px;
    justify-content:center;
    align-items:center;
    position:absolute;
    bottom:20%;
    left:50%;
    z-index:2;
    transition:all .3s ease-out;
    transition-delay:.2s;
    transform:translate(-55%, -50%);
    pointer-events:none;
}
.ella-video-slider .ella-social-btn{
    display:flex;
    justify-content:center;
    align-items:center;
    width:70px;
    height:70px;
    transition:transform .3s ease, opacity .3s ease;
    filter:grayscale(40%);
    pointer-events:auto;
}
.ella-video-slider .ella-social-btn svg { width:100%; height:100%; }
.ella-video-slider .ella-social-btn.center{ z-index:2; }
.ella-video-slider .ella-social-btn.left{ transform:translateX(45px); z-index:1; }
.ella-video-slider .ella-social-btn.right{ transform:translateX(-45px); z-index:1; }

.ella-video-slider .ella-play{
    position:absolute;
    left:0; right:0;
    bottom:15%;
    width:clamp(140px, 30vw, 200px);
    height:clamp(140px, 30vw, 200px);
    margin:0 auto;
    z-index:2;
    transition:all .3s ease-out;
    transition-delay:.3s;
}
.ella-video-slider .ella-play svg{ width:100%; height:100%; object-fit:contain; }
.ella-video-slider .ella-pulse{ transform-origin:center; animation:ellaPulse 2s infinite ease-in-out; }

.ella-video-slider .ella-box-cover:hover .ella-play{ opacity:0; }
.ella-video-slider .ella-box-cover:hover .ella-social-buttons{ opacity:1; pointer-events:auto; }
.ella-video-slider .ella-box-cover:hover .ella-social-btn{ transform:translateX(0); }

@keyframes ellaPulse{
    0%,100%{ transform:scale(1); opacity:1; }
    50%{ transform:scale(1.2); opacity:.9; }
}

/* pagination */
.ella-video-slider .swiper-pagination-bullet{ opacity:.4; }
.ella-video-slider .swiper-pagination-bullet-active{ opacity:1; }

/* ===== Modal ===== */
.ella-video-slider .ella-popup{
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    padding:30px 15px;
    background:rgba(0,0,0,.8);
    display:grid;
    justify-content:center;
    align-items:center;
    z-index:10000;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
    overflow-y:auto;
}
.ella-video-slider .ella-popup.active{
    opacity:1;
    visibility:visible;
}
.ella-video-slider .ella-modal{
    width:95vmax;
    height:95dvh;
    transform:scale(.8);
    background:#fff;
    border-radius:20px;
    padding:20px;
    transition:transform .3s ease;
    position:relative;
}
.ella-video-slider .ella-popup.active .ella-modal{ transform:scale(1); }

.ella-video-slider .ella-close{
    position:absolute;
    top:10px; right:10px;
    width:44px; height:44px;
    border:none;
    background:transparent;
    cursor:pointer;
}
.ella-video-slider .ella-close:before,
.ella-video-slider .ella-close:after{
    content:'';
    position:absolute;
    top:50%; left:50%;
    width:26px; height:2px;
    background:#111;
    transform-origin:center;
}
.ella-video-slider .ella-close:before{ transform:translate(-50%,-50%) rotate(45deg); }
.ella-video-slider .ella-close:after { transform:translate(-50%,-50%) rotate(-45deg); }

.ella-video-slider .ella-modal-content{
    display:flex;
    flex-direction:row-reverse;
    gap:20px;
    height:100%;
    overflow:hidden;
}
.ella-video-slider .ella-modal-text{
    width:35%;
    padding:40px;
    font-size:14px;
    overflow:auto;
}
.ella-video-slider .ella-modal-text h3{
    margin:0 0 18px;
    font-size:18px;
}
.ella-video-slider .ella-iframe-wrap{ flex:1; height:100%; }
.ella-video-slider iframe{ width:100%; height:100%; border:0; }

@media (max-width: 768px){
    .ella-video-slider .ella-box-cover{ height:280px; border-radius:24px; }
    .ella-video-slider .ella-slide-h3{ font-size:18px; top:18%; }
    .ella-video-slider .ella-social-buttons{ opacity:1; pointer-events:auto; }
    .ella-video-slider .ella-play{ opacity:0; }
    .ella-video-slider .ella-modal-content{ flex-direction:column; }
    .ella-video-slider .ella-modal-text{ width:100%; padding:16px; }
}

/* ===== Swiper arrows ===== */
.ella-video-slider .ella-nav{
    position:absolute;
    bottom: 60px;
    left: 40px;
    z-index: 5;

    width: 54px;
    height: 54px;
    border-radius: 12px;
    border: 0;
    background: #fff;
    cursor: pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size: 28px;
    line-height: 1;
    color: #c2a757;

    transition: opacity .2s ease, transform .2s ease;
}

.ella-video-slider .ella-nav:hover{ opacity:.9; transform: translateY(-1px); }

.ella-video-slider .ella-nav-next{ left: 104px; } /* вторая кнопка правее */

@media (max-width: 768px){
    .ella-video-slider .ella-nav{
        left: 16px;
        bottom: -15px;
        width: 48px;
        height: 48px;
    }
    .ella-video-slider .ella-nav-next{ left: 72px; }
}