:root{color-scheme:dark;--bg:#11100e;--panel:#1c1915;--gold:#d7b574;--text:#f6efe3;--muted:#b5aa9a;--border:#4c4030}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,70px);border-bottom:1px solid var(--border);letter-spacing:.12em}header span:not(.brand){font-size:12px;color:var(--muted)}.brand{color:var(--gold);font-weight:800;letter-spacing:.24em;text-decoration:none}.hero{max-width:960px;margin:12vh auto;padding:30px 25px}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,8vw,92px);font-weight:400;line-height:1.08}.hero em{color:var(--gold);font-style:normal}.eyebrow{color:var(--gold);letter-spacing:.18em;font-size:12px;text-transform:uppercase}.muted,small{color:var(--muted)}footer{padding:25px;text-align:center;color:var(--muted);border-top:1px solid var(--border)}.panel{margin:8vh auto;padding:35px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.narrow{max-width:500px;width:calc(100% - 30px)}h1,h2,h3{line-height:1.25}h1{font-family:Georgia,serif;font-weight:400;color:var(--gold)}label{display:block;margin:18px 0;font-size:14px}input{display:block;width:100%;background:#100f0d;color:white;border:1px solid #68583d;border-radius:7px;padding:13px;margin-top:7px;font-size:16px}button,.btn{display:inline-block;border:1px solid var(--gold);background:var(--gold);color:#17120b;font-size:15px;font-weight:700;padding:12px 18px;border-radius:7px;text-decoration:none;cursor:pointer}.outline{background:transparent;color:var(--gold)}a{color:var(--gold)}.error{background:#48201c;padding:12px;border-radius:6px}.ok{background:#173c29;padding:12px;border-radius:6px}.container{max-width:1200px;margin:0 auto;padding:30px 20px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.tiles,.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:24px 0}.tiles article,.modules article{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px}.tiles strong{display:block;color:var(--gold);font-size:36px}.tiles span{color:var(--muted);font-size:14px}.modules h3{margin:0;color:var(--gold)}.modules p{margin:7px 0}.modules small{font-size:12px}

nav{display:flex;flex-wrap:wrap;gap:12px}nav a{color:#dfbd7a;text-decoration:none;font-size:.88rem}.tile,.module-link{display:block;color:inherit;text-decoration:none}.module-link{background:#24201b;border:1px solid #4e3d26;border-radius:10px;padding:18px}.module-link:hover{border-color:#d6b574}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px}th,td{padding:11px;border-bottom:1px solid #52422d;text-align:left;font-size:.89rem}th{color:#e0bd7a}textarea,select{width:100%;background:#1b1916;color:#f6ebd6;border:1px solid #776246;border-radius:6px;padding:12px}form.panel{margin:22px 0}form label{display:block;margin:12px 0}input[type=checkbox]{width:auto}.hidden{position:absolute;left:-10000px}.hero{background:linear-gradient(135deg,#3c2b17,#100e0b);padding:50px 24px;text-align:center;border:1px solid #6b532b;border-radius:14px;margin:22px 0}.hero h2{font-size:3rem;color:#e5c27e}.hero .btn{display:inline-block;margin:12px}.panel{margin:14px 0}footer{margin-top:40px;padding:20px;border-top:1px solid #594728}footer a{color:#dbb66d}details{margin-top:12px}del{color:#aaa}.muted{opacity:.75}

.calendar td{min-width:110px;vertical-align:top;height:76px}.calendar small{display:block;font-size:.76rem;color:#d7ba7a;margin-top:8px}.calendar a{font-weight:700}

/* V3.3: einheitliche aufklappbare Datensatzbearbeitung */
.edit-record{border:1px solid #75613d;border-radius:10px;padding:14px 18px;margin:12px 0;background:#171512}.edit-record summary{cursor:pointer;color:#e4bd73;line-height:1.6}.edit-record[open] summary{border-bottom:1px solid #4b4030;padding-bottom:12px;margin-bottom:16px}.edit-record form{margin-top:12px}.edit-record p{overflow-wrap:anywhere}

.allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.allergen-option{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #8b7848;border-radius:6px}.allergen-option input{width:auto;margin:0}fieldset{border:1px solid #8b7848;border-radius:8px;padding:12px}fieldset legend{padding:0 6px}

/* V3.4.1: barrierearme Mehrfachauswahl für öffentliche Speisekarten */
.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 22px}.filter-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border:1px solid #a58a59;border-radius:9px;color:#e8cf9b;background:#221d17;text-decoration:none;font-weight:600;min-height:44px}.filter-chip.active,.filter-chip[aria-pressed="true"]{background:#d7b574;color:#17120b;border-color:#d7b574}.filter-chip:focus-visible{outline:3px solid #fff;outline-offset:3px}.menu-filters h3{font-size:1rem;color:#d7b574;margin-bottom:4px}@media(max-width:600px){.menu-filters{padding:18px}.filter-chip{font-size:14px;padding:9px 12px}}

/* V3.5.1: Backstage-Tabs, serverseitig; ohne JavaScript nutzbar */
.backstage-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 24px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.backstage-tabs .backstage-tab{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid #8e784f;border-radius:9px;text-decoration:none;color:#f1d6a3;background:#201b16;font-weight:650}
.backstage-tabs .backstage-tab.active{background:var(--gold);color:#17120b;border-color:var(--gold)}
.backstage-tabs .backstage-tab:focus-visible{outline:3px solid #fff;outline-offset:3px}
.backstage-tab-panel[hidden]{display:none!important}
@media(max-width:600px){.backstage-tabs{gap:7px}.backstage-tabs .backstage-tab{font-size:14px;padding:9px 11px}}

/* V3.5.3 HACCP Wochentag-Buttons */
.haccp-day-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
.haccp-day{position:relative;cursor:pointer;display:inline-flex!important;padding:0!important}
.haccp-day input{position:absolute;opacity:0;width:1px;height:1px}
.haccp-day span{display:inline-block;padding:.55rem .85rem;border:1px solid #9d8244;border-radius:.5rem;background:#252525;color:#f1dfb7;font-weight:600}
.haccp-day input:checked+span{background:#c3a25c;color:#171717;border-color:#c3a25c}
.haccp-day input:focus-visible+span{outline:3px solid #f4cf73;outline-offset:2px}

/* V3.6: Backstage language selector */
.backstage-language{display:inline-flex;align-items:center;gap:.45rem;margin:0 .5rem;vertical-align:middle}
.backstage-language label{margin:0;font-size:.82rem}
.backstage-language select{width:auto;min-width:5rem;padding:.35rem .55rem;border:1px solid #aa8a45;border-radius:7px;background:#1d1d1d;color:#f3db9c}
@media(max-width:650px){.backstage-language{margin:.35rem 0}}

/* V3.6.2: logout in backstage header */
.backstage-logout{display:inline-flex;align-items:center;margin:0}
.backstage-logout button{width:auto;padding:.4rem .7rem;font-size:.82rem;white-space:nowrap}
header nav{align-items:center}
@media(max-width:650px){header{gap:12px;flex-wrap:wrap}header nav{width:100%;justify-content:flex-start}}

/* V3.9.1: kompakter farbcodierter Öffnungszeitenkalender */
.calendar td{min-width:42px;height:51px;text-align:center;vertical-align:middle;padding:3px}
.calendar td.cal-normal{background:#286e4c}.calendar td.cal-closed{background:#a34443}.calendar td.cal-special{background:#987020}.calendar td.cal-empty{background:transparent}
.calendar .cal-day-link{display:flex;align-items:center;justify-content:center;min-height:43px;color:#fff;text-decoration:none;border-radius:5px}
.calendar .cal-selected{outline:3px solid #f6e5aa;outline-offset:-4px}
.calendar .cal-day-link:focus-visible{outline:3px solid #fff}
.cal-legend{display:flex;gap:12px;flex-wrap:wrap}.cal-key{padding:4px 9px;border-radius:5px;color:white;font-size:.85rem}
.cal-key.cal-normal{background:#286e4c}.cal-key.cal-closed{background:#a34443}.cal-key.cal-special{background:#987020}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* V3.9.1 korrigiert: Tagesfarben nach tatsächlich geöffneten Schichten. */
.calendar td.cal-both,.cal-key.cal-both{background:#286e4c}
.calendar td.cal-evening,.cal-key.cal-evening{background:#366eab}
.calendar td.cal-lunch,.cal-key.cal-lunch{background:#587c4b}
.calendar td.cal-closed,.cal-key.cal-closed{background:#a34443}
.calendar td.cal-override{box-shadow:inset 0 0 0 3px #e6bb56}
.cal-key.cal-override-key{background:transparent;border:2px solid #e6bb56;color:inherit}

/* V3.9.3: public identity, editorial photography and dense menus */
.brand-logo{display:flex;align-items:center;letter-spacing:normal}.brand-logo img{width:90px;height:102px;object-fit:contain;background:#fff;border-radius:5px;padding:3px}body:has(.brand-logo) header{padding-top:8px;padding-bottom:8px}.hero-photo{min-height:440px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,rgba(12,9,6,.88),rgba(12,9,6,.36)),url('interior/1.webp') center/cover no-repeat;border-radius:15px}.hero-copy{max-width:720px}.hero-photo h2{font:400 clamp(2rem,5vw,4rem)/1.12 Georgia,serif;margin:.3em 0}.hero-photo p:not(.eyebrow){font-size:1.12rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:34px 0 14px}.section-head h2{margin:0}.section-head .eyebrow{margin:0 0 6px}.featured-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,calc((100% - 36px)/3));gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:#c9a769 #28231d}.featured-card{background:#201a15;border:1px solid #5c4931;border-radius:12px;overflow:hidden;scroll-snap-align:start}.featured-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.featured-copy{padding:14px}.featured-copy h3{font-size:1rem;margin:0 0 7px}.featured-copy p{font-size:.85rem;line-height:1.45;color:#c8bdad;margin:0 0 10px}.featured-copy strong{color:var(--gold)}.interior-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.interior-gallery img{width:100%;height:210px;object-fit:cover;border-radius:10px}.dish-list{border-top:1px solid var(--border);margin:18px 0}.dish-item{padding:11px 4px 10px;border-bottom:1px solid #44392d}.dish-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dish-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.dish-heading h3{font-size:1rem;line-height:1.4;margin:0}.dish-price{white-space:nowrap;color:#e6c483;font-size:.95rem}.dish-item>p{margin:2px 0 0;color:#bfb5a7;font-size:.86rem;line-height:1.4}.allergen-inline{position:relative;display:inline-block;margin:0}.allergen-inline summary{font-size:.72rem;color:#e6c483;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:2px;list-style:none}.allergen-inline summary::-webkit-details-marker{display:none}.allergen-inline summary::after{content:' ▾'}.allergen-inline[open] summary::after{content:' ▴'}.allergen-popup{position:absolute;z-index:3;top:100%;left:0;background:#2b241b;border:1px solid #a88955;border-radius:6px;padding:9px 12px;min-width:180px;max-width:min(300px,85vw);font-size:.8rem;box-shadow:0 5px 15px #0008}.featured-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.featured-admin-item{padding:12px;border:1px solid var(--border);border-radius:8px}.featured-admin-item img{max-width:100%;border-radius:6px}.featured-admin-item select{margin-top:6px}.featured-admin-item input[type=checkbox]{display:inline-block;margin:0 6px 0 0}
@media(max-width:700px){.brand-logo img{width:66px;height:75px}body:has(.brand-logo) header{align-items:flex-start;gap:12px}.hero-photo{min-height:350px;padding:26px 16px}.hero-photo h2{font-size:2.2rem}.featured-scroll{grid-auto-columns:78%;gap:12px}.interior-gallery{grid-template-columns:1fr 1fr}.interior-gallery img{height:150px}.interior-gallery img:last-child{display:none}.dish-item{padding:9px 2px}.dish-heading h3{font-size:.92rem}.dish-item>p{font-size:.81rem}.dish-price{font-size:.88rem}.menu-filters{padding:16px}.filter-chips{gap:6px}.filter-chip{padding:7px 10px;font-size:.82rem}}

/* V3.9.4: Public redesign matching approved desktop reference. Backstage unchanged. */
.public-body{background:#fbf8f1;color:#211a14;font-family:Georgia,'Times New Roman',serif;line-height:1.42}
.public-body>header{background:#0e0906;color:#fff;min-height:76px;padding:9px clamp(16px,4.5vw,78px);border:0;gap:26px;position:relative;z-index:10;letter-spacing:0}
.public-body .brand-logo{gap:14px;flex-shrink:0}.public-body .brand-logo img{width:65px;height:55px;object-fit:contain;background:#fff;border-radius:2px;padding:2px}.brand-wordmark{font:30px/1 Georgia,serif;color:#f0c879;letter-spacing:.055em;white-space:nowrap}.brand-wordmark small{display:block;text-align:center;font:11px/1.5 Georgia,serif;letter-spacing:.3em;color:#e2b96e}
.public-body header nav{display:flex;gap:clamp(12px,2.1vw,30px);align-items:center;flex-wrap:wrap;justify-content:flex-end}
.public-body header nav a{font:15px Georgia,serif;color:#f7efe3;white-space:nowrap}.public-body header nav a:hover,.public-body header nav a:focus-visible{color:#f2c77d;text-decoration:underline;text-underline-offset:6px}
.public-body header nav .nav-reserve{border:1px solid #e5c477;border-radius:5px;padding:11px 17px;color:#f5d48b;margin-left:10px}
.public-main{max-width:1200px;margin:auto;padding:26px 22px;min-height:60vh}.home-main{max-width:none;padding:0;margin:0}.home-main>h1{display:none}
.home-hero{min-height:365px;background:linear-gradient(90deg,rgba(7,4,2,.79),rgba(7,4,2,.12) 65%),url('interior/2.webp') center 49%/cover no-repeat;color:white;display:flex;align-items:center;padding:30px clamp(24px,6.5vw,105px)}
.home-hero-copy{max-width:690px}.home-kicker{color:#b8812c;letter-spacing:.22em;font:13px Georgia,serif}.home-hero .home-kicker{color:#f2d397}.home-hero h1{font:normal clamp(50px,6vw,88px)/.98 Georgia,serif;margin:12px 0;color:#fff;letter-spacing:-.025em}.home-hero h1 span{color:#f3d08d}.home-hero-copy>p:not(.home-kicker){font-size:clamp(17px,1.5vw,21px);margin:17px 0}.home-actions{display:flex;gap:16px;flex-wrap:wrap}.home-actions .btn{font-family:Georgia,serif;border-radius:5px;padding:12px 24px;background:#f0c978;border-color:#f0c978}.home-actions .btn.outline{background:#0b0908aa;color:#f2d18e}
.home-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#eee}.home-tile{min-height:225px;display:flex;align-items:end;justify-content:space-between;gap:10px;padding:24px clamp(14px,2.8vw,42px);color:#fff!important;text-decoration:none;background-size:cover;background-position:center;position:relative;isolation:isolate}.home-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 68%);z-index:-1}.tile-lunch{background-image:url('food/535.webp')}.tile-dinner{background-image:url('food/87.webp')}.tile-restaurant{background-image:url('interior/3.webp')}.home-tile strong{display:block;font:30px Georgia,serif}.home-tile small{display:block;font:16px Georgia,serif;color:#fff}.home-tile b{font:32px Georgia,serif;color:#f2d28d}
.home-info{display:grid;grid-template-columns:1.25fr .66fr 1fr;gap:30px;padding:36px clamp(22px,5.8vw,90px) 45px;background:#fcfaf5}.home-welcome{padding-right:20px}.home-welcome h2{font:normal clamp(27px,2.65vw,42px)/1.12 Georgia,serif;margin:12px 0}.home-welcome>p:not(.home-kicker){font-size:17px;max-width:570px}.home-welcome .btn{margin-top:8px;font:16px Georgia,serif;background:#dfac53;border-color:#dfac53}.home-contact{border-left:1px solid #e4d6bc;padding-left:25px;display:flex;flex-direction:column;gap:21px}.home-contact-item{display:flex;align-items:flex-start;gap:16px}.home-contact-item>span{color:#d39424;font:32px Georgia,serif;min-width:31px}.home-contact-item strong{font-size:16px}.home-contact-item p{font-size:14px;margin:5px 0}.home-info a{color:#985209}.home-popular h2{font:normal 20px Georgia,serif;color:#9c5510;margin:0 0 7px}.home-popular-list{border-top:1px solid #e9deca}.home-popular-item{display:grid;grid-template-columns:86px 49px minmax(0,1fr) auto;align-items:start;gap:8px;padding:5px 0;border-bottom:1px solid #e9deca;text-decoration:none;color:#251b11!important}.home-popular-item img{width:86px;height:52px;object-fit:cover;border-radius:4px}.popular-number{font-size:13px;color:#9b4f10;white-space:nowrap;padding-top:3px}.popular-copy strong{display:block;font:600 14px Georgia,serif}.popular-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:12px/1.2 Georgia,serif;color:#504338}.popular-price{font-size:13px;color:#97500c;white-space:nowrap}.home-menu-link{display:inline-block;margin-top:13px;font-size:15px}.home-news{padding:25px clamp(22px,5.8vw,90px);background:#f5ecdf}.home-news h2{font-size:23px}.home-main footer{background:#0e0906;margin:0;border:0;color:#e6d4b4}.home-main footer a{color:#e8c37d}
@media(max-width:1200px){.public-body>header{gap:12px}.brand-wordmark{font-size:23px}.public-body header nav{gap:12px}.public-body header nav a{font-size:13px}.home-info{gap:18px;padding-inline:30px}.home-popular-item{grid-template-columns:70px 43px minmax(0,1fr) auto}.home-popular-item img{width:70px;height:52px}.popular-copy small{font-size:11px}}
@media(max-width:850px){.public-body>header{align-items:center;flex-wrap:wrap;justify-content:center}.public-body header nav{justify-content:center}.home-info{grid-template-columns:1fr 1fr}.home-welcome{grid-column:1/-1}.home-contact{border-left:0;padding-left:0}.home-tile{min-height:180px}.home-tile strong{font-size:23px}.home-tile small{font-size:13px}}
@media(max-width:600px){.public-body>header{padding:12px 14px}.public-body .brand-logo img{width:49px;height:47px}.brand-wordmark{font-size:21px}.public-body header nav{gap:11px;justify-content:center}.public-body header nav a{font-size:13px}.public-body header nav .nav-reserve{margin:0;padding:7px 10px}.home-hero{min-height:390px;padding:25px 20px;background-position:58% center}.home-hero h1{font-size:52px}.home-hero-copy>p:not(.home-kicker){font-size:17px}.home-actions .btn{padding:10px 13px;font-size:14px}.home-tiles{grid-template-columns:1fr}.home-tile{min-height:145px}.home-info{grid-template-columns:1fr;padding:26px 20px}.home-welcome{grid-column:auto}.home-contact{border-top:1px solid #e4d6bc;padding-top:20px}.home-popular{border-top:1px solid #e4d6bc;padding-top:20px}.home-popular-item{grid-template-columns:78px 44px minmax(0,1fr) auto}.home-popular-item img{width:78px;height:56px}.popular-price{font-size:12px}.public-main:not(.home-main){padding:18px 15px}}

/* V3.9.5: readability and logo on dark navigation */
.public-body .brand-logo img{background:transparent!important;padding:0!important;object-fit:contain}
.public-body h1,.public-body h2,.public-body h3{color:#292017}
.public-body .home-hero h1,.public-body .home-hero h2{color:#fff}
.public-body .home-hero h1 span{color:#f6d28e}
.public-body .home-popular h2,.public-body .home-kicker{color:#8b480b}
.public-body .public-main a:not(.btn):not(.home-tile):not(.home-popular-item){color:#884009}
.public-body .public-main a:focus-visible{outline:3px solid #b66b12;outline-offset:3px}
.public-body .dish-price,.public-body .allergen-inline summary{color:#8c490e}
.public-body .menu-filters h2,.public-body .menu-filters h3,.public-body .menu-filters h4{color:#f2d397!important}
.public-body .menu-filters p{color:#ddd1bc}
.public-body .calendar .cal-day-link{color:#fff!important}
.public-body .home-popular-item{color:#211a14!important}
.public-body .home-popular-item:hover{background:#f4ead7}
@media(max-width:600px){.public-body .home-popular-list{overflow-x:hidden}.public-body .home-popular-item{grid-template-columns:74px 42px minmax(0,1fr);gap:6px}.public-body .home-popular-item .popular-price{grid-column:3;text-align:left}.public-body .home-popular-item img{width:74px;height:58px}}


/* V3.9.6: Helles, einheitliches Design aller öffentlichen Unterseiten.
   Bewusst nur .public-body: Backstage und Startseiten-Bildwelt bleiben unverändert. */
.public-body{color-scheme:light;--gold:#b68137;--text:#2b2118;--muted:#736658;--border:#e4d8c5;--panel:#fffdf9;background:#faf7f0;color:#2b2118}
.public-body .public-main:not(.home-main){background:#faf7f0}
.public-body .public-main:not(.home-main) h1,.public-body .public-main:not(.home-main) h2,.public-body .public-main:not(.home-main) h3{color:#2b2118}
.public-body .public-main:not(.home-main) .panel,.public-body .public-main:not(.home-main) form.panel,.public-body .public-main:not(.home-main) .menu-filters{background:#fffdf9;color:#2b2118;border:1px solid #e3d5bf;box-shadow:0 4px 20px rgba(64,39,15,.035);border-radius:12px}
.public-body .public-main:not(.home-main) .panel{margin:18px 0;padding:25px}
.public-body .public-main:not(.home-main) .menu-filters h2,.public-body .public-main:not(.home-main) .menu-filters h3,.public-body .public-main:not(.home-main) .menu-filters h4{color:#493320!important}
.public-body .public-main:not(.home-main) .menu-filters p,.public-body .public-main:not(.home-main) .muted{color:#6f6253}
.public-body .public-main:not(.home-main) .filter-chip{background:#f7f0e5;color:#69471f;border:1px solid #d8c4a4;min-height:40px;padding:8px 13px;font-weight:600}
.public-body .public-main:not(.home-main) .filter-chip:hover{background:#f0e2cb}
.public-body .public-main:not(.home-main) .filter-chip.active,.public-body .public-main:not(.home-main) .filter-chip[aria-pressed=true]{background:#d8ad60;color:#211609;border-color:#c79b4b}
.public-body .public-main:not(.home-main) .filter-chip:focus-visible{outline:3px solid #986020;outline-offset:2px}
.public-body .public-main:not(.home-main) input:not([type=checkbox]):not([type=radio]),.public-body .public-main:not(.home-main) select,.public-body .public-main:not(.home-main) textarea{background:#fff;color:#251d16;border:1px solid #bda987;border-radius:7px}
.public-body .public-main:not(.home-main) input:focus-visible,.public-body .public-main:not(.home-main) textarea:focus-visible,.public-body .public-main:not(.home-main) select:focus-visible{outline:3px solid #c79b4b;outline-offset:2px}
.public-body .public-main:not(.home-main) button,.public-body .public-main:not(.home-main) .btn{background:#d8ad60;color:#25180a;border-color:#c99c4c}
.public-body .public-main:not(.home-main) .outline{background:transparent;color:#80501a}
.public-body .public-main:not(.home-main) .dish-item{border-color:#d8cbb8}
.public-body .public-main:not(.home-main) .dish-item>p{color:#776858}
.public-body .public-main:not(.home-main) .dish-price{color:#865019}
.public-body .public-main:not(.home-main) .allergen-popup{background:#fffdf9;color:#2b2118;border-color:#c6a66f;box-shadow:0 8px 24px #25180a26}
.public-body .public-main:not(.home-main) .allergen-filter-details{margin:14px 0 0;border-top:1px solid #e6dac9;padding-top:14px}
.public-body .public-main:not(.home-main) .allergen-filter-details>summary{cursor:pointer;font-weight:700;color:#65441e;list-style:revert;min-height:35px}
.public-body .public-main:not(.home-main) .allergen-filter-details>summary:focus-visible{outline:3px solid #b68137}
.public-body .public-main:not(.home-main) .calendar th{color:#81521e}
.public-body .public-main:not(.home-main) .calendar td{border-color:#e4d8c5}
.public-body .public-main:not(.home-main) .calendar .cal-day-link{color:#fff!important}
.public-body .public-main:not(.home-main) .calendar small{color:#f8f1e7}
.public-body .public-main:not(.home-main) .cal-key.cal-override-key{color:#69471f}
.public-body .public-main:not(.home-main) .ok{background:#e5f2e8;color:#225235}
.public-body .public-main:not(.home-main) .error{background:#fce9e6;color:#7b2a20}
.public-body .public-main:not(.home-main) a:not(.btn):not(.filter-chip){color:#81450c}
.public-body footer{color:#655440;border-color:#dfd1bd}
.public-body footer a{color:#81450c}
@media(max-width:600px){.public-body .public-main:not(.home-main) .panel{padding:17px}.public-body .public-main:not(.home-main) .filter-chip{font-size:.84rem;padding:7px 10px}}

/* V3.9.7: Kalender-Tagesdetails lesbar, Wochentage spaltengenau zentriert */
.public-body .public-main:not(.home-main) .hours-day-details{background:#fffdf9!important;color:#302419!important;border:1px solid #dcc6a3!important;box-shadow:0 4px 18px rgba(78,48,19,.06)}
.public-body .public-main:not(.home-main) .hours-day-details h2{color:#593817!important;font-weight:600}
.public-body .public-main:not(.home-main) .hours-day-details p{color:#3f3429!important;opacity:1}
.public-body .public-main:not(.home-main) .hours-day-details .muted{color:#685d50!important;opacity:1}
.public-body .hours-calendar{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}
.public-body .hours-calendar th,.public-body .hours-calendar td{width:14.285714%;min-width:0;text-align:center;vertical-align:middle;box-sizing:border-box}
.public-body .hours-calendar th{padding:10px 2px;color:#80501c!important;font-weight:700}
.public-body .hours-calendar td{padding:2px;height:49px}
.public-body .hours-calendar .cal-day-link{min-height:43px;width:100%;font-variant-numeric:tabular-nums}
.public-body .hours-calendar td.cal-both{background:#36745b}
.public-body .hours-calendar td.cal-evening{background:#496f9a}
.public-body .hours-calendar td.cal-lunch{background:#708456}
.public-body .hours-calendar td.cal-closed{background:#a65c59}
.public-body .cal-key.cal-both{background:#36745b}
.public-body .cal-key.cal-evening{background:#496f9a}
.public-body .cal-key.cal-lunch{background:#708456}
.public-body .cal-key.cal-closed{background:#a65c59}
.public-body .hours-calendar .cal-selected{outline:3px solid #f3ce7b;outline-offset:-4px}
@media(max-width:600px){.public-body .hours-calendar th{font-size:12px;padding:7px 0}.public-body .hours-calendar td{height:43px;padding:1px}.public-body .hours-calendar .cal-day-link{min-height:40px;font-size:13px}.public-body .cal-legend{gap:6px}.public-body .cal-key{font-size:12px;padding:5px 7px}}

/* V3.9.9: Gruppierte Kategorien in der kompakten Speisekarte */
.public-body .menu-category-title{display:flex;align-items:center;gap:12px;margin:28px 0 8px;color:#513319;font:600 clamp(1.05rem,2.3vw,1.3rem)/1.3 Georgia,serif;text-align:center}
.public-body .menu-category-title::before,.public-body .menu-category-title::after{content:"";height:1px;background:#c49a5d;flex:1;min-width:12px}
.public-body .menu-category-title span{flex:0 1 auto;overflow-wrap:anywhere}
.public-body .dish-list>.menu-category-title:first-child{margin-top:12px}
