/* ==========================================================
   TABLET E MENU RESPONSIVO
========================================================== */

@media (max-width:1024px){

    .testimonial-slide{

        flex-basis:
            calc((100% - 20px) / 2);

    }

    .partners__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .header #avaliacoes{
        display: none;
    }

    .menu-button{
        position:relative;
        
        display:block;
        z-index:1002;
        flex-shrink:0;
    }

    .nav{
        position:fixed;

        top:0;
        right:0;
        bottom:0;
        left:auto;

        border-radius:20px;

        width:min(360px, 88vw);
        max-width:100%;

        height:100dvh;
        max-height:100dvh;

        padding:
            calc(105px + env(safe-area-inset-top))
            28px
            calc(32px + env(safe-area-inset-bottom));

        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:8px;

        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;

        background:linear-gradient(135deg,var(--blue),var(--pink));

        -webkit-backdrop-filter:blur(18px);
        backdrop-filter:blur(18px);

        border-left:1px solid rgba(105,191,225,.18);

        box-shadow:-20px 0 60px rgba(31,72,94,.18);

        transform:translate3d(100%,0,0);

        visibility:hidden;
        pointer-events:none;

        transition:
            transform .4s var(--ease),
            visibility .4s;

        z-index:1001;
    }

    .nav.open{
        transform:translate3d(0,0,0);
        visibility:visible;
        pointer-events:auto;
    }

    .nav a{
        width:100%;
        flex-shrink:0;
    }

    .nav > a:not(.button){
        padding:14px 16px;

        color:var(--ink);

        border-radius:14px;

        font-size:1rem;
    }

    .nav > a:not(.button):hover,
    .nav > a:not(.button).active{
        background:var(--blue-soft);
        color:var(--blue-deep);
    }

    .nav .button{
        width:100%;
        margin-top:8px;
    }

    .hero__content{
        grid-template-columns:1fr;
    }

    .hero__seal,
    .hero__visual{
        display:none;
    }

    .split,
    .split--reverse,
    .faq__grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .feature-cards,
    .service-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer__grid{
        grid-template-columns:repeat(2,1fr);
    }

    .cta__inner{
        display:block;
    }

    .cta .button{
        margin-top:24px;
    }

}


/* ==========================================================
   CELULAR
========================================================== */

