/* ===========================
   MEDIA QUERIES ORGANIZADAS
   =========================== */

/* --------- 1024px (Tablet) --------- */
@media (max-width: 1024px) {
    /* Navbar */
    .navbar-menu { gap: 25px; }
    .navbar-menu.esquerda { margin-right: 20px; }
    .navbar-menu.direita { margin-left: 20px; }

    /* Hero */
    .section-ini { height: 60vh; }
    .txt-h { font-size: 2rem; }
    .txt-p, .con2-h, .con2-p { font-size: 1rem; }
    .txt-p::before, .txt-p::after { width: 50px; }

    /* Services */
    .services { width: 90%; }
    .services-cards { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .services-p::before, .services-p::after { width: 200px; }

    /* Diferenciais */
    .diferenciais { width: 90%; padding: 60px 20px; }
    .diferenciais-sub::before, .diferenciais-sub::after { width: 150px; }

    /* Sobre */
    .sobre { height: auto; padding: 60px 0; }
    .sobre-card { padding: 40px 30px; }
    .sobre-titulo { font-size: 2rem; }


    /* Footer */
    .footer-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 10px;
    }
}

/* --------- 925px (Menu Mobile) --------- */
@media (max-width: 925px) {
    .navbar {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .navbar-menu {
        gap: 20px;
    }

    .navbar-menu.esquerda,
    .navbar-menu.direita {
        margin: 10px 0;
        justify-content: center;
    }

    .navbar-menu a {
        font-size: 0.7rem;
    }
}

/* --------- 768px (Tablet Pequeno) --------- */
@media (max-width: 768px) {
    /* Navbar */
    .navbar { flex-wrap: wrap; }
    .navbar-logo img { height: 60px; }
    .navbar-menu { gap: 20px; }
    .navbar-menu a { font-size: 0.6rem; padding: 0; margin: 0; }
    .navbar-menu.esquerda, .navbar-menu.direita { margin: 0 15px; }

    /* Hero */
    .section-ini { height: 60vh; }
    .txt-h { font-size: 1rem; }
    /* .txt-p, .con2-p, .con2-h { font-size: 0.8rem; } */
    .txt-p::before, .txt-p::after { width: 30px; margin: 0 8px; }
    /* .btn-wpp-header, .btn-wpp-diferenciais { display: none; } */

    /* Services */
    .services { width: 95%; padding: 30px 0; }
    .services-h2 { font-size: 1.3rem; }
    .services-p { font-size: 0.8rem; white-space: normal; text-align: center; }
    .services-p::before, .services-p::after { width: 80px; }
    .services-cards { grid-template-columns: 1fr; gap: 15px; padding: 10px; }
    .card { margin: 5px; padding: 15px; }

    /* Diferenciais */
    .diferenciais { padding: 40px 15px; }
    .diferenciais-h2 { font-size: 1.4rem; }
    .diferenciais-sub { font-size: 0.8rem; white-space: normal; }
    .diferenciais-sub::before, .diferenciais-sub::after { width: 80px; }
    .diferenciais-cards { gap: 20px; }
    .diferencial-card { flex: 1 1 100%; padding: 30px 15px; }
    .diferencial-p { width: 95%; }

    /* Sobre */
    .sobre-card { padding: 30px 20px; }
    .sobre-titulo { font-size: 1.7rem; }
    .sobre-subtitulo { font-size: 1rem; }
    
    /* Advogados */
    .advogado-card { flex-direction: column; text-align: center; }
    .advogado-card img { margin: 0 0 20px 0; width: 250px; height: 250px; }
    .advogado-info { text-align: center; }
    
    .advogado-card img {
        margin: 0 0 20px 0;
        width: 100%;
        max-width: 250px;
        height: auto;
        object-fit: cover;
        border-radius: 10px;
    }

    /* Footer */
    .footer-container {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    .footer-logo img { height: 100px; }

    /* Remoção de linhas decorativas */
    .txt-p::before, .txt-p::after,
    .services-p::before, .services-p::after,
    .diferenciais-sub::before, .diferenciais-sub::after { display: none; }

    .services-p, .diferenciais-sub {
        white-space: normal;
        text-align: center;
        line-height: 1.4;
    }
}

/* --------- 580px (Header Alternativo) --------- */
@media (max-width: 580px) {
    .navbar { display: none; }

    .navbar-header-alt {
        position: fixed;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        background-color: var(--verde-escuro);
        border-bottom: 3px solid var(--dourado-caramelo);
    }

    .navbar-logo { padding: 10px 0 0 0; }
    .navbar-menu { padding: 20px; }
    .a-inicio { display: none;}

}

/* --------- 480px (Mobile) --------- */
@media (max-width: 480px) {
    /* Navbar */
    .navbar { margin: 0; }
    .navbar-logo img { height: 30px; }
    .navbar-menu { gap: 10px; }
    .navbar-menu a { font-size: 0.7rem; }
    .navbar-menu.esquerda, .navbar-menu.direita { margin: 0; }

    /* Hero */
    .section-ini { height: 40vh; }
    .txt-h { font-size: 1.7rem; }
    .txt-p { font-size: 1.2rem; }
    .txt-p::before, .txt-p::after { width: 20px; margin: 0 5px; }
    .con2-h, .con2-p { font-size: 0.8rem; }
    /* .btn-wpp-header { font-size: 1rem; margin-top: 20px; padding: 8px 15px; } */
    .btn-wpp-header { display: none;}

    /* Services */
    .services-h2 { font-size: 1.1rem; }
    .services-p { font-size: 0.75rem; }
    .services-p::before, .services-p::after { width: 50px; }
    .card-img { width: 50px; height: 50px; }
    .card-h3 { font-size: 1rem; }
    .card-p { font-size: 0.9rem; }

    /* Diferenciais */
    .diferenciais-h2 { font-size: 1.2rem; }
    .diferenciais-sub::before, .diferenciais-sub::after { width: 40px; }
    .diferencial-icone img { width: 50px; height: 50px; }
    .diferencial-h3 { font-size: 1.1rem; }
    .diferencial-p { font-size: 0.9rem; }
    .btn-wpp-diferenciais { font-size: 1rem; padding: 10px 20px; }


    /* WhatsApp fixo */
    .btn-wpp { width: 45px; height: 45px; bottom: 15px; right: 15px; }
    .btn-wpp-icone { width: 24px; height: 24px; }
}

/* --------- 360px (Mobile Pequeno) --------- */
@media (max-width: 360px) {
    .navbar-alt { display: none; }
    .navbar-logo { padding: 10px 0; }
    .section-ini { padding: 0;}
    
    .txt-h { font-size: 0.7rem; }
    .txt-p { font-size: 0.4rem; }
    .txt-p::before, .txt-p::after { width: 15px; }

    .services-cards { padding: 5px; }
    .card { margin: 3px; padding: 10px; }
}

/* --------- Altura menor (≤300px) --------- */
@media (max-height: 300px) {
    .navbar, .navbar-header-alt { display: none; }
    .section-ini { padding-top: 10px; }
    .btn-wpp-header { display: none; }
}
