/* =====================================================================
   IMAVI — responsive.css
   Breakpoints idênticos aos do Elementor no site atual:
   tablet ≤1024px · mobile ≤767px
   ===================================================================== */

/* ============================ ≤1024px ============================ */
@media (max-width: 1024px) {

    /* container acompanha o Elementor */
    :root { --container: 1024px; }
    .faixa__inner, .solucao__inner, .linhas-intro__inner, .linhas-tabs__inner,
    .especiais__inner, .especiais__titulo-wrap, .catalogo__inner, .personalizacao__inner,
    .mapa__inner, .historia__inner, .cta-tres__inner, .formulario__inner,
    .relacionados__inner, .produto-desc__inner, .produto-detalhes__inner,
    .site-footer__grid, .site-footer__logo-row .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* HEADER: menu vira hambúrguer (breakpoint tablet do Elementor) */
    .site-header__inner { padding: 0 20px; }
    .site-nav { display: none; }
    .site-nav__toggle { display: block; }
    .site-header__logo { width: auto; }
    .site-header__cta { width: auto; margin-left: 12px; }
    .btn-pill { font-size: 14px; }

    /* HERO */
    .hero { padding: 130px 32px 100px; }
    .hero__grid { display: none; } /* elementor-hidden-tablet */
    .hero__botoes { margin-top: 24px; }

    /* HISTÓRIA */
    .historia { padding: 100px 20px; }
    .historia-timeline__slide {
        flex: 0 0 calc((100% - 100px) / 2);
    }

    /* FLIP CARDS: 2 por linha no tablet */
    .flip-card { width: 48%; }

    /* PRODUTO */
    .produto-hero { padding: 130px 32px 100px; }
    .produto-hero__garantia { margin-top: 24px; }
    .produto-hero__botoes { margin-top: 24px; }
    .produto-desc { padding: 90px 25px; }
    .produto-desc__col:first-child { padding-right: 20px; }
    .produto-desc__col:last-child { padding-left: 0; }
    .produto-detalhes { padding: 70px 50px; }
    .produto-detalhes__inner { flex-wrap: wrap; }
    .produto-detalhes__galeria { width: 100%; margin: 0 0 70px; }
    .produto-detalhes__lista { width: 50%; padding-right: 20px; }

    .site-footer__logo-row img { width: 18%; }
}

