/* Meeboor — Menu page (layout from the template menu page; no Figma frame for it — built from the home design system).
   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, 36, 32, .22); }
.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 { height: auto; }
.mgroup__rows { margin-top: 8px; }
.mgroup--nophoto .mgroup__rows { margin-top: var(--head-gap); }

/* rows */
.menu-groups .row .t-price { font-size: 17px; line-height: 22px; }
.menu-groups .row__text .t-row { color: var(--ink); }

/* ---------- bar (drinks in compact columns) ---------- */
.mbar { margin-top: var(--section-pad); scroll-margin-top: calc(var(--nav-h, 64px) + 16px); }
.mbar__head .t-label { color: var(--red); }
.mbar__grid { margin-top: var(--head-gap); }
.dgroup + .dgroup { margin-top: 40px; }
.dgroup { scroll-margin-top: calc(var(--nav-h, 64px) + 16px); min-width: 0; }
.dgroup__name { color: var(--red); padding-bottom: 6px; border-bottom: 2px solid var(--red); }
.dgroup .row { padding: 11px 0; }
.dgroup .row .t-row { font-size: 15px; line-height: 20px; font-weight: 700; }
.menu-groups .dgroup .row .t-price { font-size: 15px; }

/* ---------- book band ---------- */
.menu-book { padding-bottom: var(--section-pad); }
.book-band { position: relative; overflow: hidden; border-radius: var(--r-card); padding: 12px 20px 28px; background: linear-gradient(180deg, #D4292E 0%, #9E171C 100%); }
.book-band .lights { margin-inline: -20px; }
.book-band__copy { display: flex; flex-direction: column; align-items: flex-start; margin-top: 16px; }
.book-band__copy .t-body-l { margin-top: 12px; }
.book-band__btns { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; width: 100%; }
.book-band__btns .btn { width: 100%; }

/* ---------- mobile only ---------- */
@media (max-width: 767px) {
  .menu-nav__chips { scroll-snap-type: x mandatory; }
  .mgroup__photo { max-width: 300px; width: 80%; justify-self: center; }
}

/* ---------- tablet ≥768 ---------- */
@media (min-width: 768px) {
  .menu-head { padding-top: 64px; padding-bottom: 20px; }
  .menu-nav__chips { flex-wrap: wrap; justify-content: center; gap: 8px; }
  .mgroup__photo { grid-column: 1 / 4; grid-row: 1; margin-top: 0; }
  .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; }
  .mbar__grid { columns: 2; column-gap: 40px; }
  .dgroup { break-inside: avoid; padding-bottom: 40px; }
  .dgroup + .dgroup { margin-top: 0; }
  .book-band { padding: 14px 48px 56px; text-align: center; }
  .book-band .lights { margin-inline: -48px; }
  .book-band__copy { align-items: center; margin-top: 32px; }
  .book-band__btns { flex-direction: row; justify-content: center; width: auto; margin-top: 32px; }
  .book-band__btns .btn { width: auto; }
}

/* ---------- desktop ≥1200 ---------- */
@media (min-width: 1200px) {
  .menu-head { padding-top: var(--section-pad); padding-bottom: 36px; }
  .menu-nav__chips { 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; }
  .mbar__grid { columns: 3; column-gap: var(--gutter); }
  .dgroup { padding-bottom: 48px; }
  .menu-nav__chips { gap: 6px; flex-wrap: nowrap; justify-content: safe center; }
  .menu-nav__chips .chip { padding: 10px 13px; font-size: 12px; }
  .book-band { min-height: 360px; padding: 18px 48px 64px; }
  .book-band__copy { margin-top: 56px; }
}
