@import url(fonts/fonts.css);
:root{
  --bg:#121110;--bg2:#1a1816;--bg3:#211e1b;--line:#2f2b26;
  --text:#ece6da;--muted:#a69f92;--gold:#c9a96a;--gold2:#e2c88f;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0}
h2{font-size:clamp(36px,5vw,54px);margin:10px 0 18px}
h3{font-size:28px}
em{font-style:italic;color:var(--gold)}
p{margin:0 0 1em;color:var(--muted)}
.strich{width:52px;height:1px;background:var(--gold);margin:22px 0}
.mitte{text-align:center}.mitte .strich{margin-left:auto;margin-right:auto}

.btn{display:inline-block;padding:13px 28px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:none;font-family:var(--sans);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--gold);color:var(--bg)}
.btn.voll{background:var(--gold);color:var(--bg)}
.btn.voll:hover{background:var(--gold2);border-color:var(--gold2)}

/* Kopfzeile */
header{position:fixed;inset:0 0 auto;z-index:20;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.fest{background:rgba(18,17,16,.94);border-color:var(--line);backdrop-filter:blur(6px)}
.kopf{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:var(--serif);font-size:24px;letter-spacing:.18em;text-decoration:none;white-space:nowrap}
.logo span{color:var(--gold)}
nav{display:flex;gap:28px;align-items:center}
nav a{text-decoration:none;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .2s}
nav a:hover{color:var(--gold)}
.menue-knopf{display:none;background:none;border:0;color:var(--text);font-size:26px;cursor:pointer;padding:6px}

/* Startbild */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:120px 24px 80px;
  background:linear-gradient(rgba(12,11,10,.62),rgba(12,11,10,.78)),url(img/neu/hero.jpg) center/cover no-repeat}
