/* ===========================
   RESPONSIVE STYLES
   Mobile-first approach
=========================== */

/* Large Desktop */
@media (max-width: 1280px) {
  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 36px;
  }
}

/* Desktop / Tablet Landscape */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { display: none; }
  .hero-content { padding: 64px 0; }
  
  .grid-2-1 { grid-template-columns: 1fr; }
  .grid-1-2 { grid-template-columns: 1fr; }
  
  .featured-strip {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  
  .stats-strip { grid-template-columns: repeat(2, 1fr); }
  
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  
  .newsletter-form { flex-direction: column; }
}

/* Tablet Portrait */
@media (max-width: 768px) {
  .section { padding: 56px 0; }
  .section-lg { padding: 64px 0; }
  
  /* Navigation */
  .main-nav { display: none; }
  .header-actions .btn { display: none; }
  .mobile-menu-toggle { display: flex; }
  
  /* Grid adjustments */
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  
  /* Hero */
  .hero { min-height: 480px; }
  .hero-content { padding: 48px 0; }
  .hero-meta { flex-wrap: wrap; gap: 16px; }
  
  /* Stats */
  .stats-strip { grid-template-columns: 1fr 1fr; }
  
  /* Page hero */
  .page-hero { padding: 48px 0; }
  
  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom-links { flex-wrap: wrap; justify-content: center; }
  
  /* Featured strip */
  .featured-strip { padding: 28px; }
  
  /* Newsletter */
  .newsletter-block { padding: 40px 24px; }
  
  /* Section header */
  .section-header-row { flex-direction: column; align-items: flex-start; }
  
  /* Audio player */
  .audio-player { flex-wrap: wrap; }
  .audio-waveform { order: 3; width: 100%; }
  
  /* Timeline */
  .timeline-item { grid-template-columns: 1fr; }
  .timeline-item::before { display: none; }
  .timeline-date { text-align: left; }
  .timeline-dot { display: none; }
  
  /* Table scroll */
  .table-wrap { overflow-x: auto; }
  .data-table { min-width: 560px; }
}

/* Mobile */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .container-narrow { padding: 0 16px; }
  
  .grid-4 { grid-template-columns: 1fr; }
  
  .hero h1 { font-size: 1.875rem; }
  
  .stats-strip { grid-template-columns: 1fr 1fr; }
  .stat-number { font-size: 1.8rem; }
  
  .btn-lg { padding: 12px 22px; font-size: 0.9375rem; }
  
  .card-body { padding: 16px; }
  
  .podcast-card { flex-direction: column; }
  .podcast-thumb { width: 100%; height: 140px; border-radius: var(--radius-lg); }
  
  .sidebar-widget { padding: 16px; }
  
  .accordion-header { padding: 16px; }
  .accordion-body { padding: 0 16px 16px; }
  
  .featured-strip { padding: 20px; }
  
  .newsletter-block { padding: 28px 16px; }
  
  .cookie-banner-inner { flex-direction: column; }
  
  .filter-bar { flex-direction: column; align-items: flex-start; }
  
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.5rem; }
}

/* Extra small */
@media (max-width: 360px) {
  .hero h1 { font-size: 1.625rem; }
  .stats-strip { grid-template-columns: 1fr; }
}

/* Print */
@media print {
  .site-header,
  .site-footer,
  .cookie-banner,
  .scroll-top,
  .mobile-nav-overlay {
    display: none !important;
  }
  
  body { font-size: 12pt; color: #000; }
  a { color: #000; text-decoration: underline; }
  .page-hero { background: #f0f0f0 !important; }
  .page-hero h1, .page-hero .lead { color: #000 !important; }
}
