/* ================================================================
   MOBILE.CSS — exceções de responsividade
   Toda a responsividade do site é concentrada aqui, para não
   duplicar media queries pelos demais arquivos de CSS.
   ================================================================ */

@media (max-width: 860px) {
  .nav-toggle {
    display: block;
    order: 2;
  }

  .nav-lista {
    order: 3;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--cor-branco);
    border-bottom: 1px solid var(--cor-fundo-secao);
    box-shadow: var(--sombra);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .nav-lista[data-aberto="true"] {
    max-height: 480px;
  }

  .nav-lista li {
    padding: var(--espaco-sm) var(--espaco-md);
    border-bottom: 1px solid var(--cor-fundo-secao);
  }

  .nav-lista .nav-cta {
    display: inline-flex;
    margin-top: var(--espaco-xs);
  }

  .nav {
    flex-wrap: wrap;
    position: relative;
  }

  .hero__grid,
  .mini-sobre,
  .sobre-historia,
  .contato-grid {
    grid-template-columns: 1fr;
  }

  .hero__imagem,
  .mini-sobre__imagem,
  .sobre-historia__imagem {
    max-width: 22rem;
    margin-inline: auto;
  }
}

@media (max-width: 480px) {
  .secao {
    padding-block: var(--espaco-xl);
  }

  .cta-faixa {
    padding: var(--espaco-lg) var(--espaco-sm);
  }

  .credibilidade-lista {
    gap: var(--espaco-sm) var(--espaco-md);
  }

  .hero__acoes,
  .cta-faixa__acoes {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__acoes .botao,
  .cta-faixa__acoes .botao {
    width: 100%;
  }
}
