/* ==========================================================
   FUTURYCRAFT
   CANDIDATURA STAFF
   PARTE 1
========================================================== */


:root{

    --bg:#060b16;
    --bg2:#0d1627;
    --card:rgba(18,28,48,.82);

    --border:rgba(255,255,255,.08);

    --primary:#4cc2ff;
    --primary-dark:#2694ff;

    --success:#32d296;
    --danger:#ff5c7a;
    --warning:#ffbe3b;

    --text:#ffffff;
    --text2:#b9c8df;

    --radius:18px;

    --shadow:
    0 15px 40px rgba(0,0,0,.35);

    --transition:.25s;

    --max-width:900px;

}



*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html{

    scroll-behavior:smooth;

}



body{

    font-family:'Montserrat',sans-serif;

    background:

    radial-gradient(
        circle at top,
        #12213d 0%,
        #08111f 45%,
        #050911 100%
    );

    color:var(--text);

    min-height:100vh;

    overflow-x:hidden;

}



/* ==========================================================
BACKGROUND
========================================================== */


.background{

    position:fixed;

    inset:0;

    z-index:-5;

    overflow:hidden;

}



.background::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;


    background:

    radial-gradient(
        circle,
        rgba(76,194,255,.20),
        transparent 70%
    );


    top:-220px;

    left:-200px;


    animation:float1 14s linear infinite;

}



.background::after{

    content:"";

    position:absolute;

    width:600px;
    height:600px;


    border-radius:50%;


    background:

    radial-gradient(
        circle,
        rgba(45,130,255,.16),
        transparent 70%
    );


    bottom:-200px;

    right:-180px;


    animation:float2 18s linear infinite;

}




@keyframes float1{


    50%{

        transform:

        translateY(30px)
        translateX(40px);

    }


}



@keyframes float2{


    50%{

        transform:

        translateY(-25px)
        translateX(-40px);

    }


}





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


.container{


    width:min(95%,var(--max-width,960px));


    margin:auto;


    padding:

    45px
    16px
    80px;


    box-sizing:border-box;


}



/* ==========================================================
PROGRESSO
========================================================== */


.progress-card{


    background:var(--card);


    border:1px solid var(--border);


    backdrop-filter:blur(18px);


    border-radius:var(--radius);


    padding:30px;


    box-shadow:var(--shadow);


    margin-bottom:30px;


}



.progress-top{


    display:flex;


    justify-content:space-between;


    align-items:flex-start;


    gap:20px;


}



.step{


    display:inline-flex;


    padding:

    6px
    14px;


    border-radius:999px;


    background:

    rgba(76,194,255,.12);


    color:var(--primary);


    font-size:.82rem;


    font-weight:700;


    letter-spacing:.5px;


    margin-bottom:14px;


}



.progress-top h1{


    font-size:2rem;


    font-weight:800;


    margin-bottom:8px;


}



.progress-top p{


    color:var(--text2);


    line-height:1.7;


    max-width:520px;


}



.percent{


    font-size:2rem;


    font-weight:800;


    color:var(--primary);


}



.progress-bar{


    width:100%;


    height:10px;


    margin-top:25px;


    background:


    rgba(255,255,255,.06);


    border-radius:999px;


    overflow:hidden;


}



.progress-fill{


    width:20%;


    height:100%;


    border-radius:999px;


    background:


    linear-gradient(
        90deg,
        #38bdf8,
        #4f46e5
    );


}

/* ==========================================================
FORM CARD
========================================================== */


.form-card{

    background:var(--card);

    border:1px solid var(--border);

    backdrop-filter:blur(18px);

    border-radius:var(--radius);

    padding:35px;

    box-shadow:var(--shadow);

}



/* ==========================================================
GRID
========================================================== */


.grid{

    display:grid;

    grid-template-columns:

    repeat(2,1fr);

    gap:22px;

}



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


.campo{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-bottom:24px;

}



.campo label{

    font-size:.95rem;

    font-weight:700;

    color:var(--text);

    letter-spacing:.3px;

}



/* CORREÇÃO DO SPAN
   somente mensagens
*/


.campo > span{

    color:var(--danger);

    font-size:.85rem;

}



/* ==========================================================
INPUTS
========================================================== */


input,
select,
textarea{


    width:100%;


    border:none;


    outline:none;


    border-radius:14px;


    background:

    rgba(255,255,255,.04);



    border:

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



    color:var(--text);



    font-size:.95rem;


    font-family:'Montserrat',sans-serif;


    transition:.25s;


}



