/* =====================================================
   ESCOLA ANTÔNIO JOAQUIM LUSTOSA
   INDEX.CSS
   Página Inicial
===================================================== */


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

body {
    min-height: 100vh;

    background:
        linear-gradient(
            180deg,
            #eef4f9 0%,
            #f7f9fc 100%
        );
}


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

.container {
    width: min(1180px, 94%);

    margin: 0 auto;

    padding: 36px 0 24px;
}


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

header {
    background: var(--branco);

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

    border-radius: 18px;

    padding: 32px 28px 28px;

    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: 14px;

    padding: 8px;

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


header h1 {
    font-size: clamp(28px, 4vw, 42px);

    color: var(--azul-principal);

    letter-spacing: -0.5px;

    margin-bottom: 8px;
}


header p {
    font-size: 16px;

    font-weight: 500;

    color: #5f6f7f;
}


/* ================= CONTEÚDO PRINCIPAL ================= */

main {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;

    margin-top: 28px;
}


/* ================= CARDS ================= */

.card {
    background: var(--branco);

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

    border-radius: 16px;

    padding: 30px;

    box-shadow:
        0 10px 28px
        rgba(15, 76, 129, 0.07);

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

    position: relative;
}


.card:hover {
    transform: translateY(-4px);

    border-color: #b7c9da;

    box-shadow:
        0 16px 36px
        rgba(15, 76, 129, 0.12);
}


.icone {
    width: 58px;
    height: 58px;

    border-radius: 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #eaf2f9;

    color: var(--azul-principal);

    font-size: 26px;

    margin-bottom: 20px;
}


.card h2 {
    font-size: 24px;

    color: #1f2d3d;

    margin-bottom: 10px;
}


.card p {
    min-height: 48px;

    font-size: 15px;

    line-height: 1.65;

    color: #66788a;

    margin-bottom: 24px;
}


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

.botao {
    width: 100%;

    min-height: 48px;

    border-radius: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    font-weight: 600;

    font-size: 15px;

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


.botao + .botao {
    margin-top: 12px;
}


.botao:hover {
    transform: translateY(-1px);
}


.botao.azul {
    background: var(--azul-principal);

    color: #ffffff;

    border: 1px solid var(--azul-principal);
}


.botao.azul:hover {
    background: var(--azul-hover);

    border-color: var(--azul-hover);
}


.botao.branco {
    background: #ffffff;

    color: var(--azul-principal);

    border: 1px solid #aebfce;
}


.botao.branco:hover {
    background: #f0f5f9;

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


/* ================= ACESSOS INTERNOS ================= */

.admin {
    margin-top: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;
}


.botao-admin {
    min-height: 48px;

    min-width: 190px;

    padding: 0 24px;

    border-radius: 10px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    background: #263746;

    color: #ffffff;

    font-weight: 600;

    font-size: 15px;

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


.botao-admin:hover {
    background: #17232d;

    transform: translateY(-2px);

    box-shadow:
        0 10px 24px
        rgba(23, 35, 45, 0.18);
}


/* ================= RODAPÉ ================= */

footer {
    margin-top: 32px;

    padding: 20px 16px 4px;

    text-align: center;
}


footer p {
    font-size: 13px;

    color: #748291;
}


footer p + p {
    margin-top: 4px;
}


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

@media (max-width: 820px) {

    .container {
        padding-top: 20px;
    }


    main {
        grid-template-columns: 1fr;
    }


    header {
        padding: 28px 20px 24px;
    }


    .card {
        padding: 24px;
    }
}


@media (max-width: 480px) {

    .container {
        width: 92%;

        padding-bottom: 18px;
    }


    .logo-escola-principal {
        width: 82px;

        height: 82px;
    }


    header h1 {
        font-size: 26px;
    }


    header p {
        font-size: 14px;
    }


    .card h2 {
        font-size: 21px;
    }


    .admin {
        flex-direction: column;

        gap: 12px;
    }


    .botao-admin {
        width: 100%;

        min-width: 0;
    }
}