/* Bei Anna – Entwurf 6 „Die Lichter gehen an“ · gemeinsames Stylesheet für alle Seiten */

@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-garamond-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-garamond-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --nacht:#14100D;
  --nacht-2:#1C1713;
  --creme:#F4ECDF;
  --creme-leise:rgba(244,236,223,.76);
  --papier:#FAF6EF;
  --stein:#F1EAE0;
  --tinte:#1D1814;
  --tinte-2:#5B5148;
  --gold:#CDBB98;
  --gold-hell:#E6D6B4;
  --rosso:#A44838;
  --rosso-tief:#7F3226;
  --rosso-hell:#E8A08F;
  --gruen:#8FBF7A;
  --glut:255,170,85;
  --serif:"Cormorant","Cormorant Garamond",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rand:clamp(20px,5vw,88px);
  --kopf:78px;
  --hinweis:31px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hinweis) + var(--kopf) + 24px)}
body{margin:0;background:var(--nacht);color:var(--creme);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
@supports (overflow:clip){body{overflow-x:clip}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
figure{margin:0}
::selection{background:var(--rosso);color:var(--creme)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}
.hell :focus-visible{outline-color:var(--rosso)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sprunglink{position:fixed;left:16px;top:-80px;z-index:300;background:var(--creme);color:var(--tinte);padding:12px 18px;border-radius:6px;text-decoration:none;font-weight:500}
.sprunglink:focus{top:16px}
.ziffern,.gerichte .nr,.gerichte .preis,.zahl .wert,.tel-gross,.note-gross,.tafel .nr{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}

/* Körnung und Laternenlicht (rein dekorativ) */
.korn{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.laterne{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(var(--glut),.055) 0%,rgba(var(--glut),.02) 35%,transparent 70%);opacity:0;transition:opacity .6s;display:none}
.zeiger-fein .laterne{display:block}
.zeiger-aktiv .laterne{opacity:1}

/* ---------- Typografie ---------- */
.dach{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 20px;display:flex;align-items:center;gap:14px;line-height:1.4}
.dach::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7;flex:none}
.hell .dach{color:var(--rosso)}
.titel{font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance}
.titel em,.titel .kursiv{font-style:italic;color:var(--gold)}
.hell .titel em,.hell .titel .kursiv{color:var(--rosso)}
.t-xl{font-size:clamp(52px,8vw,136px)}
.t-l{font-size:clamp(44px,6.2vw,104px)}
.t-m{font-size:clamp(34px,3.6vw,56px)}
.lead{font-family:var(--serif);font-size:clamp(26px,2.6vw,40px);line-height:1.25;margin:0 0 28px}
.fliess{font-size:18px;color:var(--creme-leise);max-width:620px}
.hell .fliess{color:var(--tinte-2)}
.leise{color:var(--creme-leise)}
.hell .leise{color:var(--tinte-2)}
p{margin:0 0 1em}

/* ---------- Knöpfe und Links ---------- */
.knopf{--bg:var(--gold);--fg:var(--tinte);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 28px;border-radius:999px;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.02em;text-decoration:none;border:0;cursor:pointer;overflow:hidden;isolation:isolate;transition:box-shadow .4s,color .4s}
.knopf::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--creme);transform:translateY(101%);border-radius:inherit;transition:transform .5s var(--ease)}
.knopf:hover::before{transform:translateY(0)}
.knopf:hover{box-shadow:0 18px 40px -18px rgba(var(--glut),.55)}
.knopf .pfeil{display:inline-block;transition:transform .45s var(--ease)}
.knopf:hover .pfeil{transform:translateX(4px)}
.knopf.rahmen{--bg:transparent;--fg:var(--creme);box-shadow:inset 0 0 0 1px rgba(244,236,223,.5)}
.knopf.rahmen:hover{--fg:var(--tinte)}
.knopf.dunkel{--bg:var(--tinte);--fg:var(--papier)}
.knopf.dunkel::before{background:var(--rosso)}
.knopf.dunkel:hover{--fg:var(--creme)}
.knopf svg{width:18px;height:18px;flex:none}
.knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.textlink{text-decoration:none;font-weight:400;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .45s var(--ease)}
.textlink:hover{background-size:0 1px;background-position:100% 100%}
.magnet{will-change:auto}

/* ---------- Entwurfshinweis und Kopf ---------- */
.entwurf{position:fixed;top:0;left:0;right:0;z-index:101;margin:0;height:var(--hinweis);display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--tinte);font-size:12.5px;padding:0 16px;font-weight:400;letter-spacing:.02em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kopf{position:fixed;left:0;right:0;top:var(--hinweis);z-index:100;height:var(--kopf);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--rand);
  transition:background .45s,box-shadow .45s}
.kopf.fest{background:rgba(20,16,13,.94);box-shadow:0 1px 0 rgba(205,187,152,.14)}
@supports (backdrop-filter:blur(1px)){.kopf.fest{background:rgba(20,16,13,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
.logo{flex:none;display:block;padding:6px 0;position:relative;z-index:102}
.menue-offen .kopf{background:transparent;box-shadow:none;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.logo img{width:150px;height:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none}
.nav .nl{position:relative;font-size:14.5px;font-weight:400;letter-spacing:.02em;padding:8px 0;display:inline-block}
.nav .nl::after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
.nav .nl:hover::after,.nav .nl[aria-current="page"]::after{transform:scaleX(1);transform-origin:0 50%}
.nav .nl[aria-current="page"]{color:var(--gold-hell)}
.nav .nur-menue{display:none}
.nav .knopf{min-height:46px;padding:0 22px;font-size:14px}
.kopf-rechts{display:flex;align-items:center;gap:26px}
.kopf-tel{font-size:14.5px;text-decoration:none;color:var(--gold-hell);white-space:nowrap}
.menue-knopf{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative;z-index:102;border-radius:8px}
.menue-knopf span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--creme);transition:transform .45s var(--ease),opacity .3s}
.menue-knopf span:nth-child(1){top:17px}.menue-knopf span:nth-child(2){top:23px}.menue-knopf span:nth-child(3){top:29px}
.menue-offen .menue-knopf span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menue-offen .menue-knopf span:nth-child(2){opacity:0}
.menue-offen .menue-knopf span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Brotkrumen ---------- */
.brotkrumen{position:relative;z-index:2}
.brotkrumen ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--creme-leise)}
.brotkrumen li+li::before{content:"/";margin-right:6px;opacity:.5}
.brotkrumen a{text-decoration:none;padding:4px 0}
.brotkrumen a:hover{text-decoration:underline}