input{


    height:55px;


    padding:0 18px;


}



select{


    height:55px;


    padding:0 18px;


    cursor:pointer;


}



textarea{


    resize:vertical;


    min-height:140px;


    padding:16px 18px;


    line-height:1.7;


}



/* ==========================================================
PLACEHOLDER
========================================================== */


input::placeholder,
textarea::placeholder{


    color:

    rgba(255,255,255,.35);


}



/* ==========================================================
FOCUS
========================================================== */


input:focus,
select:focus,
textarea:focus{


    border-color:var(--primary);



    background:

    rgba(76,194,255,.05);



    box-shadow:

    0 0 0 4px rgba(76,194,255,.12);


}





input:hover,
select:hover,
textarea:hover{


    border-color:

    rgba(76,194,255,.35);


}



/* ==========================================================
IDADE SLIDER
========================================================== */


.idade-box{


    display:flex;


    flex-direction:column;


    gap:15px;


}




.idade-box input[type="range"]{


    appearance:none;


    width:100%;


    height:10px;


    padding:0;


    border-radius:999px;


    background:


    linear-gradient(
        90deg,
        #38bdf8,
        #2563eb
    );


    cursor:pointer;


}




.idade-box input[type="range"]::-webkit-slider-thumb{


    appearance:none;


    width:25px;


    height:25px;


    border-radius:50%;


    background:white;


    border:

    3px solid var(--primary);



    box-shadow:

    0 0 15px rgba(76,194,255,.8);



    cursor:pointer;


    transition:.25s;


}



.idade-box input[type="range"]::-webkit-slider-thumb:hover{


    transform:scale(1.15);


}




.idade-box input[type="range"]::-moz-range-thumb{


    width:25px;


    height:25px;


    border-radius:50%;


    background:white;


    border:

    3px solid var(--primary);


}





.idade-valor{


    display:flex;


    justify-content:center;


    align-items:center;


    gap:8px;


    color:var(--text2);


    font-size:.95rem;


}




.idade-valor span{


    color:var(--primary);


    font-size:1.8rem;


    font-weight:800;


}



/* ==========================================================
GENERO - BOTÕES
========================================================== */


.generos{


    display:grid;


    grid-template-columns:

    repeat(3,1fr);


    gap:15px;


}




.genero-btn{


    cursor:pointer;


}




.genero-btn input{


    display:none;


}




.genero-btn span{


    height:60px;


    display:flex;


    align-items:center;


    justify-content:center;


    border-radius:14px;



    background:

    rgba(255,255,255,.04);



    border:

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



    color:white;


    font-weight:700;


    transition:.25s;


}





.genero-btn:hover span{


    border-color:var(--primary);



    background:

    rgba(76,194,255,.08);



    transform:translateY(-2px);


}





.genero-btn input:checked + span{


    background:


    linear-gradient(
        135deg,
        rgba(76,194,255,.25),
        rgba(37,99,235,.25)
    );



    border-color:

    var(--primary);



    box-shadow:


    0 0 20px rgba(76,194,255,.35);



}




/* ==========================================================
VALIDAÇÃO
========================================================== */


.erro{


    border-color:var(--danger)!important;


    box-shadow:


    0 0 0 4px rgba(255,92,122,.12)!important;


}



.sucesso{


    border-color:var(--success)!important;


    box-shadow:


    0 0 0 4px rgba(50,210,150,.10)!important;


}

/* ==========================================================
RADIOS E CHECKBOX
========================================================== */


.radio-group{


    display:flex;


    flex-wrap:wrap;


    gap:14px;


}



.radio-card{


    display:flex;


    align-items:center;


    gap:10px;


    padding:15px 18px;


    border-radius:14px;


    border:

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



    background:

    rgba(255,255,255,.03);



    cursor:pointer;


    transition:.25s;


}




.radio-card:hover{


    border-color:var(--primary);


    background:

    rgba(76,194,255,.05);


}



.radio-card input{


    width:18px;


    height:18px;


}




.checkbox-group{


    display:flex;


    flex-direction:column;


    gap:12px;


}




.checkbox-item{


    display:flex;


    align-items:center;


    gap:12px;


    padding:14px 16px;


    border-radius:14px;


    background:

    rgba(255,255,255,.03);



    border:

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



    transition:.25s;


}




