/*==================================================
WAITLIST MODAL
==================================================*/

.waitlist-modal{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

    background:rgba(8,15,28,.72);

    backdrop-filter:blur(8px);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.35s;

    z-index:99999;

}

.waitlist-modal.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

/*==================================================
OVERLAY
==================================================*/

.waitlist-overlay{

    position:absolute;

    inset:0;

}

/*==================================================
CARD
==================================================*/

.waitlist-dialog{

    position:relative;

    width: min(960px, calc(100vw - 40px));

    max-width:94vw;
	
	max-height: calc(100vh - 40px);

    overflow-y: auto;

    background:#FFF;

    border-radius: 20px;

    border:1px solid #E5EAF2;

    box-shadow:

        0 28px 80px rgba(0,0,0,.28);

    transform:

        translateY(40px)

        scale(.90);

    opacity:0;

    transition:

        transform .35s,

        opacity .35s;

}

.waitlist-modal.active .waitlist-dialog{

    transform:

        translateY(0)

        scale(1);

    opacity:1;

}

/*==================================================
CLOSE
==================================================*/

.waitlist-close{

    position:absolute;

    top:16px;

    right:16px;

    width:38px;

    height:38px;

    border:none;

    border-radius:50%;

    background:#F3F6FB;

    color:#64748B;

    font-size:22px;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.25s;

    z-index:10;

}

.waitlist-close:hover{

    background:#E8EEF8;

    color:#17233D;

}

/*==================================================
LAYOUT
==================================================*/

.waitlist-content{

    display:grid;

    grid-template-columns:260px 1fr;

    min-height:500px;

}


/*==================================================
BRAND
==================================================*/

.waitlist-brand{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    padding:42px 30px;

    text-align:center;

    color:#FFF;

    background:

        radial-gradient(
            circle at top,
            rgba(255,255,255,.10),
            transparent 55%
        ),

        linear-gradient(
            180deg,
            #0E4EA6,
            #093C82
        );

}

.waitlist-brand img{

    width:140px;

    height:auto;

    margin-bottom:24px;

    filter:

        drop-shadow(
            0 10px 25px rgba(0,0,0,.25)
        );

}

.waitlist-badge{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:8px 16px;

    margin-bottom:22px;

    border-radius:999px;

    background:rgba(255,255,255,.14);

    border:1px solid rgba(255,255,255,.25);

    font-size:.72rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.waitlist-brand::after{

    content:"A nova plataforma reunirá toda a biblioteca digital, conteúdos exclusivos e novos recursos para tornar seu estudo da Bíblia ainda mais completo.";

    margin-top:18px;

    font-size:.90rem;

    line-height:1.7;

    opacity:.92;

}

/*==================================================
INFO
==================================================*/

.waitlist-info{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:48px;

}

.waitlist-kicker{

    display:inline-block;

    margin-bottom:12px;

    color:#0E4EA6;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

}

.waitlist-title{

    margin:0 0 18px;

    color:#17233D;

    font-size:2rem;

    line-height:1.2;

    font-weight:800;

}

.waitlist-description{

    margin:0 0 26px;

    color:#5F6C7B;

    font-size:1rem;

    line-height:1.75;

}

/*==================================================
FEATURES
==================================================*/

.waitlist-features{

    margin:0 0 30px;

    padding:0;

    list-style:none;

}

.waitlist-features li{

    position:relative;

    padding-left:28px;

    margin-bottom:14px;

    color:#233247;

    font-weight:500;

}

.waitlist-features li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#C89A2B;

    font-weight:700;

}

/*==================================================
FORM
==================================================*/

