/* Lagonid — 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(--blue); 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(--blue); }
.mgroup__photo { margin-top: var(--head-gap); }
.mgroup__rows { margin-top: 8px; }
.mgroup--nophoto .mgroup__rows { margin-top: var(--head-gap); }

/* rows: plate number · name + description · price(s) */
.mgroup .row { align-items: flex-start; }
.row__no { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--masa); box-shadow: inset 0 0 0 2px var(--blue), 0 0 0 4px #fff, 0 6px 14px rgba(59, 20, 18, .14);
  display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 2px; }
.row__no small { font: 600 7px/1 var(--sans); letter-spacing: .14em; color: var(--num-label); }
.row__no b { font: 400 22px/1 var(--display); color: var(--num); margin-top: 1px; }
.row__text .t-row { color: var(--ink); }
.row__price { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; padding-top: 2px; }
.row__price .t-price { font-size: 24px; line-height: 26px; }
.row__price .t-small { color: var(--ink-2); white-space: nowrap; }
.mgroup__head .t-body { margin-top: 6px; }
.mgroup__photo { border-radius: 50%; overflow: hidden; aspect-ratio: 1; padding: 8px; background: var(--cream); box-shadow: var(--shadow-photo); }
.mgroup__img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

/* ---------- delivery band ---------- */
.menu-book { padding-bottom: var(--section-pad); scroll-margin-top: 16px; }
.book-band { position: relative; overflow: hidden; border-radius: var(--r-card); padding: 14px 20px 28px; }
.book-band .ticker { margin-inline: -20px; }
.book-band__copy { display: flex; flex-direction: column; align-items: flex-start; text-align: left; margin-top: 28px; }
.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; }
  .menu-groups { padding-top: calc(var(--section-pad) - 16px); }
  .mgroup__photo { max-width: 260px; width: 100%; justify-self: center; }
  .mgroup .row:not(:has(.t-body)) .row__price { margin-top: -18px; }
  .book-band .t-body-l { font-size: 15px; line-height: 22px; }
  .mgroup .row { flex-wrap: wrap; column-gap: 14px; row-gap: 8px; }
  .row__no { width: 44px; height: 44px; } .row__no b { font-size: 19px; } .row__no small { font-size: 6px; }
  .row__text { flex-basis: calc(100% - 58px); }
  .row__price { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 2px 10px; padding: 0 0 0 58px; text-align: left; }
  .row__price .t-price { font-size: 22px; line-height: 24px; }
}


/* ---------- 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__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; }

  .book-band { padding: 14px 48px 56px; }
  .book-band__copy { align-items: center; text-align: center; }
  .book-band .t-body-l { font-size: 15px; line-height: 22px; }
  .book-band .ticker { margin-inline: -48px; }
  .book-band__copy { margin-top: 40px; }
  .book-band__copy .t-body-l { margin-top: 16px; }
  .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 { 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; }

  .book-band { min-height: 400px; padding: 14px 48px 69px; }
  .book-band .t-body-l { font-size: 17px; line-height: 28px; }
  .book-band .ticker { margin-inline: -48px; }
  .book-band__copy { margin-top: 70px; }
}