/* ---------- Seitenkopf der Unterseiten ---------- */
.seitenkopf{position:relative;overflow:hidden;padding:calc(var(--hinweis) + var(--kopf) + clamp(40px,6vw,90px)) var(--rand) clamp(60px,8vw,120px);isolation:isolate;
  background:radial-gradient(70% 90% at 85% 0%,rgba(var(--glut),.16),transparent 60%),radial-gradient(60% 60% at 0% 100%,rgba(164,72,56,.22),transparent 70%),var(--nacht)}
.seitenkopf-wort{position:absolute;right:-.04em;bottom:-.2em;margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(120px,22vw,380px);line-height:1;color:rgba(205,187,152,.07);pointer-events:none;white-space:nowrap;z-index:-1}
.seitenkopf .raster{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,6vw,110px);align-items:end;margin-top:clamp(30px,4vw,56px)}
.seitenkopf h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,8.4vw,144px);line-height:.95;letter-spacing:-.015em;margin:0;text-wrap:balance}
.seitenkopf .einleitung{font-size:clamp(17px,1.4vw,20px);color:var(--creme-leise);margin:0;padding-left:24px;border-left:1px solid rgba(205,187,152,.4)}

/* ---------- Abschnitte ---------- */
.abschnitt{position:relative;padding:clamp(80px,10vw,160px) var(--rand)}
.abschnitt,.zeitenband,.abend,.bewertung{overflow-x:clip}
@supports not (overflow:clip){.riesenwort{display:none}}
.abschnitt.eng{padding-top:clamp(60px,7vw,110px);padding-bottom:clamp(60px,7vw,110px)}
.hell{background:var(--papier);color:var(--tinte)}
.stein{background:var(--stein);color:var(--tinte)}
.rot{background:var(--rosso-tief);color:var(--creme);isolation:isolate;overflow:hidden}
.rot::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 85% 10%,rgba(var(--glut),.2),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(0,0,0,.35),transparent 70%)}
.rot .dach{color:var(--gold-hell)}
.rot .titel em,.rot .titel .kursiv{color:var(--gold-hell)}
.riesenwort{position:absolute;margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(130px,22vw,400px);line-height:1;pointer-events:none;white-space:nowrap;z-index:0}
.hell .riesenwort{color:rgba(164,72,56,.06);right:-.05em;bottom:-.18em}
.rot .riesenwort{color:rgba(244,236,223,.06);left:-.04em;top:-.12em}
.zweispaltig{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);align-items:start;position:relative;z-index:1}
.redaktion h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,36px);margin:1.4em 0 .4em;line-height:1.1}
.redaktion h3:first-child{margin-top:0}
.redaktion p{font-size:17.5px}

/* ---------- Hero (Startseite) ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#0b0907;isolation:isolate}
.hero-bild{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-2;
  --v:1.6;width:max(100vw,calc(100svh * var(--v)));height:max(100svh,calc(100vw / var(--v)))}
.hero-bild .schieber{position:absolute;inset:0}
.hero-bild img{width:100%;height:100%;object-fit:cover;filter:brightness(.74) saturate(1.05) contrast(1.04)}
.glut{position:absolute;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;pointer-events:none;opacity:.92;
  background:radial-gradient(circle,rgba(255,196,120,.8) 0%,rgba(var(--glut),.36) 16%,rgba(var(--glut),.11) 38%,transparent 66%)}
.glut.g1{left:31.7%;top:33.8%;width:26%}
.glut.g2{left:70.6%;top:44.5%;width:20%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,9,7,.9) 0%,rgba(11,9,7,.62) 36%,rgba(11,9,7,.08) 70%),linear-gradient(0deg,rgba(11,9,7,.92) 0%,rgba(11,9,7,0) 45%),linear-gradient(180deg,rgba(11,9,7,.62) 0%,rgba(11,9,7,0) 24%)}
.hero-inhalt{position:relative;width:100%;padding:calc(var(--hinweis) + var(--kopf) + 60px) var(--rand) clamp(40px,7vh,84px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:40px;align-items:end}
.hero h1{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;display:flex;align-items:center;gap:14px;line-height:1.4}
.hero h1::before{content:"";width:40px;height:1px;background:currentColor;flex:none}
.hero-titel{font-family:var(--serif);font-weight:400;margin:0;line-height:.86;letter-spacing:-.02em}
.hero-titel .z1{display:block;font-style:italic;color:var(--gold);font-size:clamp(70px,14vw,230px);margin-left:-.04em}
.hero-titel .z2{display:block;font-size:clamp(54px,10.2vw,168px);padding-left:.62em}
.hero .einleitung{max-width:520px;margin:30px 0 34px;font-size:clamp(17px,1.35vw,19.5px);color:rgba(244,236,223,.88)}
.hinweis-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:1px;height:54px;background:rgba(244,236,223,.2);overflow:hidden}
.hinweis-scroll::after{content:"";position:absolute;left:0;top:0;width:1px;height:50%;background:var(--gold);transform:translateY(-100%);animation:tropfen 2.2s 3 var(--ease) 3s}
@keyframes tropfen{from{transform:translateY(-100%)}to{transform:translateY(220%)}}

/* Einmaliger Auftakt – nur mit JavaScript und ohne reduzierte Bewegung */
.bewegt .hero-bild img{animation:daemmerung 3s .2s both var(--ease)}
.bewegt .glut{animation:an 1.1s both,flackern 5s 2 ease-in-out}
.bewegt .glut.g1{animation-delay:.9s,2.2s}.bewegt .glut.g2{animation-delay:1.3s,2.8s}
@keyframes daemmerung{from{filter:brightness(.2) saturate(.45) contrast(1.1);transform:scale(1.1)}to{filter:brightness(.74) saturate(1.05) contrast(1.04);transform:scale(1)}}
@keyframes an{0%{opacity:0}30%{opacity:.9}38%{opacity:.25}52%{opacity:1}62%{opacity:.6}100%{opacity:.92}}
@keyframes flackern{0%,100%{opacity:.92}10%{opacity:.8}14%{opacity:.96}45%{opacity:.86}50%{opacity:1}75%{opacity:.85}}
.bewegt .buchstabe{display:inline-block;opacity:0;transform:translateY(.28em);animation:buchstabe .65s both var(--ease)}
@keyframes buchstabe{to{opacity:1;transform:none}}
.bewegt .auftauchen{opacity:0;transform:translateY(16px);animation:auftauchen .7s both var(--ease)}
@keyframes auftauchen{to{opacity:1;transform:none}}