.hero h1{font-size:clamp(52px,9vw,104px);margin:18px 0 0}
.hero p{max-width:520px;margin:0 auto 34px;color:#cfc7b8;font-size:18px}
.hero .knoepfe{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Info-Leiste */
.leiste{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.leiste .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.leiste div.feld{padding:28px 20px;text-align:center;border-right:1px solid var(--line)}
.leiste div.feld:last-child{border-right:0}
.leiste .kicker{display:block;margin-bottom:6px;font-size:11px}
.leiste a{text-decoration:none}

section{padding:110px 0}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.bilder2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bilder2 img{aspect-ratio:3/4;object-fit:cover;width:100%}
.bilder2 img:last-child{margin-top:56px}
.zeit{border-left:1px solid var(--gold);padding-left:18px;margin:26px 0}
.zeit b{display:block;font-family:var(--serif);font-weight:500;font-size:21px;color:var(--text);margin-bottom:4px}

/* Küche */
.kueche{background:var(--bg2)}
.karten{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.karte{background:var(--bg3);border:1px solid var(--line)}
.karte img{aspect-ratio:4/3;object-fit:cover;width:100%}
.karte .innen{padding:26px 26px 30px}
.karte h3{margin-bottom:10px}
.karte p{font-size:15.5px;margin:0}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px;margin-top:50px}
.galerie img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.galerie img:hover{opacity:.82}
.galerie .gross{grid-column:span 2;grid-row:span 2}
.galerie .breit{grid-column:span 2}

/* Feiern */
.feiern{background:linear-gradient(rgba(12,11,10,.8),rgba(12,11,10,.86)),url(img/neu/terrasse.jpg) center/cover no-repeat;text-align:center}
.anlaesse{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:30px 0 36px}
.anlaesse span{border:1px solid var(--line);background:rgba(18,17,16,.6);padding:9px 20px;font-size:14px;letter-spacing:.06em;color:var(--text)}

/* Reservierung */
.reserv{background:var(--bg2)}
.reserv-box{max-width:760px;margin:40px auto 0;text-align:center;border:1px solid var(--line);background:var(--bg3);padding:44px 28px}
.reserv-box .tel{font-family:var(--serif);font-size:34px;color:var(--text);text-decoration:none;display:inline-block;margin:6px 0 24px}
#quandoo-booking-widget{margin-top:26px;text-align:left}
.klein{font-size:13px;color:#7d776c;margin-top:16px}

/* Fußzeile */
footer{background:#0d0c0b;border-top:1px solid var(--line);padding:70px 0 34px;font-size:15px}
.fuss{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
footer h4{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
footer p,footer li{color:var(--muted);margin:0}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:6px}
footer a{text-decoration:none;color:var(--muted);transition:color .2s}
footer a:hover{color:var(--gold)}
.unten{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#7d776c}
.unten a{color:#7d776c;margin-left:18px}

/* Unterseiten (Impressum, Datenschutz, Speisekarte) */
.seite{padding:150px 0 90px}
.seite .text{max-width:760px}
.seite h2{margin-bottom:26px}
.seite h3{font-size:24px;margin:34px 0 10px;color:var(--text)}
.seite p{color:#bdb5a7}

/* Einblenden beim Scrollen */
.rein{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.rein.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rein{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media (max-width:900px){
  nav{position:fixed;inset:72px 0 auto;background:rgba(18,17,16,.98);flex-direction:column;gap:0;border-bottom:1px solid var(--line);display:none}
  nav.offen{display:flex}
  nav a{padding:16px;width:100%;text-align:center;border-top:1px solid var(--line)}
  .menue-knopf{display:block}
  .zwei,.fuss{grid-template-columns:1fr;gap:44px}
  .karten{grid-template-columns:1fr}
  .galerie{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .leiste .wrap{grid-template-columns:1fr}
  .leiste div.feld{border-right:0;border-bottom:1px solid var(--line);padding:20px}
  .leiste div.feld:last-child{border-bottom:0}
  section{padding:80px 0}
  .unten a{margin:0 18px 0 0}
}
.feiern{text-align:left}
.feiern .anlaesse{justify-content:flex-start}
.flyer img{max-width:420px;width:100%;margin-left:auto;box-shadow:0 20px 50px rgba(0,0,0,.5)}
@media (max-width:900px){.flyer img{margin:0 auto}}

/* Scroll-Geschichte am Anfang der Startseite */
.story{position:relative}
.story .buehne{position:relative;overflow:hidden;background:#0b0a09}
.szene-bild{background-size:cover;background-position:center;min-height:100svh}
.schleier{display:none}
.story .texte{position:relative}
.szene-text{padding:140px 0 80px;max-width:620px}
.szene-text h1,.szene-text h2{font-size:clamp(48px,8vw,96px);line-height:1.02;margin:14px 0 18px}
.szene-text p{font-size:19px;color:#d6cebf;max-width:460px}
.szene-text .knoepfe{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.fortschritt,.scroll-hinweis{display:none}
/* mit Animation: eine feste Bühne, die beim Scrollen stehen bleibt */
.story.an{height:calc(var(--n) * 100svh)}
.story.an .buehne{position:sticky;top:0;height:100svh}
.story.an .szene-bild{position:absolute;inset:-4%;min-height:0;will-change:transform,opacity,filter;opacity:0}
.story.an .schleier{display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.82) 0%,rgba(10,9,8,.45) 55%,rgba(10,9,8,.25) 100%),linear-gradient(0deg,rgba(10,9,8,.6),transparent 40%)}
.story.an .texte{position:absolute;inset:0;margin:0 auto;left:0;right:0}
.story.an .szene-text{position:absolute;top:50%;margin-top:-170px;padding:0;will-change:transform,opacity,filter;opacity:0}
.story.an .fortschritt{display:block;position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.08)}
.story.an .fortschritt span{display:block;height:100%;width:0;background:var(--gold)}
.story.an .scroll-hinweis{display:block;position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:opacity .4s}
.story.gescrollt .scroll-hinweis{opacity:0}
@media (max-width:900px){.story.an .szene-text{margin-top:-150px;padding-right:24px}.story.an .schleier{background:rgba(10,9,8,.6)}}

/* Logo wie auf dem Flyer */
.logo{display:block;line-height:0;letter-spacing:0}
.logo-svg{height:60px;width:auto;display:block}
.logo-svg.gross{height:120px;margin-bottom:10px}
@media (max-width:900px){.logo-svg{height:48px}}

/* Rundgang durchs Restaurant (vom Scrollen gesteuerte Bildfolge) */
.durchgang .buehne{position:relative;height:100svh;overflow:hidden;background:#0b0a09}
.durchgang canvas{display:none}
.durchgang .erstbild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.durchgang .schleier{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.82),rgba(10,9,8,.35) 55%,rgba(10,9,8,.15)),linear-gradient(0deg,rgba(10,9,8,.55),transparent 35%)}
.durchgang .texte{position:absolute;inset:0;left:0;right:0}
.dg-text{position:absolute;top:50%;margin-top:-110px;max-width:600px}
.dg-text h1,.dg-text h2{font-size:clamp(46px,7.5vw,92px);line-height:1.02;margin:14px 0 16px}
.dg-text p{font-size:19px;color:#ddd5c6;max-width:440px}
.durchgang .dg-text:not(:first-child),.durchgang .fortschritt,.durchgang .scroll-hinweis{display:none}
.durchgang.an{height:calc(var(--n) * 1.9svh + 100svh)}
.durchgang.an .buehne{position:sticky;top:0}
.durchgang.an canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.durchgang.an .erstbild{display:none}
.durchgang.an .dg-text{display:block;opacity:0;will-change:transform,opacity,filter}
.durchgang.an .fortschritt{display:block;position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.08)}
.durchgang.an .fortschritt span{display:block;height:100%;width:0;background:var(--gold)}
.durchgang.an .scroll-hinweis{display:block;position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:opacity .4s}
.durchgang.gescrollt .scroll-hinweis{opacity:0}
@media (max-width:900px){.dg-text{padding-right:24px}.durchgang .schleier{background:rgba(10,9,8,.58)}}
.unsichtbar{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dg-logo{left:0;right:0;margin:0 auto;text-align:center;max-width:none;top:50%;margin-top:-120px}
.dg-logo img{width:min(340px,60vw);height:auto;margin:0 auto 22px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.55))}
.dg-logo p{margin:0 auto;max-width:none;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:#efe6d6;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.durchgang .schleier{background:radial-gradient(ellipse at center,rgba(10,9,8,.55),rgba(10,9,8,.25) 70%)!important}
.durchgang.an .scroll-hinweis{display:none}
@media (max-width:900px){.dg-logo{padding-right:0;margin-top:-100px}}
.durchgang .erstbild{filter:none}

/* Veranstaltungen */
.seite-oben{padding-top:150px}
.veranst{background-size:cover;background-position:center;min-height:100svh;display:flex;align-items:center}
.gross-titel{font-size:clamp(40px,6vw,74px);line-height:1.05;margin:14px 0 20px}
.einleitung{font-size:19px;max-width:640px;margin:0 auto 40px;color:#d6cebf}
.anlass-knoepfe{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:820px;margin:0 auto 46px}
.anlass{display:block;padding:24px 16px;border:1px solid var(--line);background:rgba(18,17,16,.7);text-decoration:none;font-family:var(--serif);font-size:24px;color:var(--text);transition:border-color .2s,color .2s,background .2s}
.anlass:hover{border-color:var(--gold);color:var(--gold);background:rgba(18,17,16,.9)}
.anfrage{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.zwei .anfrage{justify-content:flex-start;margin-top:30px}
.zurueck{display:inline-block;margin-bottom:26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.zurueck:hover{color:var(--gold)}
.anlass-bild{width:100%;max-height:72vh;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.5)}
@media (max-width:900px){.anlass-knoepfe{grid-template-columns:repeat(2,1fr)}.anlass{font-size:20px;padding:18px 10px}}
.anlass-bild[src*="weihnachtsfeier"]{object-fit:contain;max-height:none;max-width:440px;margin:0 auto}
.unten .bald{font-family:var(--serif);font-size:22px;color:var(--text);letter-spacing:.02em}
.ueber-zwischen{font-family:var(--serif);font-size:28px;margin:30px 0 10px;color:var(--text)}
.ueber-text{max-width:820px}

/* Markenname immer wie im Logo */
.marke{font-family:'Montserrat',Arial,sans-serif;font-weight:800;font-style:normal;letter-spacing:.02em;color:inherit}
em .marke,.kicker .marke{color:inherit}

/* Speisekarte */
.menue-kopf{padding-bottom:50px}
.kat-chips{position:sticky;top:72px;z-index:10;display:flex;gap:8px;overflow-x:auto;padding:12px 24px;background:rgba(18,17,16,.95);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none;justify-content:safe center}
.kat-chips::-webkit-scrollbar{display:none}
.kat-chips a{flex:none;padding:7px 14px;border:1px solid var(--line);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;white-space:nowrap}
.kat-chips a:hover{border-color:var(--gold);color:var(--gold)}
.menue{padding:40px 0 100px}
.kat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:60px;align-items:start;padding:70px 0;border-bottom:1px solid var(--line);scroll-margin-top:140px}
.kat.gespiegelt .kat-bild{order:0}
.kat-bild{position:sticky;top:150px}
.kat-bild img{width:100%;aspect-ratio:860/1156;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.kat-liste h2{font-size:clamp(34px,4vw,48px);margin:0 0 6px}
.kat-hinweis{font-size:14px;color:var(--gold);letter-spacing:.04em;margin-bottom:22px}
.kat-liste ul{list-style:none;margin:0;padding:0}
.kat-liste li{padding:14px 0;border-bottom:1px dashed #2a2622}
.g-kopf{display:flex;align-items:baseline;gap:10px}
.g-name{font-family:var(--serif);font-size:22px;color:var(--text)}
.g-linie{flex:1;border-bottom:1px dotted #4a443c;transform:translateY(-4px);min-width:20px}
.g-preis{font-size:16px;color:var(--gold);white-space:nowrap}
.g-text{font-size:14.5px;margin:4px 0 0;color:var(--muted);line-height:1.55}
.allergene{text-align:center;font-size:14px;margin-top:50px}
@media (max-width:900px){.kat{grid-template-columns:1fr;gap:26px;padding:50px 0}.kat-bild{position:static;max-width:420px}.kat-chips{justify-content:flex-start}}

/* Aufklappbare Speisekarte */
.buch-bereich{padding:30px 16px 100px}
.buch-rahmen{max-width:760px;margin:0 auto}
#buch{margin:0 auto}
.blatt{background:#f5efe4;overflow:hidden}
.blatt img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.buch-steuerung{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.buch-steuerung .btn{padding:10px 20px}
#buch-seite{font-size:14px;letter-spacing:.12em;color:var(--muted);min-width:70px;text-align:center}
.buch-knoepfe{margin-top:40px}
.buch-steuerung{flex-wrap:wrap}
#zoom-fenster{position:fixed;inset:0;z-index:100;background:rgba(8,7,6,.96);display:flex;flex-direction:column}
#zoom-fenster[hidden]{display:none}
.zoom-leiste{display:flex;justify-content:flex-end;gap:12px;padding:14px 18px;flex:none}
.zoom-inhalt{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;gap:6px;padding:0 18px 18px}
.zoom-inhalt img{height:calc(100vh - 90px);width:auto;max-width:none;cursor:zoom-in;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.zoom-inhalt.nah{justify-content:flex-start}
.zoom-inhalt.nah img{height:auto;width:min(1400px,180vw);cursor:zoom-out}
@media (max-width:900px){.zoom-inhalt img{height:auto;width:100%}.zoom-inhalt{flex-direction:column;align-items:center}.zoom-inhalt.nah img{width:220vw}}
span.anlass{cursor:default}span.anlass:hover{border-color:var(--line);color:var(--text);background:rgba(18,17,16,.7)}

/* Bilder-Collage Veranstaltungen */
.collage-bereich{padding:90px 0 110px}
.collage{columns:3 280px;column-gap:12px;margin-top:40px}
.collage img{width:100%;margin:0 0 12px;break-inside:avoid;display:block;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.angebot-knopf{margin-bottom:34px;font-size:15px;padding:15px 44px;letter-spacing:.3em}
.angebot-start{padding:100px 0;border-top:1px solid var(--line)}
.liefer{display:flex;flex-wrap:wrap;gap:8px}
.liefer-logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;padding:7px 12px;height:38px}
.liefer-logo img{height:20px;width:auto;display:block}
.route{display:inline-block;margin-top:10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important}
.durchgang.an canvas{transform-origin:50% 50%;will-change:transform,filter}
.tel-unten{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.tel-unten .btn{font-size:15px;padding:16px 36px}

/* Reservieren: Hinweis und Anfrageformular */
.reserv-hinweis{font-size:18px;color:#d6cebf;max-width:560px;margin:0 auto 10px}
.reserv-box .klein{margin-top:14px}
.anfrage-box{text-align:left;margin-top:28px}
.anfrage-titel{font-family:var(--serif);font-size:32px;color:var(--text);margin:0 0 8px;text-align:center}
.anfrage-box>p{text-align:center;max-width:560px;margin:0 auto 26px}
#anfrage-form label{display:block;font-size:13px;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
#anfrage-form input:not([type=checkbox]),#anfrage-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;background:#151311;border:1px solid var(--line);color:var(--text);font:inherit;font-size:16px;letter-spacing:0;border-radius:0}
#anfrage-form input:focus,#anfrage-form textarea:focus{outline:none;border-color:var(--gold)}
.feld-reihe{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#anfrage-form .zustimmung{display:flex;gap:10px;align-items:flex-start;letter-spacing:0;font-size:14px;line-height:1.5}
.zustimmung input{margin-top:3px;accent-color:var(--gold)}
.zustimmung a{color:var(--gold)}
#anfrage-form button{margin-top:6px}
.form-meldung{margin:16px 0 0;font-size:15px;min-height:1em}
.form-meldung.ok{color:#9ed29a}.form-meldung.fehler{color:#e59a8f}
@media (max-width:700px){.feld-reihe{grid-template-columns:1fr;gap:0}}

/* Handy: Logo mittig oben */
@media (max-width:900px){
  .kopf{position:relative;justify-content:center}
  .kopf .logo{margin:0 auto}
  .menue-knopf{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
}
@media (max-width:900px){.dg-logo p{padding:0 24px;font-size:12px;letter-spacing:.24em;line-height:1.8}}

/* Zoom-Effekt an den Rändern des Rundgangs */
.rand-zoom{display:none}
.durchgang.an .rand-zoom{display:block;position:absolute;inset:0;pointer-events:none;transition:transform .25s ease-out;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  -webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,transparent 55%,#000 100%);mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,transparent 55%,#000 100%)}
a.liefer-logo{transition:transform .15s}a.liefer-logo:hover{transform:translateY(-2px)}

/* Newsletter-Anmeldung */
.nl-streifen{background:var(--bg3);border-top:1px solid var(--line)}
.nl-streifen-innen{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:30px;flex-wrap:wrap}
.nl-streifen p{margin:6px 0 0;color:var(--text);font-family:var(--serif);font-size:24px;line-height:1.3}
.nl-seite{padding-bottom:70px}
.nl-tisch{text-align:center;border:1px solid var(--line);background:var(--bg2);padding:26px 20px 12px;margin:30px auto 0;max-width:640px}
.nl-tisch .btn{font-size:15px;padding:16px 34px}
.nl-tisch .klein{margin-top:12px}
.nl-form{max-width:640px;margin:34px auto 0;border:1px solid var(--line);background:var(--bg3);padding:34px 30px;display:grid;gap:18px}
.nl-reihe{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nl-form label{display:grid;gap:6px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.nl-optional{text-transform:none;letter-spacing:0;color:var(--muted)}
.nl-form input:not([type=checkbox]){width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);font:16px var(--sans);padding:13px 14px;letter-spacing:0;text-transform:none;color-scheme:dark}
.nl-form input:focus{outline:none;border-color:var(--gold)}
.nl-form label.nl-check{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.55;color:var(--muted)}
.nl-check input{margin-top:4px;width:20px;height:20px;accent-color:var(--gold);flex:none}
.nl-falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-form .klein{margin:0;font-size:13px}
.nl-insta{margin-top:30px}
.nl-antwort{max-width:620px;margin:0 auto;padding:40px 22px 70px;text-align:center}
.nl-antwort h1{font-size:clamp(34px,6vw,48px);margin:10px 0 18px}
.nl-antwort .btn{margin:6px}
.nl-logo{width:190px;height:auto;margin:0 auto 30px}
.nl-gutschein{border:1px dashed var(--gold);background:var(--bg3);padding:26px 20px 10px;margin:26px 0}
.nl-code{font-family:var(--serif);font-size:54px;letter-spacing:.18em;color:var(--gold2);margin:8px 0 12px}
.nl-ok,.nl-fehler,.nl-eingeloest{padding:14px;border:1px solid;margin:18px 0}
.nl-ok{border-color:#5c8a4e;color:#bfe3b1}.nl-fehler{border-color:#8a4e4e;color:#f0b8b8}.nl-eingeloest{border-color:var(--line)}
.nl-kellner{display:flex;gap:10px;justify-content:center;margin-top:20px}
.nl-kellner input{background:var(--bg);border:1px solid var(--line);color:var(--text);font:26px var(--sans);letter-spacing:.2em;padding:10px 14px;width:200px;text-transform:uppercase;text-align:center}
@media (max-width:640px){.nl-reihe{grid-template-columns:1fr}.nl-form{padding:26px 18px}.nl-streifen-innen{justify-content:center;text-align:center}.nl-kellner{flex-direction:column;align-items:center}}
nav a.nav-geschenk{color:var(--bg);background:var(--gold);padding:7px 14px}
nav a.nav-geschenk:hover{background:var(--gold2);color:var(--bg)}
nav a{white-space:nowrap}
@media (min-width:901px) and (max-width:1200px){nav{gap:16px}nav a{font-size:11.5px;letter-spacing:.1em}nav a.nav-geschenk{padding:6px 10px}}
.nl-qr{background:#fff;width:230px;max-width:80%;margin:14px auto 4px;padding:6px;border-radius:6px}
.nl-qr svg{display:block;width:100%;height:auto}
.nl-geb{border:1px solid var(--gold);background:rgba(201,169,106,.07);padding:18px;display:grid;gap:12px}
.nl-geb-titel{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--text)}
.nl-geb-hinweis{margin:0;color:var(--gold2);font-size:14px}

/* Sprachwahl rechts am Rand */
.sprache{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;background:rgba(18,17,16,.92);border:1px solid var(--line);border-right:0;backdrop-filter:blur(6px)}
.sprache a{display:block;padding:9px 11px;font-size:12px;letter-spacing:.14em;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line)}
.sprache a:last-child{border-bottom:0}
.sprache a:hover{color:var(--gold)}
.sprache a.an{background:var(--gold);color:var(--bg)}
@media (max-width:900px){.sprache{top:auto;bottom:90px;transform:none}.sprache a{padding:8px 9px;font-size:11px}}
