/* =========================================================
   Responsive Breakpoints
   Tested: 320, 375, 390, 414, 430, 768, 1024, 1280, 1440
   ========================================================= */

/* ----- Large desktop tighten (1280 and below) ----- */
@media (max-width: 1280px) {
  :root { --section-space: 84px; }
  .container { padding: 0 20px; }
}

/* ----- Tablet / small desktop (1024 and below) ----- */
@media (max-width: 1024px) {
  h1 { font-size: 42px; }
  h2 { font-size: 32px; }
  .trust-grid, .feature-grid, .category-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-grid { grid-template-columns: repeat(3, 1fr); }
  .chart-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  .admin-shell { grid-template-columns: 220px 1fr; }
  .promo-split { grid-template-columns: 1fr; gap: 32px; }
  .promo-split img { height: 300px; }
  .promo-split.reverse { direction: ltr; }
  .promo-split.reverse .promo-media { order: -1; }
  .blog-featured { grid-template-columns: 1fr; }
  .related-grid, .testimonial-grid, .info-grid { grid-template-columns: repeat(2, 1fr); }
  .insurance-select-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ----- Tablet portrait (768 and below) ----- */
@media (max-width: 768px) {
  :root { --section-space: 64px; }
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  h3 { font-size: 22px; }

  .main-nav { display: none; }
  .header-cta { display: none; }
  .hamburger { display: flex; flex-shrink: 0; }
  .header-inner { gap: 10px; padding: 12px 16px; flex-wrap: nowrap; justify-content: space-between; }
  .logo { font-size: 17px; }
  .logo .logo-mark { width: 32px; height: 32px; font-size: 15px; }
  html, body { overflow-x: hidden; }

  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual img { height: 300px; }
  .hero-visual-badge { left: 0; bottom: -18px; padding: 12px 16px; }
  .split-hero { padding: 56px 0; }
  .split-hero img { height: 280px; }

  .trust-grid, .feature-grid, .category-grid,
  .testimonial-grid, .info-grid, .related-grid,
  .blog-grid, .stat-grid, .thankyou-next { grid-template-columns: 1fr; }

  .form-row { grid-template-columns: 1fr; }
  .insurance-select-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-brand { grid-column: 1 / -1; }

  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { display: none; }
  .admin-main { padding: 20px 16px 90px; }
  .admin-filters { flex-direction: column; align-items: stretch; }
  .admin-filters input[type=search] { width: 100%; }
  table.leads-table { display: block; overflow-x: auto; white-space: nowrap; }

  .cta-section { padding: 44px 24px; }
  .promo-split, .blog-featured { padding: 20px; }

  .mobile-sticky-cta { display: block; }
  body { padding-bottom: 76px; }
  .admin-body { padding-bottom: 0; }
}

/* ----- Large phones (430 and below) ----- */
@media (max-width: 430px) {
  .container { padding: 0 16px; }
  h1 { font-size: 32px; }
  h2 { font-size: 26px; }
  .btn { width: 100%; }
  .hero-actions, .cta-actions { flex-direction: column; }
  .hero-actions .btn, .cta-actions .btn { width: 100%; }
  .quote-card { padding: 24px 20px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .stepper { gap: 4px; }
  .stepper-label { display: none; }
  .stepper-line { width: 20px; }
  .step-nav { flex-direction: column-reverse; }
  .step-nav .btn { width: 100%; }
}

/* ----- iPhone SE / small (375 and below) ----- */
@media (max-width: 375px) {
  h1 { font-size: 29px; }
  .page-hero { padding: 56px 0 48px; }
  .insurance-select-grid { grid-template-columns: 1fr 1fr; }
}

/* ----- Very small (320 and below) ----- */
@media (max-width: 320px) {
  h1 { font-size: 26px; }
  .logo span { display: none; }
}

/* Ensure header CTA collapses gracefully on mid widths */
@media (max-width: 900px) {
  .header-cta .btn-lg { padding: 12px 18px; font-size: 14.5px; }
}