/* ---------- Status-Karte ---------- */
.status{width:100%;max-width:380px;padding:24px 26px;border-radius:18px;background:rgba(28,23,19,.55);border:1px solid rgba(205,187,152,.24);color:var(--creme)}
@supports (backdrop-filter:blur(1px)){.status{background:rgba(28,23,19,.4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}
.hero .status{justify-self:end}
.status .zeile{display:flex;align-items:center;gap:12px;font-weight:400;font-size:16.5px;margin:0}
.punkt{width:10px;height:10px;border-radius:50%;background:var(--gold);position:relative;flex:none}
.punkt::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid currentColor;color:inherit;opacity:0}
.status.offen .punkt{background:var(--gruen);color:var(--gruen)}
.status.spaet .punkt{background:var(--gold);color:var(--gold)}
.status.zu .punkt{background:var(--rosso-hell)}
.bewegt .status.offen .punkt::after{animation:puls 2.2s 3}
@keyframes puls{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
.status .unter{margin:8px 0 0 22px;color:var(--creme-leise);font-size:15px}
.status .zeiten{border-top:1px solid rgba(205,187,152,.2);margin-top:16px;padding-top:14px;font-size:14px;color:var(--creme-leise);display:grid;gap:4px}
.status .zeiten b{font-weight:500;color:var(--creme)}
.status .textlink{display:inline-block;margin-top:14px;font-size:14.5px;color:var(--gold-hell)}

/* ---------- Öffnungszeiten-Band (Startseite) ---------- */
.zeitenband{padding:clamp(56px,6vw,90px) var(--rand);border-bottom:1px solid rgba(205,187,152,.12)}
.zeitenband .raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,4vw,70px);align-items:start}
.zeitenband h2{margin-bottom:22px}
.zeitenband .status{max-width:none}
.zeitenband address{font-style:normal;font-size:17px;line-height:1.7;margin-bottom:14px}
.zeitenband .kontaktwege{display:grid;gap:10px;font-size:16px}
.tel-gross{font-family:var(--serif);font-size:clamp(36px,3.4vw,52px);line-height:1;text-decoration:none;color:var(--gold)}
.tel-gross:hover{color:var(--creme)}

/* ---------- Öffnungszeiten-Tabelle ---------- */
.zeittabelle{width:100%;border-collapse:collapse;font-size:16px}
.zeittabelle th,.zeittabelle td{padding:12px 0;border-bottom:1px solid rgba(244,236,223,.14);font-weight:300;text-align:left;vertical-align:baseline}
.zeittabelle td{text-align:right;font-variant-numeric:tabular-nums}
.hell .zeittabelle th,.hell .zeittabelle td{border-color:rgba(29,24,20,.12)}
.zeittabelle .zu{color:var(--rosso-hell)}
.hell .zeittabelle .zu{color:var(--rosso)}
.zeittabelle tr.heute th,.zeittabelle tr.heute td{color:var(--gold-hell);font-weight:400}
.hell .zeittabelle tr.heute th,.hell .zeittabelle tr.heute td{color:var(--rosso)}
.zeittabelle tr.heute th::after{content:"heute";margin-left:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(205,187,152,.18);vertical-align:2px}

/* ---------- Laufband ---------- */
.laufband{background:var(--rosso);color:var(--creme);overflow:hidden;padding:clamp(7px,1vw,12px) 0;position:relative;z-index:2}
.laufband-spur{display:flex;width:max-content}
.laufband ul{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.laufband li{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3.2vw,48px);line-height:1;white-space:nowrap;padding:0 .3em;display:flex;align-items:center;gap:.55em}
.bewegt .laufband-spur{animation:laufband 60s linear infinite}
.laufband:hover .laufband-spur,.laufband.ausser-sicht .laufband-spur,.verborgen .laufband-spur{animation-play-state:paused}
@keyframes laufband{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.laufband li::after{content:"✦";font-style:normal;font-size:.3em;color:var(--gold-hell)}
.laufband li:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--creme)}

