/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f4f6f9;

    color:#333;

}


/* ==========================================================
   CONTAINER
========================================================== */

.container{

    width:95%;

    max-width:900px;

    margin:35px auto;

}


/* ==========================================================
   FORMULÁRIO
========================================================== */

.formulario{

    background:#fff;

    border-radius:10px;

    padding:35px;

    box-shadow:0 3px 12px rgba(0,0,0,.08);

}


/* ==========================================================
   TÍTULO
========================================================== */

.formulario h1{

    color:#0d6efd;

    margin-bottom:10px;

    font-size:30px;

}

.formulario p{

    color:#666;

    margin-bottom:30px;

    line-height:1.6;

}


/* ==========================================================
   LINHAS
========================================================== */

.linha{

    display:flex;

    gap:20px;

    margin-bottom:20px;

    flex-wrap:wrap;

}

.campo{

    flex:1;

    display:flex;

    flex-direction:column;

}

.largura100{

    width:100%;

}


/* ==========================================================
   LABELS
========================================================== */

.campo label{

    margin-bottom:8px;

    font-weight:bold;

    color:#444;

}


/* ==========================================================
   INPUTS
========================================================== */

input[type=text],
input[type=email],
input[type=password],
select{

    width:100%;

    padding:12px;

    border:1px solid #ced4da;

    border-radius:6px;

    font-size:15px;

    transition:.25s;

}

input:focus,
select:focus{

    outline:none;

    border-color:#0d6efd;

    box-shadow:0 0 8px rgba(13,110,253,.18);

}


/* ==========================================================
   RADIO GROUP
========================================================== */

.radio-group{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-top:5px;

}

.radio-group label{

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 14px;

    background:#f8f9fa;

    border:1px solid #dee2e6;

    border-radius:6px;

    cursor:pointer;

    transition:.25s;

}

.radio-group label:hover{

    background:#eef5ff;

    border-color:#0d6efd;

}

.radio-group input[type=radio]{

    accent-color:#0d6efd;

}


/* ==========================================================
   BOTÃO
========================================================== */

button{

    display:block;

    margin:30px auto 15px;

    width:240px;

    padding:14px;

    border:none;

    border-radius:8px;

    background:#0d6efd;

    color:#fff;

    font-size:16px;

    font-weight:bold;

    cursor:pointer;

    transition:.30s;

}

button:hover{

    background:#0b5ed7;

    transform:translateY(-2px);

    box-shadow:0 6px 12px rgba(13,110,253,.20);

}


/* ==========================================================
   LINK
========================================================== */

a{

    display:block;

    text-align:center;

    text-decoration:none;

    color:#0d6efd;

    font-weight:bold;

    transition:.25s;

}

a:hover{

    color:#084298;

}


/* ==========================================================
   DIVISÓRIA
========================================================== */

hr{

    border:none;

    border-top:1px solid #ddd;

    margin:30px 0;

}


/* ==========================================================
   ANIMAÇÃO
========================================================== */

.formulario{

    animation:fadeIn .35s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:768px){

    .linha{

        flex-direction:column;

    }

    .radio-group{

        flex-direction:column;

        gap:10px;

    }

    button{

        width:100%;

    }

    .formulario{

        padding:25px;

    }

    .formulario h1{

        font-size:24px;

    }

}