/* ============================ ≤767px ============================ */
@media (max-width: 767px) {

    :root { --container: 767px; }

    /* HEADER */
    .site-header__logo img { max-width: 85px; }
    .site-header__cta { display: none; } /* elementor-hidden-mobile */
    .site-header__logo { width: 50%; text-align: left; padding-left: 4px; }
    .site-header__inner { min-height: 64px; }

    /* HERO */
    .hero { min-height: 0; padding: 80px 24px; }
    .hero__titulo { font-size: 42px; line-height: 46px; }
    .hero__subtitulo { max-width: 100%; font-size: 18px; line-height: 24px; }
    .hero__botoes { margin-top: 12px; gap: 15px; flex-wrap: wrap; max-width: 80%; }

    /* FAIXA */
    .faixa__inner { flex-direction: column; gap: 10px 0; align-items: center; text-align: center; }

    /* SOLUÇÃO */
    .solucao { padding: 50px 10px; }
    .solucao__inner { flex-wrap: wrap; }
    .solucao__video-box { width: 100%; min-height: 200px; padding: 40px 10px 20px; }
    .solucao__conteudo { width: 100%; min-height: 0; padding: 0 10px 20px; }
    .solucao__titulo { font-size: 40px; }

    /* LINHAS */
    .linhas-intro__inner { flex-wrap: wrap; gap: 20px 0; }
    .linhas-intro__col { width: 100%; }
    .linhas-intro__titulo { font-size: 40px; }
    /* tabs viram acordeão no mobile (comportamento do nested-tabs do site atual) */
    .tabs__heading { display: none; }
    .tabs__title--mobile { display: block; width: 100%; margin-bottom: 10px; text-align: left; }
    .tabs__content { margin-top: 0; }
    .tabs__panel { margin-bottom: 10px; }
    .tabs__panel.is-active { flex-direction: column; }
    .tabs__panel-texto { width: 100%; padding: 10px; }
    .tabs__panel-titulo, .tabs__panel-desc { max-width: 100%; }
    .tabs__panel-botoes { grid-template-columns: 1fr; gap: 10px; width: 100%; }
    .tabs__panel-imagem { width: 100%; }

    /* ESPECIAIS: 1 por linha, cards mais altos */
    .flip-card { width: 100%; height: 375px; }

    /* CATÁLOGO */
    .catalogo { padding: 40px 0; }
    .catalogo__inner { flex-wrap: wrap; }
    .catalogo__col-imagem { width: 100%; text-align: center; }
    .catalogo__col-texto { width: 100%; }
    .catalogo__titulo { text-align: center; align-self: center; }
    .catalogo__texto { max-width: 100%; text-align: center; align-self: center; }
    .catalogo__botoes {
        grid-template-columns: 1fr;
        gap: 10px;
        justify-items: center;
        align-self: center;
        width: 100%;
    }
    .catalogo__botoes .btn--outline-preto { margin-right: 0; }

    /* PERSONALIZAÇÃO */
    .personalizacao__inner { flex-wrap: wrap; gap: 20px 0; }
    .personalizacao__col--texto { width: 100%; }
    .personalizacao__titulo { font-size: 40px; }

    /* MAPA */
    .mapa {
        min-height: 960px;
        padding: 60px 0 100px;
    }
    .mapa__inner { flex-direction: column; align-items: center; }
    .mapa__col-texto { width: 100%; }
    .mapa__titulo { font-size: 54px; }
    .mapa__subtitulo { font-size: 32px; line-height: 36px; }
    .mapa__col-mapa { width: 100%; }

    /* HISTÓRIA: 1 slide por vez */
    .historia-timeline__slide { flex: 0 0 100%; margin-right: 100px; }

    /* CTA 3 colunas: empilha com ordem intercalada (texto, botão, ...) */
    .cta-tres { padding: 30px 0 40px; }
    .cta-tres__grid {
        grid-template-columns: 1fr;
        gap: 16px 0;
    }
    .cta-tres__texto { font-size: 32px; }
    .cta-tres__texto--1 { order: 1; }
    .cta-tres__botao--1 { order: 2; margin-top: 0; }
    .cta-tres__texto--2 { order: 3; }
    .cta-tres__botao--2 { order: 4; margin-top: 0; }
    .cta-tres__texto--3 { order: 5; }
    .cta-tres__botao--3 { order: 6; margin-top: 0; }

    /* FORMULÁRIO */
    .form-orcamento__linha { flex-direction: column; gap: 14px; }

    /* FOOTER */
    .site-footer__grid { flex-wrap: wrap; }
    .site-footer__col { width: 100%; padding: 0 10px 20px; }
    .site-footer__logo-row img { width: 30%; }

    /* COOKIES */
    .cookie-banner { left: 12px; right: 12px; bottom: 12px; max-width: none; }

    /* PRODUTO */
    .produto-hero { min-height: 0; padding: 130px 24px 80px; }
    .produto-hero__titulo { font-size: 42px; max-width: 100%; }
    .produto-hero__tagline { font-size: 20px; max-width: 100%; }
    .produto-hero__botoes { margin-top: 12px; gap: 15px; flex-wrap: wrap; }
    .produto-hero__garantia { margin-top: 12px; }
    .produto-desc { padding: 75px 20px; }
    .produto-desc__inner { flex-wrap: wrap; }
    .produto-desc__col { width: 100%; }
    .produto-desc__col:first-child { padding-right: 0; }
    .produto-desc__col:last-child { margin-top: 20px; }
    .produto-detalhes { padding: 55px 30px; }
    .produto-detalhes__galeria { margin-bottom: 0; }
    .produto-detalhes__lista { width: 100%; margin-top: 50px; padding: 0; }
    .icon-list li { padding-bottom: 12px; margin-top: 12px; }
    .slider__track { height: 320px; }
    .relacionados__grid { flex-wrap: wrap; }
    .relacionados__card { width: 100%; max-width: 340px; margin: 0 auto; }
}

/* ============================ ≥768px (desktop only helpers) ============================ */
@media (min-width: 768px) {
    .hero__inner { max-width: 1200px; }
}