/* ---------- Kalabrien ---------- */
.anna-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,7vw,120px);align-items:start;position:relative;z-index:1}
.anna-bild{position:sticky;top:calc(var(--hinweis) + var(--kopf) + 40px);border-radius:0 0 200px 0;overflow:hidden;aspect-ratio:4/5;margin:0}
.anna-bild img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.bildtitel{position:absolute;left:18px;bottom:16px;color:#fff;font-size:13.5px;letter-spacing:.05em;text-shadow:0 1px 10px rgba(0,0,0,.7);margin:0}
.zahlen{margin-top:clamp(50px,6vw,90px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(29,24,20,.14)}
.zahl{padding:28px 22px 24px 0;border-bottom:1px solid rgba(29,24,20,.14)}
.zahl:nth-child(odd){border-right:1px solid rgba(29,24,20,.14)}
.zahl:nth-child(even){padding-left:26px}
.zahl .wert{font-family:var(--serif);font-size:clamp(52px,5.2vw,84px);line-height:1;color:var(--rosso)}
.zahl .wert small{font-size:.42em;margin-left:.12em;color:var(--tinte)}
.zahl p{margin:10px 0 0;font-size:15px;color:var(--tinte-2);line-height:1.45}

/* ---------- Bildstrecke „Ein Abend bei Anna“ ---------- */
.abend{position:relative;background:var(--nacht);padding:clamp(80px,9vw,140px) 0}
.abend-spur{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding:0 var(--rand)}
.abend-intro{grid-column:1/-1;max-width:640px;margin-bottom:10px}
.abend-intro p.leise{margin-top:22px}
.tafel{position:relative;margin:0}
.tafel .rahmen{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:6px}
.tafel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tafel.saalton img{filter:grayscale(1) sepia(.45) brightness(.82) contrast(1.1)}
.tafel .rahmen::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,9,7,.28),transparent 38%)}
.tafel .nr{position:absolute;left:22px;top:12px;z-index:2;font-family:var(--serif);font-size:clamp(56px,6vw,108px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(244,236,223,.75)}
.tafel figcaption{margin-top:18px}
.tafel .tafel-titel{font-family:var(--serif);font-size:clamp(28px,2.5vw,40px);line-height:1.05;margin:0}
.tafel .tafel-titel em{color:var(--gold)}
.tafel figcaption p:last-child{margin:8px 0 0;max-width:520px;color:var(--creme-leise);font-size:15.5px}

/* Scroll-Szenen (Entwurf 6B): nur aktiv, wenn das Skript sie einschaltet (große Desktop-Ansicht,
   keine reduzierte Bewegung). Werte werden per requestAnimationFrame weich interpoliert. */
.parallax .hero-bild .schieber{will-change:transform}
.quer .abend{height:290vh;padding:0}
.quer .abend-kleber{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.quer .abend-spur{display:flex;width:max-content;align-items:center;will-change:transform}
.quer .abend-intro{width:clamp(320px,32vw,540px);flex:none;margin:0}
.quer .tafel{flex:none;width:clamp(300px,52vw,900px)}
.quer .tafel .rahmen{aspect-ratio:auto;height:min(60vh,580px)}
.kreis .saal{height:150vh}
.kreis .saal-kleber{position:sticky;top:0;height:100vh;min-height:0;padding:0}
.kreis .saal-bild{clip-path:circle(16% at 72% 50%);will-change:clip-path}

/* ---------- Speisekarte ---------- */
.gerichte{list-style:none;margin:0 0 20px;padding:0}
.gerichte li,.gerichte .gericht{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 14px;align-items:baseline;padding:16px 10px 16px 0;border-bottom:1px solid rgba(29,24,20,.12);}
.gerichte li::before{content:"";position:absolute;inset:0 -12px;background:linear-gradient(90deg,rgba(164,72,56,.08),transparent);opacity:0;transition:opacity .35s;border-radius:6px;z-index:-1}
@media (hover:hover){.gerichte li:hover::before{opacity:1}.gerichte li:hover .nr{color:var(--rosso)}}
.gerichte .nr{font-family:var(--serif);font-size:20px;color:var(--tinte-2);transition:color .3s,transform .4s var(--ease)}
.gerichte .ohne-nr{grid-template-columns:minmax(0,1fr) auto}
.gerichte .name{font-size:17px;font-weight:400;color:var(--tinte);transition:transform .4s var(--ease)}
.gerichte .beschr,.gerichte small{display:block;font-size:14.5px;font-weight:300;color:var(--tinte-2);margin-top:2px}
.gerichte .preis{font-family:var(--serif);font-size:22px;white-space:nowrap;transition:transform .4s var(--ease)}
.dunkelkarte .gerichte li,.dunkelkarte .gerichte .gericht{border-color:rgba(244,236,223,.14)}
.dunkelkarte .gerichte li::before{background:linear-gradient(90deg,rgba(244,236,223,.07),transparent)}
.dunkelkarte .gerichte .name,.dunkelkarte .gerichte .preis{color:var(--creme)}
.dunkelkarte .gerichte .beschr,.dunkelkarte .gerichte small{color:rgba(244,236,223,.7)}
.dunkelkarte .gerichte .nr{color:rgba(244,236,223,.6)}

.karte-raster{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,6vw,110px);align-items:start}
.karte-seite{position:sticky;top:calc(var(--hinweis) + var(--kopf) + 30px)}
.karte-wort{font-family:var(--serif);font-style:italic;font-size:clamp(60px,7vw,124px);line-height:.95;color:var(--rosso);margin:0 0 6px;min-height:1em}
.karte-wort-de{font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tinte-2);margin:0 0 30px;min-height:1.4em}
.teller{position:relative;width:min(100%,400px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 40px 80px -40px rgba(60,30,20,.55);transition:transform .6s var(--ease)}
.teller img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.teller::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 10px rgba(250,246,239,.9),inset 0 0 0 11px rgba(29,24,20,.08)}
.stand-hinweis{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:0 0 30px;font-size:15px;color:var(--tinte-2)}
.stand-hinweis strong{color:var(--tinte);font-weight:500}
.sprungmarken ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sprungmarken a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(29,24,20,.2);border-radius:999px;text-decoration:none;font-size:14.5px}
.reiter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 30px}
.reiter[hidden]{display:none}
.reiter button{border:1px solid rgba(29,24,20,.2);background:transparent;border-radius:999px;min-height:44px;padding:0 15px;font-size:14px;font-weight:400;cursor:pointer;transition:background .3s,color .3s,border-color .3s;color:var(--tinte)}
.reiter button:hover{border-color:var(--tinte)}
.reiter button[aria-selected="true"]{background:var(--tinte);color:var(--papier);border-color:var(--tinte)}
.rubrik{margin-bottom:34px}
.rubrik h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3vw,42px);margin:0 0 6px;line-height:1.1}
.rubrik .notiz{margin:0 0 12px;color:var(--tinte-2);font-size:15.5px;font-style:italic}
.rubrik[hidden]{display:none}
.bewegt .rubrik.neu{animation:einblenden .3s ease-out both}
@keyframes einblenden{from{opacity:0}to{opacity:1}}
.karte-hinweise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;margin-top:40px;padding-top:34px;border-top:1px solid rgba(29,24,20,.14)}
.karte-hinweise h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 8px}
.karte-hinweise p{margin:0;font-size:15.5px;color:var(--tinte-2)}
.auswahl h3{font-family:var(--serif);font-weight:400;font-size:30px;margin:0 0 6px}
.rubriken-liste{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:6px 0;font-size:15.5px}
.rubriken-liste li{display:flex;align-items:center}
.rubriken-liste li:not(:last-child)::after{content:"·";margin:0 10px;color:var(--rosso)}
.abholung{padding-left:16px;border-left:2px solid var(--rosso);font-size:16px;color:var(--tinte-2);margin:0 0 30px}
.abholung strong{color:var(--tinte);font-weight:500}

/* ---------- Empfehlungskarte ---------- */
.glas{background:rgba(20,16,13,.26);border:1px solid rgba(244,236,223,.16);border-radius:18px;padding:clamp(22px,2.4vw,36px)}
.glas h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:30px;margin:0 0 6px;color:var(--gold-hell)}
.glas+.glas{margin-top:22px}
.stempel{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border:1px dashed rgba(230,214,180,.6);border-radius:10px;font-size:15px;max-width:520px;color:var(--gold-hell);margin:0 0 26px}
.stempel::before{content:"✦";flex:none}
.stempel strong{font-weight:500}
.stand-text{font-size:15.5px;color:rgba(244,236,223,.84);max-width:520px}
.fragen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fragen div{padding:22px;border-radius:14px;background:rgba(29,24,20,.04);border:1px solid rgba(29,24,20,.08)}
.fragen h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:26px}
.fragen p{margin:0;font-size:15.5px;color:var(--tinte-2)}

/* ---------- Feiern / Saal ---------- */
.saal{position:relative;background:var(--nacht);overflow:hidden}
@supports (overflow:clip){.saal{overflow:visible;overflow-x:clip}}
.saal-kleber{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;padding:calc(var(--kopf) + 40px) 0 80px}
.saal-bild{position:absolute;inset:0;margin:0}
.saal-bild img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.5) brightness(.6) contrast(1.12)}
.saal-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,13,.93) 0%,rgba(20,16,13,.62) 48%,rgba(127,50,38,.25) 100%)}
.saal-bild figcaption{position:absolute;right:var(--rand);bottom:20px;z-index:2;font-size:13.5px;color:rgba(244,236,223,.8)}
.saal-inhalt{position:relative;z-index:2;padding:0 var(--rand);max-width:780px}
.saal-inhalt p.fliess{margin:28px 0 34px;color:rgba(244,236,223,.9)}