.waitlist-form{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.waitlist-form input{

    width:100%;

    height:56px;

    padding:0 18px;

    border:1px solid #D8E1EE;

    border-radius:12px;

    background:#FFF;

    color:#17233D;

    font-size:1rem;

    transition:.25s;

}

.waitlist-form input:focus{

    outline:none;

    border-color:#0E4EA6;

    box-shadow:0 0 0 4px rgba(14,78,166,.10);

}

.waitlist-form input::placeholder{

    color:#97A3B3;

}

/*==================================================
BUTTON
==================================================*/

.waitlist-button{

    height:58px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:1rem;

    font-weight:700;

    color:#17233D;

    background:linear-gradient(
        180deg,
        #F6D46A,
        #D9A528
    );

    transition:
        transform .25s,
        box-shadow .25s;

    box-shadow:
        0 14px 30px rgba(217,165,40,.25);

}

.waitlist-button:hover{

    transform:translateY(-2px);

    box-shadow:
        0 18px 36px rgba(217,165,40,.35);

}

/*==================================================
MESSAGE
==================================================*/

.waitlist-message{

    min-height:26px;

    margin-top:18px;

    font-size:.95rem;

    line-height:1.6;

}

.waitlist-message.success{

    color:#15803D;

}

.waitlist-message.error{

    color:#DC2626;

}

/*==================================================
INFO
==================================================*/

.waitlist-info{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:48px;

}

.waitlist-kicker{

    display:inline-block;

    margin-bottom:12px;

    color:#0E4EA6;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

}

.waitlist-title{

    margin:0 0 18px;

    color:#17233D;

    font-size:2rem;

    line-height:1.2;

    font-weight:800;

}

.waitlist-description{

    margin:0 0 26px;

    color:#5F6C7B;

    font-size:1rem;

    line-height:1.75;

}

/*==================================================
FEATURES
==================================================*/

.waitlist-features{

    margin:0 0 30px;

    padding:0;

    list-style:none;

}

.waitlist-features li{

    position:relative;

    padding-left:28px;

    margin-bottom:14px;

    color:#233247;

    font-weight:500;

}

.waitlist-features li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:#C89A2B;

    font-weight:700;

}

/*==================================================
FORM
==================================================*/

