/* Shared menu component styles — driven by --m-* vars each concept defines. */
.menu-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;margin-bottom:8px;scrollbar-width:thin;
  -webkit-overflow-scrolling:touch}
.menu-tabs::-webkit-scrollbar{height:4px}
.menu-tabs::-webkit-scrollbar-thumb{background:var(--m-line);border-radius:4px}
.menu-tab{flex:0 0 auto;font-family:var(--m-font-display);font-weight:600;font-size:.86rem;letter-spacing:.01em;
  padding:.6em 1.15em;border-radius:999px;border:1px solid var(--m-line);background:transparent;color:var(--m-muted);
  cursor:pointer;transition:.25s;white-space:nowrap}
.menu-tab:hover{color:var(--m-fg);border-color:var(--m-accent)}
.menu-tab.is-active{background:var(--m-accent);color:var(--m-accent-fg);border-color:var(--m-accent)}

.menu-panel{display:none;animation:menufade .5s ease}
.menu-panel.is-active{display:block}
@keyframes menufade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.menu-panel-head{display:flex;align-items:baseline;gap:14px;margin:26px 0 22px;padding-bottom:14px;border-bottom:1px solid var(--m-line)}
.menu-panel-icon{font-size:1.3rem}
.menu-panel-head h3{font-family:var(--m-font-display);font-size:clamp(1.4rem,3vw,2rem);color:var(--m-fg);margin:0}
.menu-panel-count{margin-left:auto;font-size:.78rem;color:var(--m-muted);font-family:var(--m-font-display);letter-spacing:.1em;text-transform:uppercase}

.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 48px}
.menu-item{padding:14px 0;border-bottom:1px dashed var(--m-line)}
.menu-item-top{display:flex;align-items:baseline;gap:10px}
.menu-item-name{font-family:var(--m-font-display);font-weight:500;font-size:1.02rem;color:var(--m-fg)}
.menu-item-lead{flex:1;border-bottom:1px dotted var(--m-line);transform:translateY(-3px);opacity:.7}
.menu-item-price{font-family:var(--m-font-display);font-weight:600;color:var(--m-accent-strong,var(--m-accent))}
.menu-item-desc{font-size:.82rem;color:var(--m-muted);margin-top:4px;max-width:42ch;line-height:1.45}

@media(max-width:760px){.menu-list{grid-template-columns:1fr;gap:0 0}}
