/* ==========================================================================
   IrteniNauto — Responsive Stylesheet
   Breakpoints: xl 1280+, lg 992-1279, md 768-991, sm 576-767, xs <576
   ========================================================================== */

/* LG: 992px – 1279px */
@media (max-width: 1279px) {
  .container { padding-inline: 28px; }
  :root { --container-max: 100%; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 48px; }

  .hero-content { padding: 36px 32px; }
  .hero-title { font-size: 28px; }

  .archive-layout { grid-template-columns: 1fr 280px; gap: 36px; }

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

  .contact-layout { gap: 36px; }

  .tech-spotlight { grid-template-columns: 1fr 1fr; gap: 36px; }
}

/* MD: 768px – 991px */
@media (max-width: 991px) {
  .container { padding-inline: 24px; }

  /* Header */
  .site-header { height: 60px; }
  .header-inner { height: 60px; }
  .main-nav { display: none; }
  .btn-hamburger { display: flex; }
  .site-logo { font-size: 22px; }

  .filter-bar { top: 60px; }

  /* Hero */
  .hero-card {
    grid-template-columns: 1fr;
  }
  .hero-img-wrap { aspect-ratio: 16/9; }
  .hero-content { padding: 32px 28px; }
  .hero-title { font-size: 26px; }

  /* Grids */
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }

  /* Editors pick */
  .editors-layout { grid-template-columns: 1fr; }
  .card-horizontal { grid-template-columns: 40fr 60fr; }

  /* Archive */
  .archive-layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }

  /* Approfondimenti */
  .approfondimenti .grid-2 .card-horizontal { grid-template-columns: 1fr; }
  .approfondimenti .card-horizontal .card-img-wrap { min-height: 200px; height: auto; aspect-ratio: 16/9; }

  /* Standings */
  .standings-grid { grid-template-columns: 1fr; }

  /* Tech spotlight */
  .tech-spotlight { grid-template-columns: 1fr; }

  /* Contact */
  .contact-layout { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .footer-bottom-links { justify-content: center; }

  /* Reviews */
  .reviews-hero { aspect-ratio: 16/9; }
  .reviews-hero-overlay { padding: 28px; }
  .reviews-hero-title { font-size: 26px; }

  /* Race hero */
  .race-hero { aspect-ratio: 16/9; }
  .race-hero-overlay { padding: 28px; }
  .race-hero-title { font-size: 24px; }

  /* Newsletter */
  .newsletter-form { flex-direction: column; border-radius: var(--radius-btn); }
  .newsletter-form input {
    border-right: 1px solid var(--c-border);
    border-bottom: none;
    border-radius: var(--radius-btn) var(--radius-btn) 0 0;
  }
  .newsletter-form button {
    border-radius: 0 0 var(--radius-btn) var(--radius-btn);
  }

  /* Legal */
  .legal-content { padding-inline: 24px; }
  .article-body { padding-inline: 24px; }
  .article-tags { padding-inline: 24px; }
  .article-featured-img { padding-inline: 24px; }
}

/* SM: 576px – 767px */
@media (max-width: 767px) {
  :root {
    --text-xl:  27px;
    --text-2xl: 33px;
    --text-3xl: 39px;
  }

  .container { padding-inline: 20px; }
  .section-pad { padding-block: 56px; }
  .section-pad-sm { padding-block: 40px; }

  .grid-3 { grid-template-columns: 1fr; }
  .card-horizontal { grid-template-columns: 1fr; }
  .card-horizontal .card-img-wrap { aspect-ratio: 16/9; min-height: unset; height: auto; }

  .hero-title { font-size: 22px; }
  .hero-content { padding: 24px 20px; }

  .editors-right { gap: 20px; }
  .categories-row { gap: 14px; }

  .filter-pills { gap: 6px; }
  .filter-pill { padding: 6px 14px; font-size: 13px; }

  .page-header { padding-block: 48px; }
  .page-header h1 { font-size: 30px; }

  .article-title { font-size: 26px; }
  .article-deck { font-size: var(--text-base); }
  .article-body p { font-size: 17px; }

  .reviews-hero-title { font-size: 20px; }
  .reviews-hero-overlay { padding: 20px; }

  .race-hero-title { font-size: 18px; }
  .race-hero-overlay { padding: 20px; }

  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom-links { gap: 16px; flex-wrap: wrap; justify-content: center; }

  .newsletter-inner { padding-inline: 0; }

  .legal-content { padding-inline: 20px; }
  .article-body { padding-inline: 20px; }
  .article-tags { padding-inline: 20px; }
  .article-featured-img { padding-inline: 20px; }
}

/* XS: < 576px */
@media (max-width: 575px) {
  :root {
    --gap-grid: 20px;
  }

  .container { padding-inline: 16px; }
  .section-pad { padding-block: 44px; }

  .site-logo { font-size: 20px; }

  .hero-title { font-size: 20px; }
  .hero-content { padding: 20px 16px; }
  .hero-excerpt { font-size: 14px; }

  .card-body { padding: 16px; }
  .card-title { font-size: 17px; }

  .category-card { width: 160px; height: 120px; }
  .category-card svg { width: 28px; height: 28px; }

  .section-heading { font-size: 22px; }

  .author-block { flex-wrap: wrap; justify-content: center; text-align: center; }

  .pagination { gap: 4px; }
  .pagination a, .pagination span { min-width: 36px; height: 36px; font-size: 13px; }

  .standings-table th,
  .standings-table td { padding: 10px 16px; }

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

  .map-placeholder { height: 220px; }

  .newsletter-form { box-shadow: none; }

  /* Full-screen nav overlay */
  .nav-overlay a { font-size: 24px; }

  .search-overlay { padding: 16px; }

  .legal-content { padding-inline: 16px; }
  .article-body { padding-inline: 16px; }
  .article-tags { padding-inline: 16px; }
  .article-featured-img { padding-inline: 16px; }

  .reviews-hero { aspect-ratio: 4/3; }
  .race-hero { aspect-ratio: 4/3; }

  .contact-form-title { font-size: 22px; }
}

/* Print */
@media print {
  .site-header, .site-footer, .newsletter-section,
  .search-overlay, .nav-overlay { display: none !important; }
  .legal-content { max-width: 100%; padding: 0; }
}
