/* ═══════════════════════════════════════════════════════
   AM CONSTRUÇÕES — RESPONSIVE.CSS
   Breakpoints: 1024px · 768px · 480px · 380px
   ═══════════════════════════════════════════════════════ */

/* ── TABLET 1024px ─────────────────────────────────────── */
@media (max-width:1024px) {
  .nav-links { position: fixed; top: var(--header-h); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--azul-noite); max-height: 0; overflow: hidden; box-shadow: var(--sombra-md); transition: max-height .35s var(--trans); margin-left: 0; z-index: 999; }
  .nav-links.open { max-height: 520px; overflow-y: auto; }
  .nav-link { padding: 16px 24px; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; color: rgba(255,255,255,.85); }
  .nav-burger { display: flex; }

  .diferenciais-grid { grid-template-columns: repeat(2,1fr); }
  .sobre-inner { grid-template-columns: 1fr; gap: 36px; }
  .sobre-painel { min-height: 280px; }
  .avaliacoes-track-wrap::before, .avaliacoes-track-wrap::after { width: 40px; }
  .faq-inner { grid-template-columns: 1fr; gap: 36px; }
  .faq-sidebar { position: static; text-align: center; }
  .faq-sidebar .section-tag { display: inline-flex; }
  .faq-sidebar .btn { margin: 0 auto; }
  .localizacao-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1/-1; }
  .cta-inner { grid-template-columns: 1fr; text-align: center; }
  .cta-sub { margin: 0 auto; }
  .cta-badges { justify-content: center; }
  .cta-actions { flex-direction: row; width: auto; align-self: center; flex-wrap: wrap; justify-content: center; }
}

/* ── MOBILE 768px ──────────────────────────────────────── */
@media (max-width:768px) {
  :root { --nav-h: 64px; --top-bar-h: 34px; --header-h: 98px; }
  .container { padding: 0 16px; }

  /* Navbar */
  .nav-main { padding: 0 16px; gap: 12px; }
  .nav-logo img { height: 36px; }
  .nav-actions { gap: 8px; }
  .nav-actions .btn { padding: 9px 14px; font-size: 12px; gap: 6px; }
  .nav-actions .btn-label-desktop { display: none; }
  .nav-actions .btn-label-mobile { display: inline; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-item:nth-child(2)::after { display:none; }
  .stat-item:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }

  /* Diferenciais */
  #diferenciais { padding: 52px 0; }
  .diferenciais-grid { grid-template-columns: 1fr; }

  /* Sobre */
  #sobre { padding: 52px 0; }
  .sobre-pilares { grid-template-columns: 1fr; }
  .sobre-painel { min-height: 340px; }
  .sobre-painel-content { padding: 28px 24px; }

  /* Avaliações */
  #avaliacoes { padding: 52px 0; }

  /* FAQ */
  #faq { padding: 52px 0; }
  .faq-sidebar-title { font-size: 28px; }

  /* Localização */
  #localizacao { padding: 52px 0; }
  .loja-actions { flex-direction: column; }
  .loja-actions .btn-mapa, .loja-actions .btn { width: 100%; justify-content: center; }

  /* CTA */
  #cta-final { padding: 60px 0; }
  .cta-actions { flex-direction: column; width: 100%; }
  .cta-actions .btn { width: 100%; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 30px; text-align: center; }
  .footer-brand { display: flex; flex-direction: column; align-items: center; grid-column: auto; }
  .footer-brand p { max-width: 320px; }
  .footer-socials { justify-content: center; }
  .footer-links { align-items: center; }
  .footer-contact-item { justify-content: center; text-align: left; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 14px; }

  .wpp-float { width: 52px; height: 52px; bottom: 18px; right: 18px; }
}

/* ── SMALL MOBILE 480px ────────────────────────────────── */
@media (max-width:480px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .avaliacao-card { padding: 22px; }
  .cta-badges { flex-direction: column; align-items: flex-start; }
}

/* ── SMALL 380px ───────────────────────────────────────── */
@media (max-width:380px) {
  .section-title { font-size: 27px; }
  .nav-logo img { height: 32px; }
  .sobre-painel-quote { font-size: 26px; }
  .nav-main { gap: 8px; }
  .nav-actions { gap: 6px; }
  .nav-actions .btn { padding: 8px 10px; font-size: 11px; gap: 5px; }
  .nav-actions .btn svg { width: 14px; height: 14px; }
}
