﻿/* RESPONSIVE */
@media (max-width: 960px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-card {
    order: -1;
  }

  .menu-grid {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

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

  .review-showcase-grid {
    grid-template-columns: 1fr;
  }

  .review-track {
    grid-auto-columns: calc((100% - 1rem) / 2);
  }

  .review-summary {
    padding: 0.9rem;
  }

  .faq-list {
    grid-template-columns: 1fr;
  }

  .menu-prep-grid {
    grid-template-columns: 1fr;
  }

  .menu-quick-grid,
  .menu-list-grid,
  .menu-feature-grid {
    grid-template-columns: 1fr;
  }

  .menu-modal-dialog {
    width: 100%;
  }

  .menu-modal-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nav-links,
  .nav-cta {
    display: none;
  }

  .nav-toggle {
    display: block;
  }

  header.nav-open .nav-links,
  header.nav-open .nav-cta {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 0.7rem;
  }

  header.nav-open .nav {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .about-grid {
    grid-template-columns: 1fr;
  }

  .menu-card {
    max-width: 100%;
  }

  .review-track {
    grid-auto-columns: 100%;
  }

  .review-carousel-head {
    flex-direction: column;
    align-items: flex-end;
  }

  .review-score-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .review-summary-title {
    font-size: 1.3rem;
  }

  h1.hero-title {
    font-size: 2.3rem;
  }

  .section-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .hero-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .menu-modal {
    padding: 0;
  }

  .menu-modal-dialog {
    max-height: 100vh;
    border-radius: 0;
  }

  .menu-modal-header {
    flex-direction: column;
    align-items: stretch;
    padding: 1.05rem 1rem 0.9rem;
  }

  .menu-modal-actions {
    justify-content: space-between;
    align-items: center;
  }

  .menu-modal-header h2 {
    font-size: 1.2rem;
  }

  .menu-modal-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.85rem 1rem 0.8rem;
    overflow: visible;
    gap: 0.5rem;
  }

  .menu-modal-content {
    padding: 0.9rem 1rem 1rem;
  }

  .menu-section-head,
  .menu-list-row,
  .menu-list-row-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .menu-price,
  .menu-size-list {
    text-align: left;
  }

  .menu-tab {
    min-height: 2.35rem;
    padding: 0.5rem 0.65rem;
    font-size: 0.76rem;
  }

  .menu-section-note {
    white-space: normal;
  }

  .menu-modal-actions .btn {
    flex: 1;
    min-width: 0;
  }

  .menu-modal-close {
    width: 2.45rem;
    height: 2.45rem;
    flex-shrink: 0;
  }

  .menu-quick-card {
    padding: 0.95rem;
  }

  .menu-quick-card strong,
  .menu-feature-card h4 {
    font-size: 0.92rem;
  }

  .menu-body {
    padding: 0.8rem 0.9rem 1rem;
  }

  .menu-body h3 {
    font-size: 0.92rem;
  }

  .hero {
    padding-top: 2.6rem;
  }

  .contact-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