@media (max-width:680px){

    .header #scavaliacoes{
        display: block;
    }

    .container{
        width:min(calc(100% - 28px),var(--container));
        margin-inline:auto;
    }

    .section{
        padding:30px 0;
    }

    .header{
        top:max(8px, env(safe-area-inset-top));
        padding-inline:14px;
    }

    .header__inner{
        width:100%;
        height:66px;

        padding-inline:14px 10px;

        gap:10px;

        border-radius:20px;
    }

    .header.scrolled .header__inner{
        height:62px;
        background:linear-gradient(135deg,var(--blue),var(--pink));    
    }

    .brand{
        width:122px;
        height:50px;
        margin-left:-40px; /* Controle de posição do logo no header */
    }
    .brand-title{
        display:block;

        color:#fff;
        font-family:var(--font-title);
        font-size:1rem;
        font-weight:700;
        white-space:nowrap;
    }

    .nav{
        
        width:min(340px, 88vw);

        padding:
            calc(92px + env(safe-area-inset-top))
            18px
            calc(24px + env(safe-area-inset-bottom));
    }

    .hero{
        min-height:790px;
    }

    .hero__content{
        padding-top:70px;
    }

    .hero h1{
        font-size:clamp(3rem,15vw,3.75rem);
    }

    .hero p{
        font-size:.9rem;
    }

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

    .hero__trust{
        display:grid;
        gap:8px;
    }

    .scroll-cue{
        display:none;
    }

    .cloud{
        font-size:4rem;
    }

    .section-heading h2,
    .section-copy h2{
        font-size:clamp(2.2rem,12vw,2.75rem);
    }

    .split{
        gap:48px;
    }

    .organic-photo img{
        height:400px;
    }
    .brand-collage__main, .brand-collage__floating img{
        width:100%;
        height:100%;

        object-fit:contain;
        object-position:center;
    }

    .organic-photo__badge{
        right:0;
        bottom:18px;
    }

    .feature-list,
    .feature-cards,
    .service-grid,
    .footer__grid{
        grid-template-columns:1fr;
    }

    .gallery{
        grid-template-columns:1fr;
        grid-auto-rows:250px;
    }

    .gallery__item--wide,
    .gallery__item--tall{
        grid-row:span 1;
    }

    .brand-collage{
        min-height:450px;
    }

    .cta__inner{
        gap:20px;
    }

    .whatsapp{
        right:16px;
        bottom:16px;
    }

    .back-to-top{
        right:82px;
        bottom:22px;
    }

    .lightbox{

        padding:
            60px
            10px
            80px;

    }

    .lightbox__content{

        position:relative;

        width:100%;
        height:100%;

        max-width:100vw;
        max-height:100vh;

        display:flex;
        justify-content:center;
        align-items:center;

    }

    .lightbox__image{
        max-width:95vw;
        max-height:82vh;

        width:auto;
        height:auto;

        object-fit:contain;

        border-radius:16px;
    }

    .lightbox__close{

        position:fixed;

        top:16px;
        right:16px;

        width:44px;
        height:44px;

        z-index:10001;

    }

    .lightbox__prev,
    .lightbox__next{

        display: none;

    }

    .lightbox__counter{

        position:fixed;

        left:50%;

        bottom:20px;

        transform:translateX(-50%);

        z-index:10001;

    }

    .brand-carousel{
    width:100%;
    max-width:100%;
    }

    .brand-carousel__viewport{
        height:340px;

        border-radius:22px;

    }
    .brand-carousel__slide img{

        filter:
            drop-shadow(0 16px 35px rgba(0,0,0,.12));

    }

    .brand-carousel__slide{
        padding:0px;
    }

    .brand-carousel__button{
        width:40px;
        height:40px;

        font-size:30px;
    }

    .brand-carousel__button--prev{
        left:8px;
    }

    .brand-carousel__button--next{
        right:8px;
    }

    .partners__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .partners-carousel__track .partner-card{
        width: 100%;
        flex:0 0 100%;
    }

    .partners-carousel__dots{
        display:flex;
        justify-content:center;
        gap:10px;
        margin-top:30px;

    }

    .partners-carousel__dots button{

        width:12px;
        height:12px;

        border:none;
        border-radius:50%;

        cursor:pointer;

        background:#d5d5d5;

    }

    .partners-carousel__dots button.active{

        background:#8ED7F3;

    }

    .partner-card{
        padding:18px 10px;
        border-radius:22px;
    }

    .partner-card__logo{
        width:82px;
        height:82px;

        padding:4px;

        border-radius:19px;
    }

    .partner-card__content{
        margin-top:14px;
    }

    .partner-card__content h3{
        font-size:.95rem;
    }

    .partner-card__content span{
        font-size:.64rem;
    }


    /* ==========================================================
    AVALIAÇÕES — CELULAR
    ========================================================== */

    .testimonials #lkAvaliações{
        color:#8ed7f3;
        text-decoration: underline;

    }
    .testimonials{

        padding-block:70px;

    }

    .testimonials .section-heading{

        margin-bottom:34px;

    }

    .testimonials-carousel{

        width:100%;

    }

    .testimonials-carousel__viewport{

        width:100%;

        overflow-x:auto;

        scrollbar-width:none;      /* Firefox */

        -ms-overflow-style:none;   /* IE */

    }
    .testimonials-carousel__viewport::-webkit-scrollbar{

        display:none;/* Chrome, Edge e Safari */

    }

    .testimonials-carousel__track{

        gap:0;

    }

    .testimonial-slide{

        flex:0 0 100%;

        width:100%;

        padding:0;

        align-items:flex-start;

    }

    .testimonial-slide img{

        width:100%;
        height:auto;

        max-width:100%;
        max-height:none;

        aspect-ratio:auto;

        object-fit:contain;

        border-radius:18px;

    }
    .testimonials-carousel__dots{

        display:flex;

        justify-content:center;

        align-items:center;

        gap:8px;

        width:100%;

        margin-top:20px;

        flex-wrap:wrap;

    }
    .testimonials-carousel__dot{

        width:8px;

        height:8px;

        border:none;

        border-radius:999px;

        background:#d7dee5;

        cursor:pointer;

        transition:.35s;

    }

    .testimonials-carousel__dot.active{

        width:24px;

        background:linear-gradient(
            90deg,
            var(--blue),
            var(--pink)
        );

    }

    .testimonial-slide:hover img{

        transform:none;

    }

    .testimonials-carousel__button{

        display:none;

    }

    .testimonials-carousel__dots{

        margin-top:20px;

    }




    .footer{

    padding:0px 0 35px;
        background-color: #fff;


    }

    .footer__grid{

        display:flex;
        flex-direction:column;
        gap:22px;
    }

    .footer__brand{

        text-align:center;

    }

    .footer__brand img{

        width:95px;
        margin:auto auto 20px;

    }

    .footer__brand h3{

        margin-bottom:12px;

    }

    .footer__brand p{

        max-width:320px;
        margin:auto;

    }

    .footer__card{

        background:#fff;

        border-radius:24px;

        padding:24px;

        box-shadow:
            0 18px 40px rgba(0,0,0,.06);

        text-align:center;

        /*background:linear-gradient(135deg,var(--blue),var(--pink));*/


    }

    .footer__card h3{

        margin-bottom:18px;

    }

    .footer__card a,
    .footer__card span,
    .footer__card strong{

        display:block;
        margin:8px 0;

    }

    .footer__nav{

        display:grid;

        grid-template-columns:1fr 1fr;

        gap:12px;

    }

    .footer__bottom{

        margin-top:35px;

        text-align:center;

        line-height:1.8;

    }
}