/* ---------- Bewertung ---------- */
.bewertung{padding:clamp(64px,7vw,110px) var(--rand);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,4vw,60px);text-align:center}
.note-gross{font-family:var(--serif);font-size:clamp(96px,12vw,190px);line-height:.8;color:var(--rosso)}
.sterne{position:relative;display:inline-block;font-size:30px;letter-spacing:6px;color:rgba(29,24,20,.15);line-height:1}
.sterne i{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--gold);font-style:normal;width:var(--fuell,86%)}
.bewertung .text{text-align:left}
.bewertung .text .dach{margin-bottom:10px}
.bewertung .text strong{display:block;font-weight:500;color:var(--tinte);font-size:17px;margin-top:10px}
.bewertung .text span.leise{display:block;font-size:15px;margin-top:6px}

/* Google-Bewertung (Ersatzwerte, für Live-Werte vorbereitet) */
.google-hinweis{display:flex;width:fit-content;align-items:center;gap:8px;margin:0 0 12px;padding:5px 12px;border:1px solid rgba(29,24,20,.18);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--tinte)}
.google-hinweis::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rosso)}
.bewertung .textlink{display:inline-block;margin-top:14px;font-size:15.5px;color:var(--rosso)}

/* ---------- Kontakt ---------- */
.fakten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,70px)}
.fakten h2{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--rosso);margin:0 0 14px}
.fakten address{font-style:normal;font-size:18px;line-height:1.7;margin-bottom:20px}
.fakten .tel-gross{color:var(--rosso)}
.fakten .tel-gross:hover{color:var(--tinte)}
.bildband{position:relative;margin:0;overflow:hidden}
.bildband img{width:100%;height:clamp(300px,56vw,720px);object-fit:cover}
.bildband figcaption{position:absolute;left:var(--rand);bottom:18px;color:#fff;font-size:13.5px;text-shadow:0 1px 10px rgba(0,0,0,.7)}

/* ---------- Formulare (Designvorschau: senden nichts) ---------- */
.formular{background:var(--papier);color:var(--tinte);border-radius:18px;padding:clamp(22px,3vw,40px);box-shadow:0 30px 70px -40px rgba(20,16,13,.45);border:1px solid rgba(29,24,20,.08)}
.formular h2{margin-bottom:14px}
.entwurf-marke{display:block;background:rgba(164,72,56,.1);border-left:3px solid var(--rosso);padding:12px 16px;border-radius:4px;font-size:15px;color:var(--tinte);margin:0 0 18px}
.pflicht-hinweis{font-size:14px;color:var(--tinte-2);margin:0 0 20px}
.pflicht{color:var(--rosso)}
fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
legend{font-family:var(--serif);font-size:26px;padding:0;margin:0 0 12px;line-height:1.1}
.feldreihe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.feld{display:flex;flex-direction:column;margin-bottom:16px;min-width:0}
.feld label{font-size:14.5px;font-weight:400;margin-bottom:6px}
.feld input,.feld select,.feld textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(29,24,20,.28);border-radius:10px;background:#fff;color:var(--tinte);font-size:16px}
.feld textarea{min-height:120px;resize:vertical}
.feld input:focus-visible,.feld select:focus-visible,.feld textarea:focus-visible{outline:2px solid var(--rosso);outline-offset:1px;border-color:var(--rosso)}
.hilfe{font-size:13.5px;color:var(--tinte-2);margin-top:6px}
.hilfe.warnung{color:var(--rosso);font-weight:400}
.zustimmung{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:4px 0 22px;font-size:14.5px}
.zustimmung input{width:22px;height:22px;margin-top:2px;accent-color:var(--rosso)}
.zustimmung a{color:var(--rosso)}
.formular .knopf{width:100%}
.formular-status{display:none;margin-top:18px;padding:16px 18px;border-radius:10px;background:var(--stein);font-size:15px}
.formular-status.sichtbar{display:block}
.formular-status p{margin:0}

/* ---------- Rechtstexte ---------- */
.rechtstext{max-width:780px}
.rechtstext h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,38px);margin:1.6em 0 .4em;line-height:1.1}
.rechtstext p,.rechtstext li{font-size:17px}
.rechtstext ul{padding-left:1.2em}
.platzhalter{display:inline-block;padding:2px 10px;border-radius:6px;background:rgba(164,72,56,.1);color:var(--rosso-tief);font-style:italic}

/* ---------- Handlungsband (Ende der Inhaltsseiten) ---------- */
.handlung{position:relative;padding:clamp(70px,8vw,120px) var(--rand);background:var(--rosso-tief);color:var(--creme);isolation:isolate;overflow:hidden}
.handlung::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 90% at 90% 0%,rgba(var(--glut),.2),transparent 60%)}
.handlung .raster{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px 60px;align-items:end}
.handlung h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,80px);line-height:1;margin:0 0 16px;text-wrap:balance}
.handlung p{margin:0;color:rgba(244,236,223,.86);font-size:18px;max-width:560px}
.handlung .knoepfe{justify-content:flex-end}
.handlung .textlink{color:var(--creme)}

/* ---------- Fuß ---------- */
.fuss{background:var(--nacht);border-top:1px solid rgba(205,187,152,.14);padding:64px var(--rand) 36px;font-size:15px;color:var(--creme-leise)}
.fuss-raster{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:40px}
.fuss img{width:170px;margin-bottom:18px}
.fuss h2{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 14px}
.fuss ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fuss a{text-decoration:none;display:inline-block;padding:5px 0}
.fuss a:hover{color:var(--creme);text-decoration:underline}
.fuss address{font-style:normal;margin-bottom:10px;line-height:1.7}
.zeitliste li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(244,236,223,.08)}
.zeitliste .zu{color:var(--rosso-hell)}
.fuss-unten{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(205,187,152,.1);font-size:13.5px}

/* ---------- Handy-Leiste ---------- */
.leiste{display:none}

