:root {
  --container: min(100% - 2rem, 1160px);
}

@media (max-width: 960px) {
  .intro-grid,
  .location-grid,
  .venue-grid,
  .faq-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .stats-grid,
  .zones-grid,
  .products-grid,
  .traffic-grid,
  .schedule-grid,
  .theme-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nav-toggle {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    background: transparent;
    border: none;
  }

  .nav-toggle span {
    width: 24px;
    height: 2px;
    background: var(--text);
    border-radius: 999px;
  }

  .nav-links {
    position: absolute;
    top: calc(100% + 0.8rem);
    left: 1rem;
    right: 1rem;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    box-shadow: var(--shadow);
    display: none;
  }

  .nav-links.open {
    display: flex;
  }

  .dropdown-menu {
    position: static;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    display: none;
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0.4rem 0 0 0.6rem;
  }

  .nav-dropdown.open .dropdown-menu {
    display: grid;
  }

  .stats-grid,
  .zones-grid,
  .products-grid,
  .traffic-grid,
  .schedule-grid,
  .theme-grid,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .gallery-item.wide,
  .gallery-item.large {
    grid-column: auto;
    grid-row: auto;
  }

  .section {
    padding: 4.5rem 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