.waitlist-form{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.waitlist-form input{

    width:100%;

    height:56px;

    padding:0 18px;

    border:1px solid #D8E1EE;

    border-radius:12px;

    background:#FFF;

    color:#17233D;

    font-size:1rem;

    transition:.25s;

}

.waitlist-form input:focus{

    outline:none;

    border-color:#0E4EA6;

    box-shadow:0 0 0 4px rgba(14,78,166,.10);

}

.waitlist-form input::placeholder{

    color:#97A3B3;

}

/*==================================================
BUTTON
==================================================*/

.waitlist-button{

    height:58px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:1rem;

    font-weight:700;

    color:#17233D;

    background:linear-gradient(
        180deg,
        #F6D46A,
        #D9A528
    );

    transition:
        transform .25s,
        box-shadow .25s;

    box-shadow:
        0 14px 30px rgba(217,165,40,.25);

}

.waitlist-button:hover{

    transform:translateY(-2px);

    box-shadow:
        0 18px 36px rgba(217,165,40,.35);

}

/*==================================================
MESSAGE
==================================================*/

.waitlist-message{

    min-height:26px;

    margin-top:18px;

    font-size:.95rem;

    line-height:1.6;

}

.waitlist-message.success{

    color:#15803D;

}

.waitlist-message.error{

    color:#DC2626;

}


/*==================================================
MOBILE — WAITLIST MODAL
AJUSTE COMPACTO
==================================================*/

@media (max-width:767px){

    /*------------------------------------------
    MODAL
    ------------------------------------------*/

    .waitlist-modal{

        padding:10px;

        align-items:center;

    }


    /*------------------------------------------
    CARD
    ------------------------------------------*/

    .waitlist-dialog{

        position:relative;

        width:100%;

        max-width:400px;

        max-height:calc(100vh - 20px);

        overflow-y:auto;

        overflow-x:hidden;

        border-radius:16px;

        -webkit-overflow-scrolling:touch;

    }


    /*------------------------------------------
    BOTÃO FECHAR
    ------------------------------------------*/

    .waitlist-close{

        position:absolute;

        top:8px;

        right:8px;

        width:36px;

        height:36px;

        min-width:36px;

        min-height:36px;

        padding:0;

        z-index:100;

        display:flex;

        align-items:center;

        justify-content:center;

        border-radius:50%;

        font-size:21px;

        line-height:1;

        background:rgba(243,246,251,.98);

        box-shadow:

            0 3px 12px rgba(0,0,0,.12);

    }


    /*------------------------------------------
    LAYOUT
    ------------------------------------------*/

    .waitlist-content{

        display:flex;

        flex-direction:column;

        min-height:0;

    }


    /*------------------------------------------
    BRAND
    ------------------------------------------*/

    .waitlist-brand{

        position:relative;

        min-height:0;

        height:auto;

        padding:22px 55px 18px 20px;

        justify-content:center;

        align-items:center;

    }


    .waitlist-brand img{

        display:block;

        width:82px;

        max-width:82px;

        height:auto;

        max-height:58px;

        object-fit:contain;

        margin:0 0 9px;

    }


    .waitlist-badge{

        padding:5px 12px;

        margin:0;

        font-size:.58rem;

        line-height:1.2;

    }


    .waitlist-brand::after{

        display:none;

    }


    /*------------------------------------------
    INFO
    ------------------------------------------*/

    .waitlist-info{

        display:flex;

        flex-direction:column;

        justify-content:flex-start;

        padding:20px 20px 22px;

    }


    .waitlist-kicker{

        margin-bottom:6px;

        font-size:.64rem;

        letter-spacing:.10em;

    }


    .waitlist-title{

        margin:0 0 10px;

        font-size:1.38rem;

        line-height:1.18;

    }


    .waitlist-description{

        margin:0 0 15px;

        font-size:.86rem;

        line-height:1.52;

    }


    /*------------------------------------------
    FEATURES
    ------------------------------------------*/

    .waitlist-features{

        margin:0 0 17px;

    }


    .waitlist-features li{

        padding-left:22px;

        margin-bottom:7px;

        font-size:.82rem;

        line-height:1.35;

    }


    .waitlist-features li::before{

        font-size:.82rem;

    }


    /*------------------------------------------
    FORM
    ------------------------------------------*/

    .waitlist-form{

        gap:10px;

    }


    .waitlist-form input{

        height:48px;

        padding:0 14px;

        border-radius:10px;

        font-size:.90rem;

    }


    /*------------------------------------------
    BUTTON
    ------------------------------------------*/

    .waitlist-button{

        height:50px;

        min-height:50px;

        padding:0 14px;

        border-radius:10px;

        font-size:.88rem;

    }


    /*------------------------------------------
    MESSAGE
    ------------------------------------------*/

    .waitlist-message{

        min-height:20px;

        margin-top:10px;

        font-size:.78rem;

        line-height:1.4;

    }

}


/*==================================================
TELAS MUITO PEQUENAS
==================================================*/

@media (max-width:380px){

    .waitlist-modal{

        padding:7px;

    }


    .waitlist-dialog{

        max-width:360px;

        max-height:calc(100vh - 14px);

        border-radius:14px;

    }


    .waitlist-close{

        top:7px;

        right:7px;

        width:34px;

        height:34px;

        min-width:34px;

        min-height:34px;

        font-size:20px;

    }


    .waitlist-brand{

        padding:18px 50px 14px 18px;

    }


    .waitlist-brand img{

        width:72px;

        max-width:72px;

        max-height:50px;

        margin-bottom:7px;

    }


    .waitlist-badge{

        padding:4px 10px;

        font-size:.54rem;

    }


    .waitlist-info{

        padding:17px 18px 19px;

    }


    .waitlist-title{

        font-size:1.28rem;

    }


    .waitlist-description{

        font-size:.82rem;

        line-height:1.48;

    }


    .waitlist-features li{

        font-size:.78rem;

        margin-bottom:6px;

    }


    .waitlist-form input{

        height:46px;

        font-size:.86rem;

    }


    .waitlist-button{

        height:48px;

        min-height:48px;

        font-size:.84rem;

    }

}
