/* The /menu/ page's text menu, built from the POS-published menu by menu-live.js. */
.printed-menu-text.is-live { display: block; }
/* Shown only with the printed edition (the fallback when no live menu can be shown). */
.menu-printed-notice { margin: 0; padding: 12px 16px; max-width: 760px; border: 1px solid var(--line); border-left: 3px solid var(--accent);
  border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 14px; line-height: 1.5; }
.menu-printed-notice a { color: var(--accent-ink); font-weight: 600; white-space: nowrap; }
.menu-live-note { margin: 0 0 14px; max-width: 760px; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.menu-live-chips { position: sticky; top: var(--menu-sticky-top, 90px); z-index: 5; margin: 0 0 8px; padding: 10px 0;
  background: var(--paper); border-bottom: 1px solid var(--line); }
.menu-live-chip-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.menu-live-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border: 1px solid var(--line);
  border-radius: 999px; background: var(--surface); color: var(--ink); font-size: 13px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.menu-live-chip:hover, .menu-live-chip:focus-visible { border-color: var(--accent); background: var(--accent-soft); }
.menu-live-chip-group { margin: 0 2px 0 8px; color: var(--accent-ink); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.menu-live-section { border-bottom: 1px solid var(--line); scroll-margin-top: calc(var(--menu-sticky-top, 90px) + 70px); }
.menu-live-section > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 0 14px;
  cursor: pointer; list-style: none; }
.menu-live-section > summary::-webkit-details-marker { display: none; }
.menu-live-section > summary::after { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-left: 4px; border-right: 1.5px solid var(--accent-ink);
  border-bottom: 1.5px solid var(--accent-ink); transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
.menu-live-section[open] > summary::after { transform: translateY(1px) rotate(-135deg); }
.menu-live-heading { flex: 1 1 auto; margin: 0; font-size: 26px; }
.menu-live-count { color: var(--ink-soft); font-size: 12px; white-space: nowrap; }
.menu-live-list { margin: 0 0 16px; padding: 0; list-style: none; }
.menu-live-row { display: grid; grid-template-columns: minmax(150px, 16em) minmax(0, 1fr) auto 8em; gap: 3px 20px; align-items: baseline;
  padding: 9px 0; border-top: 1px dashed #e6e0d3; }
.menu-live-name { font-weight: 600; }
.menu-live-desc { color: var(--ink-soft); font-size: 14px; line-height: 1.45; }
.menu-live-allergens { display: block; margin-top: 2px; font-size: 12px; }
.menu-live-allergens.is-unlisted { color: var(--accent-ink); }
.menu-live-price { font-variant-numeric: tabular-nums; font-weight: 600; text-align: right; white-space: nowrap; }
.menu-live-action { font-size: 13px; text-align: right; }
.menu-live-order { color: var(--accent-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.menu-live-offline { color: var(--ink-soft); font-size: 12px; opacity: .8; white-space: nowrap; }
@media (max-width: 640px) {
  .menu-live-chip-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .menu-live-chip-row::-webkit-scrollbar { display: none; }
  .menu-live-chip, .menu-live-chip-group { flex: 0 0 auto; scroll-snap-align: start; }
  .menu-live-heading { font-size: 22px; }
  .menu-live-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "desc action"; column-gap: 14px; }
  .menu-live-name { grid-area: name; }
  .menu-live-price { grid-area: price; }
  .menu-live-desc { grid-area: desc; font-size: 13px; }
  .menu-live-action { grid-area: action; align-self: end; }
  .menu-live-desc:empty, .menu-live-action:empty { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-live-section > summary::after { transition: none; }
}
