/* =============================================================
   HEARTLAND RANCH - RESPONSIVE
   ============================================================= */

@media (max-width: 1100px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: span 3; }
  .hero-stats { display: none; }
}

@media (max-width: 900px) {
  section { padding: var(--sp-9) 0; }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .split { grid-template-columns: 1fr; gap: var(--sp-6); }
  .split-image { aspect-ratio: 16 / 11; }
  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .nav-links { display: none; }
  .nav-toggle { display: block; }
  .nav-cta .btn { display: none; }
  /* backdrop-filter renderebbe la navbar il containing block del pannello
     fixed: va rimosso quando il menu è aperto, con sfondo opaco */
  .navbar.open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--clr-white);
  }
  .navbar.open .nav-links {
    display: flex;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--clr-cream);
    flex-direction: column;
    justify-content: flex-start;
    padding: var(--sp-7) var(--sp-5);
    gap: var(--sp-5);
    z-index: 99;
  }
  .navbar.open .nav-links a {
    font-size: var(--fs-xl);
    font-family: var(--ff-display);
  }
  .gallery {
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 160px;
  }
  .gallery-item.large { grid-column: span 3; grid-row: span 2; }
  .gallery-item.wide { grid-column: span 3; }
  .gallery-item.tall { grid-row: span 2; }
  .event-card { grid-template-columns: 100px 1fr; gap: var(--sp-4); }
  .event-date .day { font-size: var(--fs-2xl); }
}

@media (max-width: 640px) {
  .container, .container-narrow { padding: 0 var(--sp-4); }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
  .stat-number { font-size: var(--fs-3xl); }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:last-child { grid-column: span 1; }
  .hero { min-height: 90vh; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }
  .hero-meta { display: none; }
  .marquee-item { font-size: var(--fs-lg); }
  .gallery { grid-template-columns: repeat(2, 1fr); }
  .gallery-item.large,
  .gallery-item.wide { grid-column: span 2; }
  .gallery-item.tall { grid-row: span 1; }
  section.tight { padding: var(--sp-7) 0; }
  .features { grid-template-columns: 1fr; }
  .page-header { padding-top: calc(var(--sp-9) + 40px); padding-bottom: var(--sp-7); }
}

@media (max-width: 480px) {
  :root {
    --sp-9: 4rem;
    --sp-10: 5rem;
  }
  .event-card { grid-template-columns: 1fr; }
  .event-date { padding: var(--sp-3); flex-direction: row; gap: var(--sp-3); }
  .event-date .day { font-size: var(--fs-xl); }
  .event-date .month, .event-date .year { margin-top: 0; }
}
