/* ============================================================================
   DUBE FLAME & FEAST — RESPONSIVE
   Mobile-first breakpoints: 360 / 390 / 430 / 768 / 1024 / 1280 / 1440 / 1920.
   ========================================================================== */

@media (max-width: 1024px) {
  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .menu-cats { grid-template-columns: repeat(2, 1fr); }
  .gallery__grid { grid-template-columns: repeat(3, 1fr); }
  .food__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .nav__links, .nav__cta .btn { display: none; }
  .nav__toggle { display: block; }
  .about__grid,
  .vision__grid,
  .quote__grid,
  .newsletter__inner,
  .contact__grid,
  .footer__grid { grid-template-columns: 1fr; }
  .pkg-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
  .team__grid { grid-template-columns: 1fr; }
  .about__media { max-width: 460px; margin-inline: auto; }
  .footer__grid { gap: 2rem; }
}

@media (max-width: 640px) {
  .services__grid { grid-template-columns: 1fr; }
  .menu-cats { grid-template-columns: 1fr; }
  .gallery__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
  .food__grid { grid-template-columns: 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .team-card { grid-template-columns: 1fr; }
  .team-card__img { min-height: 260px; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn { width: 100%; }
  .footer__bottom { flex-direction: column; }
  .gallery__item.wide { grid-column: span 2; }
}

@media (max-width: 400px) {
  .container { width: min(100% - 1.8rem, var(--maxw)); }
  .hero__title { font-size: clamp(2.2rem, 10vw, 2.8rem); }
}