/* ---------- Einblenden ---------- */
.bewegt .rv,.bewegt .rv-bild{opacity:0;transform:translateY(14px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}
.bewegt .rv-bild{clip-path:inset(6% 4% 6% 4% round 8px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),clip-path 1.1s cubic-bezier(.22,1,.36,1)}
.bewegt .rv.da,.bewegt .rv-bild.da{opacity:1;transform:none}
.bewegt .rv-bild.da{clip-path:inset(0 0 0 0 round 0)}
.bewegt .anna-bild.rv-bild.da{clip-path:inset(0 0 0 0 round 0 0 200px 0)}


/* ---------- Ergänzungen ---------- */
.zeiten-kurz>span{display:block;padding:3px 0;font-size:16.5px}
.zeiten-kurz>span b{font-weight:500}
.zeiten-kurz .zu{color:var(--rosso-hell)}
.zeiten-kurz .textlink{display:inline-block;margin-top:14px}
.zeitenband .dach{margin-bottom:16px}
.status.auf-hell{background:var(--nacht);margin-top:22px;max-width:none}
.strecke .abend-spur{align-items:end}
.leise-zeile{margin-top:12px}
.fuss address{color:var(--creme-leise)}

.strecke .abend-spur{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch}
.strecke .tafel .rahmen{aspect-ratio:auto;height:clamp(320px,38vw,580px)}
@media (max-width:900px){.strecke .abend-spur{grid-template-columns:minmax(0,1fr)}.strecke .tafel .rahmen{height:72vw}}
/* Klickflächen: unsichtbar auf mindestens 44 px Höhe erweitert, ohne das Layout zu verschieben */
.textlink,.fuss a,.brotkrumen a,.tel-gross,.kopf-tel{position:relative}
.textlink::after,.fuss a::after,.brotkrumen a::after,.tel-gross::after,.kopf-tel::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}
.zustimmung input{width:24px;height:24px}
/* ====================== Responsiv ====================== */
@media (max-width:1100px){
  .nav .nl,.kopf-tel{display:none}
  .zeitenband .raster{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .zeitenband .raster>:last-child{grid-column:1/-1}
  .fuss-raster{grid-template-columns:repeat(2,minmax(0,1fr))}
  .karte-hinweise{grid-template-columns:minmax(0,1fr)}
}
/* Menü als Vollbild (Tablet und Handy) – nur mit JavaScript */
@media (max-width:1100px){
  .js .menue-knopf{display:block}
  .js .nav{position:fixed;inset:0;z-index:99;background:var(--nacht);display:flex;flex-direction:column;justify-content:center;padding:110px var(--rand) 120px;overflow-y:auto;
    visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s}
  .js .menue-offen .nav{visibility:visible;opacity:1;transition:opacity .35s}
  .js .nav ul{flex-direction:column;align-items:flex-start;gap:4px}
  .js .nav .nl,.js .nav .nur-menue{display:block}
  .js .nav .kopf-tel{display:inline-block;margin-top:18px;font-size:20px}
  .js .nav .nl{font-family:var(--serif);font-size:clamp(34px,8vw,56px);line-height:1.15;padding:4px 0}
  .js .nav .nl::after{display:none}
  .js .nav .knopf{margin-top:22px;min-height:52px}
  .js .kopf-rechts .knopf{display:none}
  /* ohne JavaScript: Navigation als umbrechende Zeile */
  .no-js .entwurf{position:relative}
  .no-js .kopf{position:relative;top:0;height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;background:var(--nacht)}
  .no-js .nav{width:100%}
  .no-js .nav ul{flex-wrap:wrap;gap:4px 18px}
  .no-js .nav .nl,.no-js .nav .nur-menue{display:inline-block}
  .no-js .nav .kopf-tel{display:inline-block;padding:8px 0}
  .no-js .hero-inhalt,.no-js .seitenkopf{padding-top:60px}
}
@media (min-width:1101px){.menue-knopf{display:none!important}}

@media (max-width:900px){
  :root{--kopf:66px;--hinweis:29px}
  body{font-size:16px;padding-bottom:78px}
  .entwurf{font-size:12px}
  .logo img{width:124px}
  .kopf-rechts{gap:10px}
  .hero-bild{--v:.495}
  .glut.g1{left:18.3%;top:20%;width:46%}
  .glut.g2{left:93.7%;top:26.6%;width:40%}
  .hero::before{background:linear-gradient(0deg,rgba(11,9,7,.95) 0%,rgba(11,9,7,.74) 48%,rgba(11,9,7,.2) 78%),linear-gradient(180deg,rgba(11,9,7,.7) 0%,rgba(11,9,7,0) 26%)}
  .hero-inhalt{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-titel .z2{padding-left:.3em}
  .hero .einleitung{margin:22px 0 26px}
  .hero .status{justify-self:stretch;max-width:none}
  .hinweis-scroll{display:none}
  .seitenkopf .raster,.zweispaltig,.anna-raster,.karte-raster,.handlung .raster,.fakten{grid-template-columns:minmax(0,1fr)}
  .handlung .knoepfe{justify-content:flex-start}
  .zeitenband .raster{grid-template-columns:minmax(0,1fr)}
  .anna-bild{position:relative;top:0;aspect-ratio:4/3.3;border-radius:0 0 110px 0}
  .bewegt .anna-bild.rv-bild.da{clip-path:inset(0 0 0 0 round 0 0 110px 0)}
  .karte-seite{position:relative;top:0;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:0 18px;align-items:center}
  .teller{width:120px;grid-row:1/3;grid-column:2}
  .karte-wort{font-size:clamp(46px,13vw,76px)}
  .karte-wort-de{margin-bottom:0}
  .reiter{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--rand) * -1) 26px;padding:6px var(--rand);scrollbar-width:none;position:sticky;top:calc(var(--hinweis) + var(--kopf));z-index:5;background:var(--papier)}
  .reiter::-webkit-scrollbar{display:none}
  .reiter button{flex:none}
  .fragen,.feldreihe{grid-template-columns:minmax(0,1fr)}
  .saal-inhalt{max-width:none}
  .bewertung .text{text-align:center}
  .bewertung .text .dach{justify-content:center}
  .google-hinweis{margin-left:auto;margin-right:auto}
  .fuss-raster{grid-template-columns:minmax(0,1fr)}
  .leiste{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:90;border-radius:16px;overflow:hidden;
    background:rgba(20,16,13,.94);border:1px solid rgba(205,187,152,.24);box-shadow:0 16px 40px -12px rgba(0,0,0,.6)}
  .leiste a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;text-decoration:none;font-size:13.5px;font-weight:400;color:var(--creme)}
  .leiste a+a{border-left:1px solid rgba(205,187,152,.18)}
  .leiste a.haupt{background:var(--gold);color:var(--tinte);font-weight:500}
  .leiste svg{width:19px;height:19px}
  .menue-offen .leiste{visibility:hidden}
}
@media (max-width:640px){
  .abend-spur{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  .zahlen{grid-template-columns:minmax(0,1fr)}
  .zahl:nth-child(odd){border-right:0}
  .zahl:nth-child(even){padding-left:0}
  .hero .knoepfe .knopf{flex:1 1 100%}
  .entwurf{font-size:12px;letter-spacing:0}
}
@media (max-width:360px){
  :root{--rand:16px}
  .logo img{width:112px}
  .hero-titel .z1{font-size:64px}
  .hero-titel .z2{font-size:48px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .knopf::before{display:none}
  .laterne{display:none!important}
}

/* ====================== Entwurf 6D: Biergarten, Galerien, neue Bildplätze ====================== */
.hell.stein-grund{background:var(--stein)}
.galerie img,.bogen img,.bogen-klein img,.paar-raster figure img,.tisch-bild img{width:100%;height:100%;object-fit:cover}

/* Biergarten auf der Startseite: Bogenrahmen wie der Eingang */
.bogen-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center;position:relative;z-index:1}
.bogen-text .fliess{margin-bottom:0}
.zahl.einzel{max-width:360px;margin:34px 0 30px;padding:24px 0 22px;border-top:1px solid rgba(29,24,20,.14);border-right:0}
.zahl .wert small.vor{margin:0 .22em 0 0;font-style:italic}
.bogen-bilder{position:relative;padding:0 0 clamp(48px,7vw,110px) clamp(40px,8vw,140px)}
.bogen{margin:0;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden}
.bewegt .bogen.rv-bild.da{clip-path:inset(0 0 0 0 round 999px 999px 6px 6px)}
.bogen-klein{position:absolute;left:0;bottom:0;width:42%;aspect-ratio:4/5;margin:0;border-radius:6px;overflow:hidden;border:10px solid var(--stein)}

/* Galerie Biergarten (Anna & Restaurant): drei Spalten, Mitte versetzt */
.galerie-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(40px,6vw,110px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.galerie-kopf .fliess{margin:0}
.galerie-kopf .titel{margin:0}
.galerie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:start}
.galerie figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:6px}
.galerie.versetzt figure:nth-child(3n+2){margin-top:clamp(30px,5vw,80px)}
@media (hover:hover){.galerie img{transition:transform 1.4s var(--ease)}.galerie figure:hover img{transform:scale(1.04)}}

