@media (max-width: 768px) {
  .header .container {
    flex-direction: column;
    gap: 10px;
  }
  nav {
    justify-content: center;
    flex-wrap: wrap;
  }
  h1 {
    font-size: 2.2rem;
  }
}

@media(max-width: 992px){

    header .container{

        position:relative;
    }

    .menu-toggle{

        display:block;
    }

    nav{

        position:absolute;

        top:100%;

        left:0;

        width:100%;

        background:white;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:20px;

        padding:25px;

        box-shadow:0 10px 30px rgba(0,0,0,.08);

        opacity:0;

        visibility:hidden;

        transform:translateY(-20px);

        transition:.3s;
    }

    nav.active{

        opacity:1;

        visibility:visible;

        transform:translateY(0);
    }

}

@media(max-width:768px){

    .hero-logo{

        width:120px;

        height:120px;
    }

}

@media(max-width:768px){

    .floating-logo{

        left:20px;
        top:90px;
    }

    .floating-logo img{

        width:80px;
        height:80px;
    }

}

@media (max-width: 768px) {

    .about-grid,
    .services-grid,
    .benefits-grid,
    .testimonial-grid,
    .gallery-grid,
    .contact-cards,
    .payments-grid,
    .before-after-grid {
        grid-template-columns: 1fr !important;
        justify-items: center;
        text-align: center;
    }

    .card,
    .service-card,
    .payment-card,
    .testimonial,
    .contact-card {
        width: 100%;
        max-width: 420px;
    }

}

@media (max-width: 768px) {
    section {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 768px) {
    footer {
        padding-bottom: 80px;
        text-align: center;
    }
}

* {
    box-sizing: border-box;
}

@media (max-width: 992px) {
    .about-grid,
    .services-grid,
    .benefits-grid,
    .testimonial-grid,
    .gallery-grid,
    .contact-cards,
    .payments-grid,
    .before-after-grid {

        justify-content: center;
        align-items: center;
        justify-items: center;
        text-align: center;
    }
}

body {
    overflow-x: hidden;
}

footer {
    position: relative;
    z-index: 1;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

@media (max-width: 768px) {

    input,
    select,
    textarea {
        width: 100%;
        padding: 14px;
        font-size: 16px; /* importante pro iOS não quebrar */
    }

}

form {
    width: 100%;
}

input, select, textarea {
    box-sizing: border-box;
}
