/* Master Class Qabab — Menu page (template layout).
   Mobile first; tablet ≥768, desktop ≥1200 (same breakpoints as base.css). */

/* ---------- header ---------- */
.menu-head { padding-top: 48px; padding-bottom: 16px; text-align: center; }
.menu-head__lead { max-width: 540px; margin: 16px auto 0; }

/* ---------- sticky category bar ---------- */
.menu-body { position: relative; }
.menu-nav__sentinel { display: block; height: 1px; margin-bottom: -1px; }
.menu-nav { position: sticky; top: 0; z-index: 15; background: var(--masa); padding-block: 12px; transition: box-shadow .25s; }
.menu-nav.is-stuck { box-shadow: 0 1px 0 var(--line-ink), 0 10px 24px -14px rgba(30, 26, 24, .28); }
.menu-nav__chips { padding-inline: var(--margin); scroll-padding-inline: var(--margin); scroll-snap-type: x proximity; }
.menu-nav__chips .chip { position: relative; scroll-snap-align: start; }
/* chips are 40px tall (DS); stretch the tap area to 44px without changing the look */
.menu-nav__chips .chip::after { content: ""; position: absolute; inset: -2px 0; }

/* ---------- groups ---------- */
.menu-groups { padding-top: calc(var(--section-pad) - 12px); padding-bottom: var(--section-pad); }
.menu-status { text-align: center; padding-block: 40px; }
.menu-status a { color: var(--red); font-weight: 700; }

.mgroup { scroll-margin-top: calc(var(--nav-h, 64px) + 16px); align-items: start; }
.mgroup + .mgroup { margin-top: var(--section-pad); }
.mgroup__head, .mgroup__photo, .mgroup__rows { grid-column: 1 / -1; min-width: 0; }
.mgroup__head .t-label { color: var(--red); }
.mgroup__photo { margin-top: var(--head-gap); }
.mgroup__photo .dish-img { aspect-ratio: 342 / 260; height: auto; }
.mgroup__rows { margin-top: 8px; }
.mgroup--nophoto .mgroup__rows { margin-top: var(--head-gap); }

/* rows (base .row + page tweaks from Figma: price 26/28 at every size) */
.mgroup .row { align-items: center; }
.mgroup .row .t-price { font-size: 26px; line-height: 28px; }
.mgroup .row .plus { cursor: default; width: 32px; height: 32px; font-size: 18px; }
.mgroup .row .plus:hover { background: var(--red); transform: none; }
.mgroup .row__text .t-row { color: var(--ink); }
.row__img { background: var(--masa); }

/* ---------- delivery band ---------- */
.menu-delivery { padding-bottom: var(--section-pad); scroll-margin-top: 16px; }
.delivery-band { position: relative; overflow: hidden; border-radius: var(--r-card); padding: 14px 20px 28px; }
.delivery-band .ticker { margin-inline: -20px; }
.delivery-band__copy { display: flex; flex-direction: column; align-items: flex-start; text-align: left; margin-top: 28px; }
.delivery-band__copy .t-body-l { margin-top: 12px; }
.delivery-band__btns { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; width: 100%; }
.delivery-band__btns .btn { width: 100%; }

/* ---------- mobile only ---------- */
@media (max-width: 767px) {
  .menu-nav__chips { scroll-snap-type: x mandatory; }
  .menu-groups { padding-top: calc(var(--section-pad) - 16px); }
  .mgroup__photo { max-width: 460px; width: 100%; justify-self: center; }
  .delivery-band .t-body-l { font-size: 15px; line-height: 22px; }
}

@media (max-width: 359px) {
  .mgroup .row { gap: 12px; }
  .mgroup .row__img { width: 48px; height: 48px; border-radius: 12px; }
}

/* ---------- tablet ≥768 ---------- */
@media (min-width: 768px) {
  .menu-head { padding-top: 64px; padding-bottom: 20px; }
  .menu-head__lead { max-width: 500px; margin-top: 24px; }
  .menu-nav__chips { flex-wrap: wrap; justify-content: center; row-gap: 8px; column-gap: 8px; }

  .mgroup__photo { grid-column: 1 / 4; grid-row: 1; margin-top: 0; }
  .mgroup__photo .dish-img { aspect-ratio: 1; }
  .mgroup__head { grid-column: 4 / -1; grid-row: 1; align-self: center; }
  .mgroup--flip .mgroup__photo { grid-column: 6 / -1; }
  .mgroup--flip .mgroup__head { grid-column: 1 / 6; }
  .mgroup__rows { grid-row: 2; margin-top: var(--head-gap); }
  .mgroup--nophoto .mgroup__head { grid-column: 1 / -1; }
  .mgroup .row .plus { width: 36px; height: 36px; font-size: 20px; }
  /* tablet rows are a tighter 80px rhythm in Figma */
  .mgroup .row { padding-block: 5px 6px; min-height: 80px; }
  .mgroup .row__img { width: 68px; height: 68px; }

  .delivery-band { padding: 14px 48px 56px; }
  .delivery-band__copy { align-items: center; text-align: center; }
  .delivery-band .t-body-l { font-size: 15px; line-height: 22px; }
  .delivery-band .ticker { margin-inline: -48px; }
  .delivery-band__copy { margin-top: 40px; }
  .delivery-band__copy .t-body-l { margin-top: 16px; }
  .delivery-band__btns { flex-direction: row; justify-content: center; width: auto; margin-top: 32px; }
  .delivery-band__btns .btn { width: auto; }
}

/* ---------- desktop ≥1200 ---------- */
@media (min-width: 1200px) {
  .mgroup .row { padding-block: 16px; min-height: 0; }
  .mgroup .row__img { width: 84px; height: 84px; }
  .menu-head { padding-top: var(--section-pad); padding-bottom: 36px; }
  .menu-nav__chips { flex-wrap: wrap; padding-inline: 24px; }

  .mgroup__photo { grid-column: 1 / 5; grid-row: 1 / 3; }
  .mgroup__head { grid-column: 5 / -1; grid-row: 1; align-self: start; }
  .mgroup__rows { grid-column: 5 / -1; grid-row: 2; }
  .mgroup--flip .mgroup__photo { grid-column: 9 / -1; }
  .mgroup--flip .mgroup__head, .mgroup--flip .mgroup__rows { grid-column: 1 / 9; }
  .mgroup--nophoto .mgroup__head, .mgroup--nophoto .mgroup__rows { grid-column: 1 / -1; }
  .mgroup--nophoto .mgroup__rows { column-count: 2; column-gap: var(--gutter); }
  .mgroup--nophoto .row { break-inside: avoid; }

  .delivery-band { min-height: 400px; padding: 14px 48px 69px;
    background: radial-gradient(ellipse 70% 80% at 50% 45%, var(--red-glow) 0%, var(--red-mid) 50%, var(--red-deep) 100%); }
  .delivery-band .t-body-l { font-size: 17px; line-height: 28px; }
  .delivery-band .ticker { margin-inline: -48px; }
  .delivery-band__copy { margin-top: 70px; }
}