/* Zweite Bildreihe in der Strecke (Anna & Restaurant) */
.strecke .abend-spur.paar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:clamp(28px,3.5vw,56px)}

/* Bildpaar mit Text (Feiern) */
.paar-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,.8fr);gap:clamp(20px,3vw,44px);align-items:start}
.paar-raster figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:6px}
.paar-raster figure.versatz{margin-top:clamp(40px,6vw,100px)}

/* Tischbild (Tisch reservieren) */
.tisch-bild{position:relative;margin:44px 0 0;aspect-ratio:4/5;max-width:460px;overflow:hidden;border-radius:0 0 140px 0}
.bewegt .tisch-bild.rv-bild.da{clip-path:inset(0 0 0 0 round 0 0 140px 0)}

@media (max-width:900px){
  .bogen-raster,.galerie-kopf{grid-template-columns:minmax(0,1fr)}
  .bogen-bilder{padding:0 0 64px 18%;max-width:560px}
  .strecke .abend-spur.paar{grid-template-columns:minmax(0,1fr)}
  .paar-raster{grid-template-columns:repeat(2,minmax(0,1fr))}
  .paar-text{grid-column:1/-1}
  .tisch-bild{max-width:none;aspect-ratio:4/4.4;border-radius:0 0 100px 0}
  .bewegt .tisch-bild.rv-bild.da{clip-path:inset(0 0 0 0 round 0 0 100px 0)}
}
@media (max-width:760px){
  .galerie{grid-template-columns:repeat(2,minmax(0,1fr))}
  .galerie.versetzt figure:nth-child(3n+2){margin-top:0}
  .galerie.versetzt figure:nth-child(even){margin-top:36px}
}
@media (max-width:520px){
  .bogen-klein{border-width:7px}
}
/* Galerie mit vier Motiven: vier Spalten, jede zweite versetzt */
.galerie.vier{grid-template-columns:repeat(4,minmax(0,1fr))}
.galerie.vier figure:nth-child(3n+2){margin-top:0}
.galerie.vier figure:nth-child(even){margin-top:clamp(30px,5vw,80px)}
@media (max-width:760px){
  .galerie.vier{grid-template-columns:repeat(2,minmax(0,1fr))}
  .galerie.vier figure:nth-child(even){margin-top:36px}
}

/* ====================== Entwurf 6E: Weihnachtsfeiern (Saison Herbst/Winter) ====================== */
.einladung-raster{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,7vw,120px);align-items:center;position:relative;z-index:1}
.einladung{position:relative;background:var(--papier);border-radius:4px;padding:clamp(30px,4vw,56px);box-shadow:0 40px 80px -50px rgba(60,30,20,.45)}
.einladung::before{content:"";position:absolute;inset:12px;border:1px solid rgba(164,72,56,.35);border-radius:2px;pointer-events:none}
.einladung-dach{font-family:var(--serif);font-style:italic;font-size:clamp(30px,2.8vw,42px);line-height:1.1;color:var(--rosso);margin:0 0 22px}
.einladung-liste{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid rgba(29,24,20,.12)}
.einladung-liste li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(29,24,20,.12);font-size:17px;color:var(--tinte)}
.einladung-liste li::before{content:"✦";font-size:11px;color:var(--gold);flex:none}
.einladung .knoepfe{position:relative}
.einladung .textlink{color:var(--tinte)}
.schritte{list-style:none;margin:18px 0 0;padding:0;counter-reset:schritt;display:grid;gap:18px}
.schritte li{counter-increment:schritt;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px}
.schritte li::before{content:counter(schritt,decimal-leading-zero);grid-row:1/3;font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold-hell)}
.schritte strong{font-weight:500;color:var(--creme)}
.schritte span{font-size:15.5px;color:rgba(244,236,223,.84)}
.rot .stempel{margin-top:6px}
@media (max-width:900px){
  .einladung-raster{grid-template-columns:minmax(0,1fr)}
}
[data-gueltig-bis][hidden]{display:none!important}

