@media (max-width: 1279px) {
  .menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .hero-grid,
  .reservation-layout,
  .about-layout,
  .contact-layout,
  .formules-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .nav-links {
    display: none;
  }

  .hero {
    text-align: center;
  }

  .hero-ctas {
    justify-content: center;
  }

  .menu-grid {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    gap: 0.9rem;
    padding-bottom: 0.35rem;
    margin-right: -4vw;
    padding-right: 4vw;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .menu-grid .menu-card {
    flex: 0 0 84%;
    min-width: 84%;
    scroll-snap-align: start;
  }

  .carousel-hint {
    display: block;
  }

  .menu-grid::-webkit-scrollbar {
    height: 6px;
  }

  .menu-grid::-webkit-scrollbar-thumb {
    background: rgba(212, 160, 23, 0.35);
    border-radius: 999px;
  }

  #cart-drawer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.9rem !important;
    height: 100dvh !important;
  }

  #cart-items .panel p {
    font-size: 0.95rem;
  }

  #cart-items .panel div {
    flex-wrap: wrap;
  }

  #cart-items .chip {
    min-width: 42px;
    text-align: center;
  }

  #selected-mode-indicator {
    font-size: 0.9rem;
  }

  #cart-items {
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
  }
}
