/* =====================================================
   RESPONSIVIDADE MOBILE
===================================================== */

@media (max-width: 900px) {

    /* Evita scroll lateral causado por elementos fixos */
    body {
        padding-top: 90px;
        overflow-x: hidden;
    }

    /* Deixa a camada de código mais discreta em telas menores */
    .codigo-fundo {
        opacity: 0.1;
    }

    .codigo-fundo span {
        font-size: 0.82rem;
        animation-duration: 16s;
    }
}

@media (max-width:768px) {

    /* Navbar vira coluna */

    nav {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .hero-principal .hero-grid {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .hero-principal .hero-actions {
        justify-content: flex-start;
    }

    nav ul {
        flex-direction: column;
        gap: 10px;
        padding: 10px 0;
    }

    /* Ajuste hero */

    .hero {
        padding: 90px 20px;
        min-height: auto;
    }

    /* Cards em coluna */

    .container-aulas {
        grid-template-columns: 1fr;
    }

    /* Ajuste geral */

    main {
        padding: 20px;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .hero-principal .hero-text p {
        font-size: 1rem;
    }

}

/* Telefones muito pequenos */
@media (max-width: 520px) {

    /* Mantém o efeito de código, mas mais leve e lento */
    .codigo-fundo {
        opacity: 0.08;
    }

    .codigo-fundo span {
        font-size: 0.72rem;
        animation-duration: 22s;
    }

    /* Espaço extra para a navbar quando quebra em 2 linhas */
    body {
        padding-top: 110px;
    }

    .hero {
        padding: 120px 16px 60px 16px;
        text-align: left;
    }

    .container-aulas,
    .home-links {
        gap: 16px;
    }

    .documentos-cards {
        flex-direction: column;
        align-items: stretch;
    }
}

/* =====================================================
   MENU HAMBURGUER MOBILE
===================================================== */

.menu-toggle {
    display: none;
    font-size: 26px;
    cursor: pointer;
    color: #ffffff;
}

/* MOBILE */

@media (max-width:768px) {

    nav {
        flex-wrap: wrap;
        padding: 15px 20px;
    }

    /* mostra botão hamburguer */

    .menu-toggle {
        display: block;
    }

    /* menu escondido */

    nav ul {
        display: none;
        flex-direction: column;
        width: 100%;
        margin-top: 10px;
        gap: 10px;
        text-align: center;
    }

    /* menu aberto */

    nav ul.ativo {
        display: flex;
    }

}