/* ================= Entwurf 6G: hell & festlich, mehr Fotos, ruhiger Lauf ================= */
html{overflow-x:clip}
.tafel img{filter:brightness(1.04) saturate(1.04)}
/* Festsaal (Start + Feiern): hell, warm, mit sanftem Lichtschimmer */
.festsaal{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#FBF4E8 0%,#F7EBDD 100%)}
.fest-glanz{position:absolute;inset:-20% -10%;z-index:-1;pointer-events:none;
  background:radial-gradient(38% 30% at 18% 22%,rgba(205,187,152,.38),transparent 70%),radial-gradient(30% 26% at 82% 18%,rgba(196,74,92,.16),transparent 70%),radial-gradient(36% 30% at 70% 88%,rgba(205,160,90,.22),transparent 72%)}
.bewegt .fest-glanz{animation:glanz 18s ease-in-out infinite alternate}
@keyframes glanz{from{transform:translate3d(-1.5%,0,0) scale(1)}to{transform:translate3d(1.5%,-1%,0) scale(1.04)}}
.festsaal-raster{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,90px);align-items:center;max-width:1320px;margin:0 auto}
.festsaal-text .fliess{margin:26px 0 0}
.fest-fakten{list-style:none;margin:30px 0 34px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fest-fakten li{background:rgba(255,255,255,.66);border:1px solid rgba(164,72,56,.14);border-radius:14px;padding:16px 14px;box-shadow:0 18px 40px -30px rgba(120,60,30,.5)}
.fest-fakten strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,36px);line-height:1;color:var(--rosso)}
.fest-fakten span{display:block;margin-top:6px;font-size:14px;line-height:1.35;color:var(--tinte-2)}
.fest-collage{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(12px,1.4vw,20px);min-height:clamp(420px,46vw,680px)}
.fest-collage figure{margin:0;overflow:hidden;border-radius:14px;box-shadow:0 30px 60px -36px rgba(80,40,20,.55);background:#e9dccb}
.fest-collage img,.fest-galerie img,.bg-galerie img,.raum-gross img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.fc-gross{grid-row:1/3;border-radius:200px 200px 14px 14px!important}
@media (hover:hover){.fest-collage figure:hover img,.fest-galerie figure:hover img,.bg-galerie figure:hover img{transform:scale(1.04)}}
/* Feiern: festlicher Seitenkopf statt Schwarz */
.seitenkopf.festlich{background:radial-gradient(70% 90% at 80% 10%,rgba(205,160,90,.45),transparent 60%),radial-gradient(60% 80% at 10% 100%,rgba(196,74,92,.35),transparent 60%),linear-gradient(160deg,#6E2A22 0%,#8C3A2C 45%,#5A2219 100%)}
.lichterkette{position:absolute;left:0;right:0;top:calc(var(--hinweis) + var(--kopf) + 6px);height:60px;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle,rgba(255,226,160,.95) 0 2px,rgba(255,210,130,.35) 3px,transparent 7px);background-size:56px 30px;background-position:0 12px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.bewegt .lichterkette{animation:funkeln 3.2s ease-in-out infinite alternate}
@keyframes funkeln{from{opacity:.55}to{opacity:1}}
.seitenkopf.festlich .raster,.seitenkopf.festlich .brotkrumen{position:relative;z-index:1}
.fest-raeume{padding-top:clamp(40px,5vw,80px)}
.raum-gross{position:relative;margin:0 auto clamp(40px,5vw,70px);max-width:1320px;aspect-ratio:1500/643;border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -50px rgba(80,40,20,.6)}
.raum-gross figcaption{position:absolute;left:18px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(250,246,239,.88);color:var(--tinte);font-size:13px}
.raeume-raster{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,70px);max-width:1320px;margin:0 auto;align-items:start}
.raeume-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.raum-karte{background:rgba(255,255,255,.7);border:1px solid rgba(164,72,56,.14);border-radius:16px;padding:clamp(20px,2vw,30px)}
.raum-karte h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:26px;line-height:1.15;margin:0 0 10px;color:var(--rosso)}
.raum-karte p{margin:0 0 10px;color:var(--tinte-2);font-size:16px}
/* Galerien */
.fest-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,70px);align-items:end;max-width:1320px;margin:0 auto clamp(30px,4vw,54px)}
.fest-kopf .fliess{margin:0}
.fest-galerie{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(200px,20vw,320px);gap:clamp(10px,1.2vw,18px);max-width:1320px;margin:0 auto}
.fest-galerie figure,.bg-galerie figure{margin:0;overflow:hidden;border-radius:12px;background:#e9dccb}
.fest-galerie figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.fest-galerie figure:nth-child(4){grid-column:4;grid-row:1/3}
.bg-galerie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(220px,24vw,380px);gap:clamp(10px,1.2vw,18px);max-width:1320px;margin:0 auto}
.bg-galerie .bg-hoch{border-radius:200px 200px 12px 12px}
@media (max-width:900px){
  .festsaal-raster,.raeume-raster,.fest-kopf{grid-template-columns:minmax(0,1fr)}
  .fest-collage{min-height:0;grid-template-rows:auto auto}
  .fc-gross{grid-row:auto;grid-column:1/-1;aspect-ratio:4/4.4;border-radius:160px 160px 14px 14px!important}
  .fc-oben,.fc-unten{aspect-ratio:4/5}
  .raeume-text{grid-template-columns:minmax(0,1fr)}
  .raum-gross{aspect-ratio:auto}
}
@media (max-width:760px){
  .fest-fakten{grid-template-columns:minmax(0,1fr)}
  .fest-fakten li{display:flex;align-items:baseline;gap:12px}
  .fest-fakten span{margin:0}
  .raum-gross{aspect-ratio:4/5}
  .fest-galerie{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:46vw}
  .fest-galerie figure:nth-child(1),.fest-galerie figure:nth-child(4){grid-column:1/-1;grid-row:auto}
  .bg-galerie{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:56vw}
}
/* Google: echte Stimmen (werden nur bei Live-Daten eingeblendet) */
.google-stimmen{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1240px;margin:20px auto 0;text-align:left}
.google-stimmen[hidden]{display:none}
.stimme{margin:0;background:var(--papier);border:1px solid rgba(29,24,20,.1);border-radius:16px;padding:20px 22px;box-shadow:0 20px 50px -40px rgba(20,16,13,.5)}
.stimme .sterne-klein{color:var(--gold);letter-spacing:2px;font-size:15px}
.stimme blockquote{margin:10px 0 12px;color:var(--tinte);font-size:15.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.stimme.offen blockquote{display:block}
.stimme .mehr{background:none;border:0;padding:0;color:var(--rosso);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}
.stimme figcaption{font-size:13.5px;color:var(--tinte-2)}
.stimme figcaption a{color:inherit}
.google-quelle{flex-basis:100%;margin:6px 0 0;font-size:12.5px;color:var(--tinte-2);text-align:center}
@media (prefers-reduced-motion:reduce){.bewegt .fest-glanz,.bewegt .lichterkette{animation:none}}
.google-stimmen{align-items:start}
.google-quelle{grid-column:1/-1}
.stein .dach{color:var(--rosso)}
.stein .titel em,.stein .titel .kursiv{color:var(--rosso)}
.stein .fliess,.stein .leise{color:var(--tinte-2)}
.glas h3{line-height:1.15}
.links-karte{margin-top:34px}
@media (max-width:900px){.links-karte{margin-top:26px}}
/* Aktuell: Dessert am Rechner links unter dem Text, am Handy nach den Hauptgerichten */
@media (min-width:901px){
  #wochenkarte{grid-template-rows:auto 1fr;row-gap:34px}
  #wochenkarte>.dunkelkarte:not(.links-karte){grid-column:2;grid-row:1/3}
  #wochenkarte>.links-karte{grid-column:1;grid-row:2;align-self:start;margin-top:0}
}
/* Speisekarte (Handy): wischbare Reiter am Rand sanft ausblenden */
@media (max-width:900px){.reiter{-webkit-mask:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%)}}
.rot .glas h3,.glas h3{line-height:1.15}
