/* ===========================
   MODAL OVERLAY
=========================== */


.modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.88);

    backdrop-filter:blur(12px);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:99999;

    padding:25px;

}



.modal.ativo{

    display:flex;

}



/* ===========================
   CONTAINER
=========================== */


.modal-box{

    width:100%;

    max-width:1050px;

    max-height:90vh;

    background:#111;

    border-radius:22px;

    overflow:hidden;

    display:flex;

    flex-direction:column;


    box-shadow:
    0 25px 80px rgba(0,0,0,.8);


    animation:
    modalEntrada .35s ease;

}


@keyframes modalEntrada{


from{

    opacity:0;

    transform:scale(.92);

}


to{

    opacity:1;

    transform:scale(1);

}


}



/* ===========================
   SCROLL MODERNO
=========================== */


.modal-box::-webkit-scrollbar{

    width:8px;

}



.modal-box::-webkit-scrollbar-track{

    background:#0d0d0d;

}



.modal-box::-webkit-scrollbar-thumb{

    background:#00bfa5;

    border-radius:20px;

}



.modal-box::-webkit-scrollbar-thumb:hover{

    background:#00e6c3;

}



.modal-box{

    scrollbar-width:thin;

    scrollbar-color:#00bfa5 #0d0d0d;

}




/* ===========================
   BANNER
=========================== */


.modal-banner{

    height:280px;

    flex-shrink:0;

}


.modal-banner::after{


    content:"";


    position:absolute;

    inset:0;


    background:

    linear-gradient(

        to bottom,

        transparent 20%,

        #111 100%

    );


    pointer-events:none;


}



/* ===========================
   BOTÃO FECHAR
=========================== */


.modal-close{


    position:absolute;


    top:20px;

    right:20px;


    width:45px;

    height:45px;


    border-radius:50%;


    border:1px solid rgba(255,255,255,.2);


    background:rgba(0,0,0,.75);


    color:#fff;


    font-size:22px;


    cursor:pointer;


    z-index:50;


    transition:.3s;


}



.modal-close:hover{


    background:#00bfa5;


    color:#000;


    transform:rotate(90deg);


}





/* ===========================
   CONTEUDO
=========================== */


.modal-content{

    padding:35px;

    overflow-y:auto;

    max-height:45vh;


    scrollbar-width:thin;

    scrollbar-color:#00bfa5 #171717;

}


.modal-content h1{


    font-size:42px;

    font-weight:700;


}



.modal-meta{


    margin:20px 0;


    display:flex;

    flex-wrap:wrap;

    gap:12px;


    color:#00bfa5;

    font-weight:bold;


}



.modal-description{


    color:#ccc;

    font-size:16px;

    line-height:1.8;


}





/* ===========================
   PROVIDERS
=========================== */


.providers{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(110px,1fr));

    gap:18px;

    margin-top:25px;

}

.provider{

    background:#202020;

    border:1px solid rgba(255,255,255,.08);

    border-radius:14px;

    padding:14px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:space-between;

    text-align:center;

    transition:.25s;

    min-height:150px;

}

.provider:hover{

    transform:translateY(-4px);

    border-color:#00bfa5;

}

.provider img{

    width:62px;

    height:62px;

    object-fit:cover;

    border-radius:14px;

    margin-bottom:14px;

}

.provider span{

    font-size:13px;

    line-height:1.4;

    color:#fff;

    font-weight:600;

    min-height:38px;

    display:flex;

    align-items:center;

    justify-content:center;

}




.assistir-btn{


    margin-top:25px;


    display:inline-block;


    background:#00bfa5;


    color:#000;


    padding:14px 25px;


    border-radius:12px;


    font-weight:bold;


    transition:.3s;


}



.assistir-btn:hover{


    transform:translateY(-3px);

}



/* ===========================
   MOBILE
=========================== */


@media(max-width:1000px){


.modal{

    padding:10px;

}


.modal-box{

    max-height:95vh;

}



.modal-banner{

    height:320px;

}



.modal-content{

padding:25px 35px 40px;

}



.modal-content h1{

font-size:36px;

line-height:1.2;

}

}

/* ===========================
   SCROLL MODERNO MODAL
=========================== */


.modal-content::-webkit-scrollbar{

    width:8px;

}



.modal-content::-webkit-scrollbar-track{

    background:#171717;

    border-radius:20px;

}



.modal-content::-webkit-scrollbar-thumb{

    background:#00bfa5;

    border-radius:20px;


}



.modal-content::-webkit-scrollbar-thumb:hover{

    background:#00e6c3;

}








.streaming-oferta{

    margin-top:35px;

    padding:24px;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        #009687,
        #00695c
    );

    text-align:center;

}

.streaming-oferta h3{

    font-size:22px;

    margin-bottom:12px;

    color:#fff;

}

.streaming-oferta p{

    color:#f3f3f3;

    line-height:1.6;

    margin-bottom:20px;

}

.streaming-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 28px;

    background:#fff;

    color:#009687;

    font-weight:bold;

    border-radius:10px;

    transition:.25s;

}

.streaming-btn:hover{

    transform:translateY(-2px);

    background:#f1f1f1;

}




/* ===========================
   TRAILER
=========================== */


#modalTrailer{

    margin-top:40px;

}



#modalTrailer h3{

    margin-bottom:20px;

    font-size:22px;

}



.trailer-box{

    position:relative;

    width:100%;

    aspect-ratio:16/9;

    overflow:hidden;

    border-radius:16px;

    background:#000;

}



.trailer-box iframe{

    width:100%;

    height:100%;

    border:0;

}



/* MOBILE */


@media(max-width:768px){


.trailer-box{

    border-radius:12px;

}


}
