/* =========================================================
   RESPONSIVIDADE — mobile first breakpoints
   320 / 375 / 390 / 430 / 768 / 1024 / 1280 / 1440 / 1920
   ========================================================= */

/* Telas grandes (>1440) — leve respiro extra */
@media (min-width: 1441px) {
  .container { max-width: 1320px; }
}

/* Notebooks/desktops menores */
@media (max-width: 1279px) {
  .grid-5 { grid-template-columns: repeat(3, 1fr); }
}

/* Tablet paisagem / desktop pequeno */
@media (max-width: 1023px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-visual { order: -1; max-width: 460px; margin: 0 auto; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .calc-box { grid-template-columns: 1fr; }
}

/* Menu: colapsa para hambúrguer abaixo de 960px */
@media (max-width: 960px) {
  .main-nav { display: none; }
  .header-actions .btn-ghost { display: none; }
  .nav-toggle { display: flex; }
}
@media (min-width: 961px) {
  .mobile-nav { display: none !important; }
}

/* Tablet retrato */
@media (max-width: 768px) {
  .section { padding: 64px 0; }
  h1 { font-size: 2.1rem; }
  h2 { font-size: 1.6rem; }
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .cta-banner { padding: 36px 24px; flex-direction: column; text-align: center; justify-content: center; }
  .cta-banner .cta-actions { justify-content: center; }
  .table-wrap { display: none; }
  .compare-cards { display: flex; }
  .form-grid { grid-template-columns: 1fr; }
}

/* Celulares grandes (430px e abaixo) */
@media (max-width: 480px) {
  .container { padding: 0 18px; }
  .hero { padding: 44px 0 56px; }
  .hero-ctas { flex-direction: column; align-items: stretch; }
  .hero-ctas .btn { width: 100%; }
  .hero-indicators { gap: 10px 18px; }
  .grid-4 { grid-template-columns: 1fr; }
  .grid-5 { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .cta-banner h2 { font-size: 1.5rem; }
  .whatsapp-float { right: 14px; bottom: 14px; width: 54px; height: 54px; font-size: 1.4rem; }
  .cookie-banner { left: 12px; right: 12px; bottom: 12px; padding: 18px; }
  .calc-grid-results { grid-template-columns: 1fr; }
  .site-header .container { padding: 0 16px; }
  .brand span { display: none; }
}

/* Celulares muito pequenos (320-375px) */
@media (max-width: 375px) {
  h1 { font-size: 1.85rem; }
  .btn { padding: 13px 20px; font-size: .88rem; }
  .section { padding: 48px 0; }
  .card { padding: 22px; }
}

/* Foco em teclado / acessibilidade em telas pequenas */
@media (max-width: 600px) {
  .nav-dropdown { position: static; box-shadow: none; }
}

/* Impressão (páginas institucionais, ex: termos) */
@media print {
  .site-header, .whatsapp-float, .cookie-banner, .site-footer, .nav-toggle { display: none !important; }
  body { background: #fff; color: #000; }
}
