/* ============================================================
   Haweli Restaurant — Responsive Styles
   Breakpoints: 1200 | 992 | 768 | 576
   ============================================================ */

/* ── 1200px ──────────────────────────────────────────────── */
@media (max-width:1200px) {
  :root { --section-py:80px; }
  .dishes-grid  { grid-template-columns:repeat(3,1fr); }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid  { grid-template-columns:1fr 1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

/* ── 992px ───────────────────────────────────────────────── */
@media (max-width:992px) {
  :root { --section-py:70px; }

  /* Nav */
  .nav-links {
    position   : fixed;
    top        : var(--nav-h); left:0; right:0;
    flex-direction:column;
    background : rgba(20,8,5,.97);
    padding    : 28px 32px 40px;
    gap        : 6px;
    transform  : translateY(-110%);
    transition : transform .4s cubic-bezier(.25,.8,.25,1);
    border-top : 1px solid rgba(212,175,55,.15);
  }
  .nav-links.open { transform:translateY(0); }
  .nav-links a {
    font-size  : 16px;
    padding    : 12px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
    width      : 100%;
  }
  .nav-links a::after { display:none; }
  .nav-book { margin-left:0; margin-top:12px; text-align:center; width:100%; }
  .hamburger { display:flex; }

  /* Grids */
  .about-grid       { grid-template-columns:1fr; gap:48px; }
  .about-img-wrap   { order:-1; }
  .about-img-wrap img { height:380px; }
  .about-img-badge  { bottom:-16px; right:16px; }
  .specialties-grid { grid-template-columns:repeat(2,1fr); }
  .dishes-grid      { grid-template-columns:repeat(2,1fr); }
  .why-grid         { grid-template-columns:repeat(2,1fr); }
  .stats-grid       { grid-template-columns:repeat(2,1fr); }
  .stat-item        { border-right:none; border-bottom:1px solid rgba(212,175,55,.18); }
  .stat-item:nth-child(odd)  { border-right:1px solid rgba(212,175,55,.18); }
  .stat-item:last-child, .stat-item:nth-last-child(2) { border-bottom:none; }
  .gallery-grid     { grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; }
  .gallery-item.wide { grid-column:span 1; }
  .res-grid         { grid-template-columns:1fr; gap:48px; }
  .res-form         { padding:36px 28px; }
  .contact-grid     { grid-template-columns:1fr 1fr; gap:20px; }
  .map-card         { position:static; transform:none; max-width:100%; border-radius:0; }
  .map-wrap         { height:320px; }
  .footer-grid      { grid-template-columns:1fr 1fr; }
  .footer-brand     { grid-column:1/-1; }
}

/* ── 768px ───────────────────────────────────────────────── */
@media (max-width:768px) {
  :root { --section-py:60px; }

  /* Hero */
  .hero-btns { flex-direction:column; align-items:center; }
  .hero-btns .btn { width:240px; justify-content:center; }

  /* About */
  .about-features { grid-template-columns:1fr; }
  .about-img-wrap img { height:300px; }

  /* Specialties */
  .specialties-grid { grid-template-columns:1fr 1fr; }

  /* Dishes */
  .dishes-grid      { grid-template-columns:1fr 1fr; }

  /* Why */
  .why-grid { grid-template-columns:1fr; }

  /* Stats */
  .stats-grid { grid-template-columns:1fr 1fr; }

  /* Gallery */
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:180px; }
  .gallery-item.tall { grid-row:span 1; }

  /* Reviews */
  .rating-header { flex-direction:column; align-items:flex-start; }
  .rating-big { font-size:52px; }

  /* Form */
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:1; }

  /* Contact */
  .contact-grid { grid-template-columns:1fr; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }

  /* Map */
  .map-wrap { height:280px; }

  /* Floating */
  .float-btn { bottom:80px; width:50px; height:50px; font-size:20px; }
  .float-call { right:20px; }
  .float-wa   { right:78px; }
}

/* ── 576px ───────────────────────────────────────────────── */
@media (max-width:576px) {
  :root { --section-py:50px; }

  .container, .container-sm { padding:0 18px; }

  /* Nav */
  #navbar { padding:0 18px; }

  /* Specialties */
  .specialties-grid { grid-template-columns:1fr; }

  /* Dishes */
  .dishes-grid { grid-template-columns:1fr; }

  /* Gallery */
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:150px; }

  /* Stats */
  .stats-grid   { grid-template-columns:1fr 1fr; }
  .stat-item    { padding:40px 16px; }

  /* Footer */
  .footer-grid       { grid-template-columns:1fr; }
  .footer-bottom     { flex-direction:column; text-align:center; }
  .footer-brand      { grid-column:1; }
}

/* ── Touch device: disable hover transforms ──────────────── */
@media (hover:none) {
  .dish-card:hover,
  .spec-card:hover,
  .why-card:hover,
  .about-feat:hover,
  .contact-card:hover { transform:none; }
}
