/* ==========================================================================
   speisekarte.css: category bar, filters, menu items, legend
   ========================================================================== */
.cat-bar{position:sticky;top:var(--header-h,68px);z-index:90;background:var(--white);padding:.8rem 0 .5rem;}
.filter-row{display:flex;gap:.5rem;margin:.4rem 0 1rem;flex-wrap:wrap;align-items:center;}
.filter-row[hidden]{display:none;}
.f-label{font-size:.7rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;}
.karte-cat{padding:0;scroll-margin-top:calc(var(--header-h,68px) + 4rem);}
.karte-cat[hidden]{display:none;}
.cat-title{font-family:var(--font-script);color:var(--accent);font-size:1.6rem;margin:1.2rem 0 .1rem;font-weight:400;letter-spacing:0;}
.cat-note{font-size:.78rem;color:var(--ink-soft);margin-bottom:.4rem;}
.cat-note .ico,.karte-legend .ico,.mi .ico{width:15px;height:15px;color:var(--m-700);}
.band{display:inline-block;background:var(--ink);color:#fff;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .9rem;border-radius:6px;margin:1.8rem 0 .4rem;font-weight:500;}
.mi{display:flex;align-items:baseline;gap:.6rem;padding:.75rem 0;border-bottom:1px solid rgba(34,34,34,.07);}
.mi[hidden]{display:none;}
.mi .nm{font-weight:520;font-size:.97rem;}
.mi .alg{font-size:.66rem;color:rgba(34,34,34,.55);letter-spacing:.06em;margin-left:.35rem;}
.mi .sym{margin-left:.3rem;display:inline-flex;}
.mi .ds{display:block;font-size:.8rem;color:var(--ink-soft);font-weight:340;margin-top:.1rem;}
.mi .en{display:block;font-size:.78rem;color:var(--ink-soft);font-style:italic;opacity:.85;margin-top:.05rem;}
.mi .dots{flex:1;border-bottom:2px dotted rgba(34,34,34,.28);transform:translateY(-4px);min-width:22px;}
.mi .pr{font-weight:600;color:var(--m-700);white-space:nowrap;}
.mi.extra{padding:.32rem 0 .32rem 1.1rem;border-bottom:none;}
.mi.extra .nm{font-weight:400;font-size:.87rem;}
.wbox{border:2px solid var(--ink);border-radius:10px;padding:.9rem 1.2rem;max-width:420px;margin-top:1.4rem;}
.wbox .mi{border:none;padding:.25rem 0;}
.karte-empty{color:var(--ink-soft);padding:1rem 0;}
.karte-legend{margin-top:2rem;font-size:.78rem;color:var(--ink-soft);background:#fff;border-radius:var(--radius);padding:1rem 1.3rem;box-shadow:var(--shadow);}
