/* ============================================================
   eLightInfo — Responsive Styles (mobile-first breakpoints)
   Breakpoints: 1280, 1024, 768, 640, 480
   ============================================================ */

/* --- 1280px — Wide containers --- */
@media (max-width: 1280px) {
  :root { --container-max: 1080px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
  .footer-grid .footer-col:last-child { display: none; }
}

/* --- 1024px — Tablet landscape --- */
@media (max-width: 1024px) {
  .navbar-nav { gap: 0; }
  .nav-link { padding: 0.5rem 0.5rem; font-size: 0.875rem; }

  .two-col { grid-template-columns: 1fr; gap: var(--space-10); }
  .two-col.reverse { direction: ltr; }

  .how-it-works-grid { grid-template-columns: repeat(2, 1fr); }
  .how-it-works-grid::before { display: none; }

  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: var(--space-8); }
  .footer-grid .footer-brand { grid-column: 1 / -1; }
  .footer-tagline { max-width: 100%; }
  .footer-grid .footer-col:last-child { display: block; }

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

  .cta-banner { padding: var(--space-10) var(--space-8); }
}

/* --- 768px — Tablet portrait / switch to mobile nav --- */
@media (max-width: 768px) {
  /* Nav goes mobile */
  .navbar-nav { display: none; }
  .navbar-cta { display: none; }
  .navbar-toggle { display: flex; }
  .mobile-nav { display: block; }

  /* Hero */
  .hero-slider { height: 100svh; min-height: 560px; }
  .slide-graphic { display: none; }
  .slide-inner { max-width: 100%; }
  .slide-title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  .slide-actions { flex-direction: column; align-items: flex-start; }
  .slider-counter { display: none; }

  /* Sections */
  .section { padding-block: var(--space-12); }
  .section-lg { padding-block: var(--space-16); }

  /* Grids */
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .info-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }

  /* How it works */
  .how-it-works-grid { grid-template-columns: 1fr 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid .footer-brand { grid-column: 1 / -1; }

  /* Footer bottom */
  .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .footer-legal-links { flex-wrap: wrap; gap: var(--space-3); }

  /* Page header */
  .page-header { padding: var(--space-10) 0 var(--space-8); }

  /* Two col */
  .two-col { grid-template-columns: 1fr; gap: var(--space-8); }

  /* CTA banner */
  .cta-banner { padding: var(--space-8) var(--space-6); }
  .cta-banner h2 { font-size: 1.5rem; }

  /* Process steps */
  .process-step { flex-direction: column; }

  /* Partners strip */
  .partners-strip { gap: var(--space-6); }
}

/* --- 640px — Large phones --- */
@media (max-width: 640px) {
  :root { --nav-height: 64px; }

  .container { padding-inline: var(--space-5); }

  .hero-slider { min-height: 500px; }
  .slide-content { padding-inline: var(--space-5); }
  .slide-title { font-size: clamp(1.5rem, 7vw, 2rem); }
  .slide-subtitle { font-size: 0.9375rem; }
  .slide-eyebrow { font-size: 0.7rem; }

  .how-it-works-grid { grid-template-columns: 1fr; }

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

  .newsletter-form { flex-direction: column; }

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

  .industry-strip-grid { grid-template-columns: repeat(3, 1fr); }

  .section-header { margin-bottom: var(--space-8); }

  .btn-lg { padding: 0.875rem 1.75rem; font-size: 1rem; }

  .legal-content { padding: var(--space-8) var(--space-5); }

  .event-card { flex-direction: column; }

  .filter-bar { gap: var(--space-2); }
  .filter-btn { font-size: 0.8125rem; padding: 0.35rem 0.75rem; }
}

/* --- 480px — Small phones --- */
@media (max-width: 480px) {
  .slide-actions { gap: var(--space-3); }
  .slide-actions .btn { width: 100%; justify-content: center; }

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

  .job-card-header { flex-direction: column; }

  .compliance-grid { gap: var(--space-2); }
  .compliance-badge { font-size: 0.75rem; padding: 0.35rem 0.75rem; }

  .stats-bar .stat-card { padding: var(--space-5) var(--space-3); }
  .stats-bar .stat-number { font-size: 1.75rem; }

  .cta-banner { padding: var(--space-6) var(--space-4); }

  .mobile-nav-inner { padding: var(--space-5); }

  .page-header h1 { font-size: 1.625rem; }
}

/* --- Print styles --- */
@media print {
  .navbar, .hero-slider, .cta-banner, .site-footer { display: none; }
  body { padding-top: 0 !important; }
  .legal-content { max-width: 100%; }
}
