/* ================================================================
   LOPES & FREITAS — ADVOCACIA
   responsive.css — Media queries e adaptação por dispositivo
   ================================================================ */

/* ---------------- Notebooks / telas médias ---------------- */
@media (max-width: 1100px) {
  .nav {
    gap: 1.6rem;
  }

  .nav__lista {
    gap: 1.4rem;
  }

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

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

/* ---------------- Tablets ---------------- */
@media (max-width: 920px) {
  :root {
    --header-altura: 74px;
  }

  /* Menu mobile */
  .hamburger {
    display: flex;
  }

  .nav {
    position: fixed;
    inset: 0;
    flex-direction: column;
    justify-content: center;
    gap: 2.6rem;
    background: var(--branco);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity var(--transicao), transform var(--transicao),
                visibility var(--transicao);
    z-index: 110;
  }

  .nav.is-aberto {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav__lista {
    flex-direction: column;
    gap: 1.6rem;
    text-align: center;
  }

  .nav__link {
    font-family: var(--fonte-serifada);
    font-size: 1.45rem;
    color: var(--grafite);
  }

  .nav__cta {
    padding: 0.95rem 2.2rem;
    font-size: 0.82rem;
  }

  body.menu-aberto {
    overflow: hidden;
  }

  /* Layout */
  .hero__inner {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .hero__visual {
    max-width: 560px;
    margin-inline: auto;
  }

  .sobre__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .sobre__imagem-bloco {
    max-width: 520px;
  }

  .cards {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin-inline: auto;
  }

  .contato__inner {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
}

/* ---------------- Smartphones ---------------- */
@media (max-width: 620px) {
  .container {
    width: min(100% - 2.25rem, var(--largura-max));
  }

  .hero {
    padding-top: calc(var(--header-altura) + 2.5rem);
  }

  .hero__titulo {
    font-size: clamp(1.95rem, 8.5vw, 2.5rem);
  }

  .hero__botoes {
    flex-direction: column;
  }

  .hero__botoes .btn {
    width: 100%;
    text-align: center;
  }

  .hero__linha {
    left: -14px;
    height: 100px;
    top: -18px;
  }

  .hero__detalhe {
    width: 64px;
    height: 64px;
    right: -10px;
    bottom: -10px;
  }

  .secao__cabecalho {
    margin-bottom: 2.6rem;
  }

  .card {
    padding: 2rem 1.6rem 1.8rem;
  }

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

  .form__linha {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .form__alternativas .btn {
    width: 100%;
    text-align: center;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .footer__inferior__inner {
    flex-direction: column;
    text-align: center;
  }

  .topo {
    right: 18px;
    bottom: 18px;
    width: 44px;
    height: 44px;
  }
}

/* ---------------- Telas muito amplas ---------------- */
@media (min-width: 1600px) {
  :root {
    --largura-max: 1320px;
  }
}
