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

.modal-acesso{

    position:fixed;
    inset:0;

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

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:99999;

}

.modal-acesso.ativo{

    opacity:1;
    visibility:visible;

}

.modal-acesso-box{

    width:460px;
    max-width:92%;

    background:#fff;

    border-radius:24px;

    padding:40px;

    position:relative;

    text-align:center;

    animation:modal .35s;

}

@keyframes modal{

from{

transform:translateY(25px);
opacity:0;

}

to{

transform:translateY(0);
opacity:1;

}

}

.fechar-modal{

position:absolute;

top:18px;

right:18px;

width:40px;

height:40px;

border:none;

background:#f5f5f5;

border-radius:50%;

cursor:pointer;

}

.icone-modal{

width:80px;

height:80px;

margin:auto;

border-radius:50%;

background:#fff2f7;

color:#ff2d6f;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

margin-bottom:25px;

}

.modal-acesso h2{

margin-bottom:15px;

}

.modal-acesso p{

color:#666;

line-height:1.7;

margin-bottom:30px;

}

.beneficios-modal{

list-style:none;

padding:0;

margin:0 0 35px;

text-align:left;

}

.beneficios-modal li{

display:flex;

align-items:center;

gap:12px;

padding:8px 0;

}

.beneficios-modal i{

color:#ff2d6f;

}

.btn-login-modal{

display:block;

padding:16px;

border-radius:14px;

background:#ff2d6f;

color:#fff;

text-decoration:none;

font-weight:700;

transition:.25s;

}

.btn-login-modal:hover{

opacity:.92;

}

.rodape-modal{

margin-top:22px;

font-size:15px;

color:#666;

}

.rodape-modal a{

font-weight:700;

color:#ff2d6f;

text-decoration:none;

}




/*==================================================
MODAL
==================================================*/
.modal-auth{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:30px;

    background:rgba(18,18,18,.55);

    backdrop-filter:blur(10px);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    overflow-y:auto;

    z-index:999999;

}

.modal-auth.ativo{

    opacity:1;

    visibility:visible;

}

/*==================================================
CAIXA
==================================================*/
.modal-auth-box{

    width:480px;

    max-width:92%;

    max-height:90vh;

    background:#fff;

    border-radius:28px;

    padding:45px;

    position:relative;

    overflow-y:auto;

    box-shadow:

        0 35px 90px rgba(0,0,0,.18);

    animation:modalAuth .35s;

}

@keyframes modalAuth{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*==================================================
FECHAR
==================================================*/

.fechar-modal-auth{

    position:absolute;

    right:18px;

    top:18px;

    width:42px;

    height:42px;

    border:none;

    background:#f7f7f7;

    border-radius:50%;

    cursor:pointer;

    transition:.25s;

}

.fechar-modal-auth:hover{

background:#eee;

}

/*==================================================
LOGO
==================================================*/

.auth-logo{

    width:86px;

    height:86px;

    margin:auto;

    margin-bottom:28px;

    border-radius:50%;

    background:#fff2f7;

    color:#ff2d6f;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:36px;

}

/*==================================================
TEXTOS
==================================================*/

.auth-step h2{

    text-align:center;

    font-size:28px;

    margin-bottom:12px;

}

.auth-step p{

    text-align:center;

    color:#777;

    margin-bottom:35px;

    line-height:1.6;

}

/*==================================================
CAMPOS
==================================================*/

.campo{

    margin-bottom:22px;

}

.campo label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

.campo input{

    width:100%;

    height:56px;

    padding:0 18px;

    border:1px solid #e3e3e3;

    border-radius:16px;

    font-size:15px;

    transition:.25s;

}

.campo input:focus{

    outline:none;

    border-color:#ff2d6f;

    box-shadow:

    0 0 0 4px rgba(255,45,111,.12);

}

/*==================================================
CHECKBOX
==================================================*/

.check-auth{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:25px;

    font-size:14px;

    color:#666;

}

.check-auth a{
    color:#ec2f78;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:2px;
}

.check-auth a:hover{
    color:#c91f5c;
}

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

.btn-auth{

    width:100%;

    height:56px;

    border:none;

    border-radius:16px;

    background:linear-gradient(135deg,#ff5d95,#ff2d6f);

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.btn-auth:hover{

transform:translateY(-2px);

}

/*==================================================
LINKS
==================================================*/

.links-auth{

    display:flex;

    flex-direction:column;

    gap:12px;

    margin-top:28px;

}

.link-auth{

    background:none;

    border:none;

    color:#ff2d6f;

    cursor:pointer;

    font-size:15px;

    font-weight:600;

}

/*==================================================
PASSOS
==================================================*/

/*==================================================
CONTAINER DAS ETAPAS
==================================================*/

.auth-body{

    position:relative;

    min-height:auto;

}
/*==================================================
ETAPAS
==================================================*/
.auth-step{

    display:none;

    animation:fadeAuth .30s;

}

.auth-step.ativo{

    display:block;

}

@keyframes fadeAuth{

    from{

        opacity:0;

        transform:translateY(12px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
