/* ==========================================================================
   menu.css — section tabs and responsive plating layouts
   .plating--2 : feature plate + one side plate
   .plating--3 : feature plate + two stacked side plates
   ========================================================================== */
.menu-tabs {
  display: flex; gap: var(--s-2); overflow-x: auto; scrollbar-width: none;
  padding-bottom: var(--s-4); margin-bottom: var(--s-5); border-bottom: 1px solid var(--line);
}
.menu-tabs::-webkit-scrollbar { display: none; }
.menu-tabs [role="tab"] {
  flex: none; padding: 8px 18px; border-radius: 999px; border: 1px solid var(--line);
  background: transparent; font-size: var(--text-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft);
  transition: all var(--dur) var(--ease);
}
.menu-tabs [role="tab"]:hover { border-color: var(--line-strong); color: var(--ink); }
.menu-tabs [role="tab"][aria-selected="true"] { background: var(--gold); border-color: var(--gold); color: #1a140c; }

.menu-intro { font-family: var(--font-display); font-style: italic; font-size: var(--text-xl); color: var(--ink-soft); margin-bottom: var(--s-5); }

[role="tabpanel"]:not([hidden]) { animation: panel-in 600ms var(--ease); }
@keyframes panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.plating { display: grid; gap: var(--s-4); }
.plating--1 { grid-template-columns: 1fr; }
.plating--2 { grid-template-columns: 1.45fr 1fr; }
.plating--3 { grid-template-columns: 1.45fr 1fr; grid-template-rows: 1fr 1fr; }
.plating--3 .plate--feature { grid-row: span 2; }

.plate {
  margin: 0; position: relative; overflow: hidden;
  border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface);
  display: flex; flex-direction: column;
}
.plate__media { position: relative; flex: 1; min-height: 220px; overflow: hidden; }
.plate__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.plate:hover .plate__media img { transform: scale(1.04); }
.plate--feature .plate__media { min-height: 380px; }

.plate__caption {
  display: grid; grid-template-columns: 1fr auto; gap: 2px var(--s-4);
  padding: var(--s-4) var(--s-5) var(--s-5);
  border-top: 1px solid var(--line);
}
.plate__name  { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.2; }
.plate--feature .plate__name { font-size: var(--text-xl); }
.plate__price { font-size: var(--text-xs); letter-spacing: 0.12em; color: var(--gold); align-self: center; }
.plate__desc  { grid-column: 1 / -1; font-size: var(--text-sm); color: var(--ink-mute); }
