/* ==========================================================================
   fullmenu.css — Chapter V: complete all-day menu
   ========================================================================== */
.menu-more { display: flex; justify-content: center; margin-top: var(--s-6); }

.fm-dayparts { margin-top: var(--s-2); font-size: var(--text-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--ink-mute); }

.fm-groups { display: inline-flex; gap: 2px; padding: 3px; margin-top: var(--s-5); border: 1px solid var(--line); border-radius: 999px; }
.fm-groups [role="tab"] {
  border: 0; background: transparent; padding: 8px 20px; border-radius: 999px;
  font-size: var(--text-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.fm-groups [role="tab"][aria-selected="true"] { background: var(--gold); color: #1a140c; }

.fm-jump {
  display: flex; gap: var(--s-4); overflow-x: auto; scrollbar-width: none;
  margin-top: var(--s-4); padding-bottom: var(--s-2); border-bottom: 1px solid var(--line);
}
.fm-jump::-webkit-scrollbar { display: none; }
.fm-jump__link {
  flex: none; font-family: var(--font-display); font-style: italic; font-size: var(--text-base);
  color: var(--ink-soft); text-decoration: none; padding: 2px 0; border-bottom: 1px solid transparent;
}
.fm-jump__link:hover { color: var(--gold); border-bottom-color: var(--gold); }

.fm-section { padding-top: var(--s-7); scroll-margin-top: var(--s-4); }
.fm-section__head { display: flex; align-items: baseline; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-5); }
.fm-section__title { font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); }
.fm-section__note  { font-family: var(--font-display); font-style: italic; color: var(--gold); font-size: var(--text-base); }
.fm-section__head::after { content: ''; flex: 1; min-width: 40px; height: 1px; background: var(--line); align-self: center; }

.fm-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-7); }
.fm-list--compact { gap: var(--s-3) var(--s-7); }
.fm-item__row { display: flex; align-items: baseline; gap: var(--s-2); }
.fm-item__name { font-size: var(--text-sm); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 400; }
.fm-item__lead { flex: 1; min-width: 16px; border-bottom: 1px dotted var(--line-strong); transform: translateY(-4px); }
.fm-item__price { font-variant-numeric: tabular-nums; font-size: var(--text-sm); color: var(--gold); }
.fm-item__desc { margin-top: 4px; font-size: var(--text-sm); color: var(--ink-mute); max-width: 48ch; }

.fm-foot { margin-top: var(--s-8); padding-top: var(--s-5); border-top: 1px solid var(--line); display: grid; gap: var(--s-1); text-align: center; font-size: var(--text-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-mute); }

@media (max-width: 760px) {
  .fm-list, .fm-list--compact { grid-template-columns: 1fr; }
  .fm-groups { display: flex; }
  .fm-groups [role="tab"] { flex: 1; padding: 8px 10px; }
}

/* ---- Rendered plates per section ---- */
.fm-plates { display: grid; gap: var(--s-4); margin-bottom: var(--s-6); }
.fm-plates--2 { grid-template-columns: 1.25fr 1fr; }
.fm-plates--1 { grid-template-columns: minmax(0, 560px); }
.fm-plate {
  position: relative; display: block; padding: 0; text-align: left; overflow: hidden;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface);
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.fm-plate:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.fm-plate__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.fm-plates--2 .fm-plate:nth-child(2) .fm-plate__media { aspect-ratio: 4 / 3.66; }
.fm-plate__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.fm-plate:hover .fm-plate__media img { transform: scale(1.05); }
.fm-plate__cap {
  position: absolute; inset: auto 0 0 0; display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3);
  padding: var(--s-6) var(--s-5) var(--s-4);
  background: linear-gradient(to top, rgba(13, 11, 9, 0.92), rgba(13, 11, 9, 0));
}
.fm-plate__name  { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.15; }
.fm-plate__price { font-size: var(--text-sm); color: var(--gold); font-variant-numeric: tabular-nums; }

/* ---- Tappable list rows ---- */
.fm-item__inner { display: block; width: 100%; padding: 0; text-align: left; background: none; border: 0; }
button.fm-item__inner { cursor: pointer; }
button.fm-item__inner:hover .fm-item__name { color: var(--gold); }
.fm-item__desc { display: block; }
.fm-item__eye { font-size: 9px; color: var(--gold); transform: translateY(-2px); }
.fm-foot__hint { color: var(--gold); }

/* ---- Dish viewer ---- */
dialog.dv {
  width: min(100% - 2rem, 980px); max-width: none; padding: 0; border: 0; background: transparent; color: var(--ink);
  opacity: 0; transform: scale(0.97); transition: opacity 250ms var(--ease), transform 250ms var(--ease);
}
dialog.dv.is-open { opacity: 1; transform: none; }
dialog.dv::backdrop { background: rgba(5, 4, 3, 0.86); backdrop-filter: blur(4px); }
.dv__card {
  position: relative; margin: 0; display: grid; grid-template-columns: 1.4fr 1fr;
  background: var(--bg-raised); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow);
}
.dv__media { aspect-ratio: 4 / 3; background: #000; }
.dv__img { width: 100%; height: 100%; object-fit: cover; }
.dv__body { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-7) var(--s-6) var(--s-5); }
.dv__name  { font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); line-height: 1.05; }
.dv__desc  { color: var(--ink-soft); }
.dv__price { font-size: var(--text-sm); letter-spacing: 0.14em; color: var(--gold); }
.dv__nav { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding-top: var(--s-5); border-top: 1px solid var(--line); }
.dv__nav button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-strong); background: transparent; color: var(--gold); font-size: 16px; }
.dv__nav button:hover { background: rgba(217, 180, 106, 0.1); }
.dv__count { font-size: var(--text-xs); letter-spacing: 0.2em; color: var(--ink-mute); }
.dv__close { top: var(--s-4); right: var(--s-4); background: rgba(13, 11, 9, 0.6); }

@media (max-width: 760px) {
  .fm-plates--2 { grid-template-columns: 1fr 1fr; gap: var(--s-2); }
  .fm-plates--2 .fm-plate:nth-child(2) .fm-plate__media { aspect-ratio: 4 / 3; }
  .fm-plate__cap { flex-direction: column; gap: 0; padding: var(--s-5) var(--s-3) var(--s-3); }
  .fm-plate__name { font-size: var(--text-base); }
  .dv__card { grid-template-columns: 1fr; }
  .dv__body { padding: var(--s-5); }
  .dv__name { font-size: var(--text-xl); }
}