.checkbox-item:hover{


    border-color:var(--primary);


}




.checkbox-item input{


    width:18px;


    height:18px;


}



/* ==========================================================
BOTÕES
========================================================== */


.botoes{


    display:flex;


    justify-content:space-between;


    align-items:center;


    gap:18px;


    margin-top:35px;


}



.btn-principal{


    border:none;


    cursor:pointer;


    padding:


    15px
    34px;



    border-radius:14px;



    background:


    linear-gradient(
        135deg,
        #38bdf8,
        #2563eb
    );



    color:white;



    font-weight:700;



    font-size:.95rem;



    transition:.25s;



    box-shadow:


    0 10px 25px rgba(37,99,235,.25);


}




.btn-principal:hover{


    transform:translateY(-2px);


    box-shadow:


    0 18px 35px rgba(37,99,235,.35);


}



.btn-secundario{


    border:none;


    cursor:pointer;


    padding:


    15px
    30px;



    border-radius:14px;



    background:


    rgba(255,255,255,.05);



    border:


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



    color:white;



    font-weight:600;



    transition:.25s;


}



.btn-secundario:hover{


    background:


    rgba(255,255,255,.08);



}



/* ==========================================================
ANIMAÇÕES
========================================================== */


.form-card{


    animation:

    fadeUp .6s ease;


}




@keyframes fadeUp{


    from{


        opacity:0;


        transform:

        translateY(25px);


    }



    to{


        opacity:1;


        transform:

        translateY(0);


    }


}





.campo{


    animation:

    fadeCampo .45s ease;


}




@keyframes fadeCampo{


    from{


        opacity:0;


        transform:

        translateY(10px);


    }


    to{


        opacity:1;


        transform:

        translateY(0);


    }


}





/* ==========================================================
SCROLLBAR
========================================================== */


::-webkit-scrollbar{


    width:10px;


}



::-webkit-scrollbar-track{


    background:#08111f;


}



::-webkit-scrollbar-thumb{


    background:


    linear-gradient(
        180deg,
        #38bdf8,
        #2563eb
    );



    border-radius:999px;


}





/* ==========================================================
DETALHES
========================================================== */


::selection{


    background:

    rgba(76,194,255,.35);


    color:white;


}




.progress-card,
.form-card{


    position:relative;


    overflow:hidden;


}



.progress-card::before,
.form-card::before{


    content:"";


    position:absolute;


    top:0;


    left:0;



    width:100%;


    height:1px;



    background:


    linear-gradient(
        90deg,
        transparent,
        rgba(76,194,255,.8),
        transparent
    );


}





input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill{


    -webkit-box-shadow:


    0 0 0 1000px rgba(18,28,48,.95) inset;



    -webkit-text-fill-color:white;


}




/* ==========================================================
RESPONSIVO
========================================================== */


@media(max-width:768px){


    .progress-top{


        flex-direction:column;


    }




    .grid{


        grid-template-columns:1fr;


    }





    .form-card{


        padding:28px;


    }




    .generos{


        grid-template-columns:1fr;


    }



}





@media(max-width:600px){


    .container{


        width:94%;


        padding-top:25px;


        padding-bottom:50px;


    }





    .form-card{


        padding:22px;


        border-radius:16px;


    }





    input,
    select{


        height:52px;


    }




    .botoes{


        flex-direction:column-reverse;


    }





    .btn-principal,
    .btn-secundario{


        width:100%;


    }



}



/* ==========================================================
GLOW DO BOTÃO
========================================================== */


.btn-principal:hover{


    animation:

    pulseGlow 1.4s infinite;


}




@keyframes pulseGlow{


    0%{


        box-shadow:

        0 0 0 rgba(76,194,255,0);


    }


    50%{


        box-shadow:


        0 0 20px rgba(76,194,255,.30);


    }



    100%{


        box-shadow:


        0 0 0 rgba(76,194,255,0);


    }


}

/* ==========================================================
DATA DE NASCIMENTO
========================================================== */


.data-nascimento{

    display:grid;

    grid-template-columns:

    1fr 1fr 2fr;

    gap:15px;

}



.data-nascimento input{

    text-align:center;

    font-weight:700;

}



.data-nascimento input::placeholder{

    color:rgba(255,255,255,.45);

}



@media(max-width:600px){

    .data-nascimento{

        grid-template-columns:

        1fr;

    }

}

/* ==========================================================
FIM
========================================================== */
