/* =====================================================
   ESCOLA ANTÔNIO JOAQUIM LUSTOSA
   CADASTRO DE ALUNO
===================================================== */


/* ================= BODY ================= */

body{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:32px 0;

    background:
        linear-gradient(
            135deg,
            #edf3f8 0%,
            #f8fafc 100%
        );

}


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

.container{

    width:100%;

    max-width:720px;

    padding:24px;

}


/* ================= CABEÇALHO ================= */

header{

    background:#ffffff;

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

    border-radius:18px 18px 0 0;

    padding:32px;

    text-align:center;

    box-shadow:var(--sombra);

    position:relative;

    overflow:hidden;

}


header::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:6px;

    background:
        linear-gradient(
            90deg,
            var(--azul-principal),
            var(--azul-secundario)
        );

}


.logo{

    margin-bottom:18px;

}


.logo-escola-principal{

    width:95px;

    height:95px;

    object-fit:contain;

    background:#ffffff;

    border:1px solid #e3e8ee;

    border-radius:12px;

    padding:8px;

    box-shadow:
        0 8px 22px rgba(15,76,129,.10);

}


header h1{

    color:var(--azul-principal);

    font-size:30px;

    margin-bottom:8px;

}


header p{

    color:#6b7280;

    font-size:15px;

}


/* ================= FORMULÁRIO ================= */

.formulario{

    background:#ffffff;

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

    border-top:none;

    border-radius:0 0 18px 18px;

    padding:36px;

    box-shadow:var(--sombra);

}


.formulario h2{

    text-align:center;

    color:#1f2937;

    margin-bottom:30px;

    font-size:24px;

}


/* ================= MENSAGENS ================= */

#mensagem{

    margin-bottom:22px;

}


#mensagem:empty{

    display:none;

}


#mensagem .erro,
#mensagem .sucesso{

    width:100%;

    padding:14px 16px;

    border-radius:10px;

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:14px;

    font-weight:500;

    line-height:1.5;

    animation:aparecerMensagem .25s ease;

}


#mensagem .erro{

    background:#fdecec;

    color:#b42318;

    border:1px solid #f5c2c0;

    border-left:4px solid #dc3545;

}


#mensagem .sucesso{

    background:#eaf7ef;

    color:#166534;

    border:1px solid #bfe4cb;

    border-left:4px solid #198754;

}


#mensagem i{

    margin-top:3px;

    flex-shrink:0;

}


#mensagem span{

    flex:1;

}


@keyframes aparecerMensagem{

    from{

        opacity:0;

        transform:translateY(-6px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ================= LABELS ================= */

label{

    display:block;

    margin-top:18px;

    margin-bottom:8px;

    font-weight:600;

    color:#374151;

    font-size:14px;

}


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

input,
select{

    width:100%;

    min-height:50px;

    padding:0 16px;

    border:1px solid #d7dee6;

    border-radius:10px;

    background:#ffffff;

    color:#1f2937;

    font-size:15px;

    transition:
        border-color var(--transicao),
        box-shadow var(--transicao);

}


input::placeholder{

    color:#9ca3af;

}


input:focus,
select:focus{

    border-color:var(--azul-principal);

    box-shadow:
        0 0 0 4px rgba(15,76,129,.10);

}


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

button{

    width:100%;

    min-height:50px;

    margin-top:28px;

    border:none;

    border-radius:10px;

    background:var(--azul-principal);

    color:#ffffff;

    font-size:15px;

    font-weight:600;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    transition:
        background var(--transicao),
        transform var(--transicao),
        box-shadow var(--transicao);

}


button:hover{

    background:var(--azul-hover);

    transform:translateY(-2px);

    box-shadow:
        0 10px 22px rgba(15,76,129,.18);

}


button:disabled{

    background:#9ca3af;

    cursor:not-allowed;

    transform:none;

    box-shadow:none;

}


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

.botao{

    width:100%;

    min-height:48px;

    margin-top:20px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    font-weight:600;

    transition:
        background var(--transicao),
        color var(--transicao),
        border-color var(--transicao);

}


.botao.branco{

    background:#ffffff;

    color:var(--azul-principal);

    border:1px solid #cfd7df;

}


.botao.branco:hover{

    background:#f4f8fb;

    border-color:var(--azul-principal);

}


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

@media(max-width:600px){

    body{

        align-items:flex-start;

        padding:18px 0;

    }

    .container{

        width:94%;

        padding:0;

    }

    header{

        padding:26px 20px;

    }

    .formulario{

        padding:26px 20px;

    }

    header h1{

        font-size:26px;

    }

    .formulario h2{

        font-size:21px;

    }

    #mensagem .erro,
    #mensagem .sucesso{

        padding:13px 14px;

        font-size:13px;

    }

}