/* =========================================================
   TABLETS
========================================================= */

@media (max-width: 1000px) {



    .cards_container {
        grid-template-columns: repeat(2, 1fr);
    }

    .servicos_container {
        grid-template-columns: 1fr 1fr;
    }

    .hero_container {
        gap: 30px;
    }

}


/* =========================================================
   CELULARES
========================================================= */

@media (max-width: 768px) {

    /* HEADER */

    .header_container {
        min-height: auto;

        padding: 20px 0;

        flex-direction: row;

        gap: 20px;
    }


    .nav ul {
        gap: 20px;

        flex-wrap: wrap;
        justify-content: center;
    }


    /* HERO */

    .hero_container {
        min-height: auto;

        padding: 55px 0;

        flex-direction: column;

        text-align: center;
    }

    .hero_content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero_content h1 {
        font-size: 2.2rem;
    }

    .hero_content p {
        font-size: 0.95rem;
    }

    .hero_image img {
        width: 90%;
    }

    #localizacao {
        padding: 70px 0;
    }

    #localizacao>h2 {
        margin-bottom: 35px;
    }

    .local_container {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .local_map,
    #localizacao iframe {
        min-height: 350px;
    }

    .local_info {
        padding: 30px;
    }

    /* SOBRE */

    .sobre {
        padding: 55px 0;
    }

    .cards_container {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .card {
        min-height: auto;
    }


    /* SERVIÇOS */

    .servicos {
        padding: 55px 0;
    }

    .servicos_container {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .servico_card {
        padding: 30px 25px;
    }

    #sobre_empresa {
        padding: 70px 0;
    }

    .sobre_empresa_container {
        width: 90%;
        flex-direction: column;
        gap: 40px;
        text-align: left;
    }

    .content_sobre_empresa {
        max-width: 100%;
    }

    .content_sobre_empresa h2 {
        font-size: 2rem;
    }

    .content_sobre_empresa p {
        font-size: 0.95rem;
    }

    .img_sobre_empresa {
        max-width: 100%;
        width: 100%;
    }

    .img_sobre_empresa img {
        max-width: 100%;
    }

    .footer_principal {
        height: auto;
        padding: 25px 20px;
    }

    .footer_container {
        max-width: 100%;

        flex-wrap: wrap;

        justify-content: center;

        gap: 20px;
    }

    .footer_logo {
        width: 100%;

        justify-content: center;
    }

    .footer_social {
        order: 2;
    }

    .footer_direitos {
        order: 3;
    }

    .footer_divisor {
        display: none;
    }

    .footer_links {
        order: 4;

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

        gap: 15px;
    }

    .footer_credito {
        height: 50px;
        padding: 0 20px;
    }

    .politica_privacidade {
        padding: 45px 18px;
    }

    .politica_header {
        margin-bottom: 45px;
    }

    .politica_header h1 {
        font-size: 1.8rem;
    }

    .politica_header span {
        font-size: 0.75rem;
        letter-spacing: 1.5px;
    }

    .politica_secao {
        margin-bottom: 35px;
    }

    .politica_secao h2 {
        font-size: 1.25rem;
    }

    .politica_secao h3 {
        font-size: 1.05rem;
    }

    .politica_secao p,
    .politica_secao li {
        font-size: 15px;
        line-height: 1.7;
    }

    .politica_secao p {
        text-align: left;
    }

    .politica_secao ul {
        padding-left: 22px;
    }

    .politica_contato {
        padding: 20px;
    }

    .termos_uso {
        padding: 45px 18px;
    }

    .termos_header {
        margin-bottom: 45px;
    }

    .termos_header h1 {
        font-size: 1.8rem;
    }

    .termos_header span {
        font-size: 0.75rem;
        letter-spacing: 1.5px;
    }

    .termos_secao {
        margin-bottom: 35px;
    }

    .termos_secao h2 {
        font-size: 1.25rem;
    }

    .termos_secao h3 {
        font-size: 1.05rem;
    }

    .termos_secao p,
    .termos_secao li {
        font-size: 15px;
        line-height: 1.7;
    }

    .termos_secao p {
        text-align: left;
    }

    .termos_secao ul {
        padding-left: 22px;
    }

    .termos_contato {
        padding: 20px;
    }

}


/* =========================================================
   CELULARES PEQUENOS
========================================================= */

@media (max-width: 480px) {

    .header {
        position: relative;
    }

    .header_container {
        position: relative;
    }

    .hero_overlay {
        position: absolute;
        inset: 0;

        z-index: 1;
    }

    .nav {
        display: none;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menuDropDown {
        position: absolute;

        top: 100%;
        left: 0;

        width: 100%;

        padding: 15px 5%;

        background-color: var(--cor-fundo);

        border-top: 1px solid rgba(33, 96, 51, 0.15);
        border-bottom: 3px solid var(--cor-principal);

        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.08);

        z-index: 1000;

        display: none;
    }

    .menuDropDown.ativo {
        display: block;
    }

    .menuDropDown ul {
        display: flex;
        flex-direction: column;

        gap: 5px;

        list-style: none;
    }

    .menuDropDown a {
        display: block;

        padding: 10px 5px;

        color: var(--cor-principal);

        font-weight: 700;
    }

    .menuDropDown a:hover {
        color: var(--cor-secundaria);
    }

    .hero_container,
    .cards_container,
    .servicos_container {
        width: 92%;
    }

    .hero_content h1 {
        font-size: 1.9rem;
    }

    .hero_content p {
        font-size: 1rem;
    }

    .button {
        width: 100%;

        text-align: center;

        font-size: 0.8rem;
    }

    .card {
        padding: 50px 20px 25px;
    }

    .card h3 {
        font-size: 0.85rem;
    }

    .card p {
        font-size: 1.rem;
    }

    .servico_card p,
    .materiais span {
        font-size: 0.9rem;
    }

}