/* Das Blum – Relaunch 2026 ("Nachtblau", Entwurf 1)
   Wird NACH styles.css / styles_mobile.css geladen und überschreibt deren Layout.
   Inhalte, Menü und Abschnitte kommen unverändert aus der DB; alte Dateien bleiben (CMS-Editor nutzt styles.css). */

:root{
	--blue:#0e5068;--deep:#072834;--ocean:#077b81;--mint:#a8dcd5;--paper:#f4efe6;--ink:#0b2f3d;
	--soft:rgba(255,255,255,.76);--line:rgba(255,255,255,.18);
	--hh:76px;--menu-height:76px;--ease:cubic-bezier(.2,.7,.2,1);
	--bg:var(--deep);--bg2:var(--deep);--bg2-alpha:transparent;--accent:var(--ocean);
	--wrap:min(1180px,calc(100% - 2.5rem));
}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{background:var(--deep);color:#fff;font-size:clamp(1rem,.95rem + .25vw,1.18rem);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
body.menuOpen{overflow:hidden}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}
.abstand,.abstand::after{display:none!important}
.mobileOnly{display:none!important}
.noHeader{height:var(--hh)}

/* Lesefortschritt (ganz oben, ueber der Kopfzeile) */
.blum-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100020;background:linear-gradient(90deg,var(--mint),#fff);transform-origin:0 50%;transform:scaleX(0);pointer-events:none;will-change:transform}

/* ---------- Kopfzeile ---------- */
.topSection{position:fixed;inset:0 0 auto 0;width:100%;height:var(--hh);padding:0;background:transparent;z-index:21;transition:none}
.topSection .bg{display:block;position:absolute;inset:0;z-index:-1;background:rgba(7,40,52,.82);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line);opacity:0;transition:opacity .4s}
body.sticky .topSection .bg,body.contentpage .topSection .bg{opacity:1}
.topSection .navInner{width:var(--wrap);height:100%;max-width:none;align-items:center;margin:0 auto}
.logoOuter{background:none;padding:0;height:auto;width:auto}
.logoLink{height:auto;display:block}
.logoLink img,.logoLink img.logo{display:block;height:auto;width:clamp(104px,10vw,132px);transition:transform .4s var(--ease)}
.logoLink:hover img{transform:scale(1.04)}
.headline-topSection{display:none!important}
#mobileOpenerOuter{display:none} /* nur im Burger-Bereich (<=1180px) sichtbar; sonst deckt er den Reservierungs-Knopf ab */
.navRight{position:fixed;top:0;right:max(1.25rem,calc((100vw - 1180px)/2));transform:none;height:var(--hh);display:flex;flex-direction:row;align-items:center;gap:1.4rem;transition:none}
.navRight .menuOuter,.navRight .menu{display:block;padding:0}
.navRight .menu>ul{flex-direction:row;align-items:center;gap:clamp(.7rem,1.5vw,1.7rem)}
.navRight .menu ul li{display:block;width:auto}
.menu ul li a{position:relative;display:inline-block;width:auto;padding:.4rem 0;font-size:.78rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:#fff;opacity:.88;transition:opacity .2s;text-align:left}
.menu ul li a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu ul li a:hover,.menu ul li.aktiv a{opacity:1;color:#fff}
.menu ul li a:hover::after,.menu ul li.aktiv a::after{transform:scaleX(1)}
.navRight .headBtn{margin:0}
.btn,.reservierung a.openBookingTool,.buttonOuter a.buttonInner{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:inherit;font-style:normal;font-weight:700;font-size:.82rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#fff;padding:.85rem 1.5rem;border:1.5px solid #fff;border-radius:999px;background:transparent;cursor:pointer;transition:background .3s,color .3s,transform .3s var(--ease)}
.reservierung a.openBookingTool:hover,.buttonOuter a.buttonInner:hover,.btn:hover{background:#fff;color:var(--deep);transform:translateY(-2px)}
.navRight .headBtn a{padding:.6rem 1.15rem;font-size:.74rem}

/* ---------- Hero ---------- */
header.header-section,.contentpage header.header-section{position:relative;height:100svh;min-height:520px;width:100%;padding-top:0;overflow:hidden;isolation:isolate;background:var(--deep)}
.contentpage header.header-section{height:60svh}
.headerGallery{position:absolute;inset:0;width:100%;height:100%}
.headerGallery .flexslider,.headerGallery ul.slides,.headerGallery ul.slides li{height:100%}
.headerGallery .flexslider{margin:0;border:0;background:transparent}
.headerGallery ul.slides li .inhaltsbild,.contentpage .headerGallery ul.slides li .inhaltsbild{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:scale(1.06)}
.headerGallery .flex-active-slide .inhaltsbild{animation:blumKb 12s ease-out forwards}
@keyframes blumKb{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-1%,-1%)}}
.headerGallery::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,40,52,.72),rgba(7,40,52,.5) 30%,rgba(7,40,52,.55) 60%,rgba(7,40,52,.92))}
.headerGallery .flex-direction-nav,.headerGallery .flex-control-nav{display:none}
.startTop{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6rem 1.25rem 4rem}
.startTop h1{margin:0;width:min(560px,80vw);max-width:100%}
.startTop h1 img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 18px rgba(7,40,52,.55))}
.startTop .sub{text-shadow:0 1px 14px rgba(7,40,52,.8)}
.startTop .lineLong{width:min(260px,50vw);max-width:80%;height:2px;margin:1.8rem auto;background:#fff}
.startTop .sub{margin:0 0 2rem;font-size:clamp(.9rem,2.4vw,1.2rem);letter-spacing:.32em;text-transform:uppercase;font-weight:400}
.startTop .reservierung{margin:0}
.startTop .cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.startTop .cta .reservierung a.openBookingTool{background:#fff;color:var(--deep)}
.startTop .cta .reservierung a.openBookingTool:hover{background:var(--mint);border-color:var(--mint)}
.scroll-cue{position:absolute;bottom:1.4rem;left:50%;z-index:2;width:1.5px;height:54px;background:linear-gradient(#fff,transparent);transform-origin:top;animation:blumCue 2.2s ease-in-out infinite}
@keyframes blumCue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* Infoleiste unter dem Hero */
.factsbar{background:var(--ocean);color:#fff}
.factsbar .inner{width:var(--wrap);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 2.4rem;padding:1.1rem 0;font-size:.82rem;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;font-weight:700;text-align:center}
.factsbar span+span::before{content:'·';margin-right:2.4rem;opacity:.6}

/* ---------- Abschnitte ---------- */
#mainContainer{display:block;min-height:0}
#contentAussen{display:block}
#contentAussen .contentBox{width:100%;max-width:none;counter-reset:sec}
section{position:relative;z-index:auto;min-height:0;padding:clamp(4.5rem,10vw,9rem) 0;background:var(--blue);counter-increment:sec}
#contentAussen .contentBox>section:nth-of-type(even){background:var(--deep)}
section:has(.bg_1),section:has(#sec-wrong-tacos){background:var(--ocean)!important}
section .content{position:static;display:block;inset:auto;padding:0!important}
section.mit-mk-html>.content,section:has(.mk)>.content{padding:0!important}
.contentInnen{width:var(--wrap);margin:0 auto}
.textContent{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "img" "text";column-gap:clamp(2rem,5vw,5rem);row-gap:0;align-items:start}
.headline-wrap{display:block;grid-area:head;margin:0 0 1.2rem}
.headline-wrap::before{content:counter(sec,decimal-leading-zero);display:flex;align-items:center;gap:1rem;margin:0 0 1.2rem;font-size:.78rem;line-height:1;letter-spacing:.24em;font-weight:700;color:var(--mint)}
.headline-wrap::after{content:none}
.headline-wrap.mit-eyebrow::before{display:none}
.blum-eyebrow{display:flex;align-items:center;gap:1rem;margin:0 0 1.2rem;font-size:.78rem;line-height:1.2;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--mint)}
.blum-eyebrow::before{content:'';width:48px;height:1.5px;background:currentColor;flex:none}
section:has(#sec-wrong-tacos) .blum-eyebrow{color:#fff}
.layout_0 .headline-wrap h1,.headline-wrap h1{display:block;text-align:left;margin:0 0 1rem;max-width:100%;font-size:clamp(2.4rem,7vw,5.2rem);line-height:1.02;letter-spacing:.02em;text-transform:uppercase;font-weight:700;color:#fff}
.headline-wrap h2{margin:0;font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--mint)}
.headline-wrap h2:empty{display:none}
.hauptbild{grid-area:img;margin:0}
.haupttext{grid-area:text;max-width:46rem}
.haupttext p{margin:0 0 1.1rem;color:var(--soft)}
.haupttext>p:first-child{font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.55;color:#fff}
.haupttext strong,.haupttext b{color:#fff}
.haupttext a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}
.haupttext a:hover{color:#fff}
.haupttext h4{margin:0 0 .8rem;font-size:1.05rem;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.haupttext p.blum-leer{display:none}
.haupttext ul.blum-plus{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.8rem}
.haupttext ul.blum-plus li{display:grid;grid-template-columns:2rem 1fr;color:var(--soft);padding:0}
.haupttext ul.blum-plus li::before{content:'+';position:static;width:auto;height:auto;background:none;margin:0;color:var(--mint);font-weight:700;font-size:1.4rem;line-height:1.35}
.haupttext ul.blum-plus b{color:#fff}
.dlIcon{width:1.1em;height:auto;float:none;margin:0 .4rem 0 0;vertical-align:-.15em}

/* Text + Bild nebeneinander */
@media(min-width:900px){
	.textContent:has(.hauptbild){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"head img" "text img"}
	.textContent:has(.hauptbild) .hauptbild{align-self:center}
	.textContent.bild-links:has(.hauptbild){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"img head" "img text"}
	.textContent:has(.hauptbild) .headline-wrap{align-self:end}
}
.hauptbild img{display:block;width:100%;height:auto;max-width:100%;border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.hauptbild img.is-photo{max-height:78vh;object-fit:cover}
.hauptbild img.is-card{width:min(300px,70%);margin:0 auto;border-radius:8px;transform:rotate(-3deg);transition:transform .6s var(--ease)}
.hauptbild img.is-card:hover{transform:rotate(0) scale(1.03)}
.hauptbild img.is-sticker{width:min(360px,75%);aspect-ratio:1;margin:0 auto;object-fit:contain;background:#fff;border-radius:50%;padding:1rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);animation:blumWob 6s ease-in-out infinite}
@keyframes blumWob{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-8px)}}

/* Gruppen mit Zwischenüberschriften (z. B. "Bei uns / Bei euch") als Karten */
.haupttext.mit-karten{max-width:none;display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:800px){.haupttext.mit-karten{grid-template-columns:1fr 1fr}}
.blum-karte{border:1px solid var(--line);border-radius:18px;padding:clamp(1.5rem,3vw,2.6rem);background:rgba(255,255,255,.04);transition:transform .5s var(--ease),background .4s,border-color .4s}
.blum-karte:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.blum-karte>p:first-of-type{font-size:inherit;color:#fff}
.blum-karte p:last-child{margin-bottom:0}

/* Button aus dem CMS */
.buttonOuter{display:flex;margin-top:1.4rem;grid-area:auto}

/* ---------- Menükarte (Papier-Karte) ---------- */
section:has(.mk) .haupttext,section.mit-mk-html .haupttext{max-width:none;grid-column:1/-1;background:var(--paper);color:var(--ink);border-radius:22px;padding:clamp(1.2rem,4vw,3.4rem);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);--bg:var(--paper)}
section:has(.mk) .haupttext>p:first-child{font-size:inherit;color:inherit}
section:has(.mk) .haupttext p{color:inherit}
.haupttext .mk{--mk-linie:rgba(11,47,61,.2);color:var(--ink);font-weight:400;--menu-height:70px}
.haupttext .mk a{color:inherit}
.haupttext .mk .mk-sprung{top:calc(var(--hh) - 6px);padding:.9rem 0 .8rem;margin-top:-.9rem;background:var(--paper)}
.haupttext .mk .mk-sprung a{border:0;background:rgba(7,123,129,.1);color:var(--ink);padding:.55rem .95rem;font-size:.76rem;letter-spacing:.08em;transition:background .25s,color .25s,transform .25s}
.haupttext .mk .mk-sprung a:hover{background:var(--ocean);color:#fff;transform:translateY(-1px)}
.haupttext .mk .mk-sprung a[aria-current]{background:var(--ocean);color:#fff;border-color:transparent}
.haupttext .mk .mk-sprachen button{border-color:rgba(11,47,61,.35);color:var(--ink)}
.haupttext .mk .mk-sprachen button[aria-pressed="true"]{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.haupttext .mk .mk-titel{font-weight:700;letter-spacing:.14em}
.haupttext .mk .mk-saison{color:rgba(11,47,61,.7);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}
.haupttext .mk .mk-intro{color:rgba(11,47,61,.75)}
.haupttext .mk .mk-info{color:var(--ocean);font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:1}
.haupttext .mk .mk-gruppe-titel{color:var(--ocean);font-weight:700;border-bottom:1px solid rgba(11,47,61,.18);text-align:left;letter-spacing:.16em}
.haupttext .mk .mk-gruppe-info{text-align:left;color:rgba(11,47,61,.72)}
.haupttext .mk .mk-gruppe-notiz{border-color:rgba(11,47,61,.25)}
.haupttext .mk .mk-menue{background:rgba(7,123,129,.1);border-radius:18px;padding:1.4rem 1.5rem 1rem}
.haupttext .mk .mk-menue .mk-gruppe-titel{border-bottom-color:transparent}
.haupttext .mk .mk-gericht{padding:.55rem 0;margin:0;border-bottom:1px dashed rgba(11,47,61,.18)}
.haupttext .mk .mk-name{font-weight:700}
.haupttext .mk .mk-beschreibung, .haupttext .mk .mk-allergene{opacity:1;color:rgba(11,47,61,.7)}
.haupttext .mk .mk-menue .mk-gerichte, .haupttext .mk .mk-menue .mk-zeile{text-align:left;justify-content:flex-start}
@media(min-width:900px){.haupttext .mk .mk-gerichte{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}}
.haupttext .mk .mk-download a:hover, .haupttext .mk .mk-sprung a:hover{background:var(--ocean)}
.haupttext .mk .mk-download{display:flex;justify-content:center}
.haupttext .mk .mk-download a{border-color:var(--ocean);color:var(--ocean)}
.haupttext .mk .mk-download a:hover{color:#fff}
.haupttext .mk .mk-wein-kopf{opacity:1;color:rgba(11,47,61,.6)}
.haupttext .mk .mk-allergen-legende, .haupttext .mk .mk-partner, .haupttext .mk .mk-hinweis{opacity:1;color:rgba(11,47,61,.7)}
.haupttext .mk .mk-herkunft{color:rgba(11,47,61,.7)}

/* Karten: fette Texte in der hellen Karte nicht weiss (z. B. Weingut-Namen) */
.haupttext .mk strong,.haupttext .mk b{color:inherit}

/* Speisekarte: Sprungmenue bleibt oben fixiert; Klick blendet die Gruppe ein/aus (Modus "tabs"; ?karte=scroll = nur scrollen) */
.haupttext .mk.mk-tabs .mk-sprung a[aria-current]:not(.mk-aktiv){background:rgba(7,123,129,.1);color:var(--ink)}
.haupttext .mk.mk-tabs .mk-sprung a.mk-aktiv{background:var(--ocean);color:#fff}
.haupttext .mk .mk-gruppe.mk-aus{display:none}
.haupttext .mk .mk-inhalt.mk-fokus .mk-intro{display:none}
.haupttext .mk .mk-inhalt.mk-fokus .mk-kopf{margin-bottom:.4rem}
.haupttext .mk .mk-sprung{box-shadow:0 10px 12px -12px rgba(11,47,61,.35)}

/* Download-Knopf unter der Karte: mittig */
.haupttext p.mk-download{max-width:none;margin:2rem auto 0;text-align:center;color:var(--ink)}
.haupttext p.mk-download a{display:inline-flex;align-items:center;gap:.6rem;margin:0 auto;padding:.7rem 1.4rem;border:1.5px solid var(--ocean);border-radius:999px;color:var(--ocean);text-decoration:none;font-weight:700;transition:background .25s,color .25s}
.haupttext p.mk-download a:hover{background:var(--ocean);color:#fff}
.haupttext p.mk-download a .dlIcon{height:1.1em;width:auto;margin:0;filter:invert(34%) sepia(60%) saturate(900%) hue-rotate(140deg);transition:filter .25s}
.haupttext p.mk-download a:hover .dlIcon{filter:none}

/* Weinkarte: aufklappbare Gruppen wie im Entwurf (per Skript aus den Karten-Gruppen gebaut) */
.haupttext .mk-typ-wein .mk-sprung{display:none}
.haupttext .mk-typ-wein .wein-liste{display:grid;gap:.6rem;margin:1.2rem 0 0}
.haupttext .mk-typ-wein .wein-gruppe{border:1px solid rgba(11,47,61,.18);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.35)}
.haupttext .mk-typ-wein .wein-gruppe summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;font-weight:700;letter-spacing:.07em;font-size:1rem;text-transform:uppercase;transition:background .2s}
.haupttext .mk-typ-wein .wein-gruppe summary::-webkit-details-marker{display:none}
.haupttext .mk-typ-wein .wein-gruppe summary:hover{background:rgba(7,123,129,.1)}
.haupttext .mk-typ-wein .wein-gruppe summary em{font-style:normal;font-size:.75rem;letter-spacing:.04em;color:rgba(11,47,61,.6);margin-left:auto}
.haupttext .mk-typ-wein .wein-gruppe summary::after{content:'+';font-size:1.4rem;line-height:1;color:var(--ocean);transition:transform .3s}
.haupttext .mk-typ-wein .wein-gruppe[open] summary::after{transform:rotate(45deg)}
.haupttext .mk-typ-wein .wein-inhalt{padding:0 1.2rem 1.1rem}
.haupttext .mk-typ-wein .wein-inhalt .mk-gruppen-info{text-align:left;margin:.2rem 0 .6rem}
.haupttext .mk-typ-wein .mk-weine{margin-top:.4rem}
.haupttext .mk-typ-wein .mk-wein-kopf,.haupttext .mk-typ-wein .mk-wein{display:grid;grid-template-columns:minmax(0,1fr) auto 3.6rem;gap:.1rem .8rem;align-items:baseline}
.haupttext .mk-typ-wein .mk-mit-glas .mk-wein-kopf,.haupttext .mk-typ-wein .mk-mit-glas .mk-wein{grid-template-columns:minmax(0,1fr) auto 3.6rem 3.6rem}
.haupttext .mk-typ-wein .mk-wein-kopf{padding:.2rem 0;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(11,47,61,.6);text-align:right}
.haupttext .mk-typ-wein .mk-wein-kopf span:nth-child(2){grid-column:3}
.haupttext .mk-typ-wein .mk-wein-kopf span:nth-child(3){grid-column:4}
.haupttext .mk-typ-wein .mk-weingut{margin:0;padding:.7rem 0;border-top:1px solid rgba(11,47,61,.14)}
.haupttext .mk-typ-wein .mk-produzent{margin:0 0 .2rem;font-size:.92rem}
.haupttext .mk-typ-wein .mk-produzent strong{font-weight:700}
.haupttext .mk-typ-wein .mk-wein{padding:.15rem 0;font-size:.95rem}
.haupttext .mk-typ-wein .mk-jahrgang{font-size:.8rem;color:rgba(11,47,61,.6);text-align:right}
.haupttext .mk-typ-wein .mk-preis{font-weight:700;text-align:right}
@media(max-width:560px){.haupttext .mk-typ-wein .mk-wein,.haupttext .mk-typ-wein .mk-mit-glas .mk-wein{grid-template-columns:minmax(0,1fr) 3rem 3rem}.haupttext .mk-typ-wein .mk-jahrgang{grid-column:1;grid-row:2;text-align:left}.haupttext .mk-typ-wein .mk-wein-kopf{grid-template-columns:minmax(0,1fr) 3rem 3rem}.haupttext .mk-typ-wein .mk-wein-kopf span:nth-child(2){grid-column:2}.haupttext .mk-typ-wein .mk-wein-kopf span:nth-child(3){grid-column:3}}


/* Zweifarbiger Titel (wie im Entwurf) */
.blum-titel{margin:0 0 1rem;font-size:clamp(2.4rem,7vw,5.2rem);line-height:1.02;letter-spacing:.02em;text-transform:uppercase;font-weight:700;color:#fff}
.blum-titel em{font-style:normal;color:var(--mint)}
section:has(#sec-wrong-tacos) .blum-titel em,section:has(.bg_1) .blum-titel em{color:var(--deep)}
.blum-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(min-width:900px){.textContent:has(.hauptbild) .blum-titel{font-size:clamp(2.3rem,4.7vw,4.4rem)}}
/* Link-Knopf (z. B. Instagram) */
.haupttext p.blum-knopfzeile{margin-top:1.4rem}
.haupttext a.blum-pillknopf{display:inline-flex;align-items:center;padding:.85rem 1.5rem;border-radius:999px;background:#fff;color:var(--deep);text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,transform .3s var(--ease)}
.haupttext a.blum-pillknopf:hover{background:var(--mint);color:var(--deep);transform:translateY(-2px)}
/* Kopfzeile: Menue und Knopf immer klickbar (AOS-Animation der Menueleiste ueberdeckte kurz den Knopf) */
.navRight .menuOuter[data-aos],.navRight .menuOuter{transform:none!important;opacity:1!important;transition:none!important;flex:none}
.navRight .headBtn{flex:none}
.menu ul li a{white-space:nowrap}
/* Impressum / Datenschutz: schlicht, klein, volle Breite (wie im Entwurf) */
#contentAussen .contentBox>section.blum-recht{padding:clamp(3rem,6vw,5rem) 0;background:var(--deep)}
section.blum-recht .headline-wrap{margin:0 0 .4rem}
section.blum-recht .haupttext{max-width:none;font-size:.9rem;line-height:1.75}
section.blum-recht .haupttext>p:first-child{font-size:inherit;line-height:inherit;color:var(--soft)}
section.blum-recht .haupttext p{margin:0 0 .9rem}
section.blum-recht .dlIcon{display:none}

/* ---------- Footer ---------- */
footer,.footer{position:static!important;width:100%;z-index:auto;background:#041b24;color:var(--soft)}
#adresse{padding:3rem 1.25rem 2.4rem;text-align:center;font-size:.9rem;line-height:1.7;color:var(--soft);box-shadow:none;margin:0;background:transparent}
#adresse .adresseInner{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:var(--wrap);margin:0 auto}
#adresse .zeile{color:var(--soft)}
#adresse a{color:var(--mint)}
#adresse a.socialLink{display:inline-flex;margin-top:1rem}
#adresse a.socialLink .icon{width:30px;height:auto;filter:brightness(0) invert(1);opacity:.85;transition:opacity .3s,transform .3s}
#adresse a.socialLink:hover .icon{opacity:1;transform:scale(1.12)}

/* nach oben + Reservierungs-Knopf */
#scrollToTop{right:1.2rem}
.resFab{position:fixed;left:50%;bottom:1rem;z-index:20;margin:0;transform:translate(-50%,160%);transition:transform .5s var(--ease);display:none}
.resFab a.openBookingTool{background:var(--ocean);border-color:var(--ocean);box-shadow:0 14px 34px -8px rgba(0,0,0,.6)}
.resFab a.openBookingTool:hover{background:#fff;border-color:#fff}

/* ---------- Mobil / Tablet ---------- */
@media(max-width:1180px){
	.navRight{display:none}
	.mobileOnly{display:block!important}
	#mobileOpenerOuter{display:flex;align-items:center;width:auto;margin:0;height:100%}
	#navMobileOpener{display:block;width:46px;height:46px;position:relative;padding:0}
	#navMobileOpener .balken{position:absolute;left:11px;right:11px;width:auto;height:2px;margin:0;background:#fff}
	#navMobileOpener .balken:nth-child(1){top:16px}
	#navMobileOpener .balken:nth-child(2){top:22px;left:20px}
	#navMobileOpener .balken:nth-child(3){top:28px}
	#navMobileMenu{display:block;position:fixed;inset:0;left:0;width:100%;height:100%;z-index:100000;padding:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;background:var(--deep) radial-gradient(120% 80% at 80% 0%,var(--blue),var(--deep))}
	#navMobileMenu.visible{left:0;opacity:1;visibility:visible}
	#mobileCloser{top:10px;right:.6rem;width:46px;height:46px;background:none;position:absolute;z-index:10;cursor:pointer}
	#mobileCloser::before,#mobileCloser::after{content:'';position:absolute;left:10px;right:10px;top:22px;height:2px;background:#fff}
	#mobileCloser::before{transform:rotate(45deg)}#mobileCloser::after{transform:rotate(-45deg)}
	#navMobileMenu .menuOuter{height:100%;display:flex;align-items:center;padding:5rem 2rem 2rem}
	#navMobileMenu .menuOuter .menu{height:auto;width:100%;display:block}
	#navMobileMenu .menuOuter ul{height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem}
	#navMobileMenu .menuOuter ul li{padding:0;opacity:1;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
	#navMobileMenu .menuOuter ul li{opacity:0}
	#navMobileMenu.visible .menuOuter ul li{opacity:1;transform:none}
	#navMobileMenu .menuOuter ul li a{width:auto;padding:.1rem 0;font-size:clamp(1.6rem,7vw,2.4rem);line-height:1.25;letter-spacing:.06em;font-family:inherit;opacity:1}
	#navMobileMenu .menuOuter ul li.aktiv{font-weight:700}
	#navMobileMenu .reservierung.mobileOnly{margin-top:1.4rem}
	#navMobileMenu .menuOuter ul li .reservierung a{font-size:.9rem;background:#fff;color:var(--deep);border-color:#fff;display:inline-flex;padding:.85rem 1.6rem;line-height:1.2}
	#navMobileMenu .menuOuter ul li .reservierung a:hover{background:var(--mint);border-color:var(--mint)}
	.startTop{padding-bottom:5rem}
	.resFab{display:block}
	body.sticky .resFab{transform:translate(-50%,0)}
	#scrollToTop{display:none}
	header.header-section{min-height:560px}
}
@media(max-width:767px){
	.logoOuter{padding:0}
	.topSection{padding-bottom:0}
	.factsbar span+span::before{display:none}
	.factsbar .inner{flex-direction:column;gap:.2rem}
}

/* ---------- Reservierungsfenster (Papier-Look; Markup + Skript unverändert) ---------- */
#bookingTool,#bookingTool.inaktiv{top:12px;right:.6rem;width:min(410px,calc(100% - 1.2rem));max-height:calc(100svh - 24px);overflow:auto;background:var(--paper);color:var(--ink);border-radius:24px;padding:1.1rem 1.1rem 1.2rem;font-size:15px;line-height:1.4;box-shadow:0 30px 80px rgba(0,0,0,.5);z-index:100010;transition:transform .55s var(--ease)}
#bookingTool .closer{position:absolute;right:.8rem;top:.8rem;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-size:.8rem;transition:background .25s,transform .25s;z-index:200}
#bookingTool .closer:hover{background:var(--ocean);transform:rotate(90deg)}
#bookingTool .header{justify-content:flex-start;padding:.2rem 3rem .9rem .3rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ocean)}
#bookingTool .formular{display:block}
#bookingTool .zeile{background:#fff;border-radius:16px;padding:.15rem .9rem;margin:0 0 .5rem;box-shadow:inset 0 0 0 1px rgba(11,47,61,.1);overflow:hidden;transition:max-height .5s ease,opacity .3s ease}
#bookingTool .zeile.inaktiv{max-height:0;padding-top:0;padding-bottom:0;margin:0;opacity:0;box-shadow:none;pointer-events:none}
#bookingTool .zeile.aktiv{opacity:1;pointer-events:auto}
#bookingTool .zeile .head{height:46px}
#bookingTool .zeile .head div{width:33%!important}
#bookingTool .zeile .head .name{font-size:.68rem;font-style:normal;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(11,47,61,.6)}
#bookingTool .zeile .head .chooser{font-weight:700;color:var(--ink)}
#bookingTool .zeile .head .arrowDown{display:flex;justify-content:flex-end}
#bookingTool .arrowDown img{filter:invert(.2) sepia(1) hue-rotate(160deg) saturate(3);width:11px}
#bookingTool .data{background:transparent;border:0;border-radius:12px;color:var(--ink)}
#bookingTool .data.column a{color:var(--ocean);font-size:.82rem}
#bookingTool .buttons{padding:.6rem 0 .3rem;width:100%;gap:0}
#bookingTool .buttons .button{width:46px;height:46px;line-height:1;margin:0 .45rem .45rem 0;border:1.5px solid rgba(11,47,61,.2);border-radius:12px;color:var(--ink);font-weight:700;background:#fff;transition:background .2s,color .2s,transform .2s,border-color .2s}
#bookingTool .buttons .button:hover,#bookingTool .button.hover{background:var(--ocean);border-color:var(--ocean);color:#fff;transform:translateY(-1px)}
#bookingTool .buttons .button.aktiv{background:var(--blue);border-color:var(--blue);color:#fff}
#bookingTool .buttons .button.inaktiv{color:rgba(11,47,61,.35);background:rgba(11,47,61,.04);opacity:1;text-decoration:line-through}
#bookingTool .buttons .button.inaktiv:hover{background:rgba(11,47,61,.04);border-color:rgba(11,47,61,.2);color:rgba(11,47,61,.35);transform:none}
#bookingTool .times .button,#bookingTool .tagesZeitOuter .button{width:auto;min-width:64px;padding:0 .8rem}
#bookingTool input,#bookingTool button,#bookingTool textarea,#bookingTool select{border:1.5px solid rgba(11,47,61,.2);border-radius:12px;background:#fff;color:var(--ink);font-family:inherit;font-size:15px;letter-spacing:0;font-weight:400;margin-bottom:.45rem;height:46px;padding:.6rem .85rem}
#bookingTool textarea{height:96px}
#bookingTool input::placeholder,#bookingTool textarea::placeholder{color:rgba(11,47,61,.5)}
#bookingTool input:focus,#bookingTool textarea:focus{outline:none;border-color:var(--ocean);box-shadow:0 0 0 3px rgba(7,123,129,.18)}
#bookingTool input[type=checkbox]{width:auto;height:auto}
#bookingTool button,#bookingTool #absenden,#bookingTool input[type=submit]{background:var(--ocean);border-color:var(--ocean);color:#fff;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s}
#bookingTool button:hover,#bookingTool input[type=submit]:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-1px)}
#bookingTool .infoAusreserviert{color:#a8392e}
#bookingTool label{color:var(--ink);font-weight:400}
#bookingTool a{color:var(--ocean)}
#bookingTool .ui-datepicker{width:100%!important;border:0;background:transparent;color:var(--ink);font-family:inherit}
#bookingTool .ui-datepicker .ui-datepicker-header{background:transparent;border:0;color:var(--ink);font-weight:700}
#bookingTool .ui-datepicker td a,#bookingTool .ui-datepicker td span{border-radius:10px;text-align:center}
#bookingTool .ui-datepicker td a.ui-state-active,#bookingTool .ui-datepicker td a.ui-state-hover{background:var(--ocean);border-color:var(--ocean);color:#fff}
#bookingTool .ui-datepicker .ui-state-default{background:#fff;border:1px solid rgba(11,47,61,.12);color:var(--ink)}
#bookingTool .ui-datepicker .ui-state-disabled{opacity:.35}
#bookingTool .ui-datepicker .ui-datepicker-header .ui-datepicker-title,#bookingTool .ui-datepicker .ui-datepicker-calendar th,#bookingTool .ui-widget-header a{color:var(--ink)}
#bookingTool .ui-datepicker .ui-datepicker-title{font-size:1rem;line-height:2.2}
#bookingTool .ui-datepicker .ui-datepicker-prev,#bookingTool .ui-datepicker .ui-datepicker-next{top:.2rem;cursor:pointer}
#bookingTool .ui-datepicker .ui-datepicker-prev .ui-icon,#bookingTool .ui-datepicker .ui-datepicker-next .ui-icon{filter:invert(1)}
#bookingTool .ui-datepicker .ui-datepicker-calendar td a:hover{color:#fff}


@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}

/* Reservierungstool: Bestaetigungsansicht auf schmalen Geraeten (kein Links-Rechts-Scrollen, Knopf voll sichtbar) */
#bookingTool,#bookingTool *{box-sizing:border-box}
#bookingTool{overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
#bookingTool img,#bookingTool table{max-width:100%}
#bookingTool button.neueReservierung{display:block;width:100%;max-width:100%;height:auto;min-height:46px;margin:1rem 0 .3rem;padding:.8rem 1rem;white-space:normal;line-height:1.3;font-size:.78rem;letter-spacing:.1em}
@media(max-width:480px){#bookingTool,#bookingTool.inaktiv{right:.6rem;left:.6rem;width:auto;max-height:calc(100dvh - 24px)}}
#bookingTool button.neueReservierung{min-height:60px;padding:1rem 1.1rem;margin-bottom:.8rem;overflow:visible;text-overflow:clip}
