/* Calm menu surface. The approved intro keeps its own typography and effects. */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/instrument-sans-400.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/instrument-sans-500.woff2") format("woff2")}
:root{--frame:780px;--gutter:24px;--header-h:64px;--menu-bg:#10100f;--menu-text:#efeee9;--menu-muted:#aaa79e;--menu-line:#2d2c28;--menu-gold:#d4c1a0;--menu-font:"Instrument Sans","Avenir Next","Segoe UI",sans-serif}
body{background:var(--menu-bg)}
.site-header,.app,.site-footer{font-family:var(--menu-font);color:var(--menu-text)}
.site-header{overflow:visible;background:var(--menu-bg);border-bottom:1px solid var(--menu-line)}
.header-bar{min-height:64px;padding-top:6px;padding-bottom:6px;border:0;overflow:visible}
.wordmark-btn{flex:1 1 auto;min-height:44px;max-width:calc(100% - 118px);overflow:visible}
.brand-lockup{gap:12px;overflow:visible}
.brand-mark{width:52px;height:52px;overflow:visible;background:transparent}
.header-actions{flex:0 0 auto;z-index:1}
.wordmark{gap:4px;overflow:visible}
.wordmark-primary{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;letter-spacing:.01em;line-height:1.2;padding-block:1px;overflow:visible;color:#f6efdf}
.wordmark-secondary{font-family:var(--menu-font);font-size:.64rem;font-weight:500;letter-spacing:.16em;line-height:1.25;text-transform:uppercase;overflow:visible;color:var(--menu-gold)}
.icon-btn{width:44px;height:44px}
.icon-btn svg{width:20px;height:20px}
.icon-btn[aria-pressed="true"]{color:var(--menu-gold)}
.fafi-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:auto;min-width:48px;height:auto;min-height:52px;padding:4px 7px;overflow:visible;border:1px solid #4a4740;border-radius:12px;background:#1c1b18;line-height:1}
.fafi-btn:hover,.fafi-btn:focus-visible{border-color:var(--menu-gold);background:#26241f}
.fafi-btn-art{display:block;width:36px;height:36px;object-fit:contain;pointer-events:none}
.fafi-btn-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--menu-text);pointer-events:none}
.app{padding-top:32px;padding-bottom:8px}
.home-cats{display:flex;gap:20px;margin:0 0 12px;padding:0;border-bottom:1px solid var(--menu-line)}
.tile{display:flex;flex:0 0 auto;justify-content:center;align-items:center;gap:0;min-width:44px;min-height:44px;margin:0;padding:10px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--menu-muted);box-shadow:none}
.cat-ico{display:none}
.tile-label{font-size:.82rem;font-weight:400;letter-spacing:0;line-height:1.4;white-space:nowrap}
.tile[aria-current="true"]{border-color:var(--menu-gold);background:none;color:var(--menu-text)}
.tile:hover{color:var(--menu-text)}
.spots{display:flex;flex-direction:column;gap:0}
.spot,.spot.has-photo{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 88px;column-gap:24px;align-items:center;min-height:0;margin:0;padding:24px 0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.spot + .spot{border-top:1px solid var(--menu-line)}
.spot-copy,.spot.has-photo .spot-copy{position:static;width:auto;min-height:0;min-width:0;height:auto;padding:0}
.spot-name,.spot.has-photo .spot-name{max-width:none;margin:0;font-size:1.08rem;font-weight:500;letter-spacing:-.015em;line-height:1.35}
.spot-desc,.spot.has-photo .spot-desc{max-width:48ch;margin-top:8px;font-size:.83rem;font-weight:400;line-height:1.55;color:var(--menu-muted)}
.spot-price,.spot.has-photo .spot-price{margin:14px 0 0;padding:0;font-size:.94rem;font-weight:500;line-height:1.3;color:var(--menu-gold)}
.spot .dish-photo,.spot.has-photo .dish-photo{position:static;grid-column:2;grid-row:1;align-self:center;width:88px;height:96px;min-height:0;border-radius:8px;object-fit:cover;object-position:center;-webkit-mask-image:none;mask-image:none}
.dish-placeholder{position:static;grid-column:2;grid-row:1;align-self:center;display:grid;place-items:center;width:88px;height:96px;gap:0;border:0;border-radius:8px;background:#1d1d1a;color:#a6a397}
.dish-placeholder svg{display:none}
.photo-note{font-size:.66rem;font-weight:400;letter-spacing:0;line-height:1.3;color:#a6a397}
.cat-nav{margin:0 0 20px;background:var(--menu-bg)}
.cat-scroll{gap:24px;padding:4px 0 0;border-bottom:1px solid var(--menu-line)}
.tab{min-width:44px;min-height:44px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--menu-muted);font-size:.83rem;font-weight:400;line-height:1.35}
.tab[aria-current="true"]{background:none;color:var(--menu-text);border-bottom-color:var(--menu-gold);font-weight:500}
body[data-ansicht="kategorie"] .app,body[data-ansicht="suche"] .app{padding-top:16px}
.menu-section{scroll-margin-top:calc(var(--header-h) + 12px)}
.menu-section+.menu-section{margin-top:36px;padding-top:0}
.section-title{margin:8px 0 24px;font-size:1.45rem;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.gold-line{height:0;margin:0;background:none}
.rows{display:flex;flex-direction:column;gap:0}
.row{grid-template-columns:24px minmax(0,1fr) auto;column-gap:12px;row-gap:7px;padding:20px 0;border-color:var(--menu-line)}
.num{min-width:0;font-size:.8rem;font-weight:400;color:var(--menu-muted)}
.row-name{font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4}
.row-desc{max-width:56ch;font-size:.82rem;line-height:1.6;color:var(--menu-muted)}
.row .price{font-size:.91rem;font-weight:500;line-height:1.4;color:var(--menu-gold)}
.search-panel{padding-top:4px}
.search{min-height:48px;border:1px solid #3a3933;border-radius:8px;background:#171715}
.search input{font-size:.94rem}
.search input::placeholder{color:var(--menu-muted)}
.search input:focus-visible{outline:none}
.search:has(input:focus-visible){outline:2px solid var(--menu-gold);outline-offset:2px}
.search-clear{width:44px;height:44px;color:var(--menu-muted)}
.filters{gap:20px;margin:16px 0 4px;border-bottom:1px solid var(--menu-line)}
.chip{min-height:44px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--menu-muted);font-size:.76rem;font-weight:400;line-height:1.4}
.chip[aria-pressed="true"]{background:none;color:var(--menu-text);border-bottom-color:var(--menu-gold);font-weight:500}
.search-result-photo{grid-template-columns:60px minmax(0,1fr) auto}
.search-result-photo .num{display:none}
.search-result-photo .dish-photo{grid-column:1;grid-row:1 / span 3;width:60px;height:64px;min-height:0;object-fit:cover;border-radius:6px;align-self:start}
.site-footer{margin-top:32px;padding:24px 0 32px;border-color:var(--menu-line)}
.footer-mark{display:none}
.footer-name{margin-bottom:10px;font-size:.78rem;font-weight:500;letter-spacing:0;text-transform:none}
.site-footer p:not(.footer-name){max-width:65ch;font-size:.72rem;line-height:1.6;color:#969388}
#buehne.rise{animation:none}
@media (max-width:359px){:root{--gutter:20px}.brand-mark{width:44px;height:44px}.wordmark-primary{font-size:1.28rem;line-height:1.08}.wordmark-secondary{font-size:.58rem;letter-spacing:.16em;line-height:1.2}.home-cats{gap:12px}.tile-label{font-size:.77rem}.spot,.spot.has-photo{grid-template-columns:minmax(0,1fr) 76px;column-gap:20px}.spot .dish-photo,.spot.has-photo .dish-photo,.dish-placeholder{width:76px;height:88px}.spot-name,.spot.has-photo .spot-name{font-size:1rem}.spot-desc,.spot.has-photo .spot-desc{font-size:.8rem}.cat-scroll{gap:14px}.tab{font-size:.77rem}}
@media (min-width:768px){:root{--gutter:32px}.app{padding-top:40px}.home-cats{gap:28px;margin-bottom:8px}.tile-label{font-size:.86rem}.spot,.spot.has-photo{grid-template-columns:minmax(0,1fr) 128px;column-gap:40px;padding:28px 0}.spot .dish-photo,.spot.has-photo .dish-photo,.dish-placeholder{width:128px;height:112px}.spot-name,.spot.has-photo .spot-name{font-size:1.13rem}.spot-desc,.spot.has-photo .spot-desc{font-size:.87rem}.spot-price,.spot.has-photo .spot-price{font-size:1rem}.site-footer{margin-top:36px}}
@media (min-width:1080px){:root{--frame:780px}.rows{display:flex}.spots{display:flex}.spot,.spot.has-photo,.spot.has-photo .spot-copy{min-height:0}}
@media (prefers-reduced-motion:no-preference){.tile:active,.spot:active,.tab:active{transform:none}}
