/* Warme Farben und flexible Größen für Computer und Handy. */
:root { color-scheme: light; --paper: #fbf5eb; --ink: #30251f; --muted: #6e5a4c; --rust: #7c3022; --gold: #edbd72; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--paper); font-synthesis: none; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .25em; }
button { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #a65b28; outline-offset: 5px; }
.skip-link { position: absolute; left: 1rem; top: -6rem; background: var(--paper); padding: 1rem; z-index: 5; }
.skip-link:focus { top: 1rem; }
.header { min-height: 6rem; max-width: 90rem; margin: auto; padding: 1.3rem 5%; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .6rem; font-family: Georgia, serif; font-size: 1.9rem; text-decoration: none; white-space: nowrap; }
.brand span { color: var(--rust); font-family: serif; font-size: 2rem; }
nav { display: flex; flex-wrap: wrap; gap: .4rem 1.8rem; }
nav a { font-size: .9rem; text-decoration: none; padding: .7rem 0; }
nav a:hover { color: var(--rust); text-decoration: underline; }
.hero { position: relative; isolation: isolate; min-height: 36rem; min-height: min(76svh, 52rem); background: #33241b; color: #fff8eb; display: flex; align-items: center; }
.hero img, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero-shade { background: linear-gradient(90deg, rgba(25,16,10,.8), rgba(25,16,10,.36) 60%, rgba(25,16,10,.15)); z-index: -1; }
.hero-content { width: min(90%, 78rem); margin: auto; padding: 5rem 0 6rem; }
.eyebrow { font-size: .8rem; text-transform: uppercase; letter-spacing: .15em; font-weight: 600; line-height: 1.7; color: var(--rust); margin: 0 0 1.3rem; }
.hero .eyebrow, .events .eyebrow { color: var(--gold); }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
h1 { font-size: clamp(3rem, 6.6vw, 6.5rem); line-height: 1.06; margin: 0 0 1.5rem; }
.hero-content > p:last-child { font-size: 1.125rem; line-height: 1.7; max-width: 27rem; }
.image-caption { position: absolute; right: 1rem; bottom: .8rem; font-size: .75rem; background: #241b16b8; padding: .3rem .5rem; color: #fff5e5; }
.section-wrap { max-width: 78rem; width: 90%; margin: auto; padding: 6rem 0; }
h2 { font-size: clamp(2.25rem, 4vw, 3.7rem); line-height: 1.14; margin: 0 0 1.5rem; }
p { line-height: 1.5; }
.welcome { text-align: center; max-width: 51rem; }
.welcome > p:last-child { max-width: 41rem; margin: 1.5rem auto 0; font-size: 1.125rem; color: var(--muted); }
.kitchen { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; border-top: 1px solid #d8c8b4; }
.kitchen-copy > p { margin: 0; color: var(--muted); font-size: 1.125rem; }
.flavours { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 1.7rem 0 2.2rem; font-size: .9rem; color: var(--rust); }
.flavours span { border-bottom: 1px solid #c8a58a; padding-bottom: .5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 2rem; border: 0; border-radius: .2rem; background: var(--rust); color: #fff8ee; padding: 1rem 1.5rem; min-height: 3.5rem; cursor: pointer; font-weight: 600; text-decoration: none; }
.button:hover { background: #592014; }
.reservation-info { margin-top: 1.4rem; padding: 1.2rem; border-left: 3px solid var(--rust); background: #f0e4d2; }
.reservation-info p { margin-top: 0; }
.events { background: #432c24; color: #fff4e4; }
.event-layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 5rem; }
.event-layout h2 { margin-bottom: 0; }
h3 { font-size: 1.125rem; font-weight: 600; margin: 0 0 1rem; }
.event-copy p { color: #e2cfc1; }
.event-status { padding-top: 1.2rem; border-top: 1px solid #816150; font-size: .9rem; }
.contact { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4rem; padding-bottom: 1.5rem; }
.draft-note { font-size: .9rem; color: var(--muted); }
dl { margin: 0; }
dl > div { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dfd0bf; font-size: .95rem; line-height: 1.5; }
dt { color: var(--muted); } dd { margin: 0; overflow-wrap: anywhere; }
.footer-bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; border-top: 1px solid #d8c8b4; padding-top: 1.5rem; }
.footer-bottom > span { font-size: .875rem; color: var(--muted); }
@media (max-width: 700px) {
  .header { flex-direction: column; align-items: flex-start; gap: .6rem; padding-block: 1rem; }
  nav { gap: .2rem 1.2rem; }
  nav a { font-size: .875rem; }
  .hero { min-height: 33rem; }
  .hero img { object-position: 62% center; }
  .hero-shade { background: linear-gradient(90deg, #19100ae0, #19100a60); }
  .hero-content { padding-block: 4rem; }
  .section-wrap { padding-block: 3.5rem; }
  .kitchen, .event-layout, .contact { grid-template-columns: 1fr; gap: 1.6rem; }
  .welcome { text-align: left; }
  .button { width: 100%; }
  .footer-bottom { margin-top: 1.5rem; }
  dl > div { grid-template-columns: 7rem 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.reservation-note { font-size: .875rem !important; margin-top: 1rem !important; }
.source-note { grid-column: 1 / -1; color: var(--muted); font-size: .8rem; margin: 0; }

/* Original-Logo */
.brand img { display: block; width: 190px; height: auto; }
.footer-bottom .brand img { width: 160px; }
@media (max-width:700px) { .brand img { width: 165px; } }

.menu-section{border-top:1px solid #d8c8b4}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem}.menu-heading>a{font-size:.875rem;color:var(--rust)}.menu-heading h2{margin-bottom:0}.menu-tabs{display:flex;flex-wrap:wrap;gap:.25rem 1.6rem;border-bottom:1px solid #d8c8b4;margin:2.4rem 0 .5rem}.menu-tabs button{font:inherit;font-size:.95rem;color:var(--muted);border:0;border-bottom:3px solid transparent;background:transparent;padding:1rem 0;cursor:pointer}.menu-tabs button[aria-selected=true]{color:var(--rust);border-bottom-color:var(--rust);font-weight:600}.menu-tabs button:hover{color:var(--rust)}.menu-dishes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 4rem}.menu-dish{padding:1.5rem 0;border-bottom:1px solid #e2d6c5;min-width:0}.dish-line{display:flex;justify-content:space-between;gap:1.2rem;align-items:baseline}.menu-dish h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;margin:0}.dish-price{white-space:nowrap;color:var(--rust);font-weight:600}.menu-dish p{font-size:.9rem;color:var(--muted);margin:.4rem 0 0}.menu-note{font-size:.8rem;color:var(--muted);margin:2rem 0 0}.menu-note a{color:var(--rust)}@media(max-width:700px){.menu-heading{display:block}.menu-heading>a{display:inline-block;margin-top:1rem}.menu-dishes{grid-template-columns:1fr}.menu-tabs{gap:0 1.3rem}.menu-tabs button{font-size:.875rem;padding:.8rem 0}.menu-dish{padding:1.2rem 0}.menu-dish h3{font-size:1.2rem}}

/* Food thumbnails explain unfamiliar dishes */
.menu-dish{display:flex;gap:1.1rem;align-items:center}.dish-image{width:112px;height:112px;flex:0 0 112px;object-fit:cover;border-radius:4px;background:#eadfce}.dish-body{flex:1;min-width:0}.menu-dishes{column-gap:2.5rem}.menu-dish h3{font-size:1.15rem;line-height:1.35}.dish-line{gap:.6rem}.menu-dish p{line-height:1.55}.dish-price{font-size:.9rem}@media(max-width:1000px) and (min-width:701px){.menu-dishes{grid-template-columns:1fr}}@media(max-width:450px){.dish-image{width:85px;height:85px;flex-basis:85px}.menu-dish{gap:.8rem}.dish-line{flex-wrap:wrap;gap:.25rem}.menu-dish h3{font-size:1.05rem}.menu-dish p{font-size:.8rem}}

/* Aktuelles – Hinweisbox oberhalb des Titelbilds */
.news-notice{padding:1.75rem 5%;background:var(--paper)}
.news-notice-inner{max-width:78rem;margin:0 auto;padding:1.75rem 2rem;background:#f0e4d2;border-left:3px solid var(--rust)}
.news-notice .eyebrow{margin:0 0 .65rem;font-size:.75rem}
.news-notice h2{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.2;margin:0 0 .8rem;overflow-wrap:anywhere}
.news-body p{font-size:1.05rem;line-height:1.7;color:var(--ink);margin:0;white-space:pre-line;overflow-wrap:anywhere}
.news-placeholder{font-size:.75rem;color:var(--muted);margin:1rem 0 0}
.news-notice[hidden]{display:none!important}
@media(max-width:700px){.news-notice{padding:1.2rem 5%}.news-notice-inner{padding:1.4rem}.news-body p{font-size:1rem}}

/* Veranstaltungsplakate im Aktuelles-Bereich */
.news-notice h2.eyebrow{font-family:inherit;font-size:.8rem;font-weight:600;letter-spacing:.15em;line-height:1.7;margin:0 0 1.3rem;color:var(--rust)}
.event-image-placeholder{width:min(100%,430px);aspect-ratio:3/4;min-height:250px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;border:1px dashed #b59b7d;background:#faf4e9;color:var(--muted)}
.placeholder-image-symbol{font-size:3rem;line-height:1;color:#a48665}
.event-image-placeholder>span:not(.placeholder-image-symbol){max-width:250px;line-height:1.6}
.event-image-placeholder small{font-size:.75rem;color:var(--muted)}
.news-notice-inner .event-poster{display:block;width:auto;max-width:100%;height:auto;max-height:800px;margin:0 auto;object-fit:contain}

.news-notice-inner .news-body{margin-bottom:1.5rem}

/* Food-Moment zwischen Küche und Speisekarte */
.kitchen-food-mood{position:relative;isolation:isolate;width:90%;max-width:78rem;margin:0 auto 1rem;overflow:hidden;background:#33241b}
.kitchen-food-mood img{display:block;width:100%;height:420px;object-fit:cover;object-position:center 62%}
.kitchen-food-mood:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(30,18,10,.75),transparent 65%);pointer-events:none}
.kitchen-food-mood figcaption{position:absolute;bottom:2rem;left:2.5rem;right:2.5rem;z-index:1;font:400 clamp(1.5rem,3vw,2.6rem)/1.25 Georgia,serif;letter-spacing:-.025em;color:#fff8eb}
.kitchen-food-mood small{display:block;font:400 .7rem/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.02em;margin-top:.8rem;color:#e6d7c3}
@media(max-width:700px){.kitchen-food-mood img{height:310px;object-position:62% center}.kitchen-food-mood figcaption{left:1.4rem;right:1.4rem;bottom:1.4rem;max-width:280px}}

/* Dunkelbrauner Kopfbereich mit eingebettetem Original-Logo */
.header{max-width:none;background:#1E140C;color:#fff4e4;padding-inline:max(5%,calc((100% - 1296px)/2));}
.header nav a{color:#fff4e4;}
.header nav a:hover{color:#edbd72;}
.header .brand{background:#1E140C;}
.header .brand img{mix-blend-mode:lighten;}

/* Größere, besser lesbare Navigation und Speisekarte */
.header nav a{font-size:1.05rem;}
.flavours{font-size:1.1rem;}
.menu-tabs button{font-size:1.05rem;}
.menu-dish h3{font-size:1.4rem;line-height:1.35;}
.menu-dish p{font-size:1rem;line-height:1.6;}
.dish-price{font-size:1.05rem;}
@media(max-width:700px){
 .header nav{gap:.25rem 1.25rem;}
 .header nav a{font-size:1rem;}
 .flavours{font-size:1.05rem;}
 .menu-tabs button{font-size:1rem;}
 .menu-dish h3{font-size:1.25rem;}
 .menu-dish p{font-size:.95rem;}
 .dish-price{font-size:1rem;}
}
@media(max-width:450px){.dish-line{flex-wrap:wrap}.menu-dish h3{font-size:1.2rem}.menu-dish p{font-size:.95rem}}

/* Tischreservierung – Buchungsziel später durch Quandoo ersetzbar */
.header nav{align-items:center}.header nav a.nav-reservation{background:var(--gold);color:#35231c;padding:.85rem 1.1rem;font-weight:600;text-decoration:none}.header nav a.nav-reservation:hover{background:#f6ce91}
.reservation-section{background:#eee1cf;border-top:1px solid #d8c8b4}.reservation-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}.reservation-layout h2{margin-bottom:1.4rem}.reservation-layout>div>p:not(.eyebrow){max-width:36rem;color:var(--muted)}.reservation-action{text-align:center}.reservation-action .button{width:100%;max-width:360px}.reservation-action>p>a{font-size:1.25rem;color:var(--rust);text-decoration:none}.reservation-action>p{margin:.9rem auto}.reservation-action .reservation-note{font-size:.9rem!important}
@media(max-width:1050px){.header{flex-wrap:wrap}.header nav{gap:.4rem 1.2rem}.header nav a.nav-reservation{padding:.65rem .85rem}}
@media(max-width:700px){.reservation-layout{grid-template-columns:1fr;gap:2rem}.reservation-action{text-align:left}.reservation-action .button{max-width:none}.reservation-action>p{margin:.9rem 0}.header nav{gap:.3rem 1rem}}

.legal-links{gap:1.5rem}.legal-links a{font-size:.9rem}.legal-content{max-width:58rem;overflow-wrap:anywhere}.legal-content h1{font-size:clamp(2.5rem,6vw,4rem);color:var(--ink)}.legal-content h2{font-size:1.7rem;margin:2.2rem 0 1rem;letter-spacing:-.02em}.legal-content h3{font-size:1.15rem;margin-top:1.7rem}.legal-content p,.legal-content li{color:var(--ink);line-height:1.8}.legal-content table{width:100%;max-width:30rem}.legal-content td{padding:.3rem .5rem .3rem 0}.legal-footer{display:flex;gap:2rem;border-top:1px solid #d8c8b4;padding-block:2rem}.news-notice-inner .event-poster{max-height:none;width:min(100%,560px)}

/* Absätze und Eyebrows jeweils 2 px größer */
p{font-size:18px;}
.eyebrow,.news-notice .eyebrow,.news-notice h2.eyebrow{font-size:calc(.8rem + 2px);}
.hero-content>p:last-child,.welcome>p:last-child,.kitchen-copy>p{font-size:calc(1.125rem + 2px);}
.event-status,.draft-note{font-size:calc(.9rem + 2px);}
.source-note,.menu-note{font-size:calc(.8rem + 2px);}
.news-placeholder{font-size:calc(.75rem + 2px);}
.news-body p{font-size:calc(1.05rem + 2px);}
.menu-dish p{font-size:calc(1rem + 2px);}
.reservation-note{font-size:calc(.875rem + 2px)!important;}
.reservation-action .reservation-note{font-size:calc(.9rem + 2px)!important;}
@media(max-width:700px){.news-body p{font-size:calc(1rem + 2px);}.menu-dish p{font-size:calc(.95rem + 2px);}}

.news-reservation-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}.button.button-outline{background:transparent;border:1px solid var(--rust);color:var(--rust)}.button.button-outline:hover{background:#e6d4bd}.reservation-action>.button-outline{margin-top:.5rem}@media(max-width:700px){.news-reservation-actions{flex-direction:column}.news-reservation-actions .button{width:100%}}

/* Küchenmerkmale als reine Textzeile statt interaktiver Elemente */
.flavours{gap:0;color:var(--muted);font-style:italic;}
.flavours span{border:0;padding:0;cursor:inherit;}
.flavours span+span::before{content:'·';display:inline-block;margin:0 .75rem;color:var(--rust);font-style:normal;}

/* Veranstaltungsplakat um etwa ein Drittel verkleinert */
.news-notice-inner .event-poster{width:min(66.6667%,373px);height:auto;margin-inline:auto;}

/* Öffnungszeiten direkt nach dem Titelbild */
.opening-hours-banner{background:#432c24;color:#fff4e4;padding:1.6rem max(5%,calc((100% - 1248px)/2));display:flex;align-items:center;justify-content:space-between;gap:2rem}.opening-hours-banner>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.6rem}.opening-hours-label{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:#edbd72}.opening-hours-banner strong{font-size:1.3rem;font-weight:600}.opening-hours-rest{font-size:1rem;color:#e2cfc1}.opening-hours-banner>a{white-space:nowrap;color:#edbd72;font-size:1rem;text-underline-offset:.3em}.opening-hours-banner>a span{margin-left:.5rem}@media(max-width:800px){.opening-hours-banner{align-items:flex-start;flex-direction:column;gap:1rem}.opening-hours-banner>div{flex-direction:column;gap:.5rem}.opening-hours-banner strong{font-size:1.2rem}}

/* Lokal eingebundene Schrift für den Webdesign-Hinweis. */
@font-face{font-family:Montserrat;src:url('Montserrat-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('Montserrat-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
footer .footer-credit{font-family:Montserrat,Arial,sans-serif;font-weight:400;color:var(--muted)}
footer .footer-credit .pixeltraffic-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;vertical-align:baseline;text-decoration:none}
footer .pixeltraffic-pixel{font-weight:400;color:#ff7043;letter-spacing:.02em}
footer .pixeltraffic-traffic{font-weight:600;color:#5bb0c3;letter-spacing:.16em}
footer .footer-credit .pixeltraffic-wordmark:hover{text-decoration:underline;text-decoration-color:#5bb0c3;text-underline-offset:3px}

/* Webdesign-Hinweis in eigener Zeile unter dem Footer. */
.footer-bottom > .footer-credit{flex:0 0 100%;width:100%;text-align:right;}

/* Öffnungszeiten und Logo-Slogan in der aktuellen Headerfarbe */
.opening-hours-banner{background:#1E140C;flex-wrap:wrap;row-gap:1.35rem;}
.opening-hours-banner strong{font-weight:400;}
.opening-hours-banner .opening-hours-slogan{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 0;margin:0;padding-top:1.25rem;border-top:1px solid #edbd7230;color:#edbd72;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:.025em;line-height:1.6;}
.opening-hours-slogan span+span:before{content:'✦';font-style:normal;font-size:.65em;display:inline-block;margin:0 1.15rem;color:#b58344;vertical-align:middle;}
@media(max-width:800px){.opening-hours-banner .opening-hours-slogan{width:100%;flex-basis:auto;justify-content:flex-start;} .opening-hours-slogan span+span:before{margin:0 .7rem;}}

/* Slogan über der zentrierten Öffnungszeiten-Zeile */
.opening-hours-banner{justify-content:center;column-gap:2rem;}
.opening-hours-banner .opening-hours-slogan{order:-1;justify-content:center;border-top:0;border-bottom:1px solid #edbd7230;padding-top:0;padding-bottom:1.25rem;width:100%;}
.opening-hours-banner>div{justify-content:center;}
.opening-hours-banner strong{font-family:inherit;font-size:1rem;font-weight:400;color:#e2cfc1;line-height:inherit;}
@media(max-width:800px){.opening-hours-banner{align-items:center;}.opening-hours-banner>div{align-items:center;text-align:center;}.opening-hours-banner .opening-hours-slogan{justify-content:center;}.opening-hours-banner strong{font-size:1rem;}}

/* Veranstaltungsbereich in derselben Hintergrundfarbe wie der Header. */
#veranstaltungen{background:#1E140C;}

/* Footer passend zum dunklen Header */
footer.contact,footer.legal-footer{background:#1E140C;color:#fff4e4;width:100%;max-width:none;padding-inline:max(5%,calc((100% - 1248px)/2));}
footer.contact .eyebrow,footer.contact .brand span{color:#edbd72;}
footer.contact h2,footer.contact h3,footer.contact dd,footer.contact a{color:#fff4e4;}
footer.contact .draft-note,footer.contact dt,footer.contact .source-note,footer.contact .footer-bottom>span,footer.contact .footer-credit{color:#dac6b0;}
footer.contact dl>div,footer.contact .footer-bottom{border-color:#edbd7233;}
footer.contact .brand{background:#1E140C;}
footer.contact .brand img{mix-blend-mode:lighten;}
footer.contact a:hover,footer.legal-footer a:hover{color:#edbd72;}
footer.contact .legal-links{gap:1.5rem;}
footer.contact .legal-links a{font-size:1rem;text-decoration:underline;}
footer.legal-footer{flex-wrap:wrap;border-color:#edbd7233;}
.legal-draft{padding:1rem 1.25rem;border-left:3px solid #7c3022;background:#eee1cf;}

/* Ruhige Schrift und gemeinsame Sternchen-Trenner */
body{font-family:Montserrat,Arial,sans-serif;}
h1,h2,.kitchen-food-mood figcaption{font-family:Montserrat,Arial,sans-serif;font-weight:400;letter-spacing:-.035em;}
h1{font-size:clamp(2.4rem,5.5vw,5.3rem);line-height:1.18;}
h2{line-height:1.28;}
.separator{display:inline-block;color:#bd8e50;font-size:.52em;vertical-align:middle;margin:0 .2em;}
.hero-content>p:last-child{max-width:48rem;line-height:2;}
.hero .separator,.kitchen-food-mood .separator{color:#edbd72;}
.news-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2rem;align-items:start;}
.news-event{min-width:0;text-align:center;}
.news-event[hidden],.news-announcement[hidden],.event-caption[hidden]{display:none;}
.news-event h3{font-size:1.25rem;margin-bottom:1.2rem;}
.news-notice-inner .news-event .event-poster{width:100%;max-width:373px;height:auto;}
.news-event .news-reservation-actions{gap:.6rem;}
.news-event .button{font-size:.9rem;padding:.8rem 1rem;}
.event-caption{padding:1rem 0;margin:0;white-space:pre-line;}
.news-announcement{padding:1.2rem 1.5rem;border:1px solid #b58344;margin:2rem 0 0;white-space:pre-line;}
.menu-empty{grid-column:1/-1;padding:1.5rem 0;}
@media(max-width:700px){.news-events{grid-template-columns:1fr}.welcome h2{font-size:1.9rem}.kitchen-food-mood figcaption{font-size:1.5rem;line-height:1.5;}}

/* Feinere Titeltypografie und dezente Trenner */
.hero h1{font-family:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;font-size:clamp(2.2rem,4.6vw,4.35rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;}
.welcome .separator{font-size:.24em;margin:0 1.1em;opacity:.65;}
.kitchen-food-mood .separator{font-size:.25em;margin:0 2em;opacity:.7;}
.news-events{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:700px){.news-events{grid-template-columns:1fr;}.kitchen-food-mood .separator{margin:0 1.5em;}}

/* Dezenter Trenner in der Reservierungsüberschrift */
#reservation-title .separator{font-size:.23em;margin:0 1em;opacity:.65;}

/* Zurückhaltende Bildzeile mit weicher Serifenschrift */
.kitchen-food-mood figcaption{font-family:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;font-size:clamp(1.25rem,2.15vw,1.9rem);font-weight:400;font-style:italic;letter-spacing:.01em;line-height:1.6;}
.kitchen-food-mood .separator{font-style:normal;font-size:.25em;margin:0 2.4em;opacity:.65;}
@media(max-width:700px){.kitchen-food-mood figcaption{font-size:1.25rem;max-width:none;}.kitchen-food-mood .separator{margin:0 1.8em;}}

/* Mobile Hauptnavigation */
.nav-toggle {
  display: none;
}

@media (max-width: 800px) {
  .header:has(.nav-toggle) {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: .8rem 1rem;
  }

  .header #site-navigation {
    flex: 1 0 100%;
    display: grid;
    gap: 0;
    padding: .45rem .85rem .85rem;
    background: #302018;
    border: 1px solid #edbd7240;
    border-radius: .7rem;
  }

  .header .nav-toggle[aria-expanded="false"]:not([hidden]) + #site-navigation {
    display: none;
  }

  .header #site-navigation > a {
    padding: .8rem .45rem;
    border-bottom: 1px solid #edbd7226;
    text-decoration: none;
  }

  .header #site-navigation > .nav-reservation {
    margin-top: .65rem;
    padding: .85rem;
    border: 0;
    border-radius: .4rem;
    text-align: center;
  }

  .nav-toggle:not([hidden]) {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 44px;
    padding: .6rem .85rem;
    border: 1px solid #edbd7280;
    border-radius: 2rem;
    background: transparent;
    color: var(--gold);
    cursor: pointer;
  }

  .nav-toggle-icon {
    display: grid;
    gap: 4px;
    width: 18px;
  }

  .nav-toggle-icon span {
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle-icon span:first-child {
    transform: translateY(6px) rotate(45deg);
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle-icon span:nth-child(2) {
    opacity: 0;
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle-icon span:last-child {
    transform: translateY(-6px) rotate(-45deg);
  }
}
