/* /assets/site.css?v=20261011-mobile-safari-v1-p5 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-600-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-600-normal.woff2') format('woff2');
}
:root{--ink:#071a26;--navy:#061723;--copper:#cf8b55;--cream:#f5f0e8;--white:#fff;--muted:#65717a;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:99}.site-header{height:88px;display:flex;align-items:center;padding:0 clamp(1rem,4vw,4rem);background:rgba(6,23,35,.96);color:white;gap:2rem;position:relative;z-index:20}.brand{display:flex;align-items:center;line-height:1.05;letter-spacing:.03em;margin-right:auto}.brand img{width:58px;height:58px;object-fit:contain;margin-right:.7rem}.brand span{font-size:13px;text-transform:uppercase}.brand b{font-size:1rem}.site-header nav{display:flex;gap:1.6rem;font-size:.9rem}.site-header nav a{opacity:.8}.site-header nav a:hover{opacity:1;color:var(--copper)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.35rem;background:var(--copper);color:#101419;font-weight:600;border:1px solid var(--copper);transition:.2s}.button:hover{background:#e0a16e;border-color:#e0a16e}.ghost{background:transparent;color:white;border-color:rgba(255,255,255,.55)}.ghost:hover{background:white;color:var(--ink)}.menu-button{display:none;background:none;border:1px solid #ffffff55;color:white;padding:.6rem}.hero{height:min(780px,calc(100vh - 88px));min-height:620px;position:relative;background:var(--navy);color:white}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(3,16,25,.92) 0%,rgba(3,16,25,.53) 52%,rgba(3,16,25,.15) 100%)}.hero-copy{position:absolute;left:clamp(1.2rem,8vw,8rem);top:50%;transform:translateY(-50%);max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:600;color:#e4b58f}.eyebrow.dark{color:#a26031}.hero h1,.cta h2{font:600 clamp(3.5rem,7.6vw,7.4rem)/.9 var(--serif);letter-spacing:-.05em;margin:.35rem 0 1.2rem}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:560px;color:#e4e8ea}.actions{display:flex;gap:.8rem;margin-top:1.8rem}.open-card{position:absolute;right:clamp(1rem,5vw,4rem);bottom:2rem;width:270px;padding:1.1rem 1.2rem;background:rgba(7,26,38,.9);border-left:3px solid var(--copper);display:grid;grid-template-columns:auto 1fr;column-gap:.6rem}.open-card small,.open-card a{grid-column:2;color:#c3cbd0}.open-card a{font-size:13px;margin-top:.3rem;text-decoration:underline}.status-dot{width:8px;height:8px;background:#68c58b;border-radius:50%;margin-top:.55rem}.quick{display:grid;grid-template-columns:repeat(4,1fr);background:white;border-bottom:1px solid #ddd}.quick a{padding:1.6rem clamp(1rem,3vw,3rem);border-right:1px solid #ddd;display:grid;grid-template-columns:auto 1fr;gap:0 .8rem}.quick span{grid-row:1/3;color:var(--copper);font:italic 1.4rem var(--serif)}.quick b{font-size:1rem}.quick small{color:var(--muted)}.wrap{max-width:1180px;margin:auto;padding-left:2rem;padding-right:2rem}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:7rem;padding-top:8rem;padding-bottom:5rem;align-items:end}.intro h2,.places h2,.hours h2{font:600 clamp(2.6rem,5vw,5rem)/1 var(--serif);letter-spacing:-.04em;margin:.4rem 0}.intro p{font-size:1.12rem}.text-link{font-weight:600;border-bottom:1px solid var(--copper)}.features{display:grid;grid-template-columns:1.3fr .7fr;gap:1.4rem;padding-bottom:8rem}.feature{position:relative;min-height:520px;overflow:hidden;color:white}.feature img{height:100%;object-fit:cover;transition:.5s}.feature:hover img{transform:scale(1.025)}.feature:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(3,16,25,.88))}.feature span{position:absolute;z-index:2;left:2rem;right:2rem;bottom:2rem;display:grid;gap:.5rem}.feature small{text-transform:uppercase;letter-spacing:.15em}.feature strong{font:600 clamp(1.7rem,3vw,2.7rem)/1.08 var(--serif)}.feature em{font-style:normal;color:#e8b38a}.places{background:var(--navy);color:white;padding:8rem 0}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}.place-grid article{background:#102a39;display:grid;grid-template-columns:1fr 1fr}.place-grid img{height:330px;object-fit:cover}.place-grid article div{padding:2rem;align-self:end}.place-grid b{font:600 1.8rem var(--serif)}.place-grid p{color:#c5ced3}.hours{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6rem;padding-top:8rem;padding-bottom:8rem}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;border-bottom:1px solid #cfc8be;padding:1rem 0}.hours dd{font-weight:600}.dark-button{background:var(--ink);border-color:var(--ink);color:white;margin-top:1rem}.kitchen{grid-column:2;background:white;padding:1.3rem}.cta{text-align:center;background:linear-gradient(rgba(6,23,35,.88),rgba(6,23,35,.9)),url('/assets/events.webp') center/cover;color:white;padding:8rem 1rem}.cta .actions{justify-content:center}footer{background:#031019;color:#c4ccd1;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:3rem;padding:4rem clamp(1.5rem,6vw,6rem);font-size:.9rem}footer b{color:white}footer a:hover{color:var(--copper)}.footer-brand{display:flex;align-items:center;font:600 1.7rem var(--serif);color:white}.footer-brand img{width:76px;height:76px;object-fit:contain;margin-right:1rem}.mobile-actions{display:none}
@media(max-width:900px){.site-header{height:72px;padding:0 1rem}.brand img{width:48px;height:48px}.header-cta{display:none}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:1.4rem;flex-direction:column}.site-header nav.open{display:flex}.hero{height:680px;min-height:0}.hero-copy{top:43%;left:1.3rem;right:1.3rem}.hero h1{font-size:clamp(3.1rem,15vw,5.3rem)}.open-card{left:1.3rem;right:1.3rem;bottom:1.2rem;width:auto}.quick{grid-template-columns:1fr 1fr}.quick a:nth-child(2){border-right:0}.intro{grid-template-columns:1fr;gap:1rem;padding-top:5rem}.features{grid-template-columns:1fr;padding-bottom:5rem}.feature{min-height:430px}.places{padding:5rem 0}.place-grid{grid-template-columns:1fr}.hours{grid-template-columns:1fr;padding-top:5rem;padding-bottom:5rem}.kitchen{grid-column:auto}footer{grid-template-columns:1fr 1fr;padding-bottom:7rem}.mobile-actions{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.4fr;background:white;box-shadow:0 -4px 20px #0002}.mobile-actions a{padding:1rem;text-align:center;font-weight:600}.mobile-actions a:last-child{background:var(--copper)}}
@media(max-width:580px){.quick{grid-template-columns:1fr}.quick a{border-right:0;border-bottom:1px solid #ddd}.intro,.wrap{padding-left:1.2rem;padding-right:1.2rem}.place-grid article{grid-template-columns:1fr}.place-grid img{height:260px}.feature{min-height:390px}.features{padding-left:0;padding-right:0;gap:0}.actions{flex-direction:column;align-items:stretch}.cta h2{font-size:3.5rem}footer{grid-template-columns:1fr}}
.page-hero{background:var(--navy);color:white;padding:clamp(5rem,10vw,9rem) max(1.2rem,calc((100vw - 1120px)/2));}.page-hero h1{font:600 clamp(3rem,7vw,6rem)/.95 var(--serif);letter-spacing:-.045em;max-width:980px;margin:.4rem 0 1.2rem}.page-hero>p:last-child{max-width:700px;color:#cbd3d8;font-size:1.12rem}.page-hero+figure{max-width:1180px;margin:-2.5rem auto 0;padding:0 2rem;position:relative}.page-hero+figure img{height:min(60vw,640px);object-fit:cover}.page-hero~figure:not(:first-of-type){max-width:1180px;margin:2rem auto;padding:0 2rem}.page-hero~figure:not(:first-of-type) img{height:480px;object-fit:cover}.content{background:white;margin-top:4rem;margin-bottom:5rem;padding-top:clamp(2rem,5vw,5rem);padding-bottom:clamp(2rem,5vw,5rem);padding-left:clamp(1.2rem,7vw,7rem);padding-right:clamp(1.2rem,7vw,7rem);box-shadow:0 18px 60px #10202a12}.content h2{font:600 clamp(2rem,4vw,3.5rem)/1.05 var(--serif);margin:3.5rem 0 1rem}.content h3{font:600 1.65rem var(--serif);margin:2.4rem 0 .7rem}.content p{max-width:820px}.content .detail{border-bottom:1px solid #e2ddd5;padding:.65rem 0;margin:0;font-weight:500}.content blockquote{font:italic 2rem var(--serif);border-left:3px solid var(--copper);margin:2rem 0;padding-left:1.5rem}.page-cta{background:var(--navy);color:white;text-align:center;padding:5rem 1rem}.page-cta h2{font:600 clamp(2.6rem,5vw,4.5rem) var(--serif);margin:0}.page-cta .actions{justify-content:center}.reservation-frame{margin:-2rem -4rem}.reservation-frame iframe{width:100%;min-height:1050px;border:0;background:white}@media(max-width:700px){.page-hero{padding-top:4rem;padding-bottom:4rem}.page-hero+figure{padding:0 1rem}.content{margin-top:1.5rem}.reservation-frame{margin:-1rem}.reservation-frame iframe{min-height:1200px}}

/* 2026 experience system — imagery first, content and tools preserved */
.story-hero{height:min(760px,calc(100vh - 88px));min-height:590px;position:relative;background:var(--navy);color:#fff;overflow:hidden}.story-hero>img,.story-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-hero>img{transform:scale(1.01)}.story-shade{background:linear-gradient(90deg,rgba(2,14,23,.94),rgba(2,14,23,.48) 58%,rgba(2,14,23,.12)),linear-gradient(0deg,rgba(2,14,23,.45),transparent 45%)}.story-copy{position:absolute;left:max(1.25rem,calc((100vw - 1180px)/2));bottom:clamp(3rem,9vh,7rem);width:min(780px,calc(100% - 2.5rem));z-index:2}.story-copy h1{font:600 clamp(3.2rem,7.2vw,6.9rem)/.92 var(--serif);letter-spacing:-.05em;margin:.5rem 0 1.2rem;text-wrap:balance}.story-copy>p:not(.eyebrow){font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:650px;color:#eef2f4}.promise{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-bottom:1px solid #ded8ce}.promise span{text-align:center;padding:1.3rem;border-right:1px solid #ded8ce;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;color:#885936}.editorial{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem);columns:2;column-gap:7rem}.editorial>*{break-inside:avoid}.editorial h2{font:600 clamp(2rem,4vw,3.9rem)/1.04 var(--serif);letter-spacing:-.035em;margin:0 0 1.2rem;padding-top:2rem}.editorial h2:first-child{padding-top:0}.editorial h3{font:600 1.65rem var(--serif);margin:2rem 0 .6rem}.editorial p{color:#3f4b52;margin:.3rem 0 1.2rem}.editorial .detail{border-bottom:1px solid #d8d0c6;padding:.7rem 0;margin:0;font-weight:600;color:var(--ink)}.editorial blockquote{font:italic 2rem/1.25 var(--serif);border-left:3px solid var(--copper);padding-left:1.4rem;margin:2rem 0}.visual-pair{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;padding:0 max(1rem,calc((100vw - 1400px)/2)) clamp(5rem,9vw,9rem)}.visual-pair figure{margin:0;min-height:560px}.visual-pair figure:nth-child(2){margin-top:6rem}.visual-pair img{height:100%;object-fit:cover}.tool-intro{text-align:center;max-width:800px;margin:0 auto 3rem;column-span:all}.tool-intro h2,.content-follow h2{font:600 clamp(2.4rem,5vw,4.5rem)/1 var(--serif);margin:.5rem 0}.catering-tool{column-span:all;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:1.2rem;margin-top:2rem}.tool-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #dcd5cc}.tool-steps button{border:0;border-right:1px solid #ddd4c8;background:#fff;padding:1.1rem;font-weight:600;color:#69737a}.tool-steps button.active{background:#142a37;color:#fff}.catering-tool form,.price-card{background:#fff;border:1px solid #ddd5cb;padding:clamp(1.2rem,3vw,2.4rem);box-shadow:0 22px 55px #1a273012}.catering-tool h3{font:600 clamp(2rem,3.5vw,3.1rem)/1.05 var(--serif);margin:0 0 1.8rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.choice-grid label{border:1px solid #d9d1c7;padding:1rem;display:grid;grid-template-columns:auto 1fr;gap:0 .7rem;cursor:pointer}.choice-grid input{grid-row:1/3;width:auto}.choice-grid small{color:#68737a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem}.form-grid label{font-size:.85rem;font-weight:600}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:.35rem;border:1px solid #cfc7bd;background:#fff;padding:.85rem;font:inherit}.privacy{display:flex;gap:.7rem;margin-top:1.2rem;font-size:.85rem}.privacy input{width:auto}.tool-nav{display:flex;justify-content:space-between;margin-top:1.5rem;border-top:1px solid #ddd5cb;padding-top:1.2rem}.tool-nav button{border:0;padding:.85rem 1.4rem;background:#e8e2d9;font-weight:600}.tool-nav #next,.tool-nav #submit{background:var(--copper)}.price-card{position:sticky;top:1rem;background:#102936;color:#fff;height:max-content}.price-card>small{text-transform:uppercase;letter-spacing:.15em;color:#e6b890}.price-card strong{display:block;font:600 2.5rem var(--serif);margin:.5rem 0}.price-card>span,.price-card>p{color:#c6d0d5}.price-card dl div{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding:.8rem 0}.price-card dd{font-weight:600}.content-follow{column-span:all;text-align:center;padding-top:6rem}.reservation-launch{column-span:all;text-align:center;background:#fff;padding:clamp(2rem,5vw,4rem);margin-bottom:1rem}.reservation-launch small{display:block;margin-top:1rem;color:var(--muted)}.reservation-frame{column-span:all;margin:0;background:#fff}.reservation-frame iframe{width:100%;min-height:1100px;border:0}.offer-worlds{padding:8rem max(1rem,calc((100vw - 1400px)/2));background:#fff}.offer-head{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3rem}.offer-head h2{font:600 clamp(2.8rem,5vw,5.4rem)/.96 var(--serif);margin:0}.offer-head p{max-width:520px}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:340px;gap:1rem}.offer-card{position:relative;overflow:hidden;color:#fff}.offer-card:first-child,.offer-card:nth-child(6){grid-column:span 2}.offer-card img{height:100%;object-fit:cover;transition:.45s}.offer-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(2,15,24,.9))}.offer-card span{position:absolute;left:1.3rem;right:1.3rem;bottom:1.2rem;z-index:2}.offer-card small{display:block;text-transform:uppercase;letter-spacing:.13em;color:#eab78e}.offer-card b{font:600 1.7rem var(--serif)}.offer-card:hover img{transform:scale(1.04)}
@media(max-width:900px){.story-hero{height:680px}.promise{grid-template-columns:1fr}.editorial{columns:1}.visual-pair{grid-template-columns:1fr}.visual-pair figure,.visual-pair figure:nth-child(2){min-height:400px;margin:0}.catering-tool{grid-template-columns:1fr}.price-card{position:static;grid-row:2}.offer-grid{grid-template-columns:1fr 1fr}.offer-card:first-child,.offer-card:nth-child(6){grid-column:span 1}.offer-head{display:block}.mobile-actions{grid-template-columns:repeat(4,1fr)}.mobile-actions a{font-size:13px;padding:.8rem .2rem}.mobile-actions a:last-child{background:var(--navy);color:white}}
@media(max-width:580px){.story-copy h1{font-size:3.4rem}.story-copy .actions{display:grid;grid-template-columns:1fr}.promise span{padding:.8rem}.offer-grid{grid-template-columns:1fr;grid-auto-rows:310px}.choice-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.tool-steps button{font-size:13px;padding:.8rem .3rem}.visual-pair figure{min-height:320px}.editorial{padding-left:1rem;padding-right:1rem}}

.hero-home{object-position:center 56%}.hero:after{content:'SCHMIEDEHAFEN · PORTENSCHMIEDE';position:absolute;left:2rem;bottom:2rem;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;letter-spacing:.25em;color:#ffffff80}.social-proof{display:grid;grid-template-columns:1.08fr .92fr;min-height:620px;background:#8c5635;color:#fff}.proof-image img{height:100%;object-fit:cover}.proof-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem)}.proof-copy .stars{color:#f5c07a;font-size:1.35rem;letter-spacing:.16em}.proof-copy blockquote{font:italic 600 clamp(2.5rem,4.6vw,5rem)/1.04 var(--serif);letter-spacing:-.035em;margin:1.2rem 0}.proof-copy>p{color:#f1dfd1}.text-link.light{color:#fff;border-color:#fff}.patisserie-card img{object-position:center 45%}.reservation-steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin:2rem auto;gap:1px;background:#ddd5cb}.reservation-steps span{display:grid;gap:.25rem;background:#f7f3ed;padding:1.1rem}.reservation-steps b{color:var(--copper);font:italic 1.3rem var(--serif)}
@media(max-width:900px){.hero:after{display:none}.hero-home{object-position:62% center}.social-proof{grid-template-columns:1fr;min-height:0}.proof-image{height:360px}.proof-copy{min-height:460px}.reservation-frame{display:none}.reservation-launch{margin:0;padding:3rem 1.25rem 4rem}.reservation-launch h2{font-size:2.7rem}.reservation-launch .button{width:100%;margin-top:1.2rem}.reservation-steps{grid-template-columns:1fr;text-align:left}.editorial:has(.reservation-launch){padding:0;max-width:none}.story-hero:has(+ .promise + .editorial .reservation-launch){height:470px;min-height:470px}.story-hero:has(+ .promise + .editorial .reservation-launch) .story-copy{bottom:2.2rem}.story-hero:has(+ .promise + .editorial .reservation-launch) .story-copy>p:not(.eyebrow),.story-hero:has(+ .promise + .editorial .reservation-launch) .actions{display:none}}

.brand small{display:block;margin-top:.28rem;color:#d5a982;font-size:13px;letter-spacing:.12em;white-space:nowrap}.footer-brand>div{display:grid}.footer-brand small{font:500 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#c89976}.menu-jump{column-span:all;position:sticky;top:0;z-index:8;display:flex;gap:.5rem;overflow:auto;padding:.8rem;background:rgba(245,240,232,.96);border:1px solid #d8d0c6;scrollbar-width:none}.menu-jump a{white-space:nowrap;background:#fff;border:1px solid #d8d0c6;padding:.65rem .9rem;font-size:.85rem;font-weight:600}.menu-section{column-span:all;padding:4.5rem 0 1rem;border-bottom:1px solid #d3cbc1}.menu-section h2{font:600 clamp(2.5rem,5vw,4.8rem)/.96 var(--serif);margin:.25rem 0 2rem}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}.menu-item{display:grid;grid-template-columns:1fr auto;gap:1.5rem;border-top:1px solid #d9d1c7;padding:1.15rem 0}.menu-item h3{font:600 1.08rem var(--sans);margin:0}.menu-item p{font-size:.88rem;line-height:1.45;margin:.3rem 0 0;color:#69737a}.menu-item>strong{text-align:right;color:#9b5f36;white-space:nowrap}.menu-note{column-span:all;background:#fff;border-left:4px solid var(--copper);padding:1.2rem 1.4rem!important;margin-top:3rem!important}.offer-lead{column-span:all;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}.offer-lead h2{font:600 clamp(2.8rem,5vw,5rem)/.97 var(--serif);margin:.3rem 0}.rental-grid{column-span:all;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.rental-grid article{display:flex;flex-direction:column;background:#fff;border:1px solid #d8d0c6;padding:2rem}.rental-grid article.featured{background:#122a38;color:#fff;transform:translateY(-1rem)}.rental-grid small{text-transform:uppercase;letter-spacing:.12em;color:#9b6038}.rental-grid h2{font:600 2rem/1 var(--serif);margin:1rem 0}.rental-price{display:flex;align-items:baseline;gap:.5rem;margin:1rem 0}.rental-price strong{font:600 3.7rem/.9 var(--serif);color:var(--copper)}.rental-grid ul{padding-left:1.2rem}.rental-grid em{font-size:13px;color:#777;margin:auto 0 1.5rem}.rental-grid .featured em{color:#bfcbd1}.equipment-band{column-span:all;display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:#8c5635;color:#fff;margin-top:5rem;padding:clamp(2rem,5vw,5rem)}.equipment-band h2{font:600 clamp(2.4rem,4vw,4rem)/1 var(--serif);margin:.4rem 0}.equipment-band ul{columns:2;margin:auto 0}.gift-world{display:grid;grid-template-columns:1fr 1fr;background:#efe8de}.gift-copy{padding:clamp(3rem,8vw,8rem)}.gift-copy h2{font:600 clamp(3rem,5.5vw,5.5rem)/.95 var(--serif);letter-spacing:-.04em;margin:.5rem 0 1.5rem}.gift-copy>p{max-width:580px}.gift-options{border-top:1px solid #ccc1b4;margin:2rem 0}.gift-options div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #ccc1b4}.gift-options span{color:#68737a}.gift-image{position:relative;min-height:640px;overflow:hidden}.gift-image img{height:100%;object-fit:cover;transition:.5s}.gift-image span{position:absolute;right:1.5rem;bottom:1.5rem;background:#fff;padding:1rem 1.2rem;font-size:.85rem}.gift-image:hover img{transform:scale(1.025)}
@media(max-width:900px){.menu-list{grid-template-columns:1fr}.offer-lead,.equipment-band,.gift-world{grid-template-columns:1fr}.rental-grid{grid-template-columns:1fr}.rental-grid article.featured{transform:none}.gift-image{min-height:460px;grid-row:1}.gift-copy{grid-row:2}.site-header nav{overflow-y:auto;max-height:calc(100vh - 72px)}}
@media(max-width:1100px) and (min-width:901px){.site-header{gap:1rem}.site-header nav{gap:.9rem;font-size:.82rem}.header-cta{display:none}}
@media(max-width:580px){.menu-jump{margin:0;top:72px}.menu-section{padding-top:3.5rem}.menu-item{gap:.7rem}.menu-item>strong{font-size:.92rem}.equipment-band ul{columns:1}.gift-image{min-height:360px}.gift-options div{grid-template-columns:1fr;gap:.2rem}.brand small{font-size:13px}}

/* Schmiedehafen signature: iron, fire and warm hospitality */
:root{--ink:#1c1b18;--navy:#171714;--copper:#b87442;--cream:#f3efe8;--muted:#66645f}
html,body{width:100%;max-width:100%;overflow-x:clip!important}body>*{max-width:100%}*{min-width:0}img,iframe,video{max-width:100%}
.site-header{background:rgba(23,23,20,.97)}.hero-shade{background:linear-gradient(90deg,rgba(20,19,16,.95),rgba(20,19,16,.5) 58%,rgba(20,19,16,.1))}.story-shade{background:linear-gradient(90deg,rgba(20,19,16,.95),rgba(20,19,16,.46) 58%,rgba(20,19,16,.08)),linear-gradient(0deg,rgba(20,19,16,.5),transparent 45%)}.places,.page-cta,.story-hero,.price-card{background:#171714}.place-grid article{background:#25231f}footer{background:#12110f}
.discover-strip{display:flex;align-items:center;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;background:#1b1a17;color:#fff;scrollbar-width:none}.discover-strip span,.discover-strip a{flex:0 0 auto;padding:1rem 1.25rem;border-right:1px solid #ffffff20}.discover-strip span{color:#d59565;text-transform:uppercase;letter-spacing:.15em;font-size:13px}.discover-strip a:hover{background:#b87442;color:#16130f}
.patisserie-services{column-span:all;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.patisserie-services article{background:#fff;border-top:4px solid #b87442;padding:2rem}.patisserie-services small{color:#a26031;letter-spacing:.18em}.patisserie-services h2{font:600 2rem/1 var(--serif);margin:1rem 0}.patisserie-services a{font-weight:600;border-bottom:1px solid}.patisserie-quote{column-span:all;background:#1b1a17;color:#fff;padding:clamp(3rem,7vw,7rem);margin-top:4rem}.patisserie-quote p{font:italic 600 clamp(2.5rem,5vw,5rem)/1 var(--serif);margin:0 0 1rem}.patisserie-quote span{color:#d8aa86;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
@media(max-width:900px){.patisserie-services{grid-template-columns:1fr}}
@media(max-width:580px){.menu-jump{margin:0;top:72px;width:100%;max-width:100%;overscroll-behavior-inline:contain}.discover-strip span,.discover-strip a{padding:.85rem 1rem}.hero-copy,.story-copy{max-width:calc(100% - 2.5rem)}}

/* Forge edition — deliberately independent from the SaaleMomente brand site */
:root{--ink:#f0eee9;--navy:#0d0d0c;--copper:#ff6a1a;--cream:#e9e5dd;--muted:#77736d;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}
body{background:#e9e5dd;color:#151512}.site-header{height:84px;background:#0d0d0c;border-bottom:1px solid #ffffff24}.brand span{font-size:13px;letter-spacing:.2em;text-transform:uppercase}.brand b{font:700 1.05rem var(--sans);letter-spacing:.08em}.brand img{filter:grayscale(1) contrast(1.25)}.site-header nav a{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.button{border-radius:0;background:#ff6a1a;border-color:#ff6a1a;color:#0d0d0c;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800}.ghost{background:transparent;color:#fff;border-color:#ffffff70}
.hero,.story-hero{height:calc(100svh - 84px);min-height:650px;background:#0d0d0c}.hero-image{filter:saturate(.72) contrast(1.08)}.hero-shade,.story-shade{background:linear-gradient(90deg,rgba(10,10,9,.98) 0%,rgba(10,10,9,.72) 42%,rgba(10,10,9,.14) 75%),linear-gradient(0deg,rgba(10,10,9,.62),transparent 50%)}.hero-copy{left:clamp(1.3rem,7vw,7rem);max-width:850px;z-index:3}.hero h1,.story-copy h1{font:900 clamp(4rem,9.4vw,9.6rem)/.78 var(--sans);letter-spacing:-.075em;text-transform:uppercase}.hero-copy>p:not(.eyebrow){max-width:610px;font-size:1.16rem}.hero-signature{position:absolute;z-index:2;right:-.04em;bottom:-.15em;margin:0;color:transparent;-webkit-text-stroke:1px #ffffff32;font:900 clamp(5rem,15vw,15rem)/1 var(--sans);letter-spacing:-.07em;white-space:nowrap;pointer-events:none}.eyebrow{color:#ff7b35;font-family:var(--sans);font-weight:800}.open-card{z-index:4;background:#ff6a1a;color:#0d0d0c;border:0}.open-card small,.open-card a{color:#0d0d0c}.status-dot{background:#0d0d0c}
.quick{background:#0d0d0c;border:0}.quick a{padding:1.35rem clamp(1rem,3vw,3rem);border-color:#ffffff20;color:#fff}.quick a:before{content:'↗';color:#ff6a1a;font-size:1.25rem;grid-row:1/3}.quick small{color:#a7a39d}.discover-strip{background:#ff6a1a;color:#0d0d0c}.discover-strip span{color:#0d0d0c;font-weight:900}.discover-strip span,.discover-strip a{border-color:#0d0d0c30}.discover-strip a{font-weight:800}.discover-strip a:hover{background:#0d0d0c;color:#fff}
.intro{align-items:start}.intro h2,.offer-head h2,.places h2,.hours h2,.gift-copy h2{font-family:var(--sans);font-weight:900;text-transform:uppercase;letter-spacing:-.065em}.intro h2{font-size:clamp(3.1rem,6vw,6.7rem);line-height:.84}.features{grid-template-columns:1.7fr .65fr;gap:0;padding-bottom:0;max-width:none;padding-left:0;padding-right:0}.feature{min-height:680px}.feature:after,.offer-card:after{background:linear-gradient(transparent 20%,rgba(8,8,7,.92))}.feature strong{font-family:var(--sans);font-weight:850;text-transform:uppercase;letter-spacing:-.035em}.feature em,.offer-card small{color:#ff7b35}
.offer-worlds{background:#11110f;color:#fff;padding-top:9rem}.offer-head{max-width:1180px;margin-left:auto;margin-right:auto}.offer-head p{color:#b8b4ad}.offer-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:2px}.offer-card{grid-column:span 4}.offer-card:first-child{grid-column:span 8;grid-row:span 2}.offer-card:nth-child(2),.offer-card:nth-child(6){grid-column:span 4}.offer-card:nth-child(7){grid-column:span 8}.offer-card b{font-family:var(--sans);font-weight:850;text-transform:uppercase}.social-proof{background:#ff6a1a;color:#0d0d0c}.proof-copy .stars,.proof-copy>p{color:#0d0d0c}.proof-copy blockquote{font-family:var(--sans);font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:-.055em}.gift-world{background:#d8d2c7}.gift-copy h2{font-size:clamp(3rem,6vw,7rem)}.places,.page-cta{background:#0d0d0c}.place-grid{gap:2px}.place-grid article{background:#1a1916}.page-cta h2{font-family:var(--sans);font-weight:900;text-transform:uppercase;letter-spacing:-.06em}
.story-copy{z-index:3}.story-copy h1{max-width:1050px}.promise{background:#ff6a1a;border:0}.promise span{border-color:#0d0d0c30;color:#0d0d0c;font-weight:900}.editorial{columns:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:7rem;row-gap:0}.editorial>h2,.editorial>section,.editorial>blockquote,.editorial>.menu-note,.editorial>.catering-tool{grid-column:1/-1}.editorial h2{font-family:var(--sans);font-weight:900;text-transform:uppercase;letter-spacing:-.055em}.editorial h3{font-family:var(--sans);font-weight:800}.editorial p{font-size:1.05rem}.visual-pair{gap:2px}.rental-grid,.patisserie-services{gap:2px}.rental-grid article,.patisserie-services article{border:0;border-top:7px solid #ff6a1a}.rental-grid article.featured{background:#0d0d0c}.equipment-band,.patisserie-quote{background:#ff6a1a;color:#0d0d0c}.patisserie-quote span{color:#0d0d0c}.tool-steps{border:0;gap:2px;background:#0d0d0c}.tool-steps button{border:0;background:#d8d2c7}.tool-steps button.active{background:#ff6a1a;color:#0d0d0c}.catering-tool form,.price-card{border:0;box-shadow:none}.price-card{background:#0d0d0c}.tool-nav #next,.tool-nav #submit{background:#ff6a1a}.tool-fallback{display:inline-block;margin-top:.8rem;padding:.8rem 1rem;background:#ff6a1a;color:#0d0d0c;font-weight:800}.reservation-steps b{display:none}
@media(max-width:900px){.site-header{height:72px}.hero,.story-hero{height:680px;min-height:620px}.hero h1,.story-copy h1{font-size:clamp(3.5rem,13.7vw,6.2rem)}.hero-signature{display:none}.features{grid-template-columns:1fr}.feature{min-height:520px}.offer-grid{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.offer-card,.offer-card:first-child,.offer-card:nth-child(2),.offer-card:nth-child(6),.offer-card:nth-child(7){grid-column:span 1;grid-row:span 1}.editorial{display:block}.editorial>*{margin-bottom:1.1rem}}
@media(max-width:580px){.hero,.story-hero{height:670px;min-height:0}.hero h1,.story-copy h1{font-size:3.55rem;line-height:.82}.hero-copy{top:42%}.hero-copy>p:not(.eyebrow){font-size:1rem}.quick{grid-template-columns:1fr 1fr}.quick a{border-bottom:1px solid #ffffff20}.features .feature{min-height:460px}.offer-worlds{padding-top:5rem}.offer-grid{grid-template-columns:1fr;grid-auto-rows:330px}.offer-head{padding:0 .4rem}.offer-head h2{font-size:3.4rem}.social-proof .proof-copy{min-height:430px}.gift-copy{padding:3rem 1.2rem}.story-copy{bottom:3rem}.story-copy>p:not(.eyebrow){font-size:1rem}.promise{grid-template-columns:1fr}.editorial{padding-left:1.2rem;padding-right:1.2rem}.catering-tool{margin-left:-.2rem;margin-right:-.2rem}.tool-steps{display:flex;overflow-x:auto}.tool-steps button{flex:1 0 auto;padding:.85rem}.rental-grid article,.patisserie-services article{padding:1.5rem}}

/* Waldhafen edition — shaped by the actual rooms, birch details and woodland setting */
:root{--ink:#30322f;--navy:#30322f;--copper:#846b55;--cream:#f3efe7;--muted:#716f69;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
body{background:#f3efe7;color:#30322f}.site-header{height:84px;background:rgba(48,50,47,.96);border-color:#ffffff18}.brand img{filter:none}.brand span{font-size:13px;letter-spacing:.06em;text-transform:none}.brand b{font:600 1rem var(--sans);letter-spacing:.02em}.site-header nav a{font-size:.9rem;letter-spacing:0;text-transform:none}.button{border-radius:999px;background:#d8c6ad;border-color:#d8c6ad;color:#30322f;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600;padding:.8rem 1.55rem}.button:hover{background:#ece2d3;border-color:#ece2d3}.ghost{background:rgba(48,50,47,.28);color:#fff;border-color:#ffffffa0;backdrop-filter:blur(8px)}
.hero,.story-hero{height:min(820px,calc(100svh - 84px));min-height:650px;background:#30322f}.hero-image{filter:saturate(.88) contrast(1.02);object-position:center 53%}.hero-shade,.story-shade{background:linear-gradient(90deg,rgba(40,42,39,.9) 0%,rgba(40,42,39,.55) 48%,rgba(40,42,39,.08) 78%),linear-gradient(0deg,rgba(37,38,35,.45),transparent 45%)}.hero-copy{left:clamp(1.3rem,8vw,8rem);max-width:720px}.hero h1,.story-copy h1{font:600 clamp(3.8rem,7.7vw,7.6rem)/.88 var(--serif);letter-spacing:-.05em;text-transform:none;text-shadow:0 2px 20px #0005}.hero-copy>p:not(.eyebrow){font-size:1.14rem;line-height:1.65}.hero-signature{display:none}.eyebrow{color:#e4d5c1;font-family:var(--sans);font-weight:600}.eyebrow.dark{color:#7a624e}.open-card{background:rgba(239,232,221,.94);color:#30322f;border:0;border-radius:18px;box-shadow:0 18px 50px #0003}.open-card small,.open-card a{color:#64635e}.status-dot{background:#766b5e}
.quick{background:#f8f5ef;border-bottom:1px solid #d9d1c6}.quick a{color:#30322f;border-color:#ddd5ca}.quick a:before{content:'→';color:#846b55}.quick small{color:#716f69}.discover-strip{background:#d8c6ad;color:#30322f}.discover-strip span{color:#5d4b3c}.discover-strip span,.discover-strip a{border-color:#77634e22}.discover-strip a{font-weight:600}.discover-strip a:hover{background:#30322f;color:#fff}
.intro{align-items:center}.intro h2,.offer-head h2,.places h2,.hours h2,.gift-copy h2{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.045em}.intro h2{font-size:clamp(3rem,5.6vw,5.8rem);line-height:.94}.features{max-width:1280px;margin:0 auto;padding:0 2rem 10rem;grid-template-columns:1.4fr .7fr;gap:1.5rem}.feature{min-height:600px;border-radius:30px}.feature:nth-child(2){transform:translateY(5rem)}.feature:after,.offer-card:after{background:linear-gradient(transparent 28%,rgba(41,40,36,.88))}.feature strong{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.025em}.feature em,.offer-card small{color:#e6d5bf}
.offer-worlds{background:#e4ddd2;color:#30322f;padding-top:8rem}.offer-head{max-width:1180px}.offer-head p{color:#62625d}.offer-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:250px;gap:1rem}.offer-card{grid-column:span 4;border-radius:22px}.offer-card:first-child{grid-column:span 7;grid-row:span 2}.offer-card:nth-child(2){grid-column:span 5}.offer-card:nth-child(6){grid-column:span 5}.offer-card:nth-child(7){grid-column:span 7}.offer-card b{font-family:var(--serif);font-weight:600;text-transform:none}.social-proof{background:#6e6257;color:#fff}.proof-copy .stars{color:#eadcc8}.proof-copy>p{color:#ece5dc}.proof-copy blockquote{font-family:var(--serif);font-style:italic;font-weight:600;text-transform:none;letter-spacing:-.035em}.gift-world{background:#f3efe7}.gift-copy h2{font-size:clamp(3rem,5.5vw,5.5rem)}.gift-image img{filter:saturate(.9)}.places,.page-cta{background:#30322f}.place-grid{gap:1.5rem}.place-grid article{background:#42443f;border-radius:22px;overflow:hidden}.page-cta h2{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.04em}footer{background:#292b28}
.story-copy h1{max-width:950px}.promise{background:#ded4c5;border:0}.promise span{border-color:#77634e22;color:#4f4b45;font-weight:600}.editorial{columns:2;display:block;column-gap:7rem}.editorial h2{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.035em}.editorial h3{font-family:var(--serif);font-weight:600}.editorial p{font-size:1.05rem;color:#4c4d49}.visual-pair{gap:1.5rem}.visual-pair figure{border-radius:24px;overflow:hidden}.rental-grid,.patisserie-services{gap:1rem}.rental-grid article,.patisserie-services article{border:1px solid #d3c9bc;border-top:1px solid #d3c9bc;border-radius:20px}.rental-grid article.featured{background:#4b4d48}.rental-price strong{color:#765f4b}.equipment-band,.patisserie-quote{background:#6e6257;color:#fff;border-radius:24px}.patisserie-quote span{color:#e5d7c5}.tool-steps{border:1px solid #d3c9bc;gap:0;background:#fff;border-radius:16px;overflow:hidden}.tool-steps button{background:#eee8df}.tool-steps button.active{background:#595b56;color:#fff}.catering-tool form,.price-card{border:1px solid #d3c9bc;border-radius:20px;box-shadow:0 18px 50px #5c514311}.price-card{background:#4b4d48}.tool-nav #next,.tool-nav #submit,.tool-fallback{background:#d8c6ad;color:#30322f;border-radius:999px}.choice-grid label{border-radius:12px}.reservation-launch{border-radius:24px}.reservation-steps span{border-radius:10px}
@media(max-width:900px){.site-header{height:72px}.hero,.story-hero{height:690px;min-height:620px}.hero h1,.story-copy h1{font-size:clamp(3.3rem,12vw,5.8rem)}.features{grid-template-columns:1fr;padding-bottom:5rem}.feature{min-height:500px}.feature:nth-child(2){transform:none}.offer-grid{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.offer-card,.offer-card:first-child,.offer-card:nth-child(2),.offer-card:nth-child(6),.offer-card:nth-child(7){grid-column:span 1;grid-row:span 1}.editorial{columns:1}.mobile-actions a:last-child{background:#5a5c57;color:#fff}}
@media(max-width:580px){.hero,.story-hero{height:680px}.hero h1,.story-copy h1{font-size:3.45rem;line-height:.88}.hero-copy{top:41%}.quick{grid-template-columns:1fr 1fr}.features{padding:0 0 4rem;gap:0}.features .feature{min-height:430px;border-radius:0}.offer-worlds{padding-top:5rem}.offer-grid{grid-template-columns:1fr;grid-auto-rows:330px;gap:.8rem}.offer-card{border-radius:16px}.offer-head h2{font-size:3.2rem}.story-copy{bottom:3rem}.promise{grid-template-columns:1fr}.editorial{padding-left:1.2rem;padding-right:1.2rem}.tool-steps{display:flex;overflow-x:auto}.tool-steps button{flex:1 0 auto}.rental-grid article,.patisserie-services article{padding:1.5rem}.equipment-band,.patisserie-quote{border-radius:16px}}

/* Text-led utility pages intentionally avoid repeating a generic stock hero. */
.story-hero.text-hero{height:560px;min-height:520px;background:radial-gradient(circle at 78% 28%,#81746655 0 2%,transparent 24%),linear-gradient(125deg,#252724 0%,#494b46 58%,#655b51 100%)}
.story-hero.text-hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(92deg,transparent 0 72px,#fff 73px 74px);opacity:.025}
.text-hero .story-shade{background:linear-gradient(90deg,rgba(28,29,27,.88),rgba(28,29,27,.26))}
@media(max-width:580px){.story-hero.text-hero{height:540px;min-height:500px}}

/* Functional polish */
.menu-jump{position:relative;top:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;overflow:visible;background:transparent;border:0;padding:0;margin:0 0 1.5rem}.menu-jump a{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;white-space:normal;border-radius:999px;background:#fff;border:1px solid #d0c6b9;padding:.65rem .8rem}.menu-jump a:hover,.menu-jump a:focus{background:#595b56;color:#fff;border-color:#595b56}.menu-section{scroll-margin-top:1rem}
.reservation-tool{column-span:all;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);gap:1.2rem}.reservation-intro{grid-column:1/-1;max-width:760px}.reservation-intro h2{font:600 clamp(2.6rem,5vw,4.8rem)/1 var(--serif);margin:.4rem 0}.reservation-tool form,.reservation-assurance{background:#fff;border:1px solid #d3c9bc;border-radius:22px;padding:clamp(1.3rem,4vw,3rem)}.reservation-tool .form-grid{margin-top:0}.reservation-assurance{align-self:start;background:#6e6257;color:#fff}.reservation-assurance b{font:600 1.8rem var(--serif)}.reservation-assurance a{display:inline-block;margin-top:1rem;border-bottom:1px solid #fff}.reservation-tool #reservation-result{font-weight:600;margin-top:1.2rem}.reservation-tool input:disabled,.reservation-tool select:disabled{opacity:.6}.catering-tool:has(.price-card[hidden]){grid-template-columns:1fr}.catering-tool:has(.price-card[hidden]) form{max-width:900px;margin:auto;width:100%}
@media(max-width:900px){.reservation-tool{grid-template-columns:1fr}.reservation-assurance{grid-column:1}.menu-jump{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.menu-jump{grid-template-columns:1fr 1fr;gap:.5rem}.menu-jump a{font-size:.82rem;min-height:46px;padding:.55rem}.reservation-tool{display:block}.reservation-tool form,.reservation-assurance{border-radius:16px;padding:1.2rem;margin-top:1rem}.reservation-tool .form-grid{grid-template-columns:1fr}.reservation-tool .button{width:100%}.catering-tool:has(.price-card[hidden]) form{max-width:none}}

/* Cross-links, occasion finder and accessibility polish */
.section-nav{display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding:1rem max(1.2rem,calc((100vw - 1180px)/2));background:#f8f5ef;border-bottom:1px solid #cfc6ba}.section-nav strong,.section-nav a{flex:0 0 auto}.section-nav strong{margin-right:.5rem;color:#3d3e3a;font-size:.9rem}.section-nav a{padding:.65rem 1rem;border:1px solid #bcb1a4;border-radius:999px;background:#fff;font-weight:600}.section-nav a:hover,.section-nav a:focus-visible,.section-nav a[aria-current="page"]{background:#454741;color:#fff;border-color:#454741}
.occasion-finder{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center;margin-top:1rem;margin-bottom:8rem;padding-top:clamp(2rem,5vw,4rem);padding-bottom:clamp(2rem,5vw,4rem);background:#ded4c5;border-radius:26px}.occasion-finder h2{font:600 clamp(2.8rem,5vw,5rem)/.95 var(--serif);margin:.4rem 0}.occasion-finder form{display:grid;gap:.75rem;background:#fff;padding:clamp(1.2rem,3vw,2rem);border-radius:18px}.occasion-finder label{font-weight:600}.occasion-finder select{width:100%;min-height:52px;padding:.75rem;border:2px solid #786f65;border-radius:10px;background:#fff;color:#292a27;font:inherit}.occasion-finder .button{margin-top:.3rem}
.link-cards{column-span:all;display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:2rem 0}.link-cards h2{grid-column:1/-1}.link-cards a{display:grid;gap:.25rem;padding:1.35rem;background:#fff;border:1px solid #c9bfb3;border-radius:16px}.link-cards a:hover,.link-cards a:focus-visible{border-color:#5b5d57;box-shadow:0 10px 30px #463d3220}.link-cards b{font:600 1.35rem var(--serif)}.link-cards span{color:#4d4e49}.editorial address{font-style:normal;background:#fff;border-left:4px solid #846b55;padding:1rem 1.25rem;margin:1rem 0 2rem}
/* Stronger minimum contrast and unmistakable keyboard focus. */
.eyebrow.dark{color:#5f4a38}.editorial p,.gift-options span,.quick small{color:#4d4e49}.menu-item p,.choice-grid small{color:#50534f}.rental-grid em{color:#555650}.rental-grid .featured em,.price-card>span,.price-card>p{color:#f1eee8}.site-header nav a{opacity:1}.place-grid p{color:#f1eee8}.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f2c384;outline-offset:3px}.menu-button{min-width:48px;min-height:44px;font-size:1rem}.mobile-actions a{min-height:48px}.story-copy h1{overflow-wrap:anywhere}.form-grid input,.form-grid select,.form-grid textarea{min-height:48px;font-size:1rem}
@media(max-width:900px){.occasion-finder{grid-template-columns:1fr;margin-left:1rem;margin-right:1rem;margin-bottom:5rem}.section-nav{padding-left:1rem;padding-right:1rem}}
@media(max-width:580px){.story-copy h1{font-size:clamp(2.55rem,12vw,3.35rem);line-height:.94}.story-copy{bottom:2.35rem}.story-copy .actions{margin-top:1.15rem}.section-nav strong{display:none}.section-nav a{padding:.6rem .85rem}.occasion-finder{border-radius:18px;padding:1.4rem;margin-top:1rem}.occasion-finder h2{font-size:2.8rem}.link-cards{grid-template-columns:1fr}.link-cards h2{grid-column:auto}.mobile-actions a{font-size:13px;padding:.75rem .2rem}}

/* Warm, image-led reservation instead of an anonymous dropdown. */
.area-picker{grid-column:1/-1;border:0;padding:0;margin:0 0 1.7rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.area-picker legend{font:600 1.45rem var(--serif);margin-bottom:.8rem}.area-picker label{position:relative;display:grid;background:#f3efe7;border:2px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer}.area-picker input{position:absolute;top:.8rem;left:.8rem;width:22px;height:22px;z-index:2;accent-color:#595b56}.area-picker img{height:150px;object-fit:cover}.area-picker span{display:grid;padding:1rem}.area-picker small{color:#4d4e49;line-height:1.4}.area-picker label:has(input:checked){border-color:#595b56;box-shadow:0 8px 25px #34342e24}.waitlist{display:flex;gap:.75rem;align-items:flex-start;margin:1.2rem 0;padding:1rem;background:#eee7dc;border-radius:12px}.waitlist input{flex:0 0 auto;width:22px;height:22px;accent-color:#595b56}.winter-note{column-span:all;background:#4b4d48;color:#fff;padding:clamp(2rem,6vw,5rem);border-radius:24px;margin-bottom:3rem;box-shadow:inset 0 0 0 1px #ffffff18}.winter-note h2{font-size:clamp(3rem,6vw,6rem);margin:.4rem 0 1rem}.winter-note p{color:#f3efe8;max-width:760px}.winter-note:before{content:'✦';display:block;color:#e5d7c5;font-size:2rem}
@media(max-width:760px){.area-picker{grid-template-columns:1fr}.area-picker label{grid-template-columns:120px 1fr}.area-picker img{height:100%;min-height:110px}.winter-note{border-radius:16px}}

/* Interactive Hafenbar recommendation */
.harbor-match{column-span:all;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);background:#4b4d48;color:#fff;padding:clamp(2rem,6vw,5rem);border-radius:24px;margin:2rem 0 5rem}.harbor-match h2{font:600 clamp(2.8rem,5vw,5rem)/.95 var(--serif);margin:.4rem 0}.harbor-match p{color:#f1eee8}.harbor-match form{background:#f7f3ed;color:#30322f;padding:clamp(1.2rem,3vw,2rem);border-radius:18px;display:grid;gap:1rem}.harbor-match fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.harbor-match legend{font-weight:700;margin-bottom:.5rem}.harbor-match form label{display:flex;align-items:center;gap:.55rem}.harbor-match fieldset label{padding:.8rem;background:#fff;border:1px solid #cbbfb1;border-radius:10px}.harbor-match input[type="radio"]{width:20px;height:20px;accent-color:#595b56}.harbor-match input[type="number"]{width:100%;min-height:48px;padding:.7rem;border:1px solid #81776c;border-radius:8px;font:inherit}.harbor-match #harbor-result:empty{display:none}.harbor-match #harbor-result{display:grid;gap:.3rem;background:#30322f;color:#fff;padding:1.2rem;border-radius:12px}.harbor-match #harbor-result small{color:#e5d7c5;text-transform:uppercase;letter-spacing:.12em}.harbor-match #harbor-result strong{font:600 1.7rem var(--serif)}.harbor-match #harbor-result span{color:#f1eee8}.harbor-match #harbor-result .button{margin-top:.7rem}.rental-grid article.recommended{outline:4px solid #846b55;outline-offset:4px;transform:translateY(-.6rem)}.rental-grid article.featured.recommended{transform:translateY(-1.6rem)}
@media(max-width:800px){.harbor-match{grid-template-columns:1fr;border-radius:16px}.harbor-match fieldset{grid-template-columns:1fr}.rental-grid article.recommended,.rental-grid article.featured.recommended{transform:none}}

/* Guided requests and privacy-friendly directions */
.inquiry-studio,.route-planner{column-span:all;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);margin:3rem 0;padding:clamp(2rem,6vw,5rem);border-radius:24px;background:#4b4d48;color:#fff}.inquiry-copy h2,.route-planner h2{font:600 clamp(2.8rem,5vw,5rem)/.96 var(--serif);margin:.45rem 0 1rem}.inquiry-copy p,.route-planner p{color:#f2eee8}.website-inquiry{background:#f8f5ef;color:#30322f;border-radius:18px;padding:clamp(1.25rem,3vw,2.2rem)}.website-inquiry .form-grid{margin-top:0}.website-inquiry .button{background:#d8c6ad}.inquiry-result{font-weight:700;margin:1rem 0 0}.route-planner{align-items:center;background:#ded4c5;color:#30322f}.route-planner p{color:#4d4e49}.route-actions{display:grid;gap:.8rem;align-content:center}.route-actions .button{text-align:center;justify-content:center}.route-planner address{background:#fff;border-left:4px solid #846b55;border-radius:0 12px 12px 0}.website-inquiry textarea{resize:vertical}.website-inquiry button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.inquiry-studio,.route-planner{grid-template-columns:1fr;border-radius:16px;padding:1.35rem}.website-inquiry{padding:1.1rem}.inquiry-copy h2,.route-planner h2{font-size:2.75rem}.route-actions .button{width:100%}}
.gift-options button{font:inherit;text-align:left;color:inherit;cursor:pointer;border:1px solid #c8beb1;background:#fff;padding:1rem;border-radius:14px}.gift-options button.selected,.gift-options button:hover,.gift-options button:focus-visible{background:#4b4d48;color:#fff;border-color:#4b4d48}.gift-options button span{display:block;margin-top:.25rem}.gift-options button.selected span{color:#f1eee8}#gift-choice{font-weight:600;min-height:1.5em}

/* Mobile controls: never escape their card or cut off long German labels. */
form,fieldset,label,.form-grid>*,.choice-grid>*,.tool-nav>*{min-width:0;max-width:100%}input,select,textarea,button,.button{max-width:100%;box-sizing:border-box}select{width:100%;white-space:normal;text-overflow:ellipsis;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem!important}button,.button{overflow-wrap:anywhere;white-space:normal;line-height:1.25;text-align:center}.choice-grid b,.choice-grid small,.tool-steps button{overflow-wrap:anywhere}.christmas-card img{object-position:center 48%}.gift-image img{object-position:center 44%}
@media(max-width:580px){.tool-nav{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.tool-nav button{width:100%;padding:.8rem .55rem}.website-inquiry .button,.occasion-finder .button,.catering-tool .button{width:100%}.gift-options{grid-template-columns:1fr}.gift-options button{width:100%}}

/* iOS gives date inputs a large intrinsic width unless every layer may shrink. */
.form-grid label{min-width:0;overflow:hidden}.form-grid input[type="date"],.form-grid input[type="time"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;height:3.45rem;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}@media(max-width:580px){.form-grid{width:100%;max-width:100%;overflow:hidden}.website-inquiry{width:100%;max-width:100%;overflow:hidden}}

.brand-bridge{background:#e9e3da;padding:clamp(1.45rem,3vw,2.4rem) max(1.2rem,calc((100vw - 1180px)/2));border-top:1px solid #d2c7b9}.brand-bridge a{display:grid;grid-template-columns:164px 1fr;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);color:#30322f}.brand-bridge img{width:164px;height:auto;border-radius:10px;mix-blend-mode:multiply}.brand-bridge span{display:grid;gap:.32rem;padding-left:clamp(1.25rem,3vw,2.8rem);border-left:1px solid #c9bcae}.brand-bridge small{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:#675848}.brand-bridge strong{font:600 clamp(1.35rem,2.4vw,2.15rem)/1.12 var(--serif);letter-spacing:-.025em}.brand-bridge em{font-style:normal;color:#4d4e49;font-size:.94rem}.brand-bridge em b{color:var(--copper);font-size:1.1em}.brand-bridge a:hover em{text-decoration:underline;text-underline-offset:.3em}@media(max-width:680px){.brand-bridge{padding-block:1.35rem}.brand-bridge a{grid-template-columns:118px 1fr;gap:1rem}.brand-bridge img{width:118px}.brand-bridge span{padding-left:1rem}.brand-bridge small{font-size:13px;letter-spacing:.1em}.brand-bridge strong{font-size:1.25rem}.brand-bridge em{font-size:13px}}

/* Version 18: clearer first decisions, stronger inquiry confidence and calmer motion. */
.decision-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;padding-top:2rem;padding-bottom:2rem}.decision-cards a{display:grid;gap:.35rem;padding:1.35rem;background:#fff;border:1px solid #d3c9bc;border-radius:16px;transition:transform .2s,border-color .2s,box-shadow .2s}.decision-cards a:hover,.decision-cards a:focus-visible{transform:translateY(-3px);border-color:#6e6257;box-shadow:0 14px 35px #40382e18}.decision-cards small{color:#705c49;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.decision-cards strong{font:600 1.45rem/1.15 var(--serif)}.decision-cards span{color:#4d4e49}.inquiry-benefits,.reservation-assurance ul{padding:0;list-style:none;display:grid;gap:.5rem}.inquiry-benefits li:before,.reservation-assurance li:before{content:'✓';margin-right:.55rem;color:#e5d7c5;font-weight:700}.field-hint{display:block;color:#565650;font-size:.82rem;margin-top:.25rem}.reservation-assurance ul{margin:1.2rem 0}
@media(max-width:760px){.decision-cards{grid-template-columns:1fr;padding:1rem}.decision-cards a{padding:1.15rem}.decision-cards strong{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* The original live table plan remains the single source of truth for guests and staff. */
.interactive-reservation{column-span:all;width:100%}.interactive-reservation .reservation-intro{max-width:820px;margin:0 auto 2rem;text-align:center}.interactive-reservation .reservation-frame{display:block!important;width:100%;margin:0;overflow:hidden;border:1px solid #d3c9bc;border-radius:22px;background:#fff;box-shadow:0 18px 50px #5c514311}.interactive-reservation iframe{display:block;width:100%;height:1400px;min-height:900px;border:0;background:#f8f5f1}.reservation-fallback{max-width:none!important;margin:1rem 0 0!important;text-align:center;font-size:.9rem}.reservation-fallback a{text-decoration:underline;text-underline-offset:.2em}@media(max-width:760px){.interactive-reservation{margin-inline:-.2rem;width:calc(100% + .4rem)}.interactive-reservation .reservation-intro{text-align:left}.interactive-reservation .reservation-frame{border-radius:16px}.interactive-reservation iframe{height:1280px}}

/* Version 22: the Schmiedehafen experience, from first feeling to confirmed place. */
.live-harbor{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(2.4rem,5vw,4.7rem) max(1.2rem,calc((100vw - 1180px)/2));background:#4b4d48;color:#fff}.live-harbor h2{font:600 clamp(2.4rem,4.8vw,4.8rem)/1 var(--serif);margin:.35rem 0 1rem}.live-harbor p{max-width:680px;color:#f1eee8}.live-harbor-action{position:relative;display:grid;gap:.25rem;padding:1.5rem 1.5rem 1.5rem 3rem;border:1px solid #ffffff2e;border-radius:18px}.live-harbor-action small{color:#e5d7c5;text-transform:uppercase;letter-spacing:.12em}.live-harbor-action strong{font-size:1.1rem}.live-harbor-action .button{margin-top:1rem}.live-pulse{position:absolute;left:1.25rem;top:1.75rem;width:10px;height:10px;border-radius:50%;background:#a8d6ad;box-shadow:0 0 0 7px #a8d6ad22}
.moment-studio{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,6vw,6rem);padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem)}.moment-head{grid-row:1/3}.moment-head h2,.favorite-seat h2,.host-story h2,.trust-journey h2{font:600 clamp(3rem,5.7vw,5.7rem)/.94 var(--serif);letter-spacing:-.045em;margin:.4rem 0 1.2rem}.moment-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.moment-choices button{min-height:138px;display:grid;align-content:space-between;text-align:left;padding:1rem;border:1px solid #cfc4b7;border-radius:14px;background:#fff;color:#30322f;cursor:pointer}.moment-choices button span{color:#806750;font-size:13px}.moment-choices button b{font:600 1.2rem/1.1 var(--serif)}.moment-choices button small{color:#555650}.moment-choices button[aria-pressed="true"]{background:#4b4d48;color:#fff;border-color:#4b4d48;box-shadow:0 14px 32px #3e372e22}.moment-choices button[aria-pressed="true"] small{color:#eee8df}.moment-result{background:#ded4c5;border-radius:18px;padding:clamp(1.4rem,3vw,2.5rem)}.moment-result>small{color:#67513e;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.moment-result h3{font:600 clamp(2rem,3.4vw,3.6rem)/1 var(--serif);margin:.4rem 0}.moment-result .actions{align-items:center}.moment-result .text-link{margin-left:.4rem}
.favorite-seat{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,7vw,7rem);align-items:center;background:#30322f;color:#fff;padding:clamp(4rem,8vw,8rem) max(1.2rem,calc((100vw - 1280px)/2))}.favorite-seat p{color:#ece7df}.seat-tabs{display:flex;gap:.5rem;margin:1.5rem 0}.seat-tabs button{border:1px solid #ffffff55;border-radius:999px;background:transparent;color:#fff;padding:.7rem 1.2rem;font:inherit;cursor:pointer}.seat-tabs button[aria-pressed="true"]{background:#ded4c5;color:#30322f;border-color:#ded4c5}.seat-note{min-height:1.6em}.mini-plan{position:relative;border:1px solid #ffffff35;border-radius:28px;background:linear-gradient(155deg,#4f554d,#3e413c);padding:3.1rem 1.4rem 1.2rem;box-shadow:inset 0 0 70px #0002}.plan-water{position:absolute;top:1.1rem;left:1.4rem;text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:#cbdccf}.plan-stage{position:relative;min-height:460px;border:1px solid #ffffff1f;border-radius:16px;background:repeating-linear-gradient(0deg,transparent 0 48px,#ffffff08 49px 50px),repeating-linear-gradient(90deg,transparent 0 48px,#ffffff08 49px 50px)}.mini-table{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ded4c5;color:#30322f;border:5px solid #b7aa99;box-shadow:0 7px 18px #0004;font-weight:700;transition:left .35s,top .35s,transform .2s}.mini-table.long{width:74px;border-radius:18px}.mini-table:hover{transform:translate(-50%,-50%) scale(1.08)}.mini-plan>small{display:block;margin-top:1rem;color:#d8d9d5}
.host-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem);align-items:center}.host-story figure{margin:0;position:relative}.host-story img{height:min(680px,70vw);object-fit:cover;border-radius:22px}.host-story article{padding:1.15rem 0;border-top:1px solid #cfc4b7}.host-story article b{font:600 1.5rem var(--serif)}.host-story article p{margin:.3rem 0;color:#4d4e49}
.trust-journey{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,6vw,6rem);padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}.trust-journey ol{list-style:none;padding:0;margin:0;display:grid}.trust-journey li{display:grid;grid-template-columns:54px 1fr;padding:1.4rem 0;border-top:1px solid #c9bfb3}.trust-journey li span{grid-row:1/3;color:#806750;font-weight:700}.trust-journey li b{font:600 1.6rem var(--serif)}.trust-journey li p{margin:.15rem 0;color:#4d4e49}
.menu-compass{display:grid;gap:1rem;padding:1.2rem;background:#ded4c5;border-radius:18px;margin-bottom:1.5rem}.menu-compass label{font-weight:700}.menu-compass input{width:100%;min-height:52px;margin-top:.4rem;padding:.8rem 1rem;border:1px solid #7c7267;border-radius:10px;font:inherit}.menu-filters{display:flex;gap:.5rem;flex-wrap:wrap}.menu-filters button{border:1px solid #756c61;border-radius:999px;padding:.65rem 1rem;background:#fff;color:#30322f;font:inherit;cursor:pointer}.menu-filters button[aria-pressed="true"]{background:#4b4d48;color:#fff}.menu-item[hidden],.menu-section[hidden]{display:none!important}.menu-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:2rem}.menu-shortcuts a{padding:1rem;background:#4b4d48;color:#fff;border-radius:12px}.menu-shortcuts small{display:block;color:#e5d7c5}.menu-shortcuts b{font:600 1.25rem var(--serif)}
.celebration-planner{column-span:all;padding:clamp(2rem,5vw,4rem);margin:2rem 0 4rem;background:#ded4c5;border-radius:24px}.celebration-planner h2{font:600 clamp(2.6rem,5vw,5rem)/.96 var(--serif);margin:.4rem 0}.celebration-planner fieldset{border:0;padding:1.2rem 0;margin:0;border-top:1px solid #bfb2a3}.celebration-planner legend{font-weight:700;padding-right:1rem}.planner-options{display:flex;gap:.55rem;flex-wrap:wrap}.planner-options label{position:relative}.planner-options input{position:absolute;opacity:0}.planner-options span{display:block;border:1px solid #7a7065;border-radius:999px;background:#fff;padding:.7rem 1rem;cursor:pointer}.planner-options label:has(input:checked) span{background:#4b4d48;color:#fff;border-color:#4b4d48}.plan-summary{display:grid;gap:.2rem;margin:1rem 0;padding:1.2rem;background:#fff;border-left:4px solid #806750}.plan-summary small{text-transform:uppercase;letter-spacing:.13em;color:#67513e}.plan-summary strong{font:600 1.65rem var(--serif)}.plan-summary span{color:#4d4e49}
@media(max-width:900px){.live-harbor,.moment-studio,.favorite-seat,.host-story,.trust-journey{grid-template-columns:1fr}.moment-head{grid-row:auto}.moment-choices{grid-template-columns:repeat(2,1fr)}.plan-stage{min-height:420px}.menu-shortcuts{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.live-harbor{padding-block:2.5rem}.moment-studio{padding-left:1rem;padding-right:1rem}.moment-choices{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.moment-choices button{flex:0 0 76%;scroll-snap-align:start}.moment-result .actions{align-items:stretch}.moment-result .text-link{margin:0;padding:.6rem 0}.favorite-seat{padding-block:4rem}.plan-stage{min-height:340px}.mini-plan{border-radius:18px;padding-inline:.8rem}.mini-table{width:43px;height:43px;font-size:13px}.mini-table.long{width:60px}.host-story img{height:480px}.trust-journey{padding-left:1.2rem;padding-right:1.2rem}.menu-shortcuts{grid-template-columns:1fr}.celebration-planner{padding:1.3rem;border-radius:16px}.planner-options{display:grid}.planner-options span{text-align:center}.menu-jump{position:sticky;top:0;z-index:10;background:#f8f5ef;padding:.7rem 0}}

/* Authentic floor plan: same table IDs, positions and room structure as reservation. */
.moment-choices button{align-content:center;gap:.45rem}.moment-choices button>span{display:none}.plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.plan-heading b{font:600 1.45rem var(--serif)}.plan-heading span{color:#cbdccf;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.real-floor-plan{min-height:500px;overflow:hidden;border:2px solid #aeb6b3;border-radius:10px;background:#f7f8f6;box-shadow:inset 0 0 0 7px #fff}.floor-feature{position:absolute;z-index:1;display:grid;place-items:center;color:#5f6a66;font-size:13px;letter-spacing:.05em}.floor-feature.room{background:#eef0ee;border:2px solid #aeb6b3}.storage-top{left:0;top:0;width:18%;height:25%}.bath{left:18%;top:0;width:11%;height:25%}.wc-men{left:29%;top:0;width:21%;height:25%}.wc-women{left:50%;top:0;width:21%;height:25%}.kitchen-main{left:0;top:25%;width:24%;height:48%}.kitchen-low{left:0;top:73%;width:25%;height:27%}.storage-low{left:25%;top:73%;width:26%;height:27%}.bar-shape{left:24%;top:50%;width:29%;height:23%;place-items:end center;padding-bottom:.7rem;background:linear-gradient(#dde2df,#dde2df) left top/100% 23% no-repeat,linear-gradient(#dde2df,#dde2df) right top/12% 100% no-repeat;border:2px solid #a4adaa}.floor-feature.window{z-index:3;height:10px;border-left:3px solid #738b8c;border-right:3px solid #738b8c;background:#dce8e7;font-size:0}.window-a{left:72%;top:0;width:11%}.window-b{left:85%;top:0;width:11%}.window-c{left:64%;bottom:0;width:11%}.window-d{left:82%;bottom:0;width:11%}.floor-feature.entrance{z-index:3;background:#fff;color:#596661;font-size:13px;text-transform:uppercase}.main-door{left:52%;bottom:0;width:11%;height:18px;border-left:3px solid #7d8984}.terrace-door-in{right:0;top:43%;width:13px;height:17%;writing-mode:vertical-rl;border-block:3px solid #7d8984}.restaurant-block{left:3%;top:7%;width:36%;height:59%;border:3px solid #aeb6b3;background:#e6e9e6;color:#a0aaa5;font:700 .65rem var(--serif);text-transform:uppercase}.floor-feature.terrace-outline{left:39%;right:3%;top:7%;bottom:9%;border:3px solid #aeb6b3;border-left:0;background:#eceeeb;clip-path:polygon(0 0,100% 0,100% 78%,72% 100%,0 100%)}.floor-feature.house-wall{left:3%;top:61%;width:36%;height:8%;border-block:3px solid #8d9792;background:#d8dcd9;font-size:13px}.facade-a{left:13%;top:61%;width:11%;height:8%!important}.facade-b{left:27%;top:61%;width:11%;height:8%!important}.terrace-door-out{left:38%;top:26%;width:18px;height:18%;writing-mode:vertical-rl;border-block:3px solid #7d8984}.house-door{left:5%;top:61%;width:7%;height:8%;border:2px solid #7d8984}.real-table{position:absolute;z-index:5;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:34px;border:2px solid #637d84;border-radius:6px;background:#9cafb4;color:#182b30;box-shadow:0 2px 5px #263a3325}.real-table.vertical{width:34px;height:54px}.real-table.horizontal.seats-6,.real-table.horizontal.seats-8{width:72px}.real-table.vertical.seats-6{height:72px}.real-table.round{width:48px;height:48px;border-radius:50%}.real-table.coffee-table{width:94px;height:50px;border-color:#8b6846;background:#eadbc6}.real-table.bar-table{width:29%;height:23%;border:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%);align-items:end;padding-bottom:.5rem}.real-table b{font:700 .72rem var(--sans)}.plan-chair{position:absolute;width:12px;height:9px;border:2px solid #536f76;border-radius:3px;background:#8fa5aa}.plan-chair[data-side="top"]{left:var(--slot);top:-14px;transform:translateX(-50%)}.plan-chair[data-side="bottom"]{left:var(--slot);bottom:-14px;transform:translateX(-50%)}.plan-chair[data-side="left"]{top:var(--slot);left:-16px;transform:translateY(-50%)}.plan-chair[data-side="right"]{top:var(--slot);right:-16px;transform:translateY(-50%)}.plan-legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem;color:#d8d9d5;font-size:13px}.plan-legend span{display:flex;align-items:center;gap:.35rem}.plan-legend i{width:17px;height:12px;border:2px solid #637d84;border-radius:3px;background:#9cafb4}.plan-legend i.chair-key{width:11px;height:8px;background:#8fa5aa}.trust-journey li{grid-template-columns:1fr}.trust-journey li>span{display:none}
@media(max-width:620px){.real-floor-plan{min-width:0;min-height:380px}.floor-feature{font-size:13px}.real-table{scale:.72}.real-table.bar-table{scale:1}.plan-heading{display:grid;gap:.1rem}.plan-legend span:last-child{width:100%}.terrace-door-in{font-size:13px}.moment-choices button{min-height:112px}}
/* Galerie: echtes Bildraster statt leerer Textseite */
.gallery-page{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(5rem,10vw,10rem)}
.gallery-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem 7vw;align-items:end;margin-bottom:clamp(2.5rem,6vw,5rem)}
.gallery-intro .eyebrow{grid-column:1/-1}.gallery-intro h2{margin:0;font-size:clamp(3rem,6vw,6.5rem);line-height:.96}.gallery-intro>p:last-child{margin:0;color:#69645e;font-size:1.05rem;line-height:1.7}
.photo-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(.7rem,1.4vw,1.2rem)}
.photo-story figure{position:relative;min-height:480px;margin:0;overflow:hidden;background:#252724}.photo-story .photo-wide{grid-column:1/-1;min-height:650px}.photo-story .photo-tall{min-height:720px}
.photo-story img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1)}.photo-story figure:hover img{transform:scale(1.025)}
.photo-story figcaption{position:absolute;inset:auto 0 0;padding:4rem 1.4rem 1.2rem;background:linear-gradient(transparent,rgba(9,12,11,.82));color:#fff;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:700px){.gallery-intro{grid-template-columns:1fr}.gallery-intro .eyebrow{grid-column:auto}.photo-story{grid-template-columns:1fr}.photo-story .photo-wide{grid-column:auto}.photo-story figure,.photo-story .photo-wide,.photo-story .photo-tall{min-height:62svh}.photo-story figcaption{font-size:13px}}

/* Mobile Tischplan: nicht auf Kartenbreite stauchen, sondern als lesbaren
   Raumplan mit echten Abständen horizontal erkundbar machen. */
@media(max-width:700px){
  .mini-plan{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .mini-plan .plan-heading,.mini-plan>.plan-water,.mini-plan>.plan-legend,.mini-plan>small{position:sticky;left:0;width:calc(100vw - 5rem);z-index:8}
  .mini-plan .plan-stage,.mini-plan .real-floor-plan{width:920px;min-width:920px;min-height:560px}
  .mini-plan .real-table{scale:1}
  .mini-plan .real-table.bar-table{scale:1}
  .mini-plan:after{content:"Raumplan seitlich wischen →";position:sticky;left:0;display:block;width:max-content;margin:.8rem 0 0;padding:.5rem .75rem;border:1px solid #ffffff30;border-radius:999px;color:#e5d7c5;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
}

/* Photo captions remain separate from the image and never identify people. */
.host-story h2{font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.05;overflow-wrap:normal;hyphens:auto}
.gift-world>.gift-copy,.gift-world>.gift-portrait{min-width:0}
.gift-portrait{margin:0;display:flex;flex-direction:column;background:#e8e1d6}
.gift-portrait .gift-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;flex:1;min-height:0}
.gift-portrait figcaption{padding:1.6rem clamp(1.2rem,3vw,3rem);border-top:1px solid #cfc4b7}
.gift-brand{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:#4d4e49}
.gift-brand img{width:180px;max-width:48%;height:auto;object-fit:contain}
.gift-brand span{max-width:16rem;font-size:.95rem;line-height:1.5}
.career-content{max-width:850px;padding-block:clamp(3rem,6vw,6rem)}
.career-content h2{font:600 clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif);margin:2rem 0 1rem}
.career-contact{margin-top:2.5rem;padding:clamp(1.2rem,3vw,2rem);background:#fff;border-top:2px solid #ad855c;scroll-margin-top:2rem}
.career-contact .actions{flex-wrap:wrap}
@media(max-width:900px){.gift-portrait{grid-row:1}.gift-portrait .gift-photo{aspect-ratio:4/3;max-height:600px;object-position:center 65%}}
@media(max-width:480px){.gift-brand{flex-direction:column;align-items:flex-start;gap:.7rem}.gift-brand img{width:180px;max-width:100%}.gift-brand span{max-width:none}.career-contact .actions{flex-direction:column}}

/* Keep the mobile navigation label readable on narrow screens. */
.menu-button{flex-shrink:0;white-space:nowrap;min-width:60px}

/* Responsive headings: preserve whole words and keep the floor plan in its column. */
.story-hero .story-copy {
  width: min(1000px, calc(100% - 2.5rem));
}
.story-copy h1 {
  max-width: 100%;
  font-size: clamp(1.75rem, 7.8vw, 5.5rem);
  line-height: 1.04;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.favorite-seat {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4vw, 4rem);
}
.favorite-seat > * {
  min-width: 0;
  max-width: 100%;
}
.favorite-seat h2 {
  font-size: clamp(2rem, 3.6vw, 3.5rem);
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
@media (max-width: 900px) {
  .favorite-seat { grid-template-columns: minmax(0, 1fr); }
  .favorite-seat h2 { font-size: clamp(1.5rem, 8vw, 3.5rem); }
}


/* SaaleMomente signature beneath the table photograph. */
.gift-portrait figcaption {
  padding: clamp(1.75rem, 3vw, 2.75rem) 1.5rem;
  background: #eee8de;
  border-top: 1px solid #d6cbbb;
  isolation: isolate;
}
.gift-portrait .gift-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
  text-align: center;
}
.gift-portrait .gift-brand img {
  width: clamp(190px, 19vw, 250px);
  max-width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
.gift-portrait .gift-brand span {
  max-width: 25rem;
  padding-top: 1rem;
  border-top: 1px solid #cbbba7;
  color: #59534b;
  font: 600 clamp(1rem, 1.2vw, 1.15rem)/1.5 var(--serif);
  text-wrap: balance;
}
.gift-portrait .gift-brand:focus-visible {
  outline: 2px solid #846b55;
  outline-offset: 8px;
  border-radius: 3px;
}

/* Give the original 920 × 560 room its own full-width row. */
.favorite-seat {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
}
.favorite-seat .seat-copy {
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}
.favorite-seat .seat-copy > p:not(.eyebrow) {
  max-width: 620px;
  margin-inline: auto;
}
.favorite-seat .seat-tabs { justify-content: center; }
.favorite-seat .mini-plan {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(1rem, 2.2vw, 2rem);
}
.favorite-seat .real-floor-plan {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: 23 / 14;
}
@media (max-width: 999px) {
  .favorite-seat .mini-plan {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .favorite-seat .real-floor-plan { width: 920px; min-width: 920px; }
  .favorite-seat .plan-heading,
  .favorite-seat .plan-legend {
    position: sticky;
    left: 0;
    width: 100%;
  }
  .favorite-seat .mini-plan:after {
    content: "Raumplan seitlich wischen →";
    position: sticky;
    left: 0;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: .8rem;
    padding: .5rem .75rem;
    border: 1px solid #ffffff30;
    border-radius: 999px;
    color: #e5d7c5;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
}


/* Final guest information: one compact facts panel across all occasions. */
.celebration-facts{max-width:1180px;margin:3rem auto;padding:clamp(1.25rem,4vw,3rem);background:#e9e1d6;border:1px solid #d0c4b4;border-radius:16px;color:#30322f}.celebration-facts h2{font:600 clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif);margin:.5rem 0 1.5rem}.celebration-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0}.celebration-facts dl>div{padding:1rem;background:#f9f6f0;border-radius:8px}.celebration-facts dt{font-size:13px;color:#625548}.celebration-facts dd{margin:.4rem 0 0;font-weight:600;line-height:1.4}.celebration-facts>p{max-width:850px}.celebration-facts .actions{align-items:center}.celebration-facts .dark-button{margin:0}
.arrival-guide{column-span:all;background:#eee7dc;border-radius:14px;padding:clamp(1.3rem,4vw,3rem);margin:2rem 0}.arrival-guide h2{font:600 clamp(1.8rem,3.4vw,3rem)/1.15 var(--serif);margin:.5rem 0 1rem}.arrival-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.arrival-grid h3{font:600 1.25rem var(--serif);margin:1rem 0 .5rem}.arrival-guide .actions{align-items:center}.arrival-guide .dark-button{margin:0}
.home-harbor .harbor-kitchen figcaption,.home-harbor .host-story figcaption,.visual-pair figcaption{padding:.9rem 1rem;background:#e9e1d6;color:#51473c;font-size:.85rem;line-height:1.6}.visual-pair figure:has(figcaption){display:flex;flex-direction:column}.visual-pair figure:has(figcaption) img{height:460px;flex:1;min-height:0}.website-notice{padding:1.5rem 2rem;margin-block:1.5rem;background:#e9e1d6;border-left:4px solid #846b55}.website-notice h2{font:600 1.7rem var(--serif);margin:0 0 .5rem}.closure-list{grid-column:1/-1;padding:1.25rem;background:#e9e1d6;border-radius:10px}.closure-list h3{font:600 1.4rem var(--serif);margin:0 0 .75rem}.closure-list ul{margin:0;padding-left:1.25rem}.closure-list li+li{margin-top:.4rem}[hidden]{display:none!important}
@media(max-width:900px){.celebration-facts{margin:2rem 1rem}.celebration-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.arrival-grid{grid-template-columns:1fr;gap:.25rem}}
@media(max-width:580px){.celebration-facts .actions,.arrival-guide .actions{align-items:stretch}.celebration-facts dd{font-size:.9rem}.celebration-facts dl{gap:.5rem}.celebration-facts dl>div{padding:.8rem}.website-notice{margin:1rem;padding:1.2rem}.visual-pair figure:has(figcaption) img{height:320px}}


/* Content-driven wrapping, including long German headings and narrow forms. */
.story-copy h1, .favorite-seat h2, .gallery-intro h2, .page-cta h2,
.offer-lead h2, .inquiry-copy h2 { overflow-wrap: anywhere; hyphens: auto; }
.story-hero .story-copy { min-width: 0; }
.offer-lead > *, .inquiry-studio > *, .form-grid > *, .gallery-intro > * { min-width: 0; }
.website-inquiry :is(input,select,textarea), .button { max-width: 100%; }
.website-inquiry :is(input,select,textarea) { box-sizing: border-box; min-width: 0; }
@media(max-width:620px) {
  .story-copy h1 { font-size: clamp(1.75rem, 7.5vw, 2.9rem); line-height: 1.12; }
  .actions .button { min-width: 0; white-space: normal; }
  .website-inquiry :is(input,select,textarea) { font-size: 16px; }
}

/* Desktop audit: these headings were wider than their text columns. */
.equipment-band > *, .route-planner > * { min-width: 0; }
.equipment-band h2, .route-planner h2, .editorial h2 {
  max-width: 100%;
  font-size: clamp(1.65rem, 2.8vw, 2.6rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Verified at 320 px in the authenticated website preview. */
@media (max-width: 480px) {
  .intro h2 { font-size: clamp(2rem, 9vw, 2.6rem); overflow-wrap: anywhere; hyphens: auto; }
  .menu-item { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .menu-item > div { min-width: 0; }
  .menu-item h3 { overflow-wrap: anywhere; hyphens: auto; }
  .menu-item > strong { text-align: left; white-space: normal; }
}

/* The pre-deployment 320 px check caught long privacy subheadings. */
.editorial h3 { max-width:100%; overflow-wrap:anywhere; hyphens:auto; }


/* Visual audit: consistent supporting type without changing the brand palette. */
.eyebrow, .eyebrow.dark { font-size: 13px; line-height: 1.6; letter-spacing: .12em; }
.website-inquiry label, #catering-form .form-grid label { font-size: .875rem; line-height: 1.5; }
@media(max-width:620px) {
  .mobile-actions a { font-size: .875rem; min-height: 48px; }
  .page-cta h2 { font-size: clamp(1.875rem,8vw,2.5rem); line-height: 1.16; }
}

@media(max-width:380px) { .mobile-actions a { font-size:13px; padding-inline:2px; } }

/* Menu controls use the full content width, never editorial newspaper columns. */
.editorial:has(> .menu-compass) { columns: auto; display: block; }
.editorial > .menu-compass { margin: 0 0 1.25rem; }
.editorial > .menu-shortcuts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
  margin: 0 0 1.5rem;
}
.menu-shortcuts a { min-width: 0; padding: 1.1rem; }
.menu-shortcuts b { display: block; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }
.menu-shortcuts small { line-height: 1.5; margin-bottom: .3rem; }
@media (max-width: 760px) {
  .editorial > .menu-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .editorial > .menu-shortcuts { grid-template-columns: minmax(0, 1fr); }
}

/* Design audit repairs · 18 September 2026 */

@media(max-width:760px){
 body .mobile-actions{padding-bottom:env(safe-area-inset-bottom);background:#faf7f1}
 body .mobile-actions a,body .mobile-actions a:last-child{background:#faf7f1;color:#30322f;font-size:.875rem;display:flex;align-items:center;justify-content:center;min-height:52px;padding:.7rem .15rem}
 body .mobile-actions a[href="/reservierung/"]{background:#454741;color:#fff}
}
.story-hero.utility-hero{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.65fr);color:#f9f6ef;background:#30322f}
.story-hero.utility-hero>img{position:relative;inset:auto;width:100%;height:100%;max-height:310px;min-height:240px;object-fit:cover;object-position:center 46%;transform:none;grid-column:2;grid-row:1}
.story-hero.utility-hero .story-copy{position:relative;left:auto;bottom:auto;width:auto;max-width:none;padding:clamp(1.5rem,3vw,3rem) max(1.25rem,calc((100vw - 1180px)/2));padding-right:2rem;grid-column:1;grid-row:1;align-self:center}
.story-hero.utility-hero h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.12;margin:.45rem 0 .75rem;letter-spacing:-.025em;hyphens:none;overflow-wrap:normal;text-shadow:none}
.utility-hero .story-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;margin-bottom:0}
.utility-page .editorial{padding-top:2rem}
.utility-page .section-nav{padding-block:.65rem}
.menu-shortcuts b{hyphens:none;overflow-wrap:normal;font-size:clamp(.95rem,1.3vw,1.1rem)}
.story-hero.catering-hero{height:auto;min-height:600px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:#30322f}
.story-hero.catering-hero>img{position:relative;inset:auto;grid-column:2;grid-row:1;min-height:600px;height:100%;max-height:740px;object-fit:cover;object-position:50% 55%;transform:none}
.catering-hero .story-shade{display:none}
.story-hero.catering-hero .story-copy{position:relative;left:auto;bottom:auto;width:auto;max-width:none;grid-column:1;grid-row:1;align-self:center;padding:3rem max(1.25rem,calc((100vw - 1180px)/2));padding-right:clamp(1.5rem,4vw,4rem)}
.catering-hero .story-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;hyphens:none;overflow-wrap:normal;text-shadow:none}
.harbor-counter-hero>img{object-position:center 45%}
@media(max-width:700px){
 .story-hero.utility-hero{grid-template-columns:1fr}
 .story-hero.utility-hero .story-copy{grid-column:1;grid-row:1;padding:1.5rem 1.25rem}
 .story-hero.utility-hero>img{grid-column:1;grid-row:2;min-height:0;height:120px;max-height:120px;object-position:center 47%}
 .utility-hero .eyebrow{margin:0;font-size:13px}
 .utility-page .editorial{padding-top:1.25rem}
 .utility-page .section-nav a{font-size:.875rem;padding:.5rem .75rem}
 .story-hero.catering-hero{grid-template-columns:1fr;min-height:0}
 .story-hero.catering-hero .story-copy{grid-column:1;grid-row:1;padding:2rem 1.25rem}
 .story-hero.catering-hero>img{grid-column:1;grid-row:2;min-height:0;height:300px;max-height:none;object-position:center 62%}
 .catering-hero .story-copy h1{font-size:clamp(2rem,8vw,3rem)}
 .catering-hero .actions{display:flex;flex-wrap:wrap}
 .catering-hero .button{font-size:.875rem}
 .harbor-counter-hero>img{object-position:58% center}
}
@media(min-width:381px) and (max-width:480px){.editorial>.menu-shortcuts{grid-template-columns:1fr}.menu-shortcuts a{padding:.8rem 1rem}}

/* Final audit: readable information pages; no split newspaper columns. */
.reading-page .editorial{display:block;columns:auto;max-width:960px}
.reading-page .editorial>h2{margin-top:2.5rem;margin-bottom:1rem;break-after:avoid}
.reading-page .editorial>h2:first-child{margin-top:0}
.reading-page .editorial>p{max-width:75ch;orphans:3;widows:3}
.reading-page .text-hero{height:auto;min-height:0;padding-block:4rem}
.reading-page .text-hero .story-copy{position:relative;inset:auto;padding-block:0;margin-inline:auto}
.reading-page .text-hero .hero-signature{display:none}
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:2rem 0}
.contact-options>section{padding:1.5rem;border:1px solid #d8cec2;border-radius:1rem;min-width:0}
.contact-options h3{margin-top:0;font:600 1.45rem/1.3 var(--serif)}
.contact-options a{overflow-wrap:anywhere}
.contact-visit{border-top:1px solid #d8cec2;padding-top:1rem}
@media(max-width:640px){.contact-options{grid-template-columns:1fr;gap:1rem}.reading-page .text-hero{padding-block:2.5rem}.contact-options>section{padding:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Tisch 10: the actual tea corner with a three-seat sofa and two chairs. */
.real-table.coffee-table{width:112px;height:66px;padding:25px 0 5px;align-content:start;gap:1px}
.real-table.coffee-table b{line-height:1.3}
.real-table.coffee-table small{font:500 13px/1.2 var(--sans);color:#604a35}
.plan-sofa{position:absolute;left:8px;right:8px;top:5px;height:19px;border:2px solid #76583e;border-radius:7px 7px 3px 3px;background:linear-gradient(90deg,#a88362 0 31%,#76583e 31% 33%,#b89472 33% 65%,#76583e 65% 67%,#a88362 67%)}
.plan-coffee-chair{position:absolute;bottom:-16px;width:17px;height:13px;border:2px solid #536f76;border-radius:4px;background:#8fa5aa}
.plan-coffee-chair.chair-one{left:15px}.plan-coffee-chair.chair-two{right:15px}


/* Keep footer links comfortably separated for touch and keyboard users. */
footer p>a{display:inline-flex;align-items:center;min-height:44px;padding:6px 8px;margin:2px 0}
footer p{line-height:1.7}

/* Optical integration of the original brand artwork; page layouts stay intact. */
html body .site-header a.brand {
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  isolation: auto;
}
html body .site-header a.brand > img {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  object-fit: contain;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  filter: grayscale(1) contrast(1.12);
  mix-blend-mode: multiply;
}
html body .site-header a.brand span { color: inherit; }
body.restaurant-site footer .footer-brand {
  position: relative;
  align-self: start;
  isolation: auto;
}
body.restaurant-site footer .footer-brand > img {
  display: block;
  width: 132px;
  height: 132px;
  max-width: 100%;
  object-fit: contain;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  filter: grayscale(1) contrast(1.12) invert(1);
  mix-blend-mode: screen;
}
body.restaurant-site footer .footer-brand > b {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.brand-bridge { isolation: isolate; }
html body.restaurant-site .brand-bridge > a { grid-template-columns: 200px 1fr; }
html body.restaurant-site .brand-bridge > a > img,
.gift-portrait .gift-brand > img {
  display: block;
  object-fit: contain;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  filter: grayscale(1) contrast(1.06);
  mix-blend-mode: multiply;
}
html body.restaurant-site .brand-bridge > a > img { width: 200px; max-width: 100%; flex-shrink: 0; }
@media (max-width: 1100px) {
  html body .site-header a.brand > img { width: 60px; height: 60px; flex-basis: 60px; }
}
@media (max-width: 680px) {
  html body .site-header a.brand { gap: 10px; }
  html body .site-header a.brand > img { width: 52px; height: 52px; flex-basis: 52px; }
  html body.restaurant-site .brand-bridge > a {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 22px;
  }
  html body.restaurant-site .brand-bridge > a > img { width: 170px; }
  html body.restaurant-site .brand-bridge > a > span { padding-left: 0; border-left: 0; }
  body.restaurant-site footer .footer-brand > img { width: 124px; height: 124px; }
}

/* Footer artwork has its own alpha mask: no backdrop blending on iOS. */
html body.restaurant-site footer .footer-brand > img {
  content: url("/assets/logo-footer-alpha.svg");
  filter: none;
  mix-blend-mode: normal;
  background: transparent;
}

/* The header uses original artwork with alpha, independent of backdrop blending. */
html body .site-header a.brand > img {
  content: url("/assets/logo-header-alpha.svg");
  filter: none;
  mix-blend-mode: normal;
  background: transparent;
}

/* Brand artwork uses real alpha; every page and backdrop is independent of blending. */
html body.restaurant-site .brand-bridge > a > img,
html body .gift-portrait .gift-brand > img {
  content: url("/assets/saalemomente-dark-alpha.svg");
  background: transparent;
  filter: none;
  mix-blend-mode: normal;
  object-fit: contain;
}
.booking-guidance { align-self: center; min-width: 0; }
.booking-guidance > p { margin: 0 0 24px; font-size: 15px; line-height: 1.75; }

.proof-rating{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:16px 0 10px}.proof-date{font-size:13px;line-height:1.6;opacity:.9}.proof-reviews{display:grid;gap:22px;margin:26px 0}.proof-reviews figure{margin:0;padding-top:18px;border-top:1px solid #ffffff30}.proof-reviews blockquote{font-size:clamp(20px,2vw,26px);line-height:1.4;margin:0 0 10px}.proof-reviews figcaption{font-size:13px;line-height:1.6;color:#efe4cf}

/* One compact SaaleMomente signature in the mobile restaurant footer. */
@media(max-width:760px){
 html body.restaurant-site .gift-world .gift-portrait>figcaption{display:none}
 html body.restaurant-site .brand-bridge>a{grid-template-columns:minmax(0,1fr);gap:16px}
 html body.restaurant-site .brand-bridge>a>img{width:140px;max-width:100%}
 html body.restaurant-site .brand-bridge>a>span{min-width:0;padding-left:0;border-left:0}
}

/* /assets/privacy-consent.css?v=20261017-lesbar */
.sm-privacy,.sm-privacy-launcher{--sm-paper:#f5f0e8;--sm-ink:#071a26;--sm-accent:#cf8b55;font-family:'DM Sans',Arial,sans-serif;color:var(--sm-ink);color-scheme:light;box-sizing:border-box}
.sm-privacy[data-brand=saalemomente],.sm-privacy-launcher[data-brand=saalemomente]{--sm-paper:#fbf9f4;--sm-ink:#173c32;--sm-accent:#c9ac7e}
.sm-privacy[data-brand=reisebuero],.sm-privacy-launcher[data-brand=reisebuero]{--sm-paper:#fbf9f4;--sm-ink:#183d47;--sm-accent:#d5bd99}
.sm-privacy[data-brand=saalespa],.sm-privacy-launcher[data-brand=saalespa]{--sm-paper:#f4f3ef;--sm-ink:#16333d;--sm-accent:#dbbd8b}
.sm-privacy{position:fixed;z-index:2147483000;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 48px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px 32px 20px;background:var(--sm-paper);border:1px solid color-mix(in srgb,var(--sm-ink) 18%,transparent);border-radius:14px;box-shadow:0 16px 64px #06172340;text-align:left;line-height:1.5}
.sm-privacy[hidden],.sm-privacy [hidden],.sm-privacy-launcher[hidden]{display:none!important}
.sm-privacy *{box-sizing:border-box;max-width:100%}.sm-privacy p,.sm-privacy h2{margin:0}.sm-privacy .sm-privacy-kicker{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--sm-ink);margin-bottom:8px}
.sm-privacy h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:29px;line-height:1.18;letter-spacing:-.02em;margin:0 0 12px}.sm-privacy-intro{font-size:14px;max-width:75ch}
.sm-privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.sm-privacy button{font:inherit;cursor:pointer;letter-spacing:normal;text-transform:none;margin:0}
.sm-privacy .sm-privacy-choice,.sm-privacy .sm-privacy-save{display:block;min-height:46px;padding:12px 18px;border:1px solid var(--sm-ink);border-radius:7px;background:var(--sm-ink);color:var(--sm-paper);font-size:13px;font-weight:600;text-align:center;transition:filter .15s}
.sm-privacy .sm-privacy-choice:hover,.sm-privacy .sm-privacy-save:hover{filter:brightness(1.25)}.sm-privacy-footer{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin-top:16px}
.sm-privacy .sm-privacy-link{font-size:13px;line-height:1.5;display:inline-block;padding:3px 0;background:none;border:0;color:var(--sm-ink);text-decoration:underline;text-underline-offset:3px;border-radius:0}
.sm-privacy-options{border-top:1px solid color-mix(in srgb,var(--sm-ink) 20%,transparent);margin-top:20px;padding-top:18px}.sm-privacy-required{font-size:13px;margin-bottom:10px!important}.sm-privacy-toggle{display:flex!important;align-items:center;gap:10px;font-size:14px;font-weight:600;cursor:pointer;margin:0 0 10px;padding:0;background:none;border:0}
.sm-privacy-toggle input{appearance:auto!important;display:block!important;position:static!important;width:18px!important;height:18px!important;margin:0!important;accent-color:var(--sm-ink)}.sm-privacy-detail{font-size:13px;line-height:1.65}.sm-privacy .sm-privacy-save{margin-top:14px;width:100%}
.sm-privacy-launcher{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:18px;z-index:2147482999;padding:9px 13px;background:var(--sm-paper);border:1px solid color-mix(in srgb,var(--sm-ink) 22%,transparent);border-radius:7px;font-size:13px;line-height:1.3;box-shadow:0 3px 16px #06172316;cursor:pointer}
.sm-privacy :focus-visible,.sm-privacy-launcher:focus-visible{outline:3px solid var(--sm-accent);outline-offset:3px}
@media(max-width:599px){.sm-privacy{width:calc(100% - 24px);padding:20px 19px 16px;bottom:max(12px,env(safe-area-inset-bottom));border-radius:12px;max-height:calc(100dvh - 24px)}.sm-privacy h2{font-size:25px}.sm-privacy-intro{font-size:13px;line-height:1.65}.sm-privacy-actions{gap:9px;margin-top:18px}.sm-privacy .sm-privacy-choice{font-size:13px;padding:12px 7px}.sm-privacy-launcher{left:12px;bottom:calc(82px + env(safe-area-inset-bottom));font-size:13px;max-width:calc(100% - 24px)}.sm-privacy-footer{justify-content:space-between;gap:8px 14px}}
@media(prefers-reduced-motion:reduce){.sm-privacy button{transition:none}}


/* Restaurant settings belong to the footer, clear of mobile contact actions. */
.sm-privacy-launcher.sm-privacy-inline{position:static;inset:auto;display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.sm-privacy-controls{padding:16px 24px 28px;color:#30322f;background:#f3efe7}
.sm-privacy-launcher.sm-privacy-inline[hidden]{display:none}
/* Lesbarkeit und Touch-Ziele (Audit Runde 2, Punkt 7) */
html body .sm-privacy .sm-privacy-kicker{font-size:12px!important;letter-spacing:.14em!important;line-height:1.4!important}
html body .sm-privacy .sm-privacy-intro{font-size:15px!important;line-height:1.55!important}
html body .sm-privacy .sm-privacy-footer{gap:0 28px!important;margin-top:10px!important}
html body .sm-privacy .sm-privacy-link{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:0!important;font-size:14px!important;line-height:1.3!important}
html body .sm-privacy .sm-privacy-detail,html body .sm-privacy .sm-privacy-required{font-size:14px!important;line-height:1.5!important}
@media(max-width:599px){html body .sm-privacy .sm-privacy-intro{font-size:14px!important;line-height:1.5!important}html body .sm-privacy .sm-privacy-footer{justify-content:space-between!important;margin-top:4px!important}}
html body .sm-privacy .sm-privacy-choice,html body .sm-privacy .sm-privacy-save{font-size:15px!important;min-height:48px!important}

/* Schmale Leiste (25.10.2026): der erste Hinweis liegt als Leiste am unteren Rand und lässt das erste Bild frei.
   „Einstellungen“ klappt wie bisher alle Wahlmöglichkeiten und den ausführlichen Text auf. */
.sm-privacy-short{display:none}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))){left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border-radius:0!important;border-width:1px 0 0!important;box-shadow:0 -12px 40px #0617231c!important;padding:14px max(24px,calc((100% - 1240px) / 2)) calc(14px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"copy actions" "copy footer"!important;column-gap:36px!important;row-gap:0!important;align-items:center!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-copy{grid-area:copy!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) :is(.sm-privacy-kicker,.sm-privacy-intro){display:none!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) h2{font-size:18px!important;line-height:1.3!important;margin:0 0 3px!important;letter-spacing:-.01em!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-short{display:block!important;font-size:14px!important;line-height:1.5!important;max-width:64ch!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-actions{grid-area:actions!important;margin:0!important;grid-template-columns:repeat(2,minmax(170px,auto))!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-footer{grid-area:footer!important;margin:0!important;justify-content:flex-end!important;gap:0 24px!important}
html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-link{min-height:40px!important}
@media(max-width:899px){
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))){grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"copy" "actions" "footer"!important;padding:12px 16px calc(6px + env(safe-area-inset-bottom))!important;row-gap:10px!important}
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) h2{font-size:17px!important}
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-short{font-size:14px!important;max-width:none!important}
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-footer{justify-content:space-between!important;row-gap:0!important}
 html body .sm-privacy:not([hidden]):not(:has(.sm-privacy-options:not([hidden]))) .sm-privacy-link{min-height:44px!important}
}

/* /assets/guest-locale.css?v=20261012-audit-final-p5 */
.guest-language-control{display:inline-flex;gap:2px;align-items:center;flex-shrink:0;white-space:nowrap;font:600 13px/1.4 system-ui,sans-serif;letter-spacing:.03em}.guest-language-control a{padding:6px!important;color:inherit;text-decoration:underline;text-underline-offset:4px}.guest-language-control a[aria-current=page]{text-decoration:none;opacity:1}.guest-language-control a:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:900px){.guest-language-control{padding:8px 0}}

/* /assets/sm-premium/sm-premium.css?v=p5-p5 */
/* SaaleMomente premium layer: one shared foundation for Schmiedehafen, SaaleSpa, SaaleMomente and Reisebüro Traeger.
   Loaded last on every page. It unifies type, raises readability and touch comfort, and adds the quiet signature
   effects (waterline, blur-in headings, slow camera, film grain, shine and light-edge buttons).
   All motion stops with "reduce motion". Fonts are self-hosted (SIL Open Font License). */

@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/sm-premium/fonts/dm-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/sm-premium/fonts/dm-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/sm-premium/fonts/dm-sans-latin-600-normal.woff2) format('woff2')}

/* ---------- Tokens: shared base, one accent per house ---------- */
html.sm-p{
  --sm-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sm-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --sm-lake:#0e2a33;        /* Seetiefe */
  --sm-slate:#3a4a50;       /* Schiefer */
  --sm-mist:#f2efe8;        /* Birkenweiß */
  --sm-accent:#b5703f;      /* Kupfer (Schmiedehafen) */
  --sm-accent-glow:#e9b88b;
  --sm-ease:cubic-bezier(.2,.7,.2,1);
}
html.sm-p[data-sm-site=saalespa]{--sm-accent:#b8925a;--sm-accent-glow:#e3c48f}
html.sm-p[data-sm-site=saalemomente]{--sm-accent:#2f5d4f;--sm-accent-glow:#c9ac7e}
html.sm-p[data-sm-site=reisebuero]{--sm-accent:#2f6f8f;--sm-accent-glow:#d5bd99}

/* ---------- Typography: Playfair headings, DM Sans everywhere else ---------- */
html.sm-p body{font-family:var(--sm-sans)!important}
html.sm-p body :is(p,li,a,button,input,select,textarea,label,span,small,figcaption,dd,dt,td,th,summary,strong,em,b,i,address,legend,output,time):not(:is(.brand,.wordmark,.cinema-brand,.logo,[class*=logo],[class*=wordmark],[class*=-brand]),:is(.brand,.wordmark,.cinema-brand,.logo,[class*=logo],[class*=wordmark],[class*=-brand],h1,h2,h3,.sm-serif,.sm-cine-copy,.sm-tod-copy,.sm-letters-end,.sm-flow,.sm-track,.sm-count,.spa-more-grid,.sm-steps) *){
  font-family:var(--sm-sans)!important}
html.sm-p body :is(h1,h2,h3,.sm-serif,main blockquote),
html.sm-p body .sm-privacy h2{
  font-family:var(--sm-serif)!important;font-weight:500!important;font-kerning:normal;
  font-variant-ligatures:common-ligatures;text-wrap:balance}
html.sm-p body :is(h1,h2,h3) :is(span,em,strong,b,i,small,a,br){font-family:inherit!important}
html.sm-p body :is(h1,h2) em,html.sm-p body :is(h1,h2) i{font-style:italic;font-weight:500}
/* Reisebüro keeps its light, modern headline in the opening film (decision 13.10.2026) */
html.sm-p[data-sm-site=reisebuero] body :is(.voyage,.hero-inner,.cinema-hero) h1,
html.sm-p[data-sm-site=reisebuero] body :is(.voyage,.hero-inner,.cinema-hero) h1 *{font-family:var(--sm-sans)!important;font-weight:400!important;letter-spacing:-.025em}

/* Comfortable reading: running text never below 16px on phones, lines stay calm */
html.sm-p main :is(p,li):not([class]){font-size:max(13px, max(16px,1em));line-height:1.62}
html.sm-p main :is(p,li):not([class]) :is(small){font-size:max(13px,.85em)}
html.sm-p body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------- Touch comfort: every control at least 44px tall ---------- */
html.sm-p .sm-tap{min-height:44px!important;display:inline-flex!important;align-items:center;box-sizing:border-box}
html.sm-p .sm-tap.sm-tap-block{display:flex!important}
html.sm-p .sm-tap-grow{padding-block:max(var(--sm-tap-pad,0px),0px)!important}

/* ---------- Signature 1: the waterline under every opening image ---------- */
.sm-waterline{position:absolute;left:0;right:0;bottom:-1px;height:clamp(28px,6vw,64px);pointer-events:none;z-index:3;display:block;overflow:visible}
.sm-waterline path{fill:var(--sm-wl,#f2efe8)}
.sm-waterline path.sm-wl-ghost{opacity:.42}
.sm-wl-host{position:relative}

/* ---------- Signature 2: headings settle out of the haze ---------- */
.sm-blur-word{display:inline-block!important;opacity:0;filter:blur(12px);transform:translateY(.35em);
  animation:sm-blur-in 1s var(--sm-ease) forwards;animation-delay:calc(var(--i,0)*90ms + 120ms)}
.sm-haze{opacity:0;filter:blur(10px);transform:translateY(14px);transition:opacity 1s var(--sm-ease),filter 1s var(--sm-ease),transform 1s var(--sm-ease)}
.sm-haze.sm-in{opacity:1;filter:none;transform:none}
@keyframes sm-blur-in{to{opacity:1;filter:blur(0);transform:none}}

/* ---------- Signature 3: slow camera on opening photos ---------- */
.sm-kenburns{animation:sm-kb 26s ease-in-out infinite alternate;transform-origin:58% 62%;will-change:transform}
@keyframes sm-kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.sm-kb-clip{overflow:hidden}

/* ---------- Signature 4: fine film grain on opening images ---------- */
.sm-grain{position:absolute;inset:-60%;z-index:2;pointer-events:none;opacity:.11;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(/assets/sm-premium/%23n)'/></svg>");
  animation:sm-grain 1.2s steps(5) infinite}
@keyframes sm-grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}

/* ---------- Signature 5: buttons that catch the light ---------- */
.sm-shine{position:relative!important;overflow:hidden!important;isolation:isolate}
.sm-shine::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.55) 50%,transparent 68%);
  transform:translateX(-120%);animation:sm-shine 4.2s ease-in-out infinite 1.4s}
@keyframes sm-shine{55%,100%{transform:translateX(120%)}}
@property --sm-a{syntax:'<angle>';initial-value:0deg;inherits:false}
.sm-beam{position:relative!important;isolation:isolate}
.sm-beam::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--sm-a),transparent 0 68%,var(--sm-accent-glow) 84%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:sm-spin 4.5s linear infinite}
@keyframes sm-spin{to{--sm-a:360deg}}

/* ---------- One calm consent dialog for the whole family ---------- */
html.sm-p .sm-privacy{border-radius:22px!important;padding:24px 22px 18px!important;
  box-shadow:0 30px 80px -24px rgba(6,23,35,.45),0 0 0 1px rgba(6,23,35,.06)!important;
  backdrop-filter:saturate(1.2)}
html.sm-p .sm-privacy h2{font-size:clamp(22px,5.4vw,28px)!important;line-height:1.15!important;margin-bottom:10px!important}
html.sm-p .sm-privacy .sm-privacy-kicker{font-size:13px!important;letter-spacing:.08em!important;color:var(--sm-accent)!important}
html.sm-p .sm-privacy-intro{font-size:15px!important;line-height:1.55!important}
html.sm-p .sm-privacy :is(.sm-privacy-choice,.sm-privacy-save){min-height:48px!important;border-radius:999px!important;font-weight:600!important;font-size:15px!important}
html.sm-p .sm-privacy a,html.sm-p .sm-privacy-links button{min-height:44px;display:inline-flex;align-items:center}
@media (min-width:760px){html.sm-p .sm-privacy{width:min(560px,calc(100% - 48px))!important;left:auto!important;right:28px!important;transform:none!important;bottom:28px!important}}

/* ---------- Focus that is easy to see ---------- */
html.sm-p :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--sm-accent-glow)!important;outline-offset:3px!important;border-radius:6px}

@media (prefers-reduced-motion:reduce){
  .sm-blur-word,.sm-haze{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}
  .sm-kenburns,.sm-grain,.sm-shine::after,.sm-beam::before{animation:none!important}
}

/* =====================================================================
   Signature components (stage 2). Each one is opt-in through markup.
   ===================================================================== */
.sm-sec{max-width:1180px;margin:clamp(48px,9vw,110px) auto;padding-inline:16px;display:flex;flex-direction:column;gap:22px}
.sm-sec-head{display:flex;flex-direction:column;gap:10px;max-width:62ch}
.sm-sec-head h2{font-size:clamp(28px,6.4vw,46px);line-height:1.08;margin:0;color:inherit}
.sm-sec-head p{margin:0;font-size:max(13px, max(16px,1rem));line-height:1.6;opacity:.82}
.sm-dark{background:var(--sm-lake);color:#f3efe7}

/* 3D gallery to swipe */
.sm-flow{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.sm-flow .sm-slide{flex:0 0 min(78vw,340px);scroll-snap-align:center;margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:#ddd5c8}
.sm-flow .sm-slide img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.sm-flow .sm-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(6,20,28,.72));pointer-events:none}
.sm-flow figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#f6f2ea;font-family:var(--sm-serif)!important;font-size:20px;line-height:1.2}
.sm-flow.sm-3d{display:block;overflow:hidden;height:min(122vw,520px);perspective:1100px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;padding:0}
.sm-flow.sm-3d:active{cursor:grabbing}
.sm-flow.sm-3d .sm-slide{position:absolute;top:8px;left:50%;width:min(72vw,330px);margin-left:calc(min(72vw,330px) / -2);transform-style:preserve-3d;will-change:transform;box-shadow:0 34px 60px -32px rgba(6,20,28,.6)}
.sm-flow-nav{display:flex;align-items:center;justify-content:center;gap:16px}
.sm-flow-nav button{width:48px;height:48px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:18px;cursor:pointer;opacity:.85}
.sm-dots{display:flex;gap:7px}
.sm-dots span{width:7px;height:7px;border-radius:99px;background:currentColor;opacity:.25;transition:width .35s,opacity .35s}
.sm-dots span.on{width:22px;opacity:1;background:var(--sm-accent)}
.sm-flow-nav{display:none}
.sm-flow.sm-3d+.sm-flow-nav{display:flex}

/* Marquee */
.sm-marquee{overflow:hidden;padding-block:18px;border-block:1px solid color-mix(in srgb,currentColor 14%,transparent);
  -webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.sm-track{display:flex;gap:42px;width:max-content;animation:sm-mq 44s linear infinite}
.sm-marquee:hover .sm-track,.sm-marquee:focus-within .sm-track{animation-play-state:paused}
.sm-track span{font-family:var(--sm-serif)!important;font-style:italic;font-size:clamp(24px,5.4vw,36px);white-space:nowrap;display:flex;align-items:center;gap:42px}
.sm-track span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--sm-accent)}
.sm-marquee.sm-quiet .sm-track span{font-family:var(--sm-sans)!important;font-style:normal;font-size:15px;letter-spacing:.06em}
@keyframes sm-mq{to{transform:translateX(-50%)}}

/* Spotlight cards */
[data-sm-spotlight] > *{--x:50%;--y:50%}
.sm-spot{position:relative;isolation:isolate}
.sm-spot::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s;
  background:radial-gradient(240px circle at var(--x) var(--y),color-mix(in srgb,var(--sm-accent-glow) 38%,transparent),transparent 62%)}
.sm-spot:hover::before,.sm-spot.sm-touch::before{opacity:1}

/* Cinema reveal */
.sm-cine{position:relative;height:175vh;margin-block:clamp(24px,6vw,64px)}
.sm-cine-stick{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sm-cine-frame{position:relative;width:100%;height:84vh;height:84svh;overflow:hidden;clip-path:inset(var(--ci,14%) var(--ci,14%) round 22px);background:var(--sm-lake)}
.sm-cine-frame img{width:100%;height:100%;object-fit:cover;transform:scale(var(--cs,1.18));display:block}
.sm-cine-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,20,28,.74));pointer-events:none}
.sm-cine-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px clamp(20px,5vw,64px);color:#f6f2ea;opacity:var(--co,1);transform:translateY(var(--cy,0px));display:flex;flex-direction:column;gap:8px;max-width:900px}
.sm-cine-copy p{margin:0;font-size:max(13px, max(16px,1rem));opacity:.88}
.sm-cine-copy strong{font-family:var(--sm-serif)!important;font-weight:500;font-size:clamp(30px,7vw,58px);line-height:1.06}

/* Countdown */
.sm-count{display:grid;grid-template-columns:1fr;gap:16px;align-items:center;padding:clamp(24px,5vw,40px);border-radius:24px;background:var(--sm-lake);color:#f3efe7}
@media (min-width:700px){.sm-count{grid-template-columns:auto 1fr;gap:40px}}
.sm-count-num{font-family:var(--sm-serif)!important;font-size:clamp(92px,22vw,168px);line-height:.88;color:var(--sm-accent-glow);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sm-count h2{font-size:clamp(24px,5vw,34px);margin:0;color:inherit}
.sm-count p{margin:0;opacity:.84;font-size:max(13px, max(16px,1rem))}
.sm-count .sm-count-copy{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.sm-count a{color:#0e2a33;background:var(--sm-accent-glow);border-radius:999px;padding:12px 22px;min-height:48px;display:inline-flex;align-items:center;font-weight:600;text-decoration:none}

/* Light paths between the houses */
.sm-beams{border-radius:24px;padding:12px;background:color-mix(in srgb,currentColor 4%,transparent)}
.sm-beams svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto}
.sm-beams .b-base{stroke:color-mix(in srgb,currentColor 16%,transparent);stroke-width:1.4;fill:none}
.sm-beams .b-flow{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:30 270;animation:sm-flow 3.8s linear infinite}
@keyframes sm-flow{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
.sm-beams .b-node{fill:var(--sm-node-bg,#fbf9f4);stroke:color-mix(in srgb,currentColor 20%,transparent)}
.sm-beams .b-hub{fill:var(--sm-lake);stroke:var(--sm-accent-glow);stroke-width:1.5}
.sm-beams text{font-family:var(--sm-sans);font-size:13px;fill:currentColor;text-anchor:middle}
.sm-beams .b-hubt{font-family:var(--sm-serif);font-size:14px;fill:#f6f2ea}
.sm-beams a{cursor:pointer}

/* Mood by time of day */
.sm-tod{position:relative;border-radius:24px;overflow:hidden;min-height:min(640px,84svh);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;background:var(--sm-lake);color:#f3efe7}
.sm-tod img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;opacity:0;transform:scale(1.07);transition:opacity 1.4s ease,transform 9s ease}
.sm-tod img.on{opacity:1;transform:scale(1)}
.sm-tod::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(6,20,28,.4),transparent 32%,transparent 45%,rgba(6,20,28,.86))}
.sm-tod-top{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:14px}
.sm-tod-clock{display:flex;gap:8px;align-items:center;font-variant-numeric:tabular-nums}
.sm-tod-clock i{width:8px;height:8px;border-radius:50%;background:var(--sm-accent-glow);box-shadow:0 0 12px var(--sm-accent-glow);animation:sm-pulse 2s ease-in-out infinite}
@keyframes sm-pulse{50%{opacity:.35}}
.sm-tod-copy{padding:22px 20px 20px;display:flex;flex-direction:column;gap:12px}
.sm-tod-copy strong{font-family:var(--sm-serif)!important;font-weight:500;font-size:clamp(34px,9vw,60px);line-height:1.05}
.sm-tod-copy p{margin:0;opacity:.86;max-width:56ch}
.sm-tod-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px;border-radius:99px;background:rgba(6,20,28,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(243,239,231,.16);max-width:520px}
.sm-tod-chips button{border:0;background:transparent;color:rgba(243,239,231,.84);padding:10px 4px;border-radius:99px;font-size:14px;cursor:pointer;min-height:44px}
.sm-tod-chips button[aria-pressed=true]{background:#f3efe7;color:#0e2a33;font-weight:600}

/* Water to touch and sauna steam */
.sm-ripple{position:relative;touch-action:pan-y}
.sm-ripple canvas.sm-gl{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.sm-ripple .sm-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;font-size:13px;padding:8px 14px;border-radius:99px;background:rgba(6,20,28,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f3efe7;white-space:nowrap;pointer-events:none;transition:opacity .5s}
.sm-steam{position:relative}
.sm-steam canvas.sm-steam-cv{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

/* Film through letters */
.sm-letters{position:relative;height:260vh}
.sm-letters-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.sm-letters canvas{width:100%;height:100%;display:block}
.sm-letters-cap{position:absolute;left:0;right:0;bottom:26px;text-align:center;font-size:14px;opacity:.7;transition:opacity .4s}
.sm-letters-end{position:absolute;left:16px;right:16px;bottom:34px;color:#f6f2ea;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s;max-width:760px;margin:0 auto}
.sm-letters-end strong{font-family:var(--sm-serif)!important;font-weight:500;font-size:clamp(30px,8vw,52px);line-height:1.06}
.sm-letters-end.show{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .sm-track,.sm-beams .b-flow,.sm-tod-clock i{animation:none!important}
  .sm-cine{height:auto}.sm-cine-stick{position:relative;height:auto}.sm-cine-frame{clip-path:none;height:70vh}
  .sm-letters{height:auto}.sm-letters-stick{position:relative;height:70vh}
}

/* Cinematic opening of a hero photo */
.sm-open{animation:sm-open 1.9s var(--sm-ease) .15s both}
@keyframes sm-open{from{clip-path:inset(8% 7% round 28px);transform:scale(1.06)}to{clip-path:inset(0 0 round 0);transform:none}}
@media (prefers-reduced-motion:reduce){.sm-open{animation:none}}

/* SaaleSpa sub pages: calm opening and the "more" cards on the start page */
.spa-subhero{background:var(--sm-lake);color:#f3efe7;padding:clamp(120px,22vw,190px) 16px clamp(56px,10vw,96px);position:relative;overflow:hidden}
.spa-subhero::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:70%;background:radial-gradient(60% 60% at 50% 0%,color-mix(in srgb,var(--sm-accent-glow) 22%,transparent),transparent 70%);pointer-events:none}
.spa-subhero-inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}
.spa-subhero-eyebrow{margin:0;color:var(--sm-accent-glow);font-size:14px;letter-spacing:.08em}
.spa-subhero h1{margin:0;font-size:clamp(40px,10vw,84px);line-height:1.02;color:#f6f2ea;max-width:14ch}
.spa-subhero-lead{margin:0;max-width:52ch;font-size:max(13px, max(17px,1.05rem));line-height:1.6;opacity:.86}
.spa-subhero-cta{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;min-height:50px;padding:0 26px;border-radius:999px;background:var(--sm-accent-glow);color:#0e2a33;font-weight:600;text-decoration:none}
.spa-more-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:760px){.spa-more-grid{grid-template-columns:repeat(3,1fr)}}
.spa-more-grid a{position:relative;display:flex;flex-direction:column;gap:8px;min-height:170px;padding:24px 22px;border-radius:22px;background:linear-gradient(160deg,#16404c,#0e2a33 70%);border:1px solid rgba(243,239,231,.14);color:#f3efe7;text-decoration:none;overflow:hidden;justify-content:flex-end}
.spa-more-grid strong{font-family:var(--sm-serif)!important;font-weight:500;font-size:clamp(26px,6vw,32px);line-height:1.1}
.spa-more-grid span{opacity:.82;font-size:16px;line-height:1.5;max-width:30ch}
.spa-more-grid i{position:absolute;top:20px;right:22px;font-style:normal;color:var(--sm-accent-glow);font-size:20px}

/* Celebration pages: the day as a calm sequence, then the practical facts */
.sm-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:smstep;border-left:1px solid color-mix(in srgb,var(--sm-accent) 45%,transparent);margin-left:12px}
.sm-steps li{counter-increment:smstep;position:relative;padding:0 0 28px 30px}
.sm-steps li:last-child{padding-bottom:4px}
.sm-steps li::before{content:counter(smstep);position:absolute;left:-15px;top:-2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--sm-accent);color:#fff;font:600 14px/1 var(--sm-sans)}
.sm-steps strong{display:block;font-family:var(--sm-serif)!important;font-weight:500;font-size:clamp(21px,4.6vw,26px);line-height:1.2;margin-bottom:6px}
.sm-steps p{margin:0;max-width:60ch;font-size:max(13px, max(16px,1rem));line-height:1.62}
@media (min-width:900px){.sm-steps{grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid color-mix(in srgb,var(--sm-accent) 45%,transparent);margin:14px 0 0}.sm-steps li{padding:34px 26px 0 0}.sm-steps li::before{left:0;top:-15px}}
.sm-arrive{margin-top:clamp(28px,6vw,52px);padding:clamp(22px,5vw,36px);border-radius:24px;background:color-mix(in srgb,var(--sm-accent) 8%,transparent);display:flex;flex-direction:column;gap:18px}
.sm-arrive-title{font-size:clamp(24px,5vw,32px)!important;margin:0}
.sm-arrive-grid{display:grid;gap:18px}
@media (min-width:760px){.sm-arrive-grid{grid-template-columns:repeat(3,1fr)}}
.sm-arrive-grid h3{margin:0 0 6px;font-size:20px}
.sm-arrive-grid p{margin:0;font-size:max(13px, max(16px,1rem));line-height:1.6}
.sm-arrive-link{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;color:inherit;text-decoration:underline;text-underline-offset:4px}

/* /assets/abend/abend.css?v=20261022-layout-saison */
/* Ein Abend am See — gemeinsame Gestaltungsschicht des Restaurant Schmiedehafen.
   Wird als letztes Stylesheet geladen und wirkt nur unter html[data-abend].
   Formulare, Planer und Reservierung behalten ihre Funktion; hier ändert sich nur die Optik. */

@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/sm-premium/fonts/playfair-display-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-400-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-500-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/dm-sans-600-normal.woff2) format('woff2')}

/* ---------- Tokens: Farbe folgt der Uhrzeit des Abends ---------- */
html[data-abend]{
  --ink:#262A2E; --ink-2:#353A3F; --muted:#595D61; --paper:#F7F6F2;
  --cognac:#874A23; --cognac-d:#6E3A1A; --gold:#F3C47E;
  --line:rgba(38,42,46,.16); --line-2:rgba(38,42,46,.32);
  --bg:#F7F6F2; --deep:#EEE7DA; --card:#FBFAF6;
  --fg:var(--ink); --fg-soft:var(--muted); --em:var(--cognac);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --gut:clamp(20px,6vw,96px);
  --kopf-h:112px;
  scroll-padding-top:120px;
}
html[data-abend][data-hour="17"]{--bg:#F3EEE5;--deep:#E6DCCB;--card:#FAF7F1}
html[data-abend][data-hour="18"]{--bg:#EFE8DC;--deep:#E2D3BB;--card:#F8F4EC}
html[data-abend][data-hour="19"]{--bg:#F1E7D6;--deep:#DFBE93;--card:#FAF4EA}
html[data-abend][data-hour="21"]{--bg:#F2E5D9;--deep:#C48A62;--card:#FAF3EC}
html[data-abend][data-tone="dunkel"]{
  --bg:#262A2E; --deep:#1C1F22; --card:#30353A;
  --fg:#F7F6F2; --fg-soft:rgba(247,246,242,.78); --em:var(--gold);
  --line:rgba(247,246,242,.16); --line-2:rgba(247,246,242,.36);
}

/* ---------- Grundlage ---------- */
html[data-abend] body{
  background:var(--bg)!important; color:var(--fg)!important;
  font-family:var(--sans)!important; font-size:18px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
html[data-abend] body::before{
  content:''; position:fixed; inset:0; z-index:2; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12  0 0 0 0 .12  0 0 0 0 .10  0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/assets/abend/%23n)'/%3E%3C/svg%3E") 0 0/256px 256px; opacity:.6;
}
html[data-abend] main{position:relative; z-index:1; background:transparent!important}
html[data-abend] main p, html[data-abend] main li, html[data-abend] main dd, html[data-abend] main dt{ text-wrap:pretty }
html[data-abend] :where(main) :is(h1,h2,h3){
  font-family:var(--serif)!important; font-weight:400!important; letter-spacing:-.018em!important;
  color:var(--fg); text-wrap:balance; text-transform:none!important;
}
html[data-abend] main h1{font-size:clamp(44px,5.6vw,88px)!important; line-height:1.04!important; overflow-wrap:break-word; hyphens:manual}
html[data-abend] main h2{font-size:clamp(34px,4.4vw,64px)!important; line-height:1.08!important}
html[data-abend] main h3{font-size:clamp(23px,2.1vw,30px)!important; line-height:1.18!important}
html[data-abend] main :is(h1,h2,h3) em{font-style:italic; color:var(--em)}
html[data-abend] main p{color:inherit}
html[data-abend] main a:not([class]){color:inherit; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px}
html[data-abend] ::selection{background:var(--gold); color:var(--ink)}

/* Etiketten: keine Großbuchstaben mehr, sondern die ruhige Kursive des Abends */
html[data-abend] main :is(.eyebrow,[class$="-kicker"],[class*="-kicker "],.qf-kicker,.pp-kicker,.sf-eyebrow,.hl-kicker,.signature-kicker,.sf-eyebrow,#se-kicker,#se-location,.pm-eyebrow,.fe-kicker,.sm-kicker){
  font-family:var(--serif)!important; font-style:italic!important; font-weight:400!important;
  font-size:clamp(18px,1.4vw,20px)!important; letter-spacing:0!important; text-transform:none!important;
  color:var(--em)!important; opacity:1!important; line-height:1.3!important;
}
/* Zeitmarke im Seitenkopf: „18:30 Aus der Küche“ */
html[data-abend] main .ab-zeit{
  display:flex!important; align-items:baseline; flex-wrap:wrap; gap:4px 14px;
  font-family:var(--sans)!important; font-style:normal!important; font-size:15px!important;
  color:var(--fg-soft)!important; letter-spacing:.01em!important;
}
html[data-abend] main .ab-zeit .ab-hour{
  font:italic 400 24px/1 var(--serif); color:var(--em); letter-spacing:0;
}

/* ---------- Knöpfe: eine Form für alles ---------- */
html[data-abend] :is(main,footer,.ab-kopf) :is(.button,.hl-btn,.pp-button,.sf-action,.se-primary,.dark-button,.ab-btn){
  display:inline-flex!important; align-items:center!important; justify-content:center; gap:10px;
  min-height:54px!important; padding:0 28px!important; border-radius:999px!important;
  background:var(--cognac)!important; color:#FFF9F2!important; border:0!important; box-shadow:none!important;
  font:600 16px/1.2 var(--sans)!important; letter-spacing:0!important; text-transform:none!important; text-decoration:none!important;
  transition:transform .45s var(--ease),background-color .3s,filter .3s!important; white-space:normal; text-align:center;
}
html[data-abend] :is(main,footer,.ab-kopf) :is(.button,.hl-btn,.pp-button,.sf-action,.se-primary,.ab-btn):hover{transform:translateY(-2px); background:var(--cognac-d)!important}
html[data-abend] main :is(.dark-button,.button.dark,.ab-btn-ink){background:var(--ink)!important; color:var(--paper)!important}
html[data-abend][data-tone="dunkel"] main :is(.button,.se-primary,.dark-button){background:var(--gold)!important; color:var(--ink)!important}
html[data-abend] main :is(.button.ghost,.ab-btn-ghost){background:transparent!important; color:var(--fg)!important; box-shadow:inset 0 0 0 1px var(--line-2)!important}
html[data-abend] main :is(.text-link,.hl-link){border:0!important; box-shadow:none!important; background-image:none!important; padding-bottom:0!important;
  color:var(--fg)!important; font-weight:500!important; text-decoration:underline!important;
  text-underline-offset:7px!important; text-decoration-thickness:1px!important; letter-spacing:0!important; text-transform:none!important;
}
/* Glanz nur auf der wichtigsten Aktion */
html[data-abend] .ab-shimmer{
  background-image:linear-gradient(110deg,transparent 35%,rgba(255,236,210,.42) 50%,transparent 65%)!important;
  background-size:250% 100%!important; background-repeat:no-repeat!important; animation:abShim 4.8s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes abShim{0%{background-position:130% 0}55%,100%{background-position:-30% 0}}

/* ---------- Kopfzeile mit Birken-Abenduhr ---------- */
html[data-abend] .ab-kopf{
  position:sticky!important; top:0; left:0; right:0; z-index:60!important;
  display:block!important; padding:0!important; margin:0!important; height:auto!important; min-height:0!important;
  background:color-mix(in srgb,var(--bg) 90%,transparent)!important; color:var(--fg);
  -webkit-backdrop-filter:blur(14px) saturate(1.1); backdrop-filter:blur(14px) saturate(1.1);
  border:0!important; box-shadow:none!important; transition:background-color .4s var(--ease),color .4s, transform .5s var(--ease);
}
html[data-abend] .ab-kopf-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px var(--gut) 8px; max-width:1680px; margin:0 auto}
html[data-abend] .ab-kopf .brand{flex-shrink:0!important; display:flex!important; align-items:center; gap:0; flex:0 0 auto; text-decoration:none; background:none!important; padding:0!important}
html[data-abend] .ab-kopf .brand img{width:92px!important; height:80px!important; object-fit:contain; display:block; margin:0!important; filter:none!important; mix-blend-mode:normal!important; opacity:1!important; background:none!important; border-radius:0!important; box-shadow:none!important}
html[data-abend] .ab-kopf .brand .ab-logo-hell{display:none}
html[data-abend] .ab-kopf .brand span{display:none!important}
html[data-abend] .ab-kopf nav#menu{display:flex; align-items:center; gap:clamp(18px,2.2vw,34px); position:static; background:none; padding:0; margin:0; box-shadow:none; transform:none; opacity:1; visibility:visible; flex-direction:row}
html[data-abend] .ab-kopf nav#menu > a{
  font:500 15px/1.2 var(--sans)!important; color:var(--fg)!important; text-decoration:none!important; letter-spacing:.005em!important; text-transform:none!important;
  padding:8px 0!important; background:none!important; border:0!important; position:relative; min-height:0!important;
}
html[data-abend] .ab-kopf nav#menu > a::after{content:''; position:absolute; left:0; right:0; bottom:2px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .5s var(--ease)}
html[data-abend] .ab-kopf nav#menu > a:hover::after, html[data-abend] .ab-kopf nav#menu > a[aria-current="page"]::after{transform:scaleX(1); transform-origin:left}
html[data-abend] .ab-kopf nav#menu .mobile-reserve{display:none!important}
html[data-abend] .ab-kopf .guest-language-control{display:inline-flex!important; gap:8px; margin-left:8px; font:500 14px var(--sans); background:none!important; border:0!important; padding:0!important}
html[data-abend] .ab-kopf .guest-language-control a{color:var(--fg)!important; opacity:.55; text-decoration:none!important; padding:6px 2px!important; min-height:0!important; background:none!important}
html[data-abend] .ab-kopf .guest-language-control a[aria-current="page"]{opacity:1; font-weight:600}
html[data-abend] .ab-kopf .header-cta{min-height:46px!important; padding:0 22px!important; font-size:15px!important; flex:0 0 auto}
html[data-abend] .ab-kopf .menu-button{display:none!important}
html[data-abend] .ab-uhr{position:relative; height:24px; margin:0 var(--gut); max-width:calc(1680px - 2 * var(--gut))}
@media (min-width:1680px){html[data-abend] .ab-uhr{margin:0 auto; max-width:calc(1680px - 2 * var(--gut))}}
html[data-abend] .ab-uhr-line{position:absolute; left:0; right:0; top:2px; height:4px; border-radius:2px;
  background:
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='4'%3E%3Cg fill='%23262A2E' fill-opacity='.22'%3E%3Crect x='6' y='1' width='18' height='1.6'/%3E%3Crect x='44' y='2.2' width='7' height='1.4'/%3E%3Crect x='70' y='.6' width='26' height='1.8'/%3E%3Crect x='118' y='2' width='9' height='1.4'/%3E%3Crect x='142' y='1' width='16' height='1.7'/%3E%3Crect x='181' y='2.2' width='22' height='1.4'/%3E%3C/g%3E%3C/svg%3E") 0 0/220px 4px repeat-x,
   rgba(38,42,46,.07)}
html[data-abend] .ab-uhr-fill{position:absolute; left:0; top:2px; height:4px; width:calc(var(--ab-p,0) * 100%); border-radius:2px; background:linear-gradient(90deg,rgba(243,196,126,0),rgba(243,196,126,.65)); transition:width .2s linear}
html[data-abend] .ab-uhr-dot{position:absolute; top:-1px; left:calc(var(--ab-pos,0) * 100%); width:10px; height:10px; margin-left:-5px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px rgba(243,196,126,.25),0 0 16px 4px rgba(243,196,126,.5); transition:left .9s var(--ease)}
html[data-abend] .ab-uhr-label{position:absolute; right:0; top:9px; font:400 14px/1 var(--sans); color:var(--fg); white-space:nowrap}
html[data-abend] .ab-uhr-label i{font:italic 400 15px/1 var(--serif); margin-right:6px}

/* Kopf über dem Film (Startseite) */
html[data-abend].ab-film .ab-kopf{position:fixed!important; background:transparent!important; -webkit-backdrop-filter:none; backdrop-filter:none; --fg:#F7F6F2}
html[data-abend].ab-film .ab-kopf .brand .ab-logo-dunkel{display:none}
html[data-abend].ab-film .ab-kopf .brand .ab-logo-hell{display:block}
html[data-abend].ab-film .ab-kopf .ab-uhr-line{background-color:rgba(247,246,242,.22); filter:invert(1); opacity:.6}
html[data-abend].ab-film .ab-kopf.is-solid{background:rgba(247,246,242,.9)!important; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); --fg:#262A2E}
html[data-abend].ab-film .ab-kopf.is-solid .brand .ab-logo-dunkel{display:block}
html[data-abend].ab-film .ab-kopf.is-solid .brand .ab-logo-hell{display:none}
html[data-abend].ab-film .ab-kopf.is-solid .ab-uhr-line{background-color:rgba(38,42,46,.10); filter:none}
html[data-abend].ab-film .ab-kopf.is-solid .brand img{width:72px!important; height:62px!important}
/* Dunkle Seite (Hafenbar) */
html[data-abend][data-tone="dunkel"] .ab-kopf .brand .ab-logo-dunkel{display:none}
html[data-abend][data-tone="dunkel"] .ab-kopf .brand .ab-logo-hell{display:block}
html[data-abend][data-tone="dunkel"] .ab-kopf .ab-uhr-line{filter:invert(1); background-color:rgba(247,246,242,.2)}
html[data-abend][data-tone="dunkel"] .ab-kopf .header-cta{background:var(--gold)!important; color:var(--ink)!important}

@media (max-width:980px){
  html[data-abend]{--kopf-h:88px}
  html[data-abend] .ab-kopf, html[data-abend].ab-film .ab-kopf.is-solid{-webkit-backdrop-filter:none!important; backdrop-filter:none!important}
  html[data-abend] .ab-kopf{background:var(--bg)!important}
  html[data-abend].ab-film .ab-kopf.is-solid{background:#F7F6F2!important}
  html[data-abend] .ab-kopf-row{padding:10px 20px 6px; gap:12px}
  html[data-abend] .ab-kopf .brand img{width:70px!important; height:60px!important}
  html[data-abend] .ab-kopf .header-cta{display:none!important}
  html[data-abend] .ab-kopf .menu-button{
    display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:6px;
    width:48px!important; height:48px!important; min-height:0!important; padding:0!important; border-radius:50%!important;
    border:1px solid var(--line-2)!important; background:transparent!important; color:var(--fg)!important; font-size:0!important; position:relative; z-index:70
  }
  html[data-abend] .ab-kopf .menu-button i{display:block; width:18px; height:1.5px; background:var(--fg); transition:transform .4s var(--ease)}
  html[data-abend] .ab-kopf .menu-button[aria-expanded="true"] i:first-of-type{transform:translateY(3.75px) rotate(45deg)}
  html[data-abend] .ab-kopf .menu-button[aria-expanded="true"] i:last-of-type{transform:translateY(-3.75px) rotate(-45deg)}
  html[data-abend] .ab-kopf nav#menu{
    position:fixed!important; inset:0!important; z-index:65; display:flex!important; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px;
    padding:120px 28px 140px!important; background:#262A2E!important; color:#F7F6F2;
    opacity:0; visibility:hidden; transform:none!important; transition:opacity .45s var(--ease),visibility 0s .45s; overflow-y:auto; max-height:none!important; height:100%!important; width:100%!important; border:0!important
  }
  html[data-abend] .ab-kopf nav#menu.open{opacity:1; visibility:visible; transition:opacity .45s var(--ease)}
  html[data-abend] .ab-kopf nav#menu > a{font:400 clamp(34px,9vw,48px)/1.2 var(--serif)!important; color:#F7F6F2!important; padding:6px 0!important}
  html[data-abend] .ab-kopf nav#menu .mobile-reserve{display:inline-flex!important; margin-top:24px; font:600 16px var(--sans)!important; background:var(--gold)!important; color:var(--ink)!important; border-radius:999px; padding:0 26px!important; min-height:54px!important; align-items:center}
  html[data-abend] .ab-kopf nav#menu .guest-language-control{margin:24px 0 0}
  html[data-abend] .ab-kopf nav#menu .guest-language-control a{color:#F7F6F2!important}
  html[data-abend] .ab-kopf:has(nav#menu.open) .menu-button{--fg:#F7F6F2; border-color:rgba(247,246,242,.5)!important}
  html[data-abend] .ab-uhr{margin:0 20px}
  html[data-abend] .ab-uhr-label{font-size:14px}
}

/* ---------- Abschluss und Fußbereich ---------- */
html[data-abend] .ab-fuss{
  position:relative; z-index:1; display:block!important; padding:0!important; margin:0!important; border:0!important;
  background:#262A2E!important; color:rgba(247,246,242,.82)!important; font:400 15px/1.6 var(--sans)!important; grid-template-columns:none!important;
}
html[data-abend] .ab-fuss::before{content:''; display:block; height:clamp(140px,16vw,240px); background:linear-gradient(180deg,var(--fuss-von,var(--bg)) 0%,#262A2E 100%)}
html[data-abend] .ab-fuss a{color:inherit; text-decoration:underline; text-decoration-color:rgba(247,246,242,.3); text-underline-offset:5px}
html[data-abend] .ab-fuss a:hover{color:#F7F6F2; text-decoration-color:currentColor}
html[data-abend] .ab-fuss-cta{max-width:1248px; margin:0 auto; padding:16px var(--gut) 88px; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:36px; border-bottom:1px solid rgba(247,246,242,.12)}
html[data-abend] .ab-fuss-cta > div:first-child{display:flex; flex-direction:column; gap:16px; max-width:720px}
html[data-abend] .ab-fuss-line{margin:0!important; font:italic 400 20px/1.3 var(--serif)!important; color:var(--gold)!important}
html[data-abend] .ab-fuss-title{margin:0!important; font:400 clamp(30px,4.6vw,70px)/1.05 var(--serif)!important; letter-spacing:-.018em!important; color:#F7F6F2!important; text-wrap:balance}
html[data-abend] .ab-fuss-actions{display:flex; flex-wrap:wrap; gap:12px}
html[data-abend] .ab-fuss-actions a{display:inline-flex; align-items:center; min-height:54px; padding:0 24px; border-radius:999px; border:1px solid rgba(247,246,242,.4); color:#F7F6F2!important; text-decoration:none!important; font:500 16px var(--sans)!important}
html[data-abend] .ab-fuss-actions a:first-child{background:var(--cognac); border-color:var(--cognac); font-weight:600}
html[data-abend] .ab-fuss-actions a:hover{transform:translateY(-2px)}
html[data-abend] .ab-fuss-grid{max-width:1248px; margin:0 auto; padding:64px var(--gut) 40px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:36px}
html[data-abend] .ab-fuss-grid > div{display:flex; flex-direction:column; gap:6px}
html[data-abend] .ab-fuss :is(a,span,b,p,div,button){font-size:15px!important; line-height:1.6!important; font-family:var(--sans)!important; letter-spacing:0!important; text-transform:none!important}
html[data-abend] .ab-fuss :is(.ab-fuss-line,.ab-fuss-title){font-family:var(--serif)!important}
html[data-abend] .ab-fuss .ab-fuss-line{font-size:20px!important}
html[data-abend] .ab-fuss .ab-fuss-title{font-size:clamp(30px,4.6vw,70px)!important; line-height:1.05!important}
html[data-abend] .ab-fuss .ab-fuss-actions a{font-size:16px!important}
html[data-abend] .ab-fuss-brand p{font-size:14px!important}
html[data-abend] .ab-fuss-grid b{color:#F7F6F2; font-weight:600; margin-bottom:4px}
html[data-abend] .ab-fuss-grid img{width:150px; height:130px; object-fit:contain}
html[data-abend] .ab-fuss .footer-privacy{margin:0; padding:0; border:0; background:none; display:block}
html[data-abend] .ab-fuss .footer-privacy button{all:unset; cursor:pointer; color:rgba(247,246,242,.82); text-decoration:underline; text-decoration-color:rgba(247,246,242,.3); text-underline-offset:5px; font:400 15px/1.6 var(--sans)}
html[data-abend] .ab-fuss-brand{max-width:1248px; margin:0 auto; padding:28px var(--gut) 56px; display:flex; flex-wrap:wrap; align-items:center; gap:28px; border-top:1px solid rgba(247,246,242,.12); font-size:14px}
html[data-abend] .ab-fuss-brand a{text-decoration:none!important}
html[data-abend] .ab-fuss-brand img{width:168px; height:84px; object-fit:contain; display:block}
html[data-abend] .ab-fuss-brand p{margin:0; max-width:460px}

/* ---------- Handy-Leiste ---------- */
html[data-abend] .ab-dock{display:none!important}
@media (max-width:980px){
  html[data-abend] body{padding-bottom:0!important}
  html[data-abend] .ab-dock{
    display:grid!important; grid-template-columns:minmax(0,1fr) 54px 54px; gap:6px; position:fixed!important; left:12px!important; right:12px!important; bottom:calc(12px + env(safe-area-inset-bottom))!important; top:auto!important;
    z-index:55!important; padding:6px!important; border-radius:999px!important; background:rgba(247,246,242,.94)!important; border:0!important;
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 18px 40px -18px rgba(0,0,0,.5)!important; width:auto!important; height:auto!important;
    transition:transform .5s var(--ease),opacity .4s; transform:translateY(0)
  }
  html[data-abend] .ab-dock.is-suspended, html[data-abend] .ab-dock.ab-hidden{transform:translateY(140%); opacity:0}
  html[data-abend] .ab-dock a{display:flex!important; align-items:center; justify-content:center; min-height:52px!important; border-radius:999px!important; margin:0!important; padding:0 8px!important; text-decoration:none!important; font:600 16px var(--sans)!important; border:0!important}
  html[data-abend] .ab-dock a.mobile-primary{background:var(--cognac)!important; color:#FFF9F2!important}
  html[data-abend] .ab-dock a.ab-dock-call{background:var(--ink)!important; color:#F7F6F2!important}
  html[data-abend] .ab-dock a.ab-dock-wa{background:#E8E2D6!important; color:var(--ink)!important}
  html[data-abend] .ab-dock svg{width:21px; height:21px}
  html[data-abend] .ab-dock .ab-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  html[data-abend] .ab-fuss-brand{padding-bottom:120px}
}

/* ---------- Bewegung ---------- */
html.ab-js[data-abend] .ab-rv{opacity:0; transform:translateY(22px); filter:blur(8px); transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}
html.ab-js[data-abend] .ab-rv.is-in{opacity:1; transform:none; filter:none}
html[data-abend] .ab-slit{clip-path:inset(0 calc((1 - var(--ab-p,1)) * 46%) round 0); will-change:clip-path}
html[data-abend] .ab-lights{filter:brightness(calc(.32 + var(--ab-p,1) * .68)) saturate(calc(.45 + var(--ab-p,1) * .55))}
html[data-abend] .ab-soft{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 15%,#000 85%,transparent 100%); mask-image:linear-gradient(180deg,transparent 0,#000 15%,#000 85%,transparent 100%)}
html[data-abend] .ab-soft-b{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 78%,transparent 100%); mask-image:linear-gradient(180deg,#000 0,#000 78%,transparent 100%)}
html[data-abend] .ab-lens{position:relative; overflow:hidden; cursor:zoom-in}
html[data-abend] .ab-lens .ab-lz{position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:cover; opacity:0; transform:scale(2.1); transform-origin:var(--x,50%) var(--y,50%); clip-path:circle(70px at var(--x,50%) var(--y,50%)); transition:opacity .3s; pointer-events:none}
html[data-abend] .ab-lens:hover .ab-lz{opacity:1}
html[data-abend] .ab-spot{position:relative; isolation:isolate}
html[data-abend] .ab-spot::before{content:''; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; transition:opacity .4s; border-radius:inherit; background:radial-gradient(360px circle at var(--x,50%) var(--y,40%),rgba(243,196,126,.36),rgba(243,196,126,0) 62%)}
html[data-abend] .ab-spot:hover::before{opacity:1}
html[data-abend] .ab-marq{display:flex; gap:88px; width:max-content; animation:abMarq 70s linear infinite}
html[data-abend] .ab-marq:hover{animation-play-state:paused}
@keyframes abMarq{to{transform:translateX(-50%)}}
html[data-abend] .ab-rot{display:block; height:1.08em; overflow:hidden}
html[data-abend] .ab-rot{font-style:italic}
html[data-abend] .ab-rot.is-on > span{display:block; animation:abRot 10s cubic-bezier(.7,0,.2,1) infinite}
html[data-abend] .ab-rot > span > span{display:block; height:1.08em}
@keyframes abRot{0%,27%{transform:translateY(0)}33%,60%{transform:translateY(-25%)}66%,93%{transform:translateY(-50%)}100%{transform:translateY(-75%)}}
html[data-abend] .ab-pulse{animation:abPulse 2.6s ease-in-out infinite}
@keyframes abPulse{0%,100%{box-shadow:0 0 0 0 rgba(243,196,126,.6)}50%{box-shadow:0 0 0 8px rgba(243,196,126,0)}}
html[data-abend] .ab-spark{position:absolute; bottom:-10px; width:3px; height:3px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px 2px rgba(243,196,126,.7); opacity:0; animation:abSpark 7s linear infinite; pointer-events:none}
@keyframes abSpark{0%{transform:translate(0,0);opacity:0}10%{opacity:1}100%{transform:translate(30px,-440px);opacity:0}}
@property --ab-a{syntax:'<angle>';initial-value:0deg;inherits:false}
html[data-abend] .ab-beam{position:relative}
html[data-abend] .ab-beam::after{content:''; position:absolute; inset:0; border-radius:inherit; padding:2px; pointer-events:none;
  background:conic-gradient(from var(--ab-a),transparent 0deg,transparent 270deg,var(--gold) 320deg,var(--cognac) 345deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:abBeam 8s linear infinite}
@keyframes abBeam{to{--ab-a:360deg}}
@media (prefers-reduced-motion:reduce){
  html[data-abend] *, html[data-abend] *::before, html[data-abend] *::after{animation:none!important; transition:none!important}
  html.ab-js[data-abend] .ab-rv{opacity:1; transform:none; filter:none}
  html[data-abend] .ab-slit{clip-path:none}
  html[data-abend] .ab-lights{filter:none}
}

/* Ruhige Leseseiten (Impressum, Datenschutz, Fragen, Historie) */
html[data-abend] body.reading-page main article h2, html[data-abend] main article.editorial h2{font-size:clamp(28px,3vw,42px)!important; margin-top:1.6em}
html[data-abend] main article.editorial h3{font-size:clamp(21px,1.8vw,26px)!important}
html[data-abend] main article.editorial{max-width:820px}
/* Hafenbar: 22 Uhr. Die Seite bleibt warm und hell, Kopf und Bilder tragen die Nacht */
html[data-abend][data-hour="22"]{--bg:#EDE4D7; --deep:#262A2E; --card:#F8F3EB}
html[data-abend][data-hour="22"] .ab-kopf{--fg:#F7F6F2; background:rgba(38,42,46,.94)!important}
html[data-abend][data-hour="22"] .ab-kopf .brand .ab-logo-dunkel{display:none}
html[data-abend][data-hour="22"] .ab-kopf .brand .ab-logo-hell{display:block}
html[data-abend][data-hour="22"] .ab-kopf .ab-uhr-line{filter:invert(1); background-color:rgba(247,246,242,.2)}
html[data-abend][data-hour="22"] .ab-kopf .header-cta{background:var(--gold)!important; color:var(--ink)!important}
@media (max-width:980px){html[data-abend][data-hour="22"] .ab-kopf{background:#262A2E!important}}

/* =================== Startseite: ein Abend von 16 bis 22 Uhr =================== */
html.ab-home[data-abend] body{background:#F7F6F2!important}
html.ab-home main{font-size:18px}
html.ab-home[data-abend] .ab-wrap{max-width:1248px; margin:0 auto; padding-left:var(--gut); padding-right:var(--gut); box-sizing:content-box}
html.ab-home[data-abend] .ab-split{display:grid; gap:clamp(36px,6vw,96px); align-items:start}
html.ab-home[data-abend] .ab-split-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
html.ab-home[data-abend] .ab-split-5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
html.ab-home[data-abend] .ab-split-6-6{grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center}
html.ab-home[data-abend] .ab-stack{display:flex; flex-direction:column; gap:26px; align-items:flex-start}
html.ab-home[data-abend] .ab-stack > *{margin:0!important}
html.ab-home[data-abend] .ab-actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px}
html.ab-home[data-abend] .ab-lead{font-size:clamp(19px,1.5vw,21px); color:var(--muted); max-width:560px}
html.ab-home[data-abend] main p{color:var(--muted)}
html.ab-home[data-abend] .ab-sec{position:relative}
html.ab-home[data-abend] .ab-sec figure{margin:0}
html.ab-home[data-abend] .ab-sec img{display:block; max-width:100%}

/* Kopf mit Drohnenfilm */
html.ab-home[data-abend] .ab-hero{position:relative; height:max(680px,100svh); min-height:620px; overflow:hidden; color:#F7F6F2; background:#262A2E}
html.ab-home[data-abend] .ab-hero-film{position:absolute; inset:0; -webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 150px),transparent 100%); mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 150px),transparent 100%)}
html.ab-home[data-abend] .ab-hero{background:linear-gradient(180deg,#262A2E 0,#262A2E 70%,#F7F6F2 100%)}
html.ab-home[data-abend] .ab-hero-film :is(img,video){position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform-origin:60% 60%}
html.ab-home[data-abend] .ab-hero-film video{opacity:0; transition:opacity 1.2s var(--ease)}
html.ab-home[data-abend] .ab-hero-film video.is-playing{opacity:1}
html.ab-home[data-abend] .ab-hero-shade{position:absolute; inset:0; background:linear-gradient(180deg,rgba(38,42,46,.45) 0%,rgba(38,42,46,0) 22%),linear-gradient(90deg,rgba(38,42,46,.72) 0%,rgba(38,42,46,.25) 42%,rgba(38,42,46,0) 66%),linear-gradient(0deg,rgba(38,42,46,.75) 10%,rgba(38,42,46,0) 52%)}
html.ab-home[data-abend] .ab-hero-frame{position:absolute; top:150px; left:34px; right:34px; bottom:34px; border:1px solid rgba(247,246,242,.36); border-bottom:0; pointer-events:none}
html.ab-home[data-abend] .ab-film-toggle{position:absolute; z-index:4; right:var(--gut); top:168px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(247,246,242,.45); background:rgba(38,42,46,.35); display:flex; align-items:center; justify-content:center; gap:4px; cursor:pointer; padding:0}
html.ab-home[data-abend] .ab-film-toggle i{display:block; width:3px; height:14px; background:#F7F6F2}
html.ab-home[data-abend] .ab-film-toggle[aria-pressed="true"] i:first-child{width:0; height:0; background:none; border-left:12px solid #F7F6F2; border-top:7px solid transparent; border-bottom:7px solid transparent}
html.ab-home[data-abend] .ab-film-toggle[aria-pressed="true"] i:last-child{display:none}
html.ab-home[data-abend] .ab-coord{position:absolute; z-index:3; left:46px; top:50%; translate:0 -50%; writing-mode:vertical-rl; transform:rotate(180deg); color:rgba(247,246,242,.85)!important; font:400 14px/1 var(--sans); letter-spacing:.16em; text-decoration:none!important}
html.ab-home[data-abend] .ab-hero-copy{position:absolute; z-index:3; left:clamp(64px,8vw,128px); right:var(--gut); bottom:clamp(170px,22vh,220px); display:flex; flex-direction:column; gap:22px; max-width:820px}
html.ab-home[data-abend] .ab-hero-copy > *{margin:0!important}
html.ab-home[data-abend] .ab-hero-kicker{font:400 15px/1.3 var(--sans)!important; letter-spacing:.04em!important; color:rgba(247,246,242,.9)!important}
html.ab-home[data-abend] .ab-hero h1{color:#F7F6F2!important; font-size:clamp(54px,min(8vw,12.5vh),124px)!important}
html.ab-home[data-abend] .ab-hero .ab-rot{font-style:italic; color:var(--gold)}
html.ab-home[data-abend] .ab-hero-lead{font-size:19px; color:rgba(247,246,242,.9)!important}
html.ab-home[data-abend] .ab-hero-actions{display:flex; flex-wrap:wrap; align-items:center; gap:26px}
html.ab-home[data-abend] .ab-hero-link{color:#F7F6F2!important; text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; font-weight:500}
html.ab-home[data-abend] .ab-hero-status{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:15px; color:rgba(247,246,242,.9)!important; padding:0!important; background:none!important; border:0!important}
html.ab-home[data-abend] .ab-hero-status strong{font-weight:600; color:#F7F6F2}
html.ab-home[data-abend] .ab-hero-status small{font-size:15px; color:rgba(247,246,242,.85)}
html.ab-home[data-abend] .ab-hero-status a{color:#F7F6F2!important}
html.ab-home[data-abend] .ab-hero-status .ab-pulse{width:8px; height:8px; border-radius:50%; background:var(--gold)}
html.ab-home[data-abend] .ab-ring{position:absolute; z-index:3; right:var(--gut); bottom:clamp(170px,22vh,220px); width:148px; height:148px; color:#F7F6F2; text-decoration:none!important}
html.ab-home[data-abend] .ab-ring > svg{position:absolute; inset:0; width:100%; height:100%; animation:abSpin 18s linear infinite}
html.ab-home[data-abend] .ab-ring:hover > svg{animation-duration:6s}
html.ab-home[data-abend] .ab-ring text{font:500 11.5px var(--sans); fill:#F7F6F2}
html.ab-home[data-abend] .ab-ring > span{position:absolute; left:50%; top:50%; translate:-50% -50%; width:52px; height:52px; border-radius:50%; background:#F7F6F2; color:var(--ink); display:flex; align-items:center; justify-content:center}
html.ab-home[data-abend] .ab-ring > span svg{width:20px; height:20px}
@keyframes abSpin{to{transform:rotate(360deg)}}

/* 16:00 Rundgang */
html.ab-home[data-abend] .ab-rundgang{padding:clamp(72px,9vw,140px) 0 clamp(72px,8vw,120px); background:#F7F6F2}
html.ab-home[data-abend] .ab-rundgang h2{font-size:clamp(44px,5.6vw,84px)!important}
html.ab-home[data-abend] .ab-rundgang .text-link{margin-top:6px!important}
html.ab-home[data-abend] .ab-rundgang-photos .visit-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0}
html.ab-home[data-abend] .visit-photo{all:unset; position:relative; display:block; cursor:zoom-in; border-radius:4px; overflow:hidden; background:var(--deep)}
html.ab-home[data-abend] .visit-photo:first-child{grid-column:1 / 3; aspect-ratio:4/3}
html.ab-home[data-abend] .visit-photo:not(:first-child){aspect-ratio:3/4}
html.ab-home[data-abend] .visit-photo:nth-child(3){margin-top:56px}
html.ab-home[data-abend] .visit-photo img{width:100%!important; height:100%!important; object-fit:cover; transition:transform 1.4s var(--ease)}
html.ab-home[data-abend] .visit-photo:hover img{transform:scale(1.04)}
html.ab-home[data-abend] .visit-photo .visit-label{position:absolute; left:0; right:0; bottom:0; padding:44px 18px 16px; background:linear-gradient(0deg,rgba(38,42,46,.78),rgba(38,42,46,0)); color:#F7F6F2; display:flex; flex-direction:column; gap:2px}
html.ab-home[data-abend] .visit-photo .visit-label b{font:400 22px/1.2 var(--serif)}
html.ab-home[data-abend] .visit-photo .visit-label small{font-size:14px; opacity:.88}
html.ab-home[data-abend] .visit-photo .photo-expand{position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:50%; background:rgba(247,246,242,.9); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:15px}
html.ab-home[data-abend] .visit-more{margin-top:56px; border-top:1px solid var(--line); padding-top:22px}
html.ab-home[data-abend] details > summary{cursor:pointer; list-style:none; font:400 clamp(21px,1.8vw,26px)/1.3 var(--serif)!important; background:none!important; border:0!important; padding:0!important; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:44px}
html.ab-home[data-abend] details > summary::-webkit-details-marker{display:none}
html.ab-home[data-abend] details > summary::after{content:'+'; font:300 26px var(--sans); transition:transform .4s var(--ease)}
html.ab-home[data-abend] details[open] > summary::after{transform:rotate(45deg)}
html.ab-home[data-abend] .place-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:28px; margin-top:28px}
html.ab-home[data-abend] .place-grid article{display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; align-items:center; background:none; padding:0; border:0}
html.ab-home[data-abend] .place-grid img{width:150px!important; height:150px!important; object-fit:cover; border-radius:4px}
html.ab-home[data-abend] .place-grid b{font:400 24px/1.2 var(--serif); color:var(--ink)}
html.ab-home[data-abend] .place-grid p{margin:6px 0 0; font-size:16px}

/* 17:00 Platz nehmen */
html.ab-home[data-abend] .ab-platz{background:linear-gradient(180deg,#F7F6F2 0%,#F7F6F2 25%,#EEE7DA 100%); padding:20px 0 clamp(80px,9vw,140px)}
html.ab-home[data-abend] .ab-platz > .ab-wrap:first-child{padding-bottom:40px}
html.ab-home[data-abend] .ab-open{position:relative; height:clamp(560px,62vw,900px); overflow:hidden}
html.ab-home[data-abend] .ab-open img{width:100%; height:100%; object-fit:cover}
html.ab-home[data-abend] .ab-open::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,42,46,.62) 0%,rgba(38,42,46,.15) 55%,rgba(38,42,46,0) 100%)}
html.ab-home[data-abend] .ab-open-copy{position:absolute; z-index:1; left:var(--gut); bottom:18%; max-width:640px; display:flex; flex-direction:column; gap:20px}
html.ab-home[data-abend] .ab-open-copy > *{margin:0!important}
html.ab-home[data-abend] .ab-open-k{font:italic 400 20px var(--serif); color:var(--gold)!important}
html.ab-home[data-abend] .ab-open-copy h2{color:#F7F6F2!important; font-size:clamp(44px,5.4vw,84px)!important}
html.ab-home[data-abend] .ab-open-copy h2 em{color:var(--gold)!important}
html.ab-home[data-abend] .ab-open-copy p{color:rgba(247,246,242,.9)!important; max-width:460px}
html.ab-home[data-abend] .ab-favseat{margin-top:clamp(56px,7vw,100px); background:none!important; padding-top:0; padding-bottom:0; display:grid!important}
html.ab-home[data-abend] .ab-seat .seat-disclosure{border-top:1px solid var(--line-2); padding-top:18px; background:none!important; margin:0!important}
html.ab-home[data-abend] .ab-seat .seat-tabs{display:inline-flex; gap:6px; padding:5px; border-radius:999px; background:rgba(38,42,46,.06); margin:18px 0 10px}
html.ab-home[data-abend] .ab-seat .seat-tabs button{min-height:44px; padding:0 20px; border-radius:999px; border:0; background:transparent; color:var(--ink); font:500 15px var(--sans); cursor:pointer}
html.ab-home[data-abend] .ab-seat .seat-tabs button[aria-pressed="true"]{background:var(--ink); color:#F7F6F2}
html.ab-home[data-abend] .ab-seat .mini-plan{background:var(--card)!important; border:1px solid var(--line)!important; border-radius:6px!important; padding:18px!important; box-shadow:none!important}

/* 18:30 Küche */
html.ab-home[data-abend] .ab-kueche{background:linear-gradient(180deg,#EEE7DA 0%,#E9DCC6 100%); padding:clamp(80px,9vw,140px) 0}
html.ab-home[data-abend] .ab-kitchen-hours{border-top:1px solid var(--line-2); padding-top:18px; font-size:16px}
html.ab-home[data-abend] .ab-kitchen-hours strong{display:block; color:var(--ink); font-weight:600; margin-bottom:4px}
html.ab-home[data-abend] .ab-kitchen-hours p{margin:0; color:var(--muted)}
html.ab-home[data-abend] .ab-kitchen-hours .kitchen{background:none!important; padding:0!important; border:0!important; margin:0!important}
html.ab-home[data-abend] .ab-mosaic{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:280px 220px 260px; gap:18px}
html.ab-home[data-abend] .ab-mosaic figure{overflow:hidden; border-radius:4px}
html.ab-home[data-abend] .ab-mosaic img{width:100%; height:100%; object-fit:cover}
html.ab-home[data-abend] .ab-m1{grid-column:1 / 6; grid-row:1 / 3}
html.ab-home[data-abend] .ab-m2{grid-column:3 / 7; grid-row:2 / 4; box-shadow:0 30px 60px -36px rgba(60,40,20,.55)}

/* 19:30 Feiern */
html.ab-home[data-abend] .ab-feiern{background:linear-gradient(180deg,#E9DCC6 0%,#DFBE93 100%); padding:clamp(80px,9vw,140px) 0; overflow:hidden}
html.ab-home[data-abend] .ab-feiern h2{font-size:clamp(44px,5vw,76px)!important}
html.ab-home[data-abend] .ab-feiern p{color:#3D3226}
html.ab-home[data-abend] .ab-occs{display:flex; flex-direction:column; width:100%}
html.ab-home[data-abend] .ab-occ{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:16px 0; border-top:1px solid rgba(38,42,46,.28); color:var(--ink)!important; text-decoration:none!important}
html.ab-home[data-abend] .ab-occ:last-child{border-bottom:1px solid rgba(38,42,46,.28)}
html.ab-home[data-abend] .ab-occ span{font:400 clamp(30px,3vw,42px)/1.15 var(--serif)!important; transition:transform .5s var(--ease), color .3s}
html.ab-home[data-abend] .ab-occ i{font-style:normal; color:var(--cognac); opacity:0; transform:translateX(-10px); transition:all .5s var(--ease)}
html.ab-home[data-abend] .ab-occ:hover span{transform:translateX(10px); color:var(--cognac-d)}
html.ab-home[data-abend] .ab-occ:hover i{opacity:1; transform:none}
html.ab-home[data-abend] .ab-depth{position:relative; height:clamp(460px,52vw,720px); perspective:1400px}
html.ab-home[data-abend] .ab-depth img{position:absolute; object-fit:cover; border-radius:4px; transition:transform 1.6s var(--ease),opacity 1.6s var(--ease)}
html.ab-home[data-abend] .ab-d1{left:0; top:4%; width:40%; aspect-ratio:3/4; opacity:.55}
html.ab-home[data-abend] .ab-d2{right:0; top:0; width:46%; aspect-ratio:4/3; opacity:.7}
html.ab-home[data-abend] .ab-d3{right:4%; bottom:0; width:34%; aspect-ratio:3/4; opacity:.8}
html.ab-home[data-abend] .ab-d4{left:12%; top:22%; width:62%; aspect-ratio:4/3; box-shadow:0 44px 90px -34px rgba(70,40,15,.6); z-index:2}
html.ab-js.ab-home[data-abend] .ab-depth:not(.is-in) img{transform:translateZ(-520px); opacity:0}
html.ab-js.ab-home[data-abend] .ab-depth.is-in img{transform:none}
html.ab-js.ab-home[data-abend] .ab-depth.is-in .ab-d1{opacity:.55; transition-delay:.0s}
html.ab-js.ab-home[data-abend] .ab-depth.is-in .ab-d2{opacity:.7; transition-delay:.15s}
html.ab-js.ab-home[data-abend] .ab-depth.is-in .ab-d3{opacity:.8; transition-delay:.3s}
html.ab-js.ab-home[data-abend] .ab-depth.is-in .ab-d4{opacity:1; transition-delay:.45s}

/* 21:00 Süßes */
html.ab-home[data-abend] .ab-suess{background:linear-gradient(180deg,#DFBE93 0%,#C48A62 100%); padding:clamp(80px,9vw,140px) 0 clamp(110px,11vw,180px)}
html.ab-home[data-abend] .ab-suess .ab-split{align-items:center}
html.ab-home[data-abend] .ab-suess p{color:#2E2219!important}
html.ab-home[data-abend] .ab-suess .ab-zeit{color:#2E2219!important}
html.ab-home[data-abend] .ab-suess .ab-hour{color:#2E2219!important}
html.ab-home[data-abend] .ab-suess-img{aspect-ratio:3/2; border-radius:4px; overflow:hidden}
html.ab-home[data-abend] .ab-suess-img img{width:100%; height:100%; object-fit:cover}
html.ab-home[data-abend] .ab-suess h2 em{color:#5A2C10!important}

/* 22:00 Hafenbar: die einzige dunkle Strecke */
html.ab-home[data-abend] .ab-nacht{--fg:#F7F6F2; --em:var(--gold); --muted:rgba(247,246,242,.8); --line:rgba(247,246,242,.16); --line-2:rgba(247,246,242,.3);
  background:linear-gradient(180deg,#C48A62 0%,#7A4E36 6%,#3A3A33 11%,#262A2E 17%,#262A2E 100%); color:#F7F6F2; padding:clamp(160px,16vw,240px) 0 0; overflow:hidden}
html.ab-home[data-abend] .ab-nacht :is(h2,h3){color:#F7F6F2!important}
html.ab-home[data-abend] .ab-nacht p{color:rgba(247,246,242,.82)!important}
html.ab-home[data-abend] .ab-nacht .ab-zeit{color:rgba(247,246,242,.85)!important}
html.ab-home[data-abend] .ab-nacht .eyebrow{color:var(--gold)!important}
html.ab-home[data-abend] .ab-nacht .text-link{color:#F7F6F2!important}
html.ab-home[data-abend] .ab-nacht-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:32px; padding-bottom:56px; position:relative; z-index:1}
html.ab-home[data-abend] .ab-nacht-head h2{font-size:clamp(48px,5.8vw,92px)!important}
html.ab-home[data-abend] .ab-nacht-head > p{max-width:380px; margin:0}
html.ab-home[data-abend] .ab-nacht-head > p b{color:#F7F6F2; font-weight:600}
html.ab-home[data-abend] .ab-bar{position:relative; height:clamp(520px,58vw,860px); overflow:hidden}
html.ab-home[data-abend] .ab-bar img{width:100%; height:100%; object-fit:cover}
html.ab-home[data-abend] .ab-bar-cta{display:flex; justify-content:flex-end; margin-top:-96px; position:relative; z-index:2}
html.ab-home[data-abend] .ab-bar-btn{background:var(--gold)!important; color:var(--ink)!important}
html.ab-home[data-abend] .ab-nacht .ab-hoststory{padding-top:clamp(80px,9vw,140px); padding-bottom:clamp(60px,7vw,100px); align-items:center; background:none!important}
html.ab-home[data-abend] .ab-host-img{border-radius:4px; overflow:hidden}
html.ab-home[data-abend] .ab-host-img img{aspect-ratio:4/5; width:100%; object-fit:cover}
html.ab-home[data-abend] .ab-host-img figcaption{font-size:14px; color:rgba(247,246,242,.7); padding-top:10px}
html.ab-home[data-abend] .ab-proof{border-top:1px solid rgba(247,246,242,.14); padding:56px 0 64px}
html.ab-home[data-abend] .ab-proof-head{display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 28px; margin-bottom:34px}
html.ab-home[data-abend] .ab-proof-head > *{margin:0}
html.ab-home[data-abend] .ab-proof-rating{font:400 48px/1 var(--serif)!important; color:var(--gold)!important}
html.ab-home[data-abend] .ab-proof-date{font-size:15px}
html.ab-home[data-abend] .ab-proof-head a{margin-left:auto}
html.ab-home[data-abend] .ab-proof-track{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
html.ab-home[data-abend] .ab-proof figure{margin:0; display:flex; align-items:baseline; gap:18px; white-space:nowrap}
html.ab-home[data-abend] .ab-proof blockquote{margin:0; font:italic 400 clamp(28px,3vw,42px)/1.2 var(--serif); color:#F7F6F2}
html.ab-home[data-abend] .ab-proof figcaption{font-size:14px; color:rgba(247,246,242,.6)}
html.ab-home[data-abend] .ab-proof-note{font-size:14px; margin-top:22px!important}

/* Bis bald: Öffnungszeiten und Gutscheine */
html.ab-home[data-abend] .ab-bisbald{background:linear-gradient(180deg,#262A2E 0%,#F7F6F2 280px,#F7F6F2 100%); padding:300px 0 clamp(80px,9vw,140px)}
html.ab-home[data-abend] .ab-hours dl{margin:0; display:flex; flex-direction:column; width:100%}
html.ab-home[data-abend] .ab-hours dl > div{display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-top:1px solid var(--line); background:none!important}
html.ab-home[data-abend] .ab-hours dl > div:last-child{border-bottom:1px solid var(--line)}
html.ab-home[data-abend] .ab-hours dt{font-weight:500; color:var(--ink)}
html.ab-home[data-abend] .ab-hours dd{margin:0; text-align:right; color:var(--ink)}
html.ab-home[data-abend] .ab-hours .closure-list{background:none!important; border:0!important; padding:0!important; width:100%}
html.ab-home[data-abend] .ab-hours .closure-list h3{font-size:22px!important; margin:0 0 8px!important}
html.ab-home[data-abend] .ab-hours .closure-list p{margin:4px 0; font-size:16px}
html.ab-home[data-abend] .ab-gift{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(36px,6vw,96px); align-items:center; margin-top:clamp(80px,9vw,140px); background:none!important; padding-top:0; padding-bottom:0}
html.ab-home[data-abend] .ab-gift-img{border-radius:4px; overflow:hidden; margin:0}
html.ab-home[data-abend] .ab-gift-img img{aspect-ratio:3/4; width:100%; object-fit:cover}
html.ab-home[data-abend] .gift-ideas{width:100%; border-top:1px solid var(--line-2); padding-top:14px}
html.ab-home[data-abend] .gift-options{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr)); gap:12px; margin-top:16px}
html.ab-home[data-abend] .gift-options button{display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:left; min-height:96px; padding:18px; border-radius:6px; border:1px solid var(--line); background:var(--card); color:var(--ink); cursor:pointer; transition:transform .4s var(--ease),border-color .3s}
html.ab-home[data-abend] .gift-options button:hover, html.ab-home[data-abend] .gift-options button[aria-pressed="true"]{transform:translateY(-2px); border-color:var(--cognac)}
html.ab-home[data-abend] .gift-options b{font:400 21px/1.2 var(--serif)}
html.ab-home[data-abend] .gift-options span{font-size:14px; color:var(--muted)}
html.ab-home[data-abend] #gift-choice{font-size:15px; margin:14px 0 0}
html.ab-home[data-abend] #gift-link{display:inline-flex; align-items:center; min-height:54px; padding:0 28px; border-radius:999px; background:var(--cognac)!important; color:#FFF9F2!important; font:600 16px var(--sans)!important; text-decoration:none!important}
html.ab-home[data-abend] .ab-gift-brand{display:flex; align-items:center; gap:18px; text-decoration:none!important; color:var(--muted)!important; font-size:15px}
html.ab-home[data-abend] .ab-gift-brand img{width:130px; height:65px; object-fit:contain}

/* Chevy zum Abschied */
html.ab-home[data-abend] .ab-chevy{position:relative; height:clamp(560px,62vw,900px); overflow:hidden; background:#262A2E}
html.ab-home[data-abend] .ab-chevy img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% 62%}
html.ab-home[data-abend] .ab-chevy::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,#F7F6F2 0%,rgba(247,246,242,0) 20%,rgba(38,42,46,0) 46%,rgba(38,42,46,.62) 78%,#262A2E 100%)}
html.ab-home[data-abend] .ab-chevy-copy{position:absolute; z-index:1; left:var(--gut); right:var(--gut); bottom:64px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:22px}
html.ab-home[data-abend] .ab-chevy-copy p{margin:0; color:rgba(247,246,242,.86)!important; max-width:380px}
html.ab-home[data-abend] .ab-chevy-copy .ab-chevy-h{font:400 clamp(36px,4vw,60px)/1.08 var(--serif)!important; color:#F7F6F2!important; max-width:720px}
html.ab-home[data-abend] .ab-fuss{--fuss-von:#262A2E}
html.ab-home[data-abend] .ab-fuss::before{height:40px}

@media (max-width:980px){
  html.ab-home[data-abend] .ab-split, html.ab-home[data-abend] .ab-split-7-5, html.ab-home[data-abend] .ab-split-5-7, html.ab-home[data-abend] .ab-split-6-6, html.ab-home[data-abend] .ab-gift{grid-template-columns:minmax(0,1fr)}
  html.ab-home[data-abend] .ab-coord, html.ab-home[data-abend] .ab-ring{display:none}
  html.ab-home[data-abend] .ab-hero-frame{top:108px; left:14px; right:14px; bottom:120px}
  html.ab-home[data-abend] .ab-film-toggle{top:124px; right:24px}
  html.ab-home[data-abend] .ab-hero-copy{left:24px; right:24px; bottom:120px}
  html.ab-home[data-abend] .ab-hero h1{font-size:clamp(46px,13vw,64px)!important}
  html.ab-home[data-abend] .ab-hero-actions .button{display:none!important}
  html.ab-home[data-abend] .ab-mosaic{grid-template-rows:200px 160px 200px; gap:12px}
  html.ab-home[data-abend] .ab-depth{height:420px}
  html.ab-home[data-abend] .ab-bar-cta{justify-content:flex-start; margin-top:8px}
  html.ab-home[data-abend] .ab-open::after{background:linear-gradient(180deg,rgba(38,42,46,0) 30%,rgba(38,42,46,.78) 78%,rgba(38,42,46,.55) 100%)}
  html.ab-home[data-abend] .ab-bar{height:auto} html.ab-home[data-abend] .ab-bar img{height:440px}
  html.ab-home[data-abend] .place-grid article{grid-template-columns:110px minmax(0,1fr)}
  html.ab-home[data-abend] .place-grid img{width:110px!important; height:110px!important}
  html.ab-home[data-abend] .ab-proof-head a{margin-left:0}
  html.ab-home[data-abend] .ab-open-copy{bottom:14%}
  html.ab-home[data-abend] .ab-gift-img img{aspect-ratio:4/3}
}

html.ab-home[data-abend] .seat-copy{text-align:left!important; color:var(--ink)!important; align-items:flex-start!important}
html.ab-home[data-abend] .seat-copy p{color:var(--muted)!important}

html[data-abend] .ab-fuss > div{box-sizing:content-box!important}

/* Fußbereich: Begleittext des Abschlusses */
html[data-abend] .ab-fuss .ab-fuss-text{margin:0!important; max-width:560px; font-size:17px!important; color:rgba(247,246,242,.8)!important}

/* Keine harten Farbbänder: Flächen gehen in den Seitengrund über */
html[data-abend] main :is(.pm-tone,.career-pay,.equipment-band,.qf-section,.se-planner,.sm-day,.sm-arrive){background:transparent!important; background-image:none!important}
html[data-abend] main :is(.pm-region,.career-contact){
  --fg:#F7F6F2; --fg-soft:rgba(247,246,242,.8); --em:var(--gold);
  background:#262A2E!important; color:#F7F6F2!important; border-radius:18px; margin:clamp(40px,6vw,96px) var(--gut)!important; overflow:hidden}
html[data-abend] main :is(.pm-region,.career-contact) :is(p,li,span,small,b,strong,dt,dd){color:rgba(247,246,242,.86)!important}
html[data-abend] main :is(.pm-region,.career-contact) :is(h2,h3){color:#F7F6F2!important}
html[data-abend] main :is(.pm-region,.career-contact) a:not(.button){color:#F7F6F2!important}
html[data-abend] main .sm-cine-frame{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%); mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%); border-radius:0!important}

/* Hafenbar-Kopf: Schrift hell auf dem Abendbild */
html[data-abend] main .se-hero :is(h1,h1 *){color:#F7F6F2!important}
html[data-abend] main .se-hero h1{font-size:clamp(48px,6.4vw,104px)!important; line-height:1!important}
html[data-abend] main .se-hero h1 em{color:var(--gold)!important}
html[data-abend] main .se-hero :is(#se-location,#se-subtitle,p){color:rgba(247,246,242,.9)!important}
html[data-abend] main .se-hero .ab-zeit, html[data-abend] main .se-hero #se-kicker{color:rgba(247,246,242,.9)!important; font:400 15px/1.3 var(--sans)!important}
html[data-abend] main .se-hero .ab-zeit .ab-hour{color:var(--gold)!important}
html[data-abend] main .se-hero .se-primary{background:var(--gold)!important; color:var(--ink)!important}
html[data-abend] main .se-site :is(article,.price-card,[class*="package"]) :is(h2,h3){font-size:clamp(24px,2.1vw,32px)!important; line-height:1.15!important}

/* Dunkle Flächen innerhalb heller Seiten */
html[data-abend] main .ab-dunkel{--fg:#F7F6F2; --fg-soft:rgba(247,246,242,.8); --em:var(--gold)}
html[data-abend] main .ab-dunkel :is(h1,h2,h3,h4,strong,b):not(a *,button *){color:#F7F6F2!important}
html[data-abend] main .ab-dunkel :is(p,li,span,small,dd,dt,label):not(a *,button *,input,select,textarea){color:rgba(247,246,242,.86)}
html[data-abend] main .ab-dunkel :is(.eyebrow,[class$="-kicker"]){color:var(--gold)!important}
html[data-abend] main .ab-dunkel .ab-hell :is(h1,h2,h3,h4,strong,b,p,li,span,small,dd,dt,label){color:var(--ink)!important}
html.ab-home[data-abend] .ab-strong{color:var(--ink); font-weight:600}

/* Fußbereich am Handy: zwei ruhige Spalten statt einer langen Liste */
@media (max-width:620px){
  html[data-abend] .ab-fuss-grid{grid-template-columns:1fr 1fr; gap:32px 20px; padding-top:48px}
  html[data-abend] .ab-fuss-grid > div:nth-child(1),
  html[data-abend] .ab-fuss-grid > div:nth-child(2){grid-column:1 / -1}
  html[data-abend] .ab-fuss-grid img{width:118px; height:100px}
  html[data-abend] .ab-fuss-grid a{padding:5px 0}
}

/* Galerie: redaktioneller, versetzter Bildfluss statt gleichförmigem Raster */
html[data-abend] .gallery-page .photo-story{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(18px,2.4vw,36px); align-items:start; margin-top:clamp(48px,6vw,96px); columns:auto}
html[data-abend] .gallery-page .photo-story figure{margin:0; grid-column:1 / -1; break-inside:auto}
html[data-abend] .gallery-page .photo-story figure img{width:100%; height:100%; object-fit:cover; display:block; border-radius:18px; aspect-ratio:4/5; transition:transform 1.2s cubic-bezier(.2,.7,.1,1), filter .6s; filter:saturate(.96)}
html[data-abend] .gallery-page .photo-story figure{overflow:visible}
html[data-abend] .gallery-page .photo-story figure:hover img{filter:saturate(1.06)}
html[data-abend] .gallery-page .photo-story figcaption{font-family:"Playfair Display",Georgia,serif!important; font-style:italic; font-size:17px!important; color:var(--muted); margin-top:12px; padding-left:2px}
html[data-abend] .gallery-page .photo-story figcaption::before{content:""; display:inline-block; width:22px; height:1px; background:var(--cognac); vertical-align:middle; margin-right:10px; opacity:.7}
@media (min-width:761px){
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(1){grid-column:1 / -1}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(1) img{aspect-ratio:21/9}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(2){grid-column:1 / 8}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(2) img{aspect-ratio:4/3}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(3){grid-column:8 / 13; margin-top:clamp(40px,8vw,120px)}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(4){grid-column:2 / 7}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(5){grid-column:7 / 13; margin-top:clamp(30px,5vw,80px)}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(5) img{aspect-ratio:3/4}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(6){grid-column:3 / 11; margin-top:clamp(16px,3vw,48px)}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(6) img{aspect-ratio:16/10}
}
@media (max-width:760px){
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(odd){grid-column:1 / 12}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(even){grid-column:2 / -1}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(1){grid-column:1 / -1}
  html[data-abend] .gallery-page .photo-story > figure:nth-of-type(1) img{aspect-ratio:4/3}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    html[data-abend] .gallery-page .photo-story figure{animation:abGalIn linear both; animation-timeline:view(); animation-range:entry 0% cover 30%}
    @keyframes abGalIn{from{opacity:0; transform:translateY(48px) scale(.97)} to{opacity:1; transform:none}}
  }
}
html[data-abend] .gallery-page .photo-story figure,
html[data-abend] .gallery-page .photo-story .photo-wide,
html[data-abend] .gallery-page .photo-story .photo-tall{min-height:0!important; background:none!important; position:relative}
html[data-abend] .gallery-page .photo-story figure img{height:auto}
html[data-abend] .gallery-page .photo-story figure:hover img{transform:none}
html[data-abend] .gallery-page .photo-story figcaption{position:static!important; padding:0!important; background:none!important; letter-spacing:0!important; text-transform:none!important; font-weight:400!important}

/* Startseite: Drinnen / Terrasse als zwei Bildkarten statt Tischplan */
html.ab-home[data-abend] .ab-seatpick{display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1.6vw,22px); align-items:start}
html.ab-home[data-abend] .ab-seatcard{position:relative; display:block; border-radius:18px; overflow:hidden; text-decoration:none!important; color:#F7F6F2; aspect-ratio:3/4; isolation:isolate; box-shadow:0 30px 60px -40px rgba(40,30,20,.55)}
html.ab-home[data-abend] .ab-seatcard:nth-child(2){margin-top:clamp(28px,5vw,72px)}
html.ab-home[data-abend] .ab-seatcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}
html.ab-home[data-abend] .ab-seatcard:hover img{transform:scale(1.04)}
html.ab-home[data-abend] .ab-seatcard::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(24,26,29,.78)); z-index:1}
html.ab-home[data-abend] .ab-seatcard span{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(14px,2vw,22px); display:grid; gap:4px; font-size:14px!important; line-height:1.35; color:rgba(247,246,242,.88)}
html.ab-home[data-abend] .ab-seatcard b{font:400 clamp(22px,2.4vw,30px)/1.1 "Playfair Display",Georgia,serif!important; color:#F7F6F2}
@media (max-width:760px){
  html.ab-home[data-abend] .ab-favseat{gap:26px!important}
  html.ab-home[data-abend] .ab-seatpick{order:2}
}

/* ===== Szene: filmischer Seiteneinstieg der Unterseiten ===== */
html.ab-szene-seite[data-abend] main{padding-top:0!important; margin-top:0!important}
html.ab-szene-seite[data-abend] .ab-szene{position:relative; isolation:isolate; overflow:hidden; color:#F7F6F2; background:#262A2E; margin:0!important; padding:0 0 clamp(96px,12vw,170px); max-width:none!important; width:auto!important}
html.ab-szene-seite[data-abend] .ab-szene::before{content:""; position:absolute; inset:-80px; z-index:-2; background:var(--szene) center/cover no-repeat; filter:blur(56px) saturate(1.25); opacity:.42; transform:scale(1.1)}
html.ab-szene-seite[data-abend] .ab-szene::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 70% at 0% 0%,rgba(38,42,46,.25),rgba(38,42,46,.78) 70%),linear-gradient(180deg,rgba(38,42,46,0) 0%,rgba(38,42,46,0) 62%,var(--bg,#F7F6F2) 100%)}
html.ab-szene-seite[data-abend] .ab-szene-bild{position:relative; overflow:hidden; margin:0; background:none!important; min-height:0!important}
html.ab-szene-seite[data-abend] .ab-szene-bild img{display:block; width:100%; height:100%; object-fit:cover; max-width:none; border-radius:0; transform-origin:50% 40%}
html.ab-szene-seite[data-abend] .ab-szene-shade{position:absolute; inset:0; pointer-events:none}
html.ab-szene-seite[data-abend] .ab-szene-text{position:relative; z-index:2; display:grid; gap:24px}
html.ab-szene-seite[data-abend] .ab-szene-kopf{display:grid; gap:16px}
html.ab-szene-seite[data-abend] .ab-szene-kopf > *, html.ab-szene-seite[data-abend] .ab-szene-rest > *{margin:0!important}
html.ab-szene-seite[data-abend] .ab-szene h1{color:#F7F6F2!important; font-size:clamp(44px,5.4vw,84px)!important; line-height:1.02!important; letter-spacing:-.01em; max-width:14ch; text-wrap:balance}
html.ab-szene-seite[data-abend] .ab-szene h1 em{color:var(--gold)!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-zeit, html.ab-szene-seite[data-abend] .ab-szene .eyebrow{color:#E8C895!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-hour{color:var(--gold)!important}
html.ab-szene-seite[data-abend] .ab-szene-rest{display:grid; gap:22px; max-width:560px}
html.ab-szene-seite[data-abend] .ab-szene-rest p{color:rgba(247,246,242,.84)!important; font-size:18px!important; line-height:1.6}
html.ab-szene-seite[data-abend] .ab-szene-rest .actions{display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center}
html.ab-szene-seite[data-abend] .ab-szene .button.ghost, html.ab-szene-seite[data-abend] .ab-szene .button.dark-button{background:transparent!important; color:#F7F6F2!important; border:1px solid rgba(247,246,242,.45)!important}
html.ab-szene-seite[data-abend] .ab-szene .text-link{color:#F7F6F2!important; text-decoration-color:rgba(243,196,126,.7)!important}
html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance{display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:8px!important; border-top:1px solid rgba(247,246,242,.18); background:none!important; padding:0!important}
html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span{display:grid; gap:2px; padding:16px 14px 0 0; background:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; color:rgba(247,246,242,.7)!important; font-size:14px!important}
html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span + span{padding-left:14px; border-left:1px solid rgba(247,246,242,.14)!important}
html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance b{color:#F7F6F2; font-weight:500; font-size:15px}
html.ab-szene-seite[data-abend] .ab-szene .fe-location, html.ab-szene-seite[data-abend] .ab-szene .career-note, html.ab-szene-seite[data-abend] .ab-szene-cap{font-size:15px!important; color:rgba(247,246,242,.62)!important}
html.ab-szene-seite[data-abend] .ab-szene-cap{font-family:"Playfair Display",Georgia,serif!important; font-style:italic}

/* Handy zuerst: Foto randlos oben, blendet in die Szene aus */
@media (max-width:899px){
  html.ab-szene-seite[data-abend] .ab-szene-bild{height:clamp(380px,66svh,620px); margin:0 0 -110px; -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%)}
  html.ab-szene-seite[data-abend] .ab-szene-shade{background:linear-gradient(180deg,rgba(24,26,29,.55) 0%,rgba(24,26,29,0) 26%)}
  html.ab-szene-seite[data-abend] .ab-szene-text{padding:0 var(--gut,20px)}
  html.ab-szene-seite[data-abend] .ab-szene h1{font-size:clamp(40px,11vw,58px)!important}
  html.ab-szene-seite[data-abend] .ab-szene-rest p{font-size:17px!important}
  html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span{padding-right:8px}
  html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span + span{padding-left:10px}
}
/* Rechner: Text links, Foto als hohes Bild rechts, Licht der Szene aus dem Foto */
@media (min-width:900px){
  html.ab-szene-seite[data-abend] .ab-szene{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1248px) minmax(0,1fr); padding-top:clamp(150px,17vh,190px)}
  html.ab-szene-seite[data-abend] .ab-szene > *{grid-row:1}
  html.ab-szene-seite[data-abend] .ab-szene-text{grid-column:2; padding:0 var(--gut,40px); width:58%; align-self:center; padding-bottom:40px}
  html.ab-szene-seite[data-abend] .ab-szene-bild{grid-column:2; justify-self:end; width:min(38%,500px); margin-right:var(--gut,40px); aspect-ratio:3/4; border-radius:22px; box-shadow:0 60px 120px -50px rgba(0,0,0,.65), 0 0 0 1px rgba(247,246,242,.08)}
  html.ab-szene-seite[data-abend] .ab-szene-bild::after{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); pointer-events:none}
}
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    html.ab-szene-seite[data-abend] .ab-szene-bild img{animation:abSzeneZoom linear both; animation-timeline:scroll(root); animation-range:0 80vh}
    html.ab-szene-seite[data-abend] .ab-szene-text{animation:abSzeneText linear both; animation-timeline:scroll(root); animation-range:0 70vh}
    @keyframes abSzeneZoom{from{transform:scale(1.02)} to{transform:scale(1.14) translateY(3%)}}
    @keyframes abSzeneText{from{transform:none} to{transform:translateY(-28px)}}
  }
}
@media (prefers-reduced-motion:no-preference){
  html.ab-szene-seite[data-abend] .ab-szene-kopf > *{animation:abSzeneIn 1.1s cubic-bezier(.2,.7,.1,1) both}
  html.ab-szene-seite[data-abend] .ab-szene-kopf > h1{animation-delay:.12s}
  html.ab-szene-seite[data-abend] .ab-szene-rest{animation:abSzeneIn 1.1s .28s cubic-bezier(.2,.7,.1,1) both}
  @keyframes abSzeneIn{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
}

/* Alte Regeln tauschen das Header-Logo per content:url() gegen die dunkle Fassung:
   in der Abend-Gestaltung zeigt jedes Bild wieder seine eigene Datei. */
html[data-abend] body .site-header a.brand > img, html[data-abend] body .ab-kopf .brand img{content:normal!important}
html[data-abend] body footer img, html[data-abend] body .ab-fuss img{content:normal!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-nav{display:flex!important; flex-wrap:wrap; align-items:center; gap:6px 22px; padding:18px 0 0!important; margin:6px 0 0!important; border:0!important; border-top:1px solid rgba(247,246,242,.16)!important; background:none!important; position:static!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-nav > div{display:flex; flex-wrap:wrap; gap:6px 22px}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-nav a{min-height:44px; display:inline-flex; align-items:center; color:rgba(247,246,242,.78)!important; font-size:15px!important; text-decoration:none}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-nav > a{font-family:"Playfair Display",Georgia,serif!important; font-style:italic; color:#E8C895!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-nav a[aria-current="page"]{color:#F7F6F2!important; text-decoration:underline; text-underline-offset:7px; text-decoration-color:var(--gold)}
html.ab-szene-seite[data-abend] .ab-szene .actions{justify-content:flex-start!important; text-align:left!important}
html.ab-szene-seite[data-abend] .ab-szene .actions .button{margin:0!important}

/* ===== Szenen-Bühne für die interaktiven Einstiege ===== */
/* Hafenbar: Bild läuft unter dem Kopf durch, weicher Ausklang */
html.ab-szene-se[data-abend] main .se-hero{min-height:max(640px,100svh)!important; padding-top:clamp(104px,13vh,130px); -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%)}
html.ab-szene-se[data-abend] main .se-hero .se-hero-top{flex-wrap:wrap; align-items:center; padding-top:0!important; min-height:0!important}
html.ab-szene-se[data-abend] main .se-hero .se-hero-top > span{max-width:none!important; font:italic 400 17px/1.3 "Playfair Display",Georgia,serif!important; letter-spacing:0!important; text-transform:none!important; color:#E8C895!important}
html.ab-szene-se[data-abend] main .se-hero #se-motion{min-height:40px; border-radius:999px!important; font-size:14px!important; background:rgba(24,26,29,.5)!important; color:#F7F6F2!important}
html.ab-szene-se[data-abend] main .se-hero .se-headline{padding-top:clamp(18px,4vh,48px)!important}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor{bottom:clamp(40px,7vh,72px)!important}
@media (max-width:760px){
  html.ab-szene-se[data-abend] main .se-hero .se-hero-top{gap:10px 14px}
  html.ab-szene-se[data-abend] main .se-hero #se-motion{order:2; font-size:13px!important; min-height:36px; padding:6px 12px!important}
  html.ab-szene-se[data-abend] main .se-hero .se-hero-top > span{font-size:15px!important; width:100%}
}

/* Über uns und Pâtisserie: dunkle Abendbühne mit Licht aus dem Foto */
html.ab-szene-sf[data-abend] main .sf-page, html.ab-szene-pp[data-abend] main #patisserie{padding-top:0!important; margin-top:0!important; background:transparent!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage, html.ab-szene-pp[data-abend] main .pp-hero{position:relative; isolation:isolate; overflow:hidden; background:#262A2E!important; color:#F7F6F2; max-width:none!important; width:auto!important; margin:0!important; border-radius:0!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage::before, html.ab-szene-pp[data-abend] main .pp-hero::before{content:""; position:absolute; inset:-80px; z-index:-2; background:var(--szene) center/cover no-repeat; filter:blur(56px) saturate(1.25); opacity:.42; transform:scale(1.1)}
html.ab-szene-sf[data-abend] main .sf-dining-stage::after, html.ab-szene-pp[data-abend] main .pp-hero::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(120% 70% at 0% 0%,rgba(38,42,46,.25),rgba(38,42,46,.78) 70%),linear-gradient(180deg,rgba(38,42,46,0) 0%,rgba(38,42,46,0) 62%,var(--bg,#F7F6F2) 100%)}
html.ab-szene-sf[data-abend] main .sf-dining-stage :is(h1,h1 *), html.ab-szene-pp[data-abend] main .pp-hero :is(h1,h1 *){color:#F7F6F2!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage h1, html.ab-szene-pp[data-abend] main .pp-hero h1{font-size:clamp(44px,5.4vw,84px)!important; line-height:1.02!important; text-wrap:balance}
html.ab-szene-sf[data-abend] main .sf-dining-stage :is(.ab-zeit,.sf-eyebrow), html.ab-szene-pp[data-abend] main .pp-hero :is(.ab-zeit,.pp-kicker){color:#E8C895!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage .ab-hour, html.ab-szene-pp[data-abend] main .pp-hero .ab-hour{color:var(--gold)!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage p, html.ab-szene-pp[data-abend] main .pp-hero p{color:rgba(247,246,242,.84)!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage .sf-dining-note, html.ab-szene-pp[data-abend] main .pp-hero .pp-help, html.ab-szene-pp[data-abend] main .pp-hero figcaption{color:rgba(247,246,242,.62)!important}
html.ab-szene-sf[data-abend] main .sf-dining-choices button{min-height:44px; padding:0 18px!important; border-radius:999px!important; border:1px solid rgba(247,246,242,.4)!important; background:transparent!important; color:#F7F6F2!important; font-size:15px!important}
html.ab-szene-sf[data-abend] main .sf-dining-choices button[aria-pressed="true"]{background:var(--gold)!important; border-color:var(--gold)!important; color:#262A2E!important}
html.ab-szene-pp[data-abend] main .pp-hero .pp-links a:not(.pp-button){color:#F7F6F2!important; text-decoration-color:rgba(243,196,126,.7)!important}
html.ab-szene-sf[data-abend] main .sf-dining-photo img, html.ab-szene-pp[data-abend] main .pp-hero figure img{border-radius:22px!important}
html.ab-szene-sf[data-abend] main .sf-dining-caption{color:#F7F6F2!important}
@media (min-width:900px){
  html.ab-szene-sf[data-abend] main .sf-dining-stage, html.ab-szene-pp[data-abend] main .pp-hero{display:grid!important; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important; gap:clamp(40px,5vw,90px)!important; align-items:center!important; padding:clamp(150px,17vh,190px) max(var(--gut,40px),calc((100vw - 1248px)/2 + var(--gut,40px))) clamp(110px,12vw,170px)!important; min-height:0!important}
  html.ab-szene-sf[data-abend] main .sf-dining-photo, html.ab-szene-pp[data-abend] main .pp-hero figure{max-width:500px; justify-self:end; width:100%; margin:0!important}
  html.ab-szene-sf[data-abend] main .sf-dining-photo img, html.ab-szene-pp[data-abend] main .pp-hero figure img{aspect-ratio:3/4; height:auto!important; width:100%!important; object-fit:cover; box-shadow:0 60px 120px -50px rgba(0,0,0,.65)}
}
@media (max-width:899px){
  html.ab-szene-sf[data-abend] main .sf-dining-stage, html.ab-szene-pp[data-abend] main .pp-hero{display:flex!important; flex-direction:column-reverse!important; gap:0!important; padding:0 0 clamp(80px,20vw,120px)!important; min-height:0!important}
  html.ab-szene-sf[data-abend] main .sf-dining-photo, html.ab-szene-pp[data-abend] main .pp-hero figure{margin:0 0 -100px!important; height:clamp(380px,64svh,600px); width:100%; max-width:none; -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%); position:relative}
  html.ab-szene-sf[data-abend] main .sf-dining-photo img, html.ab-szene-pp[data-abend] main .pp-hero figure img, html.ab-szene-pp[data-abend] main .pp-hero figure button{width:100%!important; height:100%!important; object-fit:cover; border-radius:0!important; display:block}
  html.ab-szene-sf[data-abend] main .sf-dining-copy, html.ab-szene-pp[data-abend] main .pp-hero-copy{position:relative; z-index:2; padding:0 var(--gut,20px)!important}
  html.ab-szene-sf[data-abend] main .sf-dining-stage h1, html.ab-szene-pp[data-abend] main .pp-hero h1{font-size:clamp(40px,11vw,58px)!important}
  html.ab-szene-sf[data-abend] main .sf-dining-caption, html.ab-szene-pp[data-abend] main .pp-hero figcaption{display:none}
  html.ab-szene-sf[data-abend] main .sf-motion{top:auto!important; bottom:120px!important}
}
html.ab-szene-se[data-abend] main .se-hero .se-hero-top{position:relative!important; top:auto!important; left:auto!important; right:auto!important; z-index:3; padding:0 5%!important}
@media (max-width:760px){ html.ab-szene-se[data-abend] main .se-hero .se-hero-top{padding:0 6%!important} }
html.ab-film[data-abend][data-hour="22"] .ab-kopf:not(.is-solid){background:transparent!important}
html.ab-szene-se[data-abend] main .se-hero #se-kicker{font:italic 400 17px/1.3 "Playfair Display",Georgia,serif!important; letter-spacing:0!important; text-transform:none!important; color:#E8C895!important; display:inline!important}
html.ab-szene-se[data-abend] main .se-hero #se-kicker .ab-hour{font-style:italic; margin-right:6px}
html.ab-szene-se[data-abend] main .se-hero{min-height:max(640px,100svh)!important; padding-bottom:150px!important}
html.ab-szene-se[data-abend] main .se-hero .se-headline{min-height:0!important; padding-bottom:24px!important}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor{bottom:clamp(44px,6vh,64px)!important}
@media (min-width:761px){ html.ab-szene-se[data-abend] main .se-hero .se-hero-top{padding:0 calc(7% + 2px)!important} html.ab-szene-se[data-abend] main .se-hero .se-headline{padding-left:7%!important} }
@media (max-width:760px){ html.ab-szene-se[data-abend] main .se-hero #se-kicker{font-size:15px!important} }
/* Die Uhr im Kopf zeigt die Zeit schon: die Großbuchstaben-Zeile der alten Bühne bleibt nur für Vorleser */
html.ab-szene-se[data-abend] main .se-hero #se-kicker{position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important}
html.ab-szene-se[data-abend] main .se-hero .se-hero-top{justify-content:flex-end!important}
html.ab-szene-se[data-abend] main .se-hero{padding-bottom:190px!important}
@media (max-width:760px){ html.ab-szene-se[data-abend] main .se-hero{padding-bottom:170px!important} html.ab-szene-se[data-abend] main .se-hero .se-headline{padding-top:4px!important} }

/* ===== Innere Abschnitte: eine Sprache für Auswahl, Karten und Hinweise ===== */
html[data-abend] main :is(.se-overline,.career-label){font:italic 400 17px/1.35 "Playfair Display",Georgia,serif!important; letter-spacing:0!important; text-transform:none!important; color:var(--cognac)!important}

/* Auswahl-Pillen (Catering-Service, Hafenbar-Anlass): groß genug für den Daumen */
html[data-abend] main .pm-chip-grid{display:flex!important; flex-wrap:wrap; gap:10px!important}
html[data-abend] main .pm-chip{display:inline-flex!important; align-items:center; gap:8px; min-height:48px; padding:0 20px!important; border-radius:999px!important; border:1px solid var(--line-2,rgba(38,42,46,.22))!important; background:rgba(255,255,255,.55)!important; color:var(--ink)!important; font:500 15px "DM Sans",system-ui,sans-serif!important; cursor:pointer; transition:background .25s,color .25s,border-color .25s}
html[data-abend] main .pm-chip input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none}
html[data-abend] main .pm-chip:has(input:checked){background:var(--ink)!important; border-color:var(--ink)!important; color:#F7F6F2!important}
html[data-abend] main .pm-chip:has(input:focus-visible){outline:2px solid var(--cognac); outline-offset:3px}
html[data-abend] main .se-occasions{display:flex!important; flex-wrap:wrap; gap:10px!important}
html[data-abend] main .se-occasions button{min-height:48px!important; padding:0 20px!important; border-radius:999px!important; border:1px solid var(--line-2,rgba(38,42,46,.22))!important; background:rgba(255,255,255,.55)!important; color:var(--ink)!important; font:500 15px "DM Sans",system-ui,sans-serif!important}
html[data-abend] main .se-occasions button[aria-pressed="true"]{background:var(--ink)!important; border-color:var(--ink)!important; color:#F7F6F2!important}
html[data-abend] main .se-occasions button span[aria-hidden]{display:none}

/* Anlass-Karten im Catering: am Handy eine ruhige Folge statt zwei enger Spalten */
@media (max-width:760px){
  html[data-abend] main .pm-occasion-grid{grid-template-columns:1fr!important; gap:0!important}
  html[data-abend] main .pm-occasion-card{padding:22px 0!important; border:0!important; border-top:1px solid var(--line,rgba(38,42,46,.12))!important; background:none!important; box-shadow:none!important; border-radius:0!important}
  html[data-abend] main .pm-occasion-card h3{font-size:28px!important; margin:4px 0 8px!important}
}
html[data-abend] main .pm-occasion-card{text-decoration:none!important}
html[data-abend] main .pm-occasion-card small{font:italic 400 15px "Playfair Display",Georgia,serif!important; color:var(--cognac)!important; letter-spacing:0!important; text-transform:none!important}
html[data-abend] main .pm-occasion-card > span{display:inline-flex; align-items:center; gap:8px; margin-top:12px; color:var(--ink); font-weight:500; border-bottom:1px solid var(--cognac); padding-bottom:2px}
html[data-abend] main .pm-occasion-card > span::after{content:"→"; transition:transform .3s}
html[data-abend] main .pm-occasion-card:hover > span::after{transform:translateX(4px)}

/* Weiterführende Doppel-Links: Überschrift nicht unterstrichen, nur der Hinweis darunter */
html[data-abend] main .pm-pair-links a{text-decoration:none!important}
html[data-abend] main .pm-pair-links a :is(h3,p){text-decoration:none!important}
html[data-abend] main .pm-pair-links a > span{display:inline-flex; gap:8px; color:var(--ink); font-weight:500; border-bottom:1px solid var(--cognac); padding-bottom:2px}
html[data-abend] main .pm-pair-links a > span::after{content:"→"}
/* Sprunglink nur für Tastatur sichtbar (nach Antippen des Cookie-Fensters landet der Fokus dort) */
html[data-abend] .skip:focus:not(:focus-visible){left:-9999px!important; transform:translateY(-200%)!important}
html[data-abend] .skip:focus-visible{border-radius:999px; box-shadow:0 10px 30px -10px rgba(0,0,0,.3); font-weight:500}
html[data-abend] main .pm-occasion-card > span, html[data-abend] main .pm-pair-links a > span{text-decoration:none!important}
html[data-abend] main [data-catering-services] fieldset{margin-bottom:28px!important; border:0; padding:0}

/* Cookie-Fenster in der Abend-Sprache (gleich gewichtete Entscheidung bleibt) */
html[data-abend] .sm-privacy{--sm-paper:#F7F6F2; --sm-ink:#262A2E; --sm-accent:#874A23; border-radius:24px!important; border:1px solid rgba(38,42,46,.10)!important; box-shadow:0 40px 90px -30px rgba(38,42,46,.45)!important; padding:26px 26px 18px!important}
html[data-abend] .sm-privacy .sm-privacy-kicker{font:italic 400 16px/1.3 "Playfair Display",Georgia,serif!important; letter-spacing:0!important; text-transform:none!important; color:var(--cognac,#874A23)!important}
html[data-abend] .sm-privacy h2{font-weight:400!important; font-size:clamp(25px,6vw,30px)!important; letter-spacing:-.01em!important}
html[data-abend] .sm-privacy .sm-privacy-choice, html[data-abend] .sm-privacy .sm-privacy-save{border-radius:999px!important; min-height:50px!important; background:#262A2E!important; color:#F7F6F2!important; border:1px solid #262A2E!important; font-weight:500!important}
html[data-abend] .sm-privacy .sm-privacy-choice:hover, html[data-abend] .sm-privacy .sm-privacy-save:hover{background:#874A23!important; border-color:#874A23!important}
html[data-abend] .sm-privacy .sm-privacy-link, html[data-abend] .sm-privacy-launcher{color:#262A2E}
@media (max-width:599px){ html[data-abend] .sm-privacy{width:calc(100% - 24px)!important; bottom:max(12px,env(safe-area-inset-bottom))!important; padding:22px 20px 16px!important} }
html.ab-home[data-abend] .ab-hero .ab-hero-kicker{color:#E8C895!important}
/* Galerie-Film: am Handy läuft die Hochformat-Fassung in voller Höhe statt angeschnitten */
html[data-abend] .gallery-film-stage{border-radius:22px!important; background:#10191c!important; box-shadow:0 40px 80px -40px rgba(15,25,28,.5)!important}
@media (max-width:700px){
  html[data-abend] .gallery-film-stage{min-height:0!important; display:block!important}
  html[data-abend] .gallery-film-stage video{width:100%!important; height:auto!important; max-height:80svh; aspect-ratio:9/16!important; object-fit:cover!important}
}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-crumb{display:flex!important; flex-wrap:wrap; gap:4px 8px; align-items:center; position:static!important; padding:0!important; margin:0 0 4px!important; background:none!important; border:0!important; font-size:14px!important; color:rgba(247,246,242,.6)!important}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-crumb a{color:rgba(247,246,242,.78)!important; text-decoration:none!important; min-height:32px; display:inline-flex; align-items:center}
html.ab-szene-seite[data-abend] .ab-szene .ab-szene-crumb [aria-current], html.ab-szene-seite[data-abend] .ab-szene .ab-szene-crumb span:last-child{color:rgba(247,246,242,.6)!important}
/* Lange deutsche Wörter in Überschriften sauber trennen statt mitten im Wort umbrechen */
html[data-abend] :is(h1,h2){hyphens:auto; -webkit-hyphens:auto; hyphenate-limit-chars:10 4 4}
html.ab-home[data-abend] main#main .ab-hero .ab-hero-kicker{color:#E8C895!important}
html[data-abend] .ab-rot span > span{white-space:nowrap}

/* ===================== Abschluss-Strecken ===================== */
/* Was per hidden ausgeblendet ist, bleibt ausgeblendet – egal welche Knopf-Regel greift */
html[data-abend] [hidden]{display:none!important}

/* Kompakte Abendbühne über Anfrage und Hafenbar-Planer */
html.ab-abschluss[data-abend] main .ab-kompakt{position:relative; isolation:isolate; overflow:hidden; background:#262A2E!important; color:#F7F6F2; max-width:none!important; margin:0!important; padding:clamp(128px,16vh,176px) max(var(--gut,20px),calc((100vw - 1120px)/2 + var(--gut,20px))) clamp(130px,14vw,170px)!important; display:grid; gap:16px; text-align:left!important}
html.ab-abschluss[data-abend] main .ab-kompakt::before{content:""; position:absolute; inset:-80px; z-index:-2; background:var(--szene) center/cover no-repeat; filter:blur(48px) saturate(1.2); opacity:.5; transform:scale(1.1)}
html.ab-abschluss[data-abend] main .ab-kompakt::after{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(110% 80% at 10% 0%,rgba(38,42,46,.2),rgba(38,42,46,.82) 72%)}
html.ab-abschluss[data-abend] main .ab-kompakt > *{margin:0!important; max-width:720px}
html.ab-abschluss[data-abend] main .ab-kompakt h1{color:#F7F6F2!important; font-size:clamp(42px,5.2vw,76px)!important; line-height:1.03!important; text-wrap:balance}
html.ab-abschluss[data-abend] main .ab-kompakt p{color:rgba(247,246,242,.84)!important; font-size:18px!important}
html.ab-abschluss[data-abend] main .ab-kompakt .ab-zeit{color:#E8C895!important}
html.ab-abschluss[data-abend] main .ab-kompakt .ab-hour{color:var(--gold)!important}
html.ab-abschluss[data-abend] main .ab-kompakt .inquiry-return{color:rgba(247,246,242,.78)!important; font-size:15px; text-decoration:none; display:inline-flex; gap:8px; align-items:center; min-height:40px}
html.ab-abschluss[data-abend] main .ab-kompakt .button{justify-self:start}

/* Die Planung als schwebende Karte über der Bühne */
html.ab-abschluss[data-abend] .premium-inquiry{position:relative; z-index:3; max-width:1120px!important; margin:-104px auto 0!important; padding:0 var(--gut,20px) clamp(64px,8vw,110px)!important; background:none!important}
html.ab-abschluss[data-abend] #sh-catering-app{background:#FBFAF6!important; border-radius:28px!important; border:1px solid rgba(38,42,46,.08)!important; box-shadow:0 50px 100px -50px rgba(38,42,46,.55), 0 8px 24px -16px rgba(38,42,46,.25)!important; padding:clamp(22px,4vw,52px)!important; display:grid!important; gap:0 48px; grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){
  html.ab-abschluss[data-abend] #sh-catering-app{grid-template-columns:minmax(0,1fr) 320px}
  html.ab-abschluss[data-abend] #sh-catering-app > .tool-steps{grid-column:1 / -1}
  html.ab-abschluss[data-abend] #sh-catering-app > form{grid-column:1}
  html.ab-abschluss[data-abend] #sh-catering-app > .price-card{grid-column:2; grid-row:2; align-self:start; position:sticky; top:120px; margin:0!important}
}

/* Fortschritt in drei Schritten */
html.ab-abschluss[data-abend] .tool-steps{display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0!important; margin:0 0 clamp(26px,4vw,40px)!important; padding:0!important; border:0!important; background:none!important; counter-reset:none}
html.ab-abschluss[data-abend] .tool-steps button{position:relative; display:flex!important; flex-direction:column; align-items:center; gap:10px; padding:0!important; margin:0!important; min-height:64px; border:0!important; background:none!important; box-shadow:none!important; color:var(--muted)!important; font:500 14px/1.25 "DM Sans",system-ui,sans-serif!important; text-align:center; cursor:pointer}
html.ab-abschluss[data-abend] .tool-steps button::before{content:attr(data-step)!important; display:grid!important; place-items:center; width:38px; height:38px; border-radius:50%; border:1.5px solid rgba(38,42,46,.22); background:#fff; color:var(--ink); font:500 15px "DM Sans",sans-serif; position:relative; z-index:1; transition:background .3s,color .3s,border-color .3s; margin:0!important; inset:auto!important}
html.ab-abschluss[data-abend] .tool-steps button::after{content:""!important; position:absolute!important; top:19px!important; left:calc(50% + 24px)!important; width:calc(100% - 48px)!important; height:2px!important; background:rgba(38,42,46,.14)!important; border:0!important; bottom:auto!important; right:auto!important; transform:none!important}
html.ab-abschluss[data-abend] .tool-steps button:last-child::after{display:none!important}
html.ab-abschluss[data-abend] .tool-steps button.active{color:var(--ink)!important; font-weight:600!important}
html.ab-abschluss[data-abend] .tool-steps button.active::before{background:var(--ink); border-color:var(--ink); color:#F7F6F2; box-shadow:0 0 0 6px rgba(38,42,46,.08)}
html.ab-abschluss[data-abend] .tool-steps:has([data-step="2"].active) [data-step="1"]::before,
html.ab-abschluss[data-abend] .tool-steps:has([data-step="3"].active) :is([data-step="1"],[data-step="2"])::before{content:"✓"!important; background:var(--cognac); border-color:var(--cognac); color:#fff}
html.ab-abschluss[data-abend] .tool-steps:has([data-step="2"].active) [data-step="1"]::after,
html.ab-abschluss[data-abend] .tool-steps:has([data-step="3"].active) :is([data-step="1"],[data-step="2"])::after{background:var(--cognac)!important}
html.ab-abschluss[data-abend] #catering-form > section > h3{font:400 clamp(28px,3vw,38px)/1.1 "Playfair Display",Georgia,serif!important; color:var(--ink)!important; margin:0 0 22px!important}

/* Eingabefelder überall in Formularen: groß, ruhig, mindestens 16px gegen das iPhone-Zoomen */
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,.fe-selector,[data-guest-tool]) :is(input:not([type]),input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],input[type=time],select,textarea){min-height:54px; width:100%; border-radius:14px!important; border:1px solid rgba(38,42,46,.2)!important; background:#fff!important; color:var(--ink)!important; padding:0 16px!important; font:400 17px/1.3 "DM Sans",system-ui,sans-serif!important; box-shadow:none!important; transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; appearance:none}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,.fe-selector,[data-guest-tool]) select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23262A2E' stroke-width='1.6'/%3E%3C/svg%3E") right 16px center/14px 9px no-repeat!important; padding-right:44px!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,.fe-selector,[data-guest-tool]) textarea{padding:14px 16px!important; min-height:120px; line-height:1.5!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,.fe-selector,[data-guest-tool]) :is(input,select,textarea):focus{outline:none!important; border-color:var(--ink)!important; box-shadow:0 0 0 4px rgba(135,74,35,.16)!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,.fe-selector,[data-guest-tool]) .form-grid > label, html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) label:not(.referral-trap):has(> input:not([type=checkbox]):not([type=radio])), html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) label:has(> select), html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) label:has(> textarea){display:grid!important; gap:8px; font:500 15px/1.35 "DM Sans",system-ui,sans-serif!important; color:var(--ink)!important}
/* The referral honeypot must stay hidden at every viewport width. */
html[data-abend] main #staff-referral.referral-form .referral-trap[aria-hidden="true"]{display:none!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form) .form-grid{gap:18px 18px!important}

/* Auswahlkarten (Ort, Küche) und eigene Häkchen */
html[data-abend] main #catering-form .choice-grid{gap:12px!important}
html[data-abend] main #catering-form .choice-grid label{position:relative; display:grid!important; gap:4px; align-content:start; padding:18px 18px 18px 56px!important; min-height:88px; border-radius:18px!important; border:1px solid rgba(38,42,46,.16)!important; background:#fff!important; box-shadow:none!important; cursor:pointer; transition:border-color .25s, box-shadow .25s, transform .25s}
html[data-abend] main #catering-form .choice-grid label:hover{border-color:rgba(38,42,46,.35)!important}
html[data-abend] main #catering-form .choice-grid label:has(input:checked){border-color:var(--ink)!important; box-shadow:inset 0 0 0 1px var(--ink), 0 18px 34px -24px rgba(38,42,46,.5)!important}
html[data-abend] main #catering-form .choice-grid label b{font:500 17px/1.3 "DM Sans",sans-serif!important; color:var(--ink)!important}
html[data-abend] main #catering-form .choice-grid label small{font-size:15px!important; color:var(--muted)!important; line-height:1.4}
html[data-abend] main #catering-form .choice-grid label input{position:absolute!important; left:18px; top:20px; margin:0!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) :is(input[type=radio],input[type=checkbox]){-webkit-appearance:none; appearance:none; width:24px!important; height:24px!important; min-height:0!important; flex:0 0 24px; border:1.5px solid rgba(38,42,46,.35)!important; background:#fff!important; border-radius:7px!important; display:inline-grid; place-content:center; cursor:pointer; padding:0!important; transition:background .2s,border-color .2s}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) input[type=radio]{border-radius:50%!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) :is(input[type=radio],input[type=checkbox]):checked{background:var(--ink)!important; border-color:var(--ink)!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) input[type=checkbox]:checked::after{content:""; width:11px; height:6px; border:2px solid #fff; border-top:0; border-right:0; transform:translateY(-1px) rotate(-45deg)}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) input[type=radio]:checked::after{content:""; width:9px; height:9px; border-radius:50%; background:#F7F6F2}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) :is(input[type=radio],input[type=checkbox]):focus-visible{box-shadow:0 0 0 4px rgba(135,74,35,.2)!important}
html[data-abend] main :is(#catering-form,.website-inquiry,.referral-form,[data-guest-tool]) :is(.privacy,.date-open-label,.fest-form-extras label){display:flex!important; align-items:flex-start; gap:12px; font:400 15px/1.45 "DM Sans",sans-serif!important; color:var(--ink)!important; min-height:44px}
html[data-abend] main #catering-form .fest-form-extras{border:0!important; padding:0!important; margin:22px 0 0!important; display:grid; gap:6px}
html[data-abend] main #catering-form .fest-form-extras legend{font:500 15px "DM Sans",sans-serif; color:var(--ink); margin-bottom:8px}

/* Zusammenfassung und Hinweise */
html[data-abend] main .pm-request-review{background:#F3EEE5!important; border:0!important; border-left:3px solid var(--cognac)!important; border-radius:16px!important; padding:18px 20px!important; margin:0 0 20px!important}
html[data-abend] main .pm-request-review strong{font:italic 400 17px "Playfair Display",Georgia,serif; color:var(--cognac)}
html[data-abend] main .pm-request-review p{margin:6px 0 0!important; color:var(--ink)!important; font-size:16px!important}
html[data-abend] main #catering-form .planner-note, html[data-abend] main #catering-form .catering-final-note{font-size:15px!important; color:var(--muted)!important; line-height:1.5}
html[data-abend] main #tool-result:not(:empty), html[data-abend] main .inquiry-result:not(:empty){margin-top:18px; padding:18px 20px; border-radius:16px; background:#ECECEA; color:var(--ink); font-size:16px; line-height:1.5}

/* Preis-Orientierung als dunkle Karte */
html.ab-abschluss[data-abend] .price-card{background:#262A2E!important; color:#F7F6F2!important; border:0!important; border-radius:22px!important; padding:26px!important; box-shadow:0 30px 60px -36px rgba(38,42,46,.7)!important; margin-top:28px!important}
html.ab-abschluss[data-abend] .price-card small{font:italic 400 16px "Playfair Display",Georgia,serif!important; color:#E8C895!important; letter-spacing:0!important; text-transform:none!important}
html.ab-abschluss[data-abend] .price-card strong{display:block; font:400 30px/1.15 "Playfair Display",Georgia,serif!important; color:#F7F6F2!important; margin:6px 0 4px}
html.ab-abschluss[data-abend] .price-card :is(span,p,dt){color:rgba(247,246,242,.72)!important; font-size:15px!important}
html.ab-abschluss[data-abend] .price-card dd{color:#F7F6F2!important; font-weight:500}
html.ab-abschluss[data-abend] .price-card dl{border-top:1px solid rgba(247,246,242,.14)!important; margin:18px 0!important; padding-top:12px}
html.ab-abschluss[data-abend] .price-card dl > div{display:flex; justify-content:space-between; gap:12px; padding:7px 0; border:0!important}

/* Weiter / Zurück: am Handy als feste Leiste am unteren Rand, die Kontakt-Leiste tritt zurück */
html[data-abend] main #catering-form .tool-nav{display:flex!important; align-items:center; justify-content:space-between; gap:12px; margin-top:30px!important; padding-top:22px!important; border-top:1px solid rgba(38,42,46,.12)!important}
html[data-abend] main #catering-form .tool-nav button{min-height:54px; border-radius:999px!important; padding:0 28px!important; font:500 16px "DM Sans",sans-serif!important; cursor:pointer}
html[data-abend] main #catering-form .tool-nav #back{background:transparent!important; border:1px solid rgba(38,42,46,.22)!important; color:var(--ink)!important}
html[data-abend] main #catering-form .tool-nav #back:disabled{opacity:.35}
html[data-abend] main #catering-form .tool-nav #next{background:var(--ink)!important; color:#F7F6F2!important; border:0!important; margin-left:auto}
html[data-abend] main #catering-form .tool-nav #submit{background:var(--cognac)!important; color:#fff!important; border:0!important; margin-left:auto}
html[data-abend] main #catering-form .tool-nav #next::after, html[data-abend] main #catering-form .tool-nav #submit::after{content:" →"}
@media (max-width:760px){
  html.ab-abschluss[data-abend]:has(#catering-form) .ab-dock{display:none!important}
  html[data-abend] main #catering-form .tool-nav{position:sticky; bottom:0; z-index:30; margin:26px -22px -22px!important; padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important; background:rgba(251,250,246,.96)!important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-radius:0 0 28px 28px; border-top:1px solid rgba(38,42,46,.1)!important}
  html[data-abend] main #catering-form .tool-nav #back{padding:0 20px!important}
  html[data-abend] main #catering-form .tool-nav :is(#next,#submit){flex:1; justify-content:center}
  html.ab-abschluss[data-abend] .premium-inquiry{margin-top:-84px!important; padding-left:12px!important; padding-right:12px!important}
  html.ab-abschluss[data-abend] #sh-catering-app{border-radius:24px!important; padding:22px!important}
  html.ab-abschluss[data-abend] .tool-steps button{font-size:13px!important}
}
/* Neue Anfrage: zurückhaltend */
html[data-abend] main #new-inquiry{background:transparent!important; color:var(--ink)!important; border:1px solid rgba(38,42,46,.25)!important; margin-top:14px}

/* Hafenbar-Anfrage: Absenden-Knopf wie überall */
html[data-abend] main .website-inquiry [data-harbor-submit]{min-height:54px; border-radius:999px!important; background:var(--cognac)!important; color:#fff!important; padding:0 30px!important; border:0!important}
html[data-abend] main .website-inquiry [data-harbor-submit]:disabled{opacity:.45}
html[data-abend] main .website-inquiry fieldset{border:0!important; padding:0!important}
html[data-abend] main .website-inquiry legend{font:400 26px/1.2 "Playfair Display",Georgia,serif; color:var(--ink); margin-bottom:16px}
html[data-abend] main #catering-form .choice-grid{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; width:100%!important; max-width:none!important}
html[data-abend] main #catering-form .choice-grid label{min-width:0!important; width:auto!important}
html[data-abend] main #catering-form .form-grid{display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; width:100%!important; max-width:none!important}
html[data-abend] main #catering-form .form-grid > :is(.wide,.date-open-label,p){grid-column:1 / -1}
html[data-abend] main #catering-form, html[data-abend] main #catering-form > section{min-width:0; max-width:none!important; width:100%}
@media (max-width:560px){
  html[data-abend] main #catering-form .choice-grid, html[data-abend] main #catering-form .form-grid{grid-template-columns:minmax(0,1fr)!important}
  html[data-abend] main #catering-form .choice-grid label{min-height:0}
}
@media (min-width:980px){
  html.ab-abschluss[data-abend] #sh-catering-app:not(:has(> .price-card:not([hidden]))){grid-template-columns:minmax(0,1fr)}
  html.ab-abschluss[data-abend] #sh-catering-app:not(:has(> .price-card:not([hidden]))) > form{max-width:760px; margin:0 auto; width:100%}
}

/* Reservierung: schwebende Karte mit dem einen großen Schritt ins Buchungssystem */
html.ab-reservierung[data-abend] .reservation-heading.ab-kompakt .story-copy{display:grid; gap:16px; max-width:720px; padding:0!important; margin:0!important; background:none!important}
html.ab-reservierung[data-abend] .reservation-heading.ab-kompakt .story-copy > *{margin:0!important}
html.ab-reservierung[data-abend] .reservation-closure-note{background:rgba(243,196,126,.14)!important; border:1px solid rgba(243,196,126,.35)!important; border-radius:16px!important; padding:14px 18px!important; color:#F7F6F2!important; font-size:15px!important}
html.ab-reservierung[data-abend] .reservation-closure-note strong{color:var(--gold)!important}
html.ab-reservierung[data-abend] main > article.editorial{position:relative; z-index:3; max-width:1120px!important; margin:-104px auto 0!important; padding:0 var(--gut,20px)!important; background:none!important}
html.ab-reservierung[data-abend] #reservation-tool{background:#FBFAF6!important; border-radius:28px!important; border:1px solid rgba(38,42,46,.08)!important; box-shadow:0 50px 100px -50px rgba(38,42,46,.55),0 8px 24px -16px rgba(38,42,46,.25)!important; padding:clamp(24px,4vw,52px)!important; margin:0!important}
html.ab-reservierung[data-abend] .booking-handoff{display:grid!important; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr); gap:clamp(24px,4vw,56px); align-items:stretch; margin:0 0 26px!important; padding:0!important; background:none!important; border:0!important}
html.ab-reservierung[data-abend] .booking-handoff > div:first-child{display:grid; gap:18px; align-content:start}
html.ab-reservierung[data-abend] .booking-handoff > div:first-child > p:first-child{font:400 clamp(22px,2.4vw,28px)/1.35 "Playfair Display",Georgia,serif!important; color:var(--ink)!important; margin:0!important}
html.ab-reservierung[data-abend] .booking-handoff .button{justify-self:start; min-height:60px!important; padding:0 34px!important; font-size:17px!important; border-radius:999px!important}
html.ab-reservierung[data-abend] .ab-res-status{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0!important; font-size:15px!important; color:var(--muted)!important}
html.ab-reservierung[data-abend] .ab-res-status strong{color:var(--ink); font-weight:600}
html.ab-reservierung[data-abend] .ab-res-status .ab-pulse{width:9px; height:9px; border-radius:50%; background:#3E8E5F; box-shadow:0 0 0 0 rgba(62,142,95,.5); animation:abPulse 2.2s infinite}
html.ab-reservierung[data-abend] .handoff-note{font-size:15px!important; color:var(--muted)!important; margin:0!important}
html.ab-reservierung[data-abend] .booking-guidance{display:grid; align-content:end; gap:14px; background:#262A2E!important; color:#F7F6F2!important; border-radius:22px!important; padding:26px!important; border:0!important; margin:0!important; position:relative; overflow:hidden; isolation:isolate}
html.ab-reservierung[data-abend] .booking-guidance::before{content:""; position:absolute; inset:-40px; z-index:-1; background:url('/assets/galerie-9209-w480.webp') center/cover; filter:blur(28px); opacity:.35}
html.ab-reservierung[data-abend] .booking-guidance p{color:rgba(247,246,242,.88)!important; font-size:17px!important; margin:0!important; line-height:1.5}
html.ab-reservierung[data-abend] .booking-guidance .text-link{color:#F7F6F2!important; text-decoration-color:var(--gold)!important; font-weight:500}
html.ab-reservierung[data-abend] #reservation-tool details{border-top:1px solid rgba(38,42,46,.12)!important; background:none!important; border-radius:0!important; margin:0!important}
html.ab-reservierung[data-abend] #reservation-tool details summary{min-height:60px; display:flex; align-items:center; font:500 17px "DM Sans",sans-serif; color:var(--ink); cursor:pointer}
html.ab-reservierung[data-abend] .ab-tischplan{padding-top:clamp(56px,7vw,96px)}
@media (max-width:760px){
  html.ab-reservierung[data-abend] .booking-handoff{grid-template-columns:minmax(0,1fr)}
  html.ab-reservierung[data-abend] main > article.editorial{margin-top:-84px!important; padding:0 12px!important}
  html.ab-reservierung[data-abend] #reservation-tool{padding:24px 20px!important; border-radius:24px!important}
  html.ab-reservierung[data-abend] .booking-handoff .button{justify-self:stretch; justify-content:center}
}
@keyframes abPulse{0%{box-shadow:0 0 0 0 rgba(62,142,95,.45)} 70%{box-shadow:0 0 0 10px rgba(62,142,95,0)} 100%{box-shadow:0 0 0 0 rgba(62,142,95,0)}}
html.ab-abschluss[data-abend] main .ab-kompakt{min-height:0!important; height:auto!important}
html.ab-abschluss[data-abend] main .ab-kompakt :is(.story-shade,.hero-signature){display:none!important}
html.ab-reservierung[data-abend] main .ab-kompakt .story-copy p{color:rgba(247,246,242,.84)!important}
html.ab-abschluss[data-abend] main .ab-kompakt{width:auto!important; border-radius:0!important; left:auto!important; right:auto!important}
html[data-abend] .ab-fuss .ab-fuss-gift{color:var(--gold)!important; text-decoration-color:rgba(243,196,126,.6)!important}

/* ===== Fließende Seitenwechsel: Kopf und Handy-Leiste bleiben stehen, die Szene blendet über ===== */
@view-transition{navigation:auto}
html[data-abend] .ab-kopf{view-transition-name:ab-kopf}
html[data-abend] .ab-dock{view-transition-name:ab-dock}
::view-transition-group(ab-kopf), ::view-transition-group(ab-dock){animation-duration:.5s; animation-timing-function:cubic-bezier(.2,.7,.1,1)}
::view-transition-old(root){animation:abVtOut .32s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:abVtIn .55s cubic-bezier(.2,.7,.1,1) both}
@keyframes abVtOut{to{opacity:0; transform:scale(.985)}}
@keyframes abVtIn{from{opacity:0; transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
}
html[data-abend] [hidden]:not(#ab-kein):not(#ab-nie){display:none!important}

/* Offenes Handy-Menü: Logo bleibt sichtbar, klares Kreuz, Reservieren als goldener Knopf */
@media (max-width:980px){
  html[data-abend] .ab-kopf:has(nav#menu.open) .brand{position:relative; z-index:80}
  html[data-abend] .ab-kopf:has(nav#menu.open) .brand .ab-logo-dunkel{display:none!important}
  html[data-abend] .ab-kopf:has(nav#menu.open) .brand .ab-logo-hell{display:block!important}
  html[data-abend] .ab-kopf nav#menu .mobile-reserve{align-self:flex-start}
}
/* Querformat-Fotos am Handy im Querformat zeigen: schärfer als ein hochkant gestreckter Ausschnitt */
@media (max-width:899px){
  html.ab-szene-seite[data-abend] .ab-szene--quer .ab-szene-bild{height:auto; aspect-ratio:4/3.4; margin-bottom:-70px}
  html.ab-szene-seite[data-abend] .ab-szene--quer{padding-top:calc(var(--kopf-h,112px) - 12px)}
}

/* ===== Bildkapitel ===== */
html[data-abend] .ab-kapitel{padding:clamp(72px,10vw,140px) 0 clamp(56px,8vw,110px); overflow:hidden}
html[data-abend] .ab-kapitel-kopf{max-width:1248px; margin:0 auto clamp(26px,4vw,48px); padding:0 var(--gut,20px); display:grid; gap:12px}
html[data-abend] .ab-kapitel-kopf > *{margin:0!important}
html[data-abend] .ab-kapitel-kopf h2{font-size:clamp(36px,5vw,72px)!important; line-height:1.04!important; max-width:16ch; text-wrap:balance}
html[data-abend] .ab-kapitel-kopf h2 em{color:var(--cognac); font-style:italic}
/* Das Foto wächst beim Scrollen bis an den Rand */
html[data-abend] .ab-wachsen{position:relative; margin:0 auto; width:calc(100% - 2 * var(--gut,20px)); max-width:none; aspect-ratio:16/10; border-radius:24px; overflow:hidden; isolation:isolate}
html[data-abend] .ab-wachsen img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
html[data-abend] .ab-wachsen::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(24,26,29,.62)); pointer-events:none}
html[data-abend] .ab-wachsen figcaption{position:absolute; left:clamp(18px,4vw,48px); bottom:clamp(16px,3vw,40px); z-index:2; color:#F7F6F2!important; font:italic 400 clamp(20px,2.6vw,34px)/1.2 "Playfair Display",Georgia,serif!important; text-shadow:0 2px 18px rgba(0,0,0,.35); max-width:80%}
@media (max-width:760px){ html[data-abend] .ab-wachsen{aspect-ratio:4/5} }
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    html[data-abend] .ab-wachsen{animation:abWachsen linear both; animation-timeline:view(); animation-range:entry 10% cover 45%}
    html[data-abend] .ab-wachsen img{animation:abWachsenBild linear both; animation-timeline:view(); animation-range:entry 0% exit 100%}
    @keyframes abWachsen{from{width:calc(100% - 2 * var(--gut,20px)); border-radius:24px} to{width:100%; border-radius:0}}
    @keyframes abWachsenBild{from{transform:scale(1.12)} to{transform:scale(1)}}
  }
}
/* Bildstreifen: am Handy wischen, am Rechner als ruhige Reihe */
html[data-abend] .ab-streifen{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gut,20px); padding:clamp(22px,3vw,40px) var(--gut,20px) 8px; scrollbar-width:none; -webkit-overflow-scrolling:touch; outline:none}
html[data-abend] .ab-streifen::-webkit-scrollbar{display:none}
html[data-abend] .ab-streifen-bild{flex:0 0 min(78vw,340px); margin:0; scroll-snap-align:start}
html[data-abend] .ab-streifen-bild img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:18px; box-shadow:0 26px 50px -36px rgba(24,26,29,.6)}
html[data-abend] .ab-streifen-bild figcaption{margin-top:10px; font:italic 400 17px/1.3 "Playfair Display",Georgia,serif!important; color:var(--muted)!important}
html[data-abend] .ab-streifen-bild figcaption::before{content:""; display:inline-block; width:18px; height:1px; background:var(--cognac); vertical-align:middle; margin-right:8px}
@media (min-width:980px){
  html[data-abend] .ab-streifen{display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); max-width:1248px; margin:0 auto; overflow:visible}
  html[data-abend] .ab-streifen-bild:nth-child(even){margin-top:56px}
}

/* Startseite am Handy: Rundgang und Feier-Collage als Bildstreifen zum Wischen */
@media (max-width:760px){
  html.ab-home[data-abend] .ab-rundgang-photos .visit-grid{display:flex!important; gap:12px!important; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 calc(-1 * var(--gut,20px))!important; padding:0 var(--gut,20px) 6px!important; scrollbar-width:none; grid-template-columns:none!important}
  html.ab-home[data-abend] .ab-rundgang-photos .visit-grid::-webkit-scrollbar{display:none}
  html.ab-home[data-abend] .ab-rundgang-photos .visit-grid > *{flex:0 0 76vw!important; width:auto!important; height:auto!important; aspect-ratio:4/5; scroll-snap-align:start; margin:0!important; grid-column:auto!important; grid-row:auto!important; transform:none!important}
  html.ab-home[data-abend] .ab-depth{display:flex!important; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; height:auto!important; margin:24px calc(-1 * var(--gut,20px)) 0!important; padding:0 var(--gut,20px) 6px; scrollbar-width:none}
  html.ab-home[data-abend] .ab-depth::-webkit-scrollbar{display:none}
  html.ab-home[data-abend] .ab-depth img{position:static!important; flex:0 0 72vw; width:72vw!important; height:auto!important; aspect-ratio:4/5; object-fit:cover; opacity:1!important; transform:none!important; border-radius:18px; scroll-snap-align:start; inset:auto!important}
}
@media (min-width:980px){ html[data-abend] .ab-streifen{gap:24px} }
html[data-abend] .ab-galerie-anfrage{text-align:center; margin:22px auto 0!important}
html[data-abend] .ab-galerie-anfrage a{font-weight:500; font-size:17px}
html[data-abend] .ab-wachsen img{object-position:50% 58%}

/* ================= Lesbarkeit: Startfilm am Handy und Schrift über Bildern ================= */
/* Wechselwort: passt immer in die Zeile, Unterlängen (g, p) bleiben sichtbar, nichts wird seitlich abgeschnitten */
html.ab-home[data-abend] .ab-hero-copy{container-type:inline-size}
html[data-abend] .ab-rot{height:1.16em; line-height:1.16; overflow:hidden; overflow:visible clip}
html[data-abend] .ab-rot > span > span{height:1.16em; line-height:1.16}
html.ab-home[data-abend] .ab-hero .ab-rot{font-size:min(1em, 100cqi / 7.8); margin-top:.04em}
html.ab-home[lang^="en"][data-abend] .ab-hero .ab-rot{font-size:min(1em, 100cqi / 7.6)}

/* Ruhiger Schatten für Schrift auf Fotos und Film, nicht auf Knöpfen */
html[data-abend] :is(.ab-hero-copy, .ab-open-copy, .ab-seatcard span, .sm-cine-copy, .ab-chevy-copy, .ab-wachsen figcaption, .se-hero .se-headline, .se-hero .se-camera-floor, .sf-dining-copy, .pp-hero-copy, .ab-szene-kopf, .ab-szene-text > p){text-shadow:0 1px 2px rgba(18,20,22,.38), 0 2px 24px rgba(18,20,22,.42)}
html[data-abend] :is(.ab-hero-copy, .ab-open-copy, .sm-cine-copy, .ab-chevy-copy, .se-hero, .sf-dining-copy, .pp-hero-copy, .ab-szene-text) :is(.button, button, .pp-button, .se-primary, [class*="button"], [class*="btn"]){text-shadow:none}
html[data-abend] :is(.ab-hero-kicker, .ab-open-k, .ab-zeit, .sf-eyebrow, .pp-kicker){font-weight:500!important}

/* Kopfzeile über Film und Fotos: weicher dunkler Verlauf hinter Logo, Menü und Abenduhr */
html[data-abend].ab-film .ab-kopf::before{content:""; position:absolute; left:0; right:0; top:0; height:calc(100% + 70px); z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(24,26,29,.58) 0%,rgba(24,26,29,.32) 55%,rgba(24,26,29,0) 100%); transition:opacity .4s var(--ease)}
html[data-abend].ab-film .ab-kopf.is-solid::before{opacity:0}
html[data-abend].ab-film .ab-kopf:not(.is-solid) :is(nav#menu > a, .ab-uhr-label, .guest-language-control a){text-shadow:0 1px 10px rgba(18,20,22,.45)}

/* Startfilm: dichtere Abdunklung dort, wo Text steht */
html.ab-home[data-abend] .ab-hero-lead{color:#F7F6F2!important}
html.ab-home[data-abend] .ab-hero-kicker{color:#F0CF97!important}
@media (min-width:981px){
  html.ab-home[data-abend] .ab-hero-shade{background:linear-gradient(180deg,rgba(38,42,46,.5) 0%,rgba(38,42,46,0) 24%),linear-gradient(90deg,rgba(38,42,46,.8) 0%,rgba(38,42,46,.42) 45%,rgba(38,42,46,0) 70%),linear-gradient(0deg,rgba(38,42,46,.8) 8%,rgba(38,42,46,0) 55%)}
  html.ab-home[data-abend] .ab-hero-copy{bottom:clamp(110px,17vh,220px)}
  html.ab-home[data-abend] .ab-ring{bottom:clamp(110px,17vh,220px)}
  html.ab-home[data-abend] .ab-hero h1{font-size:clamp(54px,min(8vw,11vh),124px)!important}
  html.ab-home[data-abend] .ab-coord{text-shadow:0 1px 8px rgba(18,20,22,.5); left:max(46px, calc(clamp(64px,8vw,128px) - 44px))}
}
/* Koordinaten nur, wenn links genug Platz neben dem Text ist */
@media (max-width:1180px){ html.ab-home[data-abend] .ab-coord{display:none!important} }
@media (max-width:980px){
  html.ab-home[data-abend] .ab-hero-frame{display:none}
  html.ab-home[data-abend] .ab-hero-shade{background:linear-gradient(180deg,rgba(38,42,46,.55) 0%,rgba(38,42,46,0) 20%),linear-gradient(0deg,rgba(30,33,36,.92) 0%,rgba(30,33,36,.78) 30%,rgba(30,33,36,.42) 58%,rgba(30,33,36,0) 80%)}
  html.ab-home[data-abend] .ab-hero-copy{left:22px; right:22px; gap:18px}
  html.ab-home[data-abend] .ab-hero h1{font-size:clamp(42px,12.4vw,60px)!important; line-height:1.04!important}
  html.ab-home[data-abend] .ab-hero-kicker{font-size:16px!important}
  html.ab-home[data-abend] .ab-hero-lead{font-size:18px!important; line-height:1.5!important}
  html.ab-home[data-abend] .ab-hero-status, html.ab-home[data-abend] .ab-hero-status small{font-size:15px}
}
/* Handy quer: alles sichtbar über dem Dock */
@media (orientation:landscape) and (max-height:540px){
  html.ab-home[data-abend] .ab-hero{height:auto; min-height:100svh}
  html.ab-home[data-abend] .ab-hero-copy{position:relative; left:auto; right:auto; bottom:auto; padding:118px max(28px,env(safe-area-inset-left)) 118px; gap:12px; max-width:760px}
  html.ab-home[data-abend] .ab-hero h1{font-size:clamp(34px,9vh,46px)!important}
  html.ab-home[data-abend] .ab-hero-lead{font-size:16px!important}
  html.ab-home[data-abend] .ab-film-toggle{top:auto; bottom:110px}
  html.ab-home[data-abend] .ab-hero-shade{background:linear-gradient(90deg,rgba(30,33,36,.86) 0%,rgba(30,33,36,.55) 55%,rgba(30,33,36,.2) 100%)}
}

/* Startseite „Drinnen“: Text auf dem Gastraumfoto */
html.ab-home[data-abend] .ab-open::after{background:linear-gradient(90deg,rgba(30,33,36,.8) 0%,rgba(30,33,36,.45) 50%,rgba(30,33,36,.05) 100%)}
html.ab-home[data-abend] .ab-open-k{font-size:21px!important; color:#F0CF97!important}
html.ab-home[data-abend] .ab-open-copy p{color:#F7F6F2!important}
@media (max-width:980px){
  html.ab-home[data-abend] .ab-open::after{background:linear-gradient(180deg,rgba(30,33,36,0) 12%,rgba(30,33,36,.62) 38%,rgba(30,33,36,.86) 62%,rgba(30,33,36,.8) 100%)}
  html.ab-home[data-abend] .ab-open-copy{bottom:12%; right:var(--gut)}
}
/* Platzkarten */
html.ab-home[data-abend] .ab-seatcard::after{background:linear-gradient(180deg,rgba(24,26,29,0) 30%,rgba(24,26,29,.55) 58%,rgba(24,26,29,.88) 100%)}
html.ab-home[data-abend] .ab-seatcard span{font-size:15px!important; color:#F7F6F2}
/* Kino-Bilder auf den Feierseiten */
html[data-abend] main .sm-cine-frame::after{background:linear-gradient(180deg,rgba(24,26,29,0) 30%,rgba(24,26,29,.55) 58%,rgba(24,26,29,.9) 100%)!important}
html[data-abend] main .sm-cine-copy{opacity:max(var(--co,1),.92)}
html[data-abend] main .sm-cine-copy p{opacity:1!important; font-weight:500; font-size:16px; color:#F0CF97}
html[data-abend] main .sm-cine-copy strong{color:#F7F6F2}
/* Wachsende Kapitelbilder */
html[data-abend] .ab-wachsen::after{background:linear-gradient(180deg,rgba(24,26,29,0) 45%,rgba(24,26,29,.5) 72%,rgba(24,26,29,.82) 100%)}
html[data-abend] .ab-wachsen figcaption{font-weight:500!important}
/* Szenenköpfe am Handy: Foto oben dunkler für Logo und Abenduhr, unten dichter für den Titel */
@media (max-width:899px){
  html.ab-szene-seite[data-abend] .ab-szene-bild::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(24,26,29,.5) 0%,rgba(24,26,29,0) 26%,rgba(24,26,29,0) 46%,rgba(24,26,29,.62) 78%,rgba(24,26,29,.85) 100%)}
}
/* Über uns und Pâtisserie: gleiche Ruhe auf dem Foto */
html.ab-szene-sf[data-abend] main .sf-dining-stage .sf-dining-note, html.ab-szene-pp[data-abend] main .pp-hero .pp-help{color:rgba(247,246,242,.82)!important; font-size:15px!important}
html.ab-szene-sf[data-abend] main .sf-motion{background:rgba(24,26,29,.62)!important; color:#F7F6F2!important; border:1px solid rgba(247,246,242,.35)!important; font-size:14px!important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)}
@media (max-width:980px){
  html.ab-szene-sf[data-abend] main .sf-dining-photo, html.ab-szene-pp[data-abend] main .pp-hero figure{position:relative}
  html.ab-szene-sf[data-abend] main .sf-dining-photo::after, html.ab-szene-pp[data-abend] main .pp-hero figure::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(24,26,29,.5) 0%,rgba(24,26,29,0) 24%,rgba(24,26,29,0) 42%,rgba(24,26,29,.66) 76%,rgba(24,26,29,.9) 100%)}
  html.ab-szene-sf[data-abend] main .sf-motion{z-index:3}
}
/* Hafenbar: Fließtext und Knöpfe auf dem Barfoto */
html.ab-szene-se[data-abend] main .se-hero :is(#se-subtitle, .se-headline p){font-size:17px!important; line-height:1.5!important; color:#F7F6F2!important}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor :is(p, span){font-size:16px!important; color:#F7F6F2!important}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor button, html.ab-szene-se[data-abend] main .se-hero #se-motion{font-size:15px!important; background:rgba(24,26,29,.62)!important; color:#F7F6F2!important; border-color:rgba(247,246,242,.4)!important}
html.ab-home[data-abend] main .ab-open-copy p.ab-open-k{font:italic 500 21px/1.3 var(--serif)!important; color:#F0CF97!important}
html[data-abend] main .sm-cine-frame .sm-cine-copy p{color:#F0CF97!important; letter-spacing:.01em}
html[data-abend] main .sm-cine-frame .sm-cine-copy strong{color:#F7F6F2!important}
html.ab-home[data-abend] .ab-hero .ab-hero-kicker{color:#F7E2BC!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage :is(.ab-zeit,.sf-eyebrow), html.ab-szene-pp[data-abend] main .pp-hero :is(.ab-zeit,.pp-kicker), html.ab-szene-seite[data-abend] .ab-szene .ab-zeit{color:#F7E2BC!important}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor button{background:rgba(24,26,29,.8)!important}
/* Rundgang-Karten: Serifentitel wie überall, dichter Verlauf unter der Schrift */
html.ab-home[data-abend] main .visit-photo .visit-label{padding:72px 20px 18px!important; background:linear-gradient(0deg,rgba(24,26,29,.9) 0%,rgba(24,26,29,.62) 45%,rgba(24,26,29,0) 100%)!important; text-shadow:0 1px 2px rgba(18,20,22,.4),0 2px 18px rgba(18,20,22,.4)}
html.ab-home[data-abend] main .visit-photo .visit-label b{font:400 24px/1.15 var(--serif)!important; color:#F7F6F2!important}
html.ab-home[data-abend] main .visit-photo .visit-label small{font-size:15px!important; opacity:1; color:rgba(247,246,242,.92)!important}
/* Startfilm: Kopfzeile darf breiter laufen, damit die Zeile nicht dreimal umbricht */
@media (min-width:981px){ html.ab-home[data-abend] .ab-hero-copy{max-width:min(1000px, calc(100vw - 2 * clamp(64px,8vw,128px) - 180px))} }
/* Hafenbar: der untere Rand blendet erst unter den Bedienelementen aus */
html.ab-szene-se[data-abend] main .se-hero{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 36px),transparent 100%)!important; mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 36px),transparent 100%)!important}
html.ab-szene-se[data-abend] main .se-hero .se-wash::after{content:""; position:absolute; left:0; right:0; bottom:0; height:46%; pointer-events:none; background:linear-gradient(180deg,rgba(24,26,29,0),rgba(24,26,29,.7))}
html.ab-szene-se[data-abend] main .se-hero .se-camera-floor{position:absolute!important; z-index:3}

/* ================= Schriftgrößen am Handy: nichts Lesbares unter 14 px, Fließtext ab 15–16 px ================= */
html[data-abend] .tool-steps button{font-size:14px!important}
html[data-abend] main .pp-help, html[data-abend] main .pp-inquiry-copy .pp-help{font-size:15px!important; line-height:1.5!important}
html[data-abend] main .arrival-grid p{font-size:15px!important; line-height:1.55!important}
html[data-abend] main .plan-legend span{font-size:14px!important}
html[data-abend] main :is(.career-fit, .cinema-prose, .planner-note, .pt-help, .signature-note){font-size:16px!important; line-height:1.6!important}
html[data-abend] .ab-fuss .ab-fuss-brand p{font-size:15px!important; line-height:1.6!important}
html[data-abend] .ab-kapitel-kopf h2{font-size:clamp(34px,4.4vw,60px)!important}
html[data-abend] main .rental-grid h2{font-size:clamp(26px,2.4vw,32px)!important}

/* Startseite: kürzerer Übergang von der Nacht zum Tag, Bewertung bleibt zusammen */
@media (max-width:980px){
  html.ab-home[data-abend] .ab-bisbald{background:linear-gradient(180deg,#262A2E 0%,#F7F6F2 150px,#F7F6F2 100%); padding-top:170px}
  html.ab-home[data-abend] .ab-proof-rating{font-size:38px!important}
  html.ab-home[data-abend] .ab-proof{padding:44px 0 40px}
}
/* Fragen-Köpfe: Luft zwischen Titel und Einleitung, Einleitung in Lesegröße */
html[data-abend] main .qf-heading h2{margin-bottom:16px!important}
html[data-abend] main .qf-heading .qf-intro{font-size:17px!important; line-height:1.6!important; max-width:560px}
/* Fußbereich am Handy */
html[data-abend] .ab-fuss-actions a > span[aria-hidden]{margin-left:8px}
html[data-abend] .ab-fuss-grid a[href^="mailto:"]{white-space:nowrap}
@media (max-width:980px){
  html[data-abend] .ab-fuss::before{height:110px}
  html[data-abend] .ab-fuss-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
}
/* Szenen: unten weich ins Papier auslaufen statt grauer Kante */
html.ab-szene-seite[data-abend] .ab-szene::after{background:linear-gradient(180deg,rgba(247,246,242,0) 0%,rgba(247,246,242,0) calc(100% - 140px),var(--bg,#F7F6F2) 100%),radial-gradient(120% 70% at 0% 0%,rgba(38,42,46,.25),rgba(38,42,46,.78) 70%)}
html.ab-szene-seite[data-abend] .ab-szene{padding-bottom:clamp(150px,14vw,200px)}
@media (max-width:899px){
  html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance{grid-template-columns:minmax(0,1fr)}
  html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span{width:auto!important; max-width:none!important; justify-self:stretch; grid-template-columns:minmax(120px,auto) 1fr; align-items:baseline; gap:10px; padding:12px 0 0!important; border-left:0!important}
  html.ab-szene-seite[data-abend] .ab-szene .pm-at-a-glance span + span{border-top:1px solid rgba(247,246,242,.12)!important; border-left:0!important; padding-left:0!important; margin-top:12px}
}
/* Pfeil hinter Linktexten nicht ankleben */
html[data-abend] main a > span[aria-hidden="true"]:last-child:not(:first-child){margin-left:.3em}
@media (min-width:981px){ html.ab-home[data-abend] .ab-bisbald{background:linear-gradient(180deg,#262A2E 0%,#F7F6F2 200px,#F7F6F2 100%); padding-top:230px} }
/* Kino-Bild: Text wandert mit dem sich öffnenden Bildausschnitt, nichts wird angeschnitten */
html[data-abend] main .sm-cine-frame .sm-cine-copy{left:var(--ci,0%); right:var(--ci,0%); bottom:var(--ci,0%); padding-bottom:clamp(40px,5vw,64px)!important; transform:none!important}
/* Gut ankommen: Abstand zwischen Titel und den drei Spalten */
html[data-abend] main .sm-arrive{margin-top:clamp(56px,7vw,96px)!important}
html[data-abend] main .sm-arrive-title{margin:0 0 clamp(22px,3vw,36px)!important}
html[data-abend] main .sm-arrive-grid h3{margin:0 0 8px!important}
html.ab-home[data-abend] .ab-hero .ab-hero-kicker{font-weight:500!important; color:#FFF1D9!important}
html.ab-szene-sf[data-abend] main .sf-dining-stage :is(.ab-zeit,.sf-eyebrow){color:#FFF1D9!important; font-weight:500!important}
@media (max-width:980px){ html.ab-home[data-abend] .ab-hero-shade{background:linear-gradient(180deg,rgba(38,42,46,.55) 0%,rgba(38,42,46,0) 18%),linear-gradient(0deg,rgba(30,33,36,.92) 0%,rgba(30,33,36,.8) 34%,rgba(30,33,36,.55) 62%,rgba(30,33,36,0) 84%)} }
html.ab-szene-sf[data-abend] main .sf-dining-stage.ab-dunkel .sf-dining-copy :is(.ab-zeit,.sf-eyebrow){color:#FFF1D9!important}

/* ================= Speisekarte als gesetzte Menükarte ================= */
html[data-abend] body[data-page="menu"] main article.editorial{max-width:1180px!important}
html[data-abend] body[data-page="menu"] .menu-controls{position:sticky; top:calc(var(--kopf-h,112px) - 2px); z-index:20; margin-inline:calc(-1 * var(--gut,20px)); padding:14px var(--gut,20px) 16px!important; background:color-mix(in srgb,var(--bg,#F7F6F2) 94%,transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid rgba(38,42,46,.1)}
html[data-abend] body[data-page="menu"] .menu-controls [role=tablist]{background:rgba(38,42,46,.06); border-color:rgba(38,42,46,.12)}
html[data-abend] body[data-page="menu"] .menu-controls [role=tab]{font:500 15px var(--sans)!important; color:var(--ink,#262A2E)}
html[data-abend] body[data-page="menu"] .menu-controls [aria-selected=true]{background:#262A2E!important; color:#F7F6F2!important}
html[data-abend] body[data-page="menu"] .menu-section{scroll-margin-top:200px}
html[data-abend] body[data-page="menu"] .menu-item{align-items:baseline; gap:14px}
html[data-abend] body[data-page="menu"] .menu-item > div{flex:1 1 auto; display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:baseline}
html[data-abend] body[data-page="menu"] .menu-item > div > h3{grid-column:1; margin:0 0 6px!important}
html[data-abend] body[data-page="menu"] .menu-item > div::after{content:""; grid-column:2; grid-row:1; align-self:baseline; height:0; border-bottom:1px dotted rgba(38,42,46,.35); transform:translateY(-5px)}
html[data-abend] body[data-page="menu"] .menu-item > div > p{grid-column:1 / -1; font-size:15px!important}
html[data-abend] body[data-page="menu"] .menu-item > strong{font:500 16px var(--sans)!important; color:var(--cognac,#874A23)!important; font-variant-numeric:tabular-nums}
@media (min-width:1000px){
  html[data-abend] body[data-page="menu"] .menu-list{gap:0 64px!important}
  html[data-abend] body[data-page="menu"] .menu-section h2{font-size:clamp(36px,3.4vw,50px)!important}
  html[data-abend] body[data-page="menu"] .menu-item h3{font-size:21px!important}
}
@media (max-width:980px){
  html[data-abend] body[data-page="menu"] .menu-controls{position:relative; top:auto; margin-inline:0; padding-inline:0!important; background:none; -webkit-backdrop-filter:none; backdrop-filter:none}
}
html[data-abend] body[data-page="menu"] main .menu-item{display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important}
html[data-abend] body[data-page="menu"] main .menu-item > strong{flex:0 0 auto; margin:0!important; order:2}
@media (max-width:600px){ html[data-abend] body[data-page="menu"] main .menu-item h3{font-size:19px!important} html[data-abend] body[data-page="menu"] main .menu-item > div::after{display:none} }
html[data-abend] body[data-page="menu"] .menu-controls{top:calc(var(--kopf-h,112px) - 6px)}

/* ===== Fußbereich am Handy: zwei Rubriken zum Aufklappen ===== */
html[data-abend] .ab-fuss .ab-fuss-klapp{all:unset; display:block; color:#F7F6F2; font:600 15px/1.6 var(--sans)!important; margin-bottom:4px; cursor:default}
@media (max-width:980px){
  html[data-abend] .ab-fuss-grid{grid-template-columns:minmax(0,1fr)!important; gap:28px!important}
  html[data-abend] .ab-fuss-grid > div{grid-column:auto!important}
  html[data-abend] .ab-fuss-grid > .ab-fuss-kl{gap:0; border-top:1px solid rgba(247,246,242,.14)}
  html[data-abend] .ab-fuss-grid > .ab-fuss-kl + .ab-fuss-kl{margin-top:-28px; border-bottom:1px solid rgba(247,246,242,.14)}
  html[data-abend] .ab-fuss .ab-fuss-klapp{display:flex; justify-content:space-between; align-items:center; min-height:56px; margin:0; cursor:pointer}
  html[data-abend] .ab-fuss .ab-fuss-klapp::after{content:"+"; font:300 24px/1 var(--sans); color:var(--gold); transition:transform .3s var(--ease)}
  html[data-abend] .ab-fuss .ab-fuss-klapp[aria-expanded="true"]::after{transform:rotate(45deg)}
  html[data-abend] .ab-fuss .ab-fuss-klapp:focus-visible{outline:2px solid var(--gold); outline-offset:4px}
  html[data-abend] .ab-fuss-teil{display:flex; flex-direction:column; gap:2px; padding:0 0 18px}
  html[data-abend] .ab-fuss-teil[hidden]{display:none!important}
  html[data-abend] .ab-fuss-grid > div:not(.ab-fuss-kl) > :is(span,a){font-size:16px!important}
  html[data-abend] .ab-fuss-grid > div:first-child img{width:96px!important; height:84px!important}
}

/* ===== Seitenwechsel: Foto wächst zum Titelbild ===== */
::view-transition-group(ab-bild){animation-duration:.62s; animation-timing-function:cubic-bezier(.2,.7,.1,1)}
::view-transition-old(ab-bild),::view-transition-new(ab-bild){height:100%; object-fit:cover; overflow:clip}
@media (prefers-reduced-motion:reduce){ ::view-transition-group(*){animation:none!important} }

/* ===== Galerie: Vollbild mit Wischen ===== */
html[data-abend] img.ab-lb-ziel{cursor:zoom-in}
html[data-abend] img.ab-lb-ziel:focus-visible{outline:3px solid var(--gold); outline-offset:3px}
html.ab-lb-offen{overflow:hidden}
.ab-lb{position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#16181B; color:#F7F6F2; overscroll-behavior:contain}
.ab-lb::backdrop{background:rgba(22,24,27,.92)}
.ab-lb[open]{display:grid; grid-template-rows:1fr auto}
.ab-lb-buehne{display:flex; align-items:center; justify-content:center; padding:max(64px,env(safe-area-inset-top)) clamp(8px,6vw,96px) 8px; min-height:0}
.ab-lb-buehne img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:6px; box-shadow:0 30px 80px -30px rgba(0,0,0,.8); animation:abLbIn .35s cubic-bezier(.2,.7,.1,1)}
@keyframes abLbIn{from{opacity:0; transform:scale(.97)}}
.ab-lb-unten{display:flex; justify-content:space-between; gap:18px; margin:0; padding:14px clamp(20px,6vw,96px) max(22px,env(safe-area-inset-bottom)); font:italic 400 18px/1.4 "Playfair Display",Georgia,serif}
.ab-lb-zahl{font:500 14px/1.4 "DM Sans",system-ui,sans-serif; font-style:normal; color:rgba(247,246,242,.7); white-space:nowrap}
.ab-lb button{position:absolute; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; border:1px solid rgba(247,246,242,.35); background:rgba(38,42,46,.7); color:#F7F6F2; font:400 22px/1 "DM Sans",system-ui,sans-serif; cursor:pointer; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.ab-lb button:hover{background:rgba(38,42,46,.95)} .ab-lb button:focus-visible{outline:2px solid #F3C47E; outline-offset:3px}
.ab-lb-zu{top:max(12px,env(safe-area-inset-top)); right:12px; font-size:28px!important}
.ab-lb-pfeil{top:50%; transform:translateY(-50%)} .ab-lb-zur{left:16px} .ab-lb-vor{right:16px}
@media (max-width:700px){ .ab-lb-pfeil{top:auto; bottom:max(64px,calc(env(safe-area-inset-bottom) + 56px)); transform:none; width:46px; height:46px} .ab-lb-buehne{padding-inline:0; padding-bottom:64px} .ab-lb-buehne img{border-radius:0} .ab-lb-unten{padding-right:130px} }
html[data-abend] .ab-sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
/* Startfilm: Platz für Öffnungsstatus und Links von Anfang an reservieren, damit der Kopf beim Laden nicht springt */
html.ab-home[data-abend] .ab-hero-actions{min-height:44px}
html.ab-home[data-abend] .ab-hero-actions a{min-height:44px; display:inline-flex; align-items:center}
@media (max-width:980px){ html.ab-home[data-abend] .ab-hero-status{min-height:calc(2 * 1.6em + 4px); align-content:flex-start} }

/* Begrüßung mit Logo (nur Startseite, einmal pro Besuch) */
.ab-intro{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;background:radial-gradient(ellipse 62% 55% at 50% 56%,#3b3f43 0%,#2a2d30 55%,#1f2224 100%);cursor:pointer;animation:ab-intro-out .75s 2.05s cubic-bezier(.6,0,.2,1) forwards}
.ab-intro.ab-intro-gone{animation:ab-intro-out .45s cubic-bezier(.6,0,.2,1) forwards}
.ab-intro-logo{position:relative;display:block;width:min(330px,72vw);aspect-ratio:1}
.ab-intro-logo img{position:absolute;inset:0;width:100%;height:100%;display:block}
.ab-intro-t{clip-path:inset(0 100% 54% 0);animation:ab-intro-text 1.05s .15s cubic-bezier(.65,0,.25,1) forwards}
.ab-intro-a{clip-path:inset(46% 0 0 0);opacity:0;transform-origin:80% 47%;transform:translateY(-22px) rotate(-9deg);animation:ab-intro-anchor 1.35s .6s cubic-bezier(.34,1.45,.52,1) forwards}
@keyframes ab-intro-text{to{clip-path:inset(0 0 54% 0)}}
@keyframes ab-intro-anchor{25%{opacity:1}to{opacity:1;transform:none}}
@keyframes ab-intro-out{to{opacity:0;visibility:hidden;transform:scale(1.025)}}
@media (prefers-reduced-motion:reduce){.ab-intro{display:none}}
/* Bildansicht: weich ein- und ausblenden statt springen */
html.ab-home{scrollbar-gutter:stable}
.harbor-lightbox{opacity:0;transform:translateY(10px) scale(.97);transition:opacity .28s ease,transform .42s cubic-bezier(.2,.75,.2,1)}
.harbor-lightbox.is-in{opacity:1;transform:none}
.harbor-lightbox::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(20,22,24,.9)!important;opacity:0;transition:opacity .28s ease}
.harbor-lightbox.is-in::backdrop{opacity:1}
.harbor-lightbox{width:min(1100px,94vw);max-width:none;max-height:92dvh;margin:auto;padding:12px 12px 16px;border:0;border-radius:18px;background:#25282b;color:#f4f1ea;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.harbor-lightbox img{display:block;width:100%;height:auto;max-height:calc(92dvh - 104px);object-fit:contain;border-radius:12px;background:#1d2022}
.harbor-lightbox p{margin:14px 6px 0;font:400 clamp(19px,2.2vw,24px)/1.35 var(--serif,Georgia,serif);text-align:left;color:#f4f1ea}
.harbor-lightbox .photo-close{position:absolute;top:22px;right:22px;z-index:2;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:rgba(20,22,24,.74);color:#fff;font:600 14px/44px inherit;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.harbor-lightbox .photo-close:focus-visible{outline:2px solid #f4f1ea;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.harbor-lightbox,.harbor-lightbox::backdrop{transition:none}}
html.ab-intro-pending::after{content:"";position:fixed;inset:0;z-index:2147483599;background:#2a2d30;animation:ab-pending-off 0s 3.2s forwards}
@keyframes ab-pending-off{to{visibility:hidden;opacity:0}}

/* ===== Fußbereich: ruhiger, einheitlicher Abstand (20261017) ===== */
html[data-abend] .ab-fuss-grid > div,
html[data-abend] .ab-fuss-grid .ab-fuss-teil{display:flex; flex-direction:column; align-items:flex-start; gap:0}
html[data-abend] .ab-fuss-grid > div > b{margin:0 0 10px!important; line-height:1.6!important}
html[data-abend] .ab-fuss-grid > div > span{line-height:1.75!important; margin-bottom:8px}
html[data-abend] .ab-fuss-grid a{padding:0!important; align-items:center}
html[data-abend] .ab-fuss .footer-privacy{margin:0!important; padding:0!important}
html[data-abend] .ab-fuss .footer-privacy button{min-height:44px!important; line-height:44px!important}
html[data-abend] .ab-fuss-brand p a{display:block!important; margin-top:10px; padding:0!important; min-height:0!important}
@media (min-width:981px){
  html[data-abend] .ab-fuss .ab-fuss-klapp{min-height:0!important; margin:0 0 10px!important; line-height:1.6!important}
  html[data-abend] .ab-fuss-grid{grid-template-columns:minmax(120px,.8fr) repeat(4,minmax(0,1fr))!important; gap:40px 48px!important; padding-top:72px; padding-bottom:56px}
  html[data-abend] .ab-fuss-grid img{width:140px; height:120px}
}
@media (min-width:981px) and (max-width:1199px){
  html[data-abend] .ab-fuss-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:32px 36px!important}
  html[data-abend] .ab-fuss-grid > div:first-child{grid-column:1 / -1}
  html[data-abend] .ab-fuss-grid img{width:110px; height:90px}
}
@media (max-width:980px){
  html[data-abend] .ab-fuss-grid > .ab-fuss-kl{align-items:stretch}
  html[data-abend] .ab-fuss-grid .ab-fuss-teil{padding-bottom:14px; align-items:flex-start}
}

/* ---------- Abendlinie 17.10.2026: feine Goldlinie 17–21 Uhr statt Birkenrinde ---------- */
html[data-abend][lang] .ab-kopf{--uhr-c:150,104,52}
html[data-abend][lang].ab-film .ab-kopf:not(.is-solid),
html[data-abend][lang][data-tone="dunkel"] .ab-kopf,
html[data-abend][lang][data-hour="22"] .ab-kopf:not(.is-solid){--uhr-c:243,206,150}
html[data-abend][lang] .ab-uhr{height:30px}
html[data-abend][lang] .ab-uhr-line{top:6px; height:1px; border-radius:0; filter:none!important; opacity:1!important;
  background:linear-gradient(90deg,rgba(var(--uhr-c),.08),rgba(var(--uhr-c),.42) 8%,rgba(var(--uhr-c),.42) 92%,rgba(var(--uhr-c),.08))!important}
html[data-abend][lang] .ab-uhr-line::before{content:""; position:absolute; left:0; right:0; top:-3px; height:7px; pointer-events:none;
  background:
   linear-gradient(rgba(var(--uhr-c),.75),rgba(var(--uhr-c),.75)) 0 0/1px 7px no-repeat,
   linear-gradient(rgba(var(--uhr-c),.5),rgba(var(--uhr-c),.5)) 25% 2px/1px 3px no-repeat,
   linear-gradient(rgba(var(--uhr-c),.5),rgba(var(--uhr-c),.5)) 50% 2px/1px 3px no-repeat,
   linear-gradient(rgba(var(--uhr-c),.5),rgba(var(--uhr-c),.5)) 75% 2px/1px 3px no-repeat,
   linear-gradient(rgba(var(--uhr-c),.75),rgba(var(--uhr-c),.75)) 100% 0/1px 7px no-repeat}
html[data-abend][lang] .ab-uhr-fill{top:5.5px; height:2px; border-radius:2px; width:calc(var(--ab-pos,0) * 100%); transition:width .9s var(--ease);
  background:linear-gradient(90deg,rgba(var(--uhr-c),0),rgba(var(--uhr-c),.95))}
html[data-abend][lang] .ab-uhr-dot{top:2px; width:9px; height:9px; margin-left:-4.5px; background:rgb(var(--uhr-c));
  box-shadow:0 0 0 3px rgba(var(--uhr-c),.18),0 0 14px 3px rgba(var(--uhr-c),.45)}
html[data-abend][lang] .ab-uhr-label{top:13px; font:500 13px/1 var(--sans); letter-spacing:.02em}
html[data-abend][lang] .ab-uhr-label i{font:italic 400 15px/1 var(--serif); color:rgb(var(--uhr-c)); margin-right:7px; font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:no-preference){
  html[data-abend][lang] .ab-uhr-dot{animation:abGlut 3.6s ease-in-out infinite}
  @keyframes abGlut{0%,100%{box-shadow:0 0 0 3px rgba(var(--uhr-c),.18),0 0 12px 2px rgba(var(--uhr-c),.38)}50%{box-shadow:0 0 0 4px rgba(var(--uhr-c),.22),0 0 20px 5px rgba(var(--uhr-c),.55)}}
}
/* Rechner: in der schwebenden Menüleiste läuft die Linie innen am unteren Rand mit – nichts wird verdeckt */
@media (min-width:981px){
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr{position:absolute; top:75px; left:50%; transform:translateX(-50%); margin:0; max-width:none; height:6px;
    width:min(1200px,calc(100% - 32px))}
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-line,
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-fill{left:112px}
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-line{right:30px}
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-fill{width:calc(var(--ab-pos,0) * (100% - 142px))}
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-dot{left:calc(112px + var(--ab-pos,0) * (100% - 142px))}
  html[data-abend][lang] .ab-kopf.is-solid .ab-uhr-label{top:22px; right:30px; padding:6px 12px; border-radius:999px; background:rgba(247,246,242,.88);
    -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:0 8px 24px -16px rgba(38,42,46,.5),inset 0 0 0 1px rgba(255,255,255,.6)}
}

/* ---------- Reservierung 17.10.2026: echtes Bild vom Gastraum im Kopf ---------- */
html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt{padding-bottom:clamp(150px,16vw,210px)!important; min-height:min(78vh,720px); align-content:center}
html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt::before{inset:0; filter:none; opacity:1; transform:none;
  background:url('/assets/birken-gastraum-1659.webp') 62% 55%/cover no-repeat}
html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt::after{
  background:linear-gradient(90deg,rgba(24,26,29,.9) 0%,rgba(24,26,29,.72) 38%,rgba(24,26,29,.25) 72%,rgba(24,26,29,.15) 100%),
             linear-gradient(180deg,rgba(24,26,29,.55) 0%,rgba(24,26,29,0) 28%,rgba(24,26,29,0) 70%,rgba(24,26,29,.45) 100%)}
html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt .reservation-closure-note{background:rgba(24,26,29,.55)!important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)}
@media (max-width:899px){
  html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt{min-height:0; padding-top:clamp(300px,72vw,420px)!important}
  html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt::before{background-image:url('/assets/birken-gastraum-960.webp'); background-position:50% 0; background-size:auto clamp(340px,82vw,480px); background-color:#262A2E}
  html.ab-reservierung[data-abend] main .reservation-heading.ab-kompakt::after{background:linear-gradient(180deg,rgba(24,26,29,.5) 0%,rgba(24,26,29,0) 22%,rgba(24,26,29,.15) clamp(200px,48vw,300px),#262A2E clamp(340px,82vw,480px))}
}

/* ---------- Reservierung als eine Seite 17.10.2026: Formular direkt eingebettet, Infos darunter ---------- */
html.ab-reservierung[data-abend] #reservation-tool.reserve-host{background:none!important; border:0!important; box-shadow:none!important; padding:0!important; border-radius:0!important}
html.ab-reservierung[data-abend] main > article.editorial{max-width:1180px!important}
html.ab-reservierung[data-abend] .reserve-frame{display:block; width:100%; height:1600px; border:0; background:transparent; color-scheme:light; transition:opacity .5s ease}
html.ab-reservierung[data-abend] .reserve-fallback{margin:14px 0 0!important; font-size:14px!important; color:var(--muted)!important; text-align:center}
html.ab-reservierung[data-abend] .reserve-fallback a{color:var(--ink)!important; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px}
html.ab-reservierung[data-abend] .ab-res-infos{padding:clamp(56px,8vw,110px) var(--gut,20px) clamp(64px,9vw,120px)}
html.ab-reservierung[data-abend] .ab-res-infos-in{max-width:972px; margin:0 auto; display:grid; gap:18px}
html.ab-reservierung[data-abend] .ab-res-infos h2{font:500 clamp(30px,3.6vw,46px)/1.1 "Playfair Display",Georgia,serif!important; color:var(--ink)!important; margin:0!important; text-wrap:balance}
html.ab-reservierung[data-abend] .ab-res-infos .eyebrow{color:#874A23!important; margin:0!important}
html.ab-reservierung[data-abend] .ab-res-lede{max-width:640px; color:var(--muted)!important; margin:0!important}
html.ab-reservierung[data-abend] .ab-res-infos .arrival-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:12px}
html.ab-reservierung[data-abend] .ab-res-infos .arrival-grid > div{background:#FBFAF6; border:1px solid rgba(38,42,46,.08); border-radius:22px; padding:24px 24px 26px}
html.ab-reservierung[data-abend] .ab-res-infos .arrival-grid h3{font:500 22px/1.2 "Playfair Display",Georgia,serif!important; margin:0 0 10px!important; color:var(--ink)!important}
html.ab-reservierung[data-abend] .ab-res-infos .actions{display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-top:6px}
html.ab-reservierung[data-abend] .ab-res-feier{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-top:22px; padding:24px 28px; border-radius:22px; background:#262A2E; color:#F7F6F2}
html.ab-reservierung[data-abend] .ab-res-feier p{margin:0!important; color:rgba(247,246,242,.88)!important; max-width:620px}
html.ab-reservierung[data-abend] .ab-res-feier a{color:#E3B97C!important; font-weight:500; text-decoration:none}
@media (max-width:899px){
  html.ab-reservierung[data-abend] .ab-res-infos .arrival-grid{grid-template-columns:1fr}
  html.ab-reservierung[data-abend] main > article.editorial{padding:0 12px!important}
}
html.ab-reservierung[data-abend] .ab-res-infos .arrival-grid p{margin:0!important}
html.ab-reservierung[data-abend] #reservation-tool{scroll-margin-top:110px}

/* ---------- Feinschliff 17.10.2026 (Optik-Prüfung): Knöpfe, Abstände, gleiche Kartenhöhen ---------- */
/* Hafenbar: Paket-Überschriften gleich hoch, damit die Preise auf einer Linie stehen */
@media (min-width:900px){html[data-abend] main .rental-grid article h2{min-height:2.3em}}
/* Kontakt & ähnliche: Text nach einer Knopfreihe bekommt Luft */
html[data-abend] main .actions + p{margin-top:18px!important}
/* Pâtisserie: „Torte anfragen“ im selben Pillen-Stil wie die übrigen Knöpfe */
html[data-abend] main .signature-action{display:inline-flex!important; align-items:center; min-height:44px; padding:0 22px!important; border-radius:999px!important}
/* Knopftexte nicht mehr mit einzelnem Pfeil umbrechen */
html[data-abend] main .button{text-wrap:balance}
/* Kleine Bildstrecken (2–3 Fotos) füllen am Rechner die volle Breite statt zweier kleiner Karten links */
@media (min-width:900px){
  html[data-abend] .sm-flow:not(.sm-3d):not(:has(.sm-slide:nth-child(4))){display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:16px; overflow:visible; scroll-snap-type:none}
  html[data-abend] .sm-flow:not(.sm-3d):not(:has(.sm-slide:nth-child(3))) .sm-slide{aspect-ratio:4/3}
  html[data-abend] .sm-flow:not(.sm-3d):has(.sm-slide:nth-child(3)):not(:has(.sm-slide:nth-child(4))) .sm-slide{aspect-ratio:4/5}
  html[data-abend] .sm-flow:not(.sm-3d):not(:has(.sm-slide:nth-child(4))) + .sm-flow-nav{display:none!important}
}
/* Startseite: SaaleMomente-Hinweis unter dem Gutschein bündig zur Textspalte */
html.ab-home[data-abend] .ab-gift-brand{justify-content:flex-start; align-self:flex-start; text-align:left}
/* Ablauf-Schritte am Handy: weniger Einzug, längere Zeilen */
@media (max-width:899px){html[data-abend] main .sm-steps li{padding-left:24px}}

/* Galerie-Film: eigenes Standbild und Abspiel-/Pause-Knopf wie beim Startfilm, keine Browser-Bedienleiste */
html[data-abend] .gallery-film-stage{position:relative!important}
html[data-abend] .gallery-film-stage video{cursor:pointer}
html[data-abend] .gallery-film-toggle{position:absolute; z-index:2; right:18px; bottom:18px; width:52px; height:52px; border-radius:50%; border:1px solid rgba(247,246,242,.55); background:rgba(38,42,46,.45); display:flex; align-items:center; justify-content:center; gap:4px; cursor:pointer; padding:0; -webkit-tap-highlight-color:transparent; transition:background-color .2s ease, transform .2s ease}
html[data-abend] .gallery-film-toggle[hidden]{display:none}
html[data-abend] .gallery-film-toggle:hover{background:rgba(38,42,46,.7)}
html[data-abend] .gallery-film-toggle:focus-visible{outline:2px solid #F7F6F2; outline-offset:3px}
html[data-abend] .gallery-film-toggle i{display:block; width:3px; height:15px; background:#F7F6F2}
html[data-abend] .gallery-film-toggle[aria-pressed="true"] i:first-child{width:0; height:0; background:none; border-left:13px solid #F7F6F2; border-top:8px solid transparent; border-bottom:8px solid transparent; margin-left:4px}
html[data-abend] .gallery-film-toggle[aria-pressed="true"] i:last-child{display:none}
@media (max-width:700px){html[data-abend] .gallery-film-toggle{right:14px; bottom:14px}}

/* 21.10.2026: Keep long headline words intact on the narrowest phones. */
@media(max-width:360px){html.ab-home[data-abend] .ab-open-copy h2,html.ab-home[data-abend] .ab-nacht-head h2{font-size:34px!important;overflow-wrap:normal;word-break:normal;hyphens:none}}


/* Narrow text-page headings: keep the brand readable as a whole word. */
@media(max-width:420px){
 html[data-abend][lang] body main .story-hero .story-copy h1{font-size:clamp(30px,8.5vw,36px)!important;line-height:1.12!important;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;word-break:normal}
 html[data-abend][lang] body main #ruhestand-region{font-size:clamp(24px,7.5vw,30px)!important;line-height:1.2!important;overflow-wrap:normal;word-break:normal;hyphens:manual}
}

/* /assets/abend/navigation.css?v=20261016-navigation-1 */
/* Website-Menü (16.10.2026) – ergänzt die Abend-Kopfleiste. */
html[data-abend][lang] .ab-kopf{--vn-paper:#F7F6F2;--vn-ink:#262A2E;--vn-muted:#5E6064;--vn-cognac:#874A23;--vn-gold:#E3B97C;--vn-line:#E1D8CA}

/* ---------- Rechner ---------- */
@media (min-width:981px){
  html[data-abend][lang] .ab-kopf .ab-kopf-row{position:relative}
  html[data-abend][lang] .ab-kopf nav#menu{position:relative!important}
  html[data-abend][lang] .ab-kopf nav#menu > a{position:relative;z-index:1}
  html[data-abend][lang] .ab-kopf .vn-glow{position:absolute;left:0;top:50%;height:40px;width:0;margin-top:-20px;border-radius:999px;background:rgba(247,246,242,.16);opacity:0;pointer-events:none;z-index:0;transition:transform .35s cubic-bezier(.3,.8,.2,1),width .35s cubic-bezier(.3,.8,.2,1),opacity .25s ease}
  html[data-abend][lang] .ab-kopf .vn-glow.is-on{opacity:1}
  html[data-abend][lang] .ab-kopf.is-solid .vn-glow{background:rgba(38,42,46,.07)}
  html[data-abend][lang] .ab-kopf :is(.vn-toggle,.vn-chips,.vn-heute){display:none!important}
  html[data-abend][lang] .ab-kopf nav#menu > a.vn-has-panel{padding-right:2px}
  html[data-abend][lang] .ab-kopf nav#menu > a.vn-has-panel::before{content:"";position:absolute;right:-12px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);opacity:.7;transition:transform .3s ease}
  html[data-abend][lang] .ab-kopf nav#menu > a.vn-has-panel[aria-expanded="true"]::before{transform:translateY(3px) rotate(-135deg)}

  /* schwebende Glas-Leiste nach dem ersten Scrollen */
  html[data-abend][lang] .ab-kopf.is-solid{background:transparent!important;box-shadow:none!important;border-bottom:0!important}
  html[data-abend][lang] .ab-kopf.is-solid .ab-kopf-row{width:min(1200px,calc(100% - 32px));margin:10px auto 0;padding:8px 10px 8px 18px;border-radius:999px;background:rgba(247,246,242,.8);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 14px 40px -22px rgba(38,42,46,.55),inset 0 0 0 1px rgba(255,255,255,.65);transition:background .4s ease,box-shadow .4s ease}

  /* leiser Lichtschein über „Tisch reservieren“ */
  html[data-abend][lang] .ab-kopf .header-cta{position:relative;overflow:hidden;isolation:isolate}
  html[data-abend][lang] .ab-kopf .header-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-120%);animation:vn-schein 7s ease-in-out 2s infinite;pointer-events:none}

  /* Bildmenü */
  html[data-abend][lang] .ab-kopf .vn-panel{position:absolute;top:calc(100% + 10px);left:50%;z-index:90;width:min(880px,calc(100vw - 48px));display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:6px 24px;padding:22px;border-radius:22px;background:var(--vn-paper);color:var(--vn-ink);box-shadow:0 30px 70px -30px rgba(38,42,46,.55),inset 0 0 0 1px rgba(38,42,46,.06);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s .3s;text-shadow:none!important}
  html[data-abend][lang] .ab-kopf .vn-panel.is-open{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
  html[data-abend][lang] .ab-kopf .vn-panel-title{grid-column:1;margin:0 0 4px 12px!important;font:italic 400 17px/1.3 "Playfair Display",Georgia,serif!important;color:var(--vn-cognac)!important}
  html[data-abend][lang] .ab-kopf .vn-panel-list{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
  html[data-abend][lang] .ab-kopf .vn-item{display:grid;gap:1px;padding:10px 12px;border-radius:12px;text-decoration:none!important;color:var(--vn-ink)!important;transition:background .2s ease}
  html[data-abend][lang] .ab-kopf .vn-item:is(:hover,:focus-visible),html[data-abend][lang] .ab-kopf .vn-item[aria-current="page"]{background:#EFE8DC}
  html[data-abend][lang] .ab-kopf .vn-item b{font:500 17px/1.3 "Playfair Display",Georgia,serif!important;color:var(--vn-ink)!important}
  html[data-abend][lang] .ab-kopf .vn-item span{font:400 14px/1.4 "DM Sans",system-ui,sans-serif!important;color:var(--vn-muted)!important}
  html[data-abend][lang] .ab-kopf .vn-feature{grid-column:2;grid-row:1/span 3;position:relative;display:grid;align-content:end;gap:2px;min-height:260px;padding:16px;border-radius:16px;overflow:hidden;color:#F7F6F2!important;text-decoration:none!important;isolation:isolate}
  html[data-abend][lang] .ab-kopf .vn-feature img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
  html[data-abend][lang] .ab-kopf .vn-feature:hover img{transform:scale(1.05)}
  html[data-abend][lang] .ab-kopf .vn-feature::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(30,34,38,0) 35%,rgba(30,34,38,.88))}
  html[data-abend][lang] .ab-kopf .vn-feature small{font:italic 400 15px/1.3 "Playfair Display",Georgia,serif!important;color:var(--vn-gold)!important}
  html[data-abend][lang] .ab-kopf .vn-feature b{font:400 22px/1.2 "Playfair Display",Georgia,serif!important;color:#F7F6F2!important}
  html[data-abend][lang] .ab-kopf .vn-all{grid-column:1;margin-top:6px;padding:12px;border-top:1px solid var(--vn-line);font:500 15px "DM Sans",system-ui,sans-serif!important;color:var(--vn-cognac)!important;text-decoration:none!important}
  html[data-abend][lang] .ab-kopf :is(.vn-item,.vn-feature,.vn-all)::after{text-shadow:none}
  html[data-abend][lang] .ab-kopf .vn-panel :is(a,b,span,small,p){text-shadow:none!important}
}
@keyframes vn-schein{0%,72%{transform:translateX(-120%)}86%,100%{transform:translateX(120%)}}

/* ---------- Handy und Tablet ---------- */
@media (max-width:980px){
  html[data-abend][lang] .ab-kopf .vn-glow,html[data-abend][lang] .ab-kopf .vn-panel{display:none!important}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready{justify-content:flex-start!important;padding-top:112px!important;opacity:1;visibility:hidden;clip-path:circle(0 at var(--vn-x,calc(100% - 44px)) var(--vn-y,44px));transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready.open{visibility:visible;clip-path:circle(150vmax at var(--vn-x,calc(100% - 44px)) var(--vn-y,44px));transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready > *{flex-shrink:0}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready > .vn-toggle{align-self:flex-end;margin:-49px 0 5px!important;position:relative;z-index:2}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready > :is(.vn-chips,.vn-heute){align-self:stretch}
  html[data-abend][lang] .ab-kopf .vn-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(247,246,242,.28);border-radius:50%;background:transparent;color:#F7F6F2;cursor:pointer}
  html[data-abend][lang] .ab-kopf .vn-toggle svg{width:14px;height:14px;transition:transform .35s cubic-bezier(.3,.8,.2,1)}
  html[data-abend][lang] .ab-kopf .vn-toggle[aria-expanded="true"] svg{transform:rotate(45deg)}
  html[data-abend][lang] .ab-kopf .vn-toggle:focus-visible{outline:2px solid var(--vn-gold);outline-offset:3px}
  html[data-abend][lang] .ab-kopf .vn-chips{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
  html[data-abend][lang] .ab-kopf .vn-chips.is-open{grid-template-rows:1fr}
  html[data-abend][lang] .ab-kopf .vn-chips > div{overflow:hidden;display:flex;flex-wrap:wrap;gap:8px}
  html[data-abend][lang] .ab-kopf .vn-chips.is-open > div{padding:6px 0 14px}
  html[data-abend][lang] .ab-kopf .vn-chips a{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid rgba(247,246,242,.22);border-radius:999px;color:#F3EEE5!important;font:500 15px "DM Sans",system-ui,sans-serif!important;text-decoration:none!important}
  html[data-abend][lang] .ab-kopf .vn-chips:not(.is-open) a{visibility:hidden}
  html[data-abend][lang] .ab-kopf .vn-heute{display:grid;gap:12px;margin-top:22px;padding:18px;border-radius:18px;background:rgba(247,246,242,.07);border:1px solid rgba(247,246,242,.12)}
  html[data-abend][lang] .ab-kopf .vn-status{display:flex;align-items:center;gap:10px;margin:0!important;color:#F3EEE5!important;font:500 15.5px/1.4 "DM Sans",system-ui,sans-serif!important}
  html[data-abend][lang] .ab-kopf .vn-status i{flex:none;width:9px;height:9px;border-radius:50%;background:#C98A6B}
  html[data-abend][lang] .ab-kopf .vn-status.is-open i{background:#8FD19E;box-shadow:0 0 0 4px rgba(143,209,158,.18)}
  html[data-abend][lang] .ab-kopf .vn-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  html[data-abend][lang] .ab-kopf .vn-act{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(247,246,242,.3);border-radius:999px;color:#F7F6F2!important;font:500 15px "DM Sans",system-ui,sans-serif!important;text-decoration:none!important}
  /* Punkte erscheinen nacheinander aus der Unschärfe */
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready > :not(.vn-glow){opacity:0;transform:translateY(12px);filter:blur(6px)}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready.open > :not(.vn-glow){opacity:1;transform:none;filter:none;transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1),filter .55s ease;transition-delay:calc(.22s + var(--vn-i,0) * .04s)}
}
@media (prefers-reduced-motion:reduce){
  html[data-abend][lang] .ab-kopf :is(nav#menu.vn-ready,nav#menu.vn-ready > *,.vn-panel,.vn-glow,.vn-chips,.header-cta::after){transition:none!important;animation:none!important}
  html[data-abend][lang] .ab-kopf nav#menu.vn-ready > :not(.vn-glow){opacity:1;transform:none;filter:none}
}

/* Live accessibility correction 19.10.2026: readable header labels and keyboard gallery focus. */
html[data-abend][lang] .ab-kopf .guest-language-control a:not([aria-current="page"]){opacity:1!important}
html[data-abend][lang] .ab-kopf .ab-uhr-label i{color:#793F1F!important}
html[data-abend][lang].ab-film .ab-kopf:not(.is-solid) .ab-uhr-label i,
html[data-abend][lang][data-tone="dunkel"] .ab-kopf:not(.is-solid) .ab-uhr-label i,
html[data-abend][lang][data-hour="22"] .ab-kopf:not(.is-solid) .ab-uhr-label i{color:#F3CE96!important}
html[data-abend][lang] .sm-flow[tabindex="0"]:focus-visible{outline:3px solid #874A23;outline-offset:4px}

/* Audit 25.10.2026: Mindestschrift am Handy */
@media (max-width:600px){.mb-tag{font-size:13px!important}}

/* inline */
html.ab-home[data-abend] main .text-link{display:flex;align-items:center;min-height:44px;box-sizing:border-box}html.ab-home[data-abend] .ab-hero-status a{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px;padding-inline:4px}
/* /assets/abend-bewerten.css?v=20261020-1 */
/* Bewertungen: Einladung im Gästestimmen-Band und eigene Seite /bewerten/ */
.rv-invite{display:grid;gap:14px;margin-top:22px}
.rv-ask{margin:0;font-family:var(--serif,"Playfair Display",Georgia,serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.3}
.rv-actions{display:flex;flex-wrap:wrap;gap:12px}
.rv-btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 22px 0 18px;border-radius:999px;border:1px solid rgba(232,207,160,.7);font-weight:500;font-size:15px;line-height:1.2;text-decoration:none;color:inherit;transition:background .35s,color .35s,border-color .35s,transform .35s}
.rv-btn svg{width:20px;height:20px;flex:none}
.rv-btn.rv-google{background:#e8cfa0;border-color:#e8cfa0;color:#1d2a22}
.rv-btn:hover,.rv-btn:focus-visible{transform:translateY(-2px)}
.rv-btn.rv-trip:hover,.rv-btn.rv-trip:focus-visible{background:rgba(232,207,160,.14)}
@media (max-width:560px){.rv-actions{flex-direction:column}.rv-btn{justify-content:center;width:100%}}
@media (prefers-reduced-motion:reduce){.rv-btn{transition:none}.rv-btn:hover{transform:none}}
.rv-page{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#f6efe3;background:#141d18;isolation:isolate;overflow:hidden}
.rv-media{position:absolute;inset:0;z-index:-1}.rv-media img{width:100%;height:100%;object-fit:cover}
.rv-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,29,24,.95) 0%,rgba(20,29,24,.72) 44%,rgba(20,29,24,.18) 78%,rgba(20,29,24,.4) 100%)}
.rv-copy{width:min(100% - 40px,760px);margin:0 auto;padding:150px 0 clamp(56px,8vw,100px)}
.rv-copy .eyebrow{margin:0 0 18px;color:#e8cfa0}
.rv-page h1{margin:0;font-size:clamp(2.6rem,7vw,5rem);line-height:1;letter-spacing:-.02em;color:inherit}
.rv-page h1 em{color:#e8cfa0}
.rv-lead{margin:22px 0 30px;max-width:34em;font-size:1.06rem;color:rgba(246,239,227,.9)}
.rv-note,.rv-read{margin:26px 0 0;font-size:.95rem;color:rgba(246,239,227,.78)}.rv-read{margin-top:10px}
.rv-note a,.rv-read a{color:#f6efe3;text-underline-offset:4px}

/* /assets/abend-saison.css?v=20261022-weiche-uebergaenge-2 */
/* Startseite: Saisonangebote und Rundgang mit einheitlichen Bild- und Textrastern. */
.ab-anker{display:block;position:relative;top:calc(-1 * var(--kopf-h,112px));height:0;visibility:hidden}
.ab-holz{padding-top:clamp(56px,7vw,110px)}
.ab-holz > .ab-anker + .ab-wrap{padding-bottom:40px}
.ab-holz .ab-open-copy h2{font-size:clamp(44px,5.6vw,84px)!important}
.ab-holz .ab-open-copy .ab-open-link{color:#F7F6F2!important;align-self:flex-start;text-decoration-color:rgba(247,246,242,.6)}
.ab-holz .ab-open-copy .ab-open-link:hover{color:#F0CF97!important}
.ab-holz-fotos{padding-top:clamp(28px,4vw,56px);padding-bottom:8px}
.ab-holz .ab-favseat{margin-top:clamp(24px,3vw,40px)}

.ab-saison{position:relative;z-index:1;padding-top:4px;padding-bottom:clamp(56px,6vw,88px)}
.ab-lichterkette{position:relative;height:60px;margin:0 0 22px}
.ab-lichterkette svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ab-lichterkette path{fill:none;stroke:rgba(240,207,151,.32);stroke-width:1.2;vector-effect:non-scaling-stroke}
.ab-lichterkette i{position:absolute;width:7px;height:7px;border-radius:50%;background:#F7D9A6;transform:translate(-50%,-20%);
  box-shadow:0 0 8px 2px rgba(243,196,126,.45);opacity:.55;animation:abKette 4.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.41s)}
@keyframes abKette{0%,100%{opacity:.45;box-shadow:0 0 6px 1px rgba(243,196,126,.35)}50%{opacity:1;box-shadow:0 0 14px 4px rgba(243,196,126,.7)}}
.ab-saison-label{font:italic 500 21px/1.3 var(--serif)!important;color:#F0CF97!important;margin:0 0 18px!important}
.ab-saison-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-saison-card{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:240px;background:rgba(247,246,242,.05);
  border:1px solid rgba(240,207,151,.26);border-radius:18px;overflow:hidden;text-decoration:none!important;color:#F7F6F2;
  transition:border-color .35s var(--ease),background-color .35s var(--ease),transform .35s var(--ease)}
.ab-saison-card:hover,.ab-saison-card:focus-visible{border-color:rgba(240,207,151,.7);background:rgba(247,246,242,.09);transform:translateY(-2px)}
.ab-saison-card:focus-visible{outline:2px solid #F0CF97;outline-offset:3px}
.ab-saison-bild{display:block;overflow:hidden;background:#EDEAE3}
.ab-saison-bild img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ab-saison-card:hover .ab-saison-bild img{transform:scale(1.03)}
.ab-saison-text{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 24px 22px}
.ab-saison-text small{font:600 13px/1.4 var(--sans);letter-spacing:.06em;color:#F0CF97}
.ab-saison-text b{font:400 clamp(25px,2.3vw,34px)/1.12 var(--serif);color:#F7F6F2}
.ab-saison-text > span{font:400 16px/1.55 var(--sans);color:rgba(247,246,242,.84)}
.ab-saison-text em{font:600 15px/1.4 var(--sans);font-style:normal;color:#F0CF97;margin-top:4px}
@media (max-width:980px){.ab-saison-card{grid-template-columns:1fr}.ab-saison-bild{aspect-ratio:16/10}}
@media (max-width:760px){.ab-saison-grid{grid-template-columns:1fr;gap:16px}.ab-lichterkette{height:44px;margin-bottom:16px}
  .ab-saison-card{grid-template-columns:38% minmax(0,1fr);min-height:0}.ab-saison-bild{aspect-ratio:auto}
  .ab-saison-text{padding:18px 18px 18px 16px;gap:8px}.ab-saison-text b{font-size:23px}.ab-saison-text > span{font-size:15px}}
@media (prefers-reduced-motion:reduce){.ab-lichterkette i{animation:none;opacity:.85}.ab-saison-card,.ab-saison-bild img{transition:none}.ab-saison-card:hover{transform:none}}
@media (min-width:761px){.ab-holz-fotos .visit-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
  html.ab-home[data-abend] .ab-holz-fotos .visit-grid > .visit-photo{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5!important;height:auto!important;margin:0!important}
  .ab-holz-fotos .visit-grid img{width:100%;height:100%;object-fit:cover}}
.ab-saison-text b{font-family:'Playfair Display',Georgia,'Times New Roman',serif!important;font-weight:400!important}
.ab-saison-text small,.ab-saison-text > span,.ab-saison-text em{font-family:var(--sans)!important}
p.ab-saison-label{font-family:'Playfair Display',Georgia,'Times New Roman',serif!important}
html.sm-p body .ab-saison .ab-saison-text b.sm-serif,html.sm-p body .ab-saison p.ab-saison-label.sm-serif{font-family:'Playfair Display',Georgia,'Times New Roman',serif!important}
.ab-holz > .ab-wrap:has(> details.visit-more) + .ab-wrap{padding-top:clamp(36px,5vw,72px)}


/* Existing seasonal offers appear directly after the arrival scene. */
html.ab-home[data-abend] main .ab-saison-frueh{box-sizing:border-box!important;max-width:none!important;width:100%;margin:0!important;padding:clamp(28px,4vw,56px) max(20px,calc((100vw - 1120px)/2))!important;background:#262A2E;color:#F7F6F2}
.ab-saison-frueh .ab-lichterkette{height:36px;margin-bottom:12px}
.ab-saison-catering{margin:22px 0 0!important}
.ab-saison-catering a{display:inline-flex;align-items:center;min-height:44px;color:#F0CF97!important;text-underline-offset:5px;font-size:16px}

/* Same image frame and text baselines for both offers, including after visual polish. */
html.ab-home[data-abend] main .ab-saison-grid{gap:24px;align-items:stretch}
html.ab-home[data-abend] main .ab-saison-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-width:0;min-height:0;align-content:start}
html.ab-home[data-abend] main .ab-saison-bild{position:relative;aspect-ratio:16/10;width:100%;height:auto;min-width:0;overflow:hidden}
html.ab-home[data-abend] main .ab-saison-bild img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center}
html.ab-home[data-abend] main .ab-saison-text{box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:14px;padding:28px;min-width:0}
html.ab-home[data-abend] main .ab-saison-text small{display:block;margin:0;min-height:1.5em;font:600 13px/1.5 var(--sans);letter-spacing:.06em;text-wrap:pretty}
html.ab-home[data-abend] main .ab-saison-text b{display:block;margin:0;min-height:2.4em;font-size:clamp(28px,2.7vw,36px);line-height:1.2!important;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:normal;hyphens:manual}
html.ab-home[data-abend] main .ab-saison-text > span{display:block;margin:0;font-size:16px;line-height:1.65}
html.ab-home[data-abend] main .ab-saison-text em{display:flex;align-items:center;min-height:44px;padding-top:12px;margin-top:auto;font:600 15px/1.5 var(--sans);font-style:normal}

/* Keep the original photo grid and its enhanced card view on the same rails. */
html.ab-home[data-abend] main .ab-holz-fotos{box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:1120px!important;margin-inline:auto!important;padding-inline:0!important;padding-top:32px;padding-bottom:24px}
html.ab-home[data-abend] main .ab-holz-fotos .visit-grid{gap:24px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:0!important;padding:0!important;overflow:visible!important}
html.ab-home[data-abend] main .ab-holz-fotos .visit-grid > .visit-photo{min-width:0!important;width:100%!important;aspect-ratio:4/5!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;transform:none!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel [class*="overflow-x-scroll"]{display:block!important;width:100%!important;overflow:visible!important;padding:0!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel [class*="flex-row"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;min-width:0!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel [data-carousel-item]{min-width:0!important;width:100%!important;transform:none!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel button[data-library-card]{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;box-sizing:border-box;min-width:0!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/5;border-radius:18px!important;margin:0!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel button[data-library-card] > div.relative{padding:24px!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel button[data-library-card] > div.relative p:nth-child(2){font-size:clamp(25px,2.4vw,32px)!important;line-height:1.18!important;max-width:none!important;margin-top:12px!important;overflow-wrap:normal;text-wrap:balance}
html.ab-home[data-abend] main .ab-holz-fotos .library-card-caption{padding:64px 24px 24px!important}
html.ab-home[data-abend] main .ab-holz-fotos .library-carousel button[data-library-card] .library-card-caption p{min-height:3.3em;margin-bottom:12px!important}
@media(max-width:899px){
 html.ab-home[data-abend] main .ab-holz-fotos .visit-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;max-width:480px;margin-inline:auto!important}
 html.ab-home[data-abend] main .ab-holz-fotos .library-carousel [class*="flex-row"]{grid-template-columns:minmax(0,1fr);max-width:480px!important;margin-inline:auto!important}
 html.ab-home[data-abend] main .ab-holz-fotos .visit-grid > .visit-photo{flex:none!important}
}
@media(max-width:600px){
 html.ab-home[data-abend] main .ab-saison-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 html.ab-home[data-abend] main .ab-saison-text{padding:22px;gap:12px}
 html.ab-home[data-abend] main .ab-saison-text b{font-size:28px;min-height:0}
}

/* Blend the arrival film into the season, then into the light room scene. */
html.ab-home[data-abend] main .ab-hero:has(~ .ab-saison-frueh){background:#262A2E!important}
html.ab-home[data-abend] main .ab-saison-frueh{--saison-fade:clamp(100px,14vw,180px);padding-bottom:calc(var(--saison-fade) + 24px)!important;background:linear-gradient(180deg,#262A2E 0,#262A2E calc(100% - var(--saison-fade)),#F7F6F2 100%)!important}
/* Audit 25.10.2026: Saison-Karten ruhiger – beide Titel zweizeilig, damit Text und Link in beiden Karten gleich beginnen und keine Lücke unter einem einzeiligen Titel entsteht */
@media (min-width:761px){html.ab-home[data-abend] main .ab-saison-text b{max-width:12.5ch;min-height:0!important}}

/* /assets/premium-polish.css?v=20261021-2 */
/* Approved visual polish on existing elements; no layout or content replacement. */
:root{--sm-polish-light:217,187,135;--sm-polish-shadow:11,28,36}
.sm-polish-light,.sm-polish-ring,.sm-polish-shine{display:none!important;pointer-events:none!important;user-select:none!important}
html[data-sm-polish-level="1"] .sm-polish-target,html[data-sm-polish-level="2"] .sm-polish-target{outline-offset:-1px;transition:box-shadow .35s ease,outline-color .35s ease}
html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible){box-shadow:0 0 0 1px rgba(var(--sm-polish-light),.4),0 8px 23px rgba(var(--sm-polish-shadow),.09)}
html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible){box-shadow:0 0 0 1px rgba(var(--sm-polish-light),.65),0 12px 32px rgba(var(--sm-polish-shadow),.14)}
html[data-sm-polish-level="1"] .sm-polish-light,html[data-sm-polish-level="2"] .sm-polish-light{display:block!important;position:absolute!important;inset:0!important;z-index:8!important;border-radius:inherit!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;background:radial-gradient(340px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.17),transparent 70%)!important;transition:opacity .35s ease!important;mix-blend-mode:screen}
html[data-sm-polish-level="2"] .sm-polish-light{background:radial-gradient(300px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.26),transparent 70%)!important}
html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-light,html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-light{opacity:1!important}
html[data-sm-polish-level="2"] .sm-polish-ring{display:block!important;position:absolute!important;inset:0!important;border-radius:inherit!important;padding:1px!important;z-index:9!important;border:0!important;margin:0!important;background:radial-gradient(170px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.9),transparent 85%)!important;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:0!important;transition:opacity .35s ease!important}
html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-ring{opacity:1!important}
html[data-sm-polish-level="2"] .sm-polish-cta{isolation:isolate}
html[data-sm-polish-level="2"] .sm-polish-shine{display:block!important;position:absolute!important;inset:0!important;z-index:3!important;border-radius:inherit!important;background:linear-gradient(110deg,transparent 26%,rgba(255,255,255,.2) 48%,transparent 70%)!important;background-size:260% 100%!important;background-position:160% 0!important;opacity:0!important;transition:background-position .65s ease,opacity .2s ease!important;border:0!important;margin:0!important;padding:0!important}
html[data-sm-polish-level="2"] .sm-polish-cta:is(:hover,:focus-visible)>.sm-polish-shine{opacity:1!important;background-position:-60% 0!important}
@media(hover:hover) and (pointer:fine){
 html[data-sm-polish-level="1"] .sm-polish-target img{transition:scale .65s cubic-bezier(.2,.7,.2,1)}
 html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible) img{scale:1.018}
 html[data-sm-polish-level="2"] .sm-polish-target img{transition:scale .65s cubic-bezier(.2,.7,.2,1),filter .35s ease,opacity .35s ease}
 html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible) img{scale:1.032}
 html[data-sm-polish-level="2"] .sm-polish-cluster:has(.sm-polish-target:is(:hover,:focus-visible)) .sm-polish-target:not(:hover):not(:focus-visible) img{filter:blur(.7px);opacity:.9}
}
html[data-sm-polish-level="2"] .sm-polish-enter{animation:sm-polish-soft-arrival .48s ease both}
@keyframes sm-polish-soft-arrival{from{opacity:.65;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){
 html[data-sm-polish-level] .sm-polish-target,html[data-sm-polish-level] .sm-polish-target img{transition:none!important;scale:1!important}
 .sm-polish-enter{animation:none!important}
 .sm-polish-shine{display:none!important}
}

/* Approved second stage: typography, surfaces and touch controls. */

html[data-sm-polish-level="2"] main :is(h2,h3,.sp-way-title,.ab-saison-text b){text-wrap:balance;letter-spacing:-.025em}
html[data-sm-polish-level="2"] :is(.wc-body,.wc-sub,.sp-way-text,.ab-saison-text>span){text-wrap:pretty;line-height:1.65}
html[data-sm-polish-level="2"] :is(.sp-way,.ab-seatcard,.ab-saison-card){border-color:rgba(var(--sm-polish-light),.38);box-shadow:inset 0 1px 0 #ffffff14,0 12px 32px #071b2110}
html[data-sm-polish-level="2"] .ab-saison-text{padding:clamp(20px,3vw,38px)}
html[data-sm-polish-level="2"] .ab-saison-text b{line-height:1.13}
html[data-sm-polish-level="2"] .ab-saison-text small{letter-spacing:.1em}
html[data-sm-polish-level="2"] :is(.wc-copy,.world .in){text-shadow:0 2px 22px #001f25a6}
html[data-sm-polish-level="2"] .wc-shade{background:linear-gradient(90deg,#081a21d9,#081a2170 65%,#081a2120)}
html[data-sm-polish-level="2"] .world .in{padding:clamp(24px,3vw,42px);background:linear-gradient(0deg,#061923a8,transparent)}
html[data-sm-polish-level="2"] :is(.world .go,.wc-actions .btn,.wc-actions .btn-line,.save-moment,.package-tabs button,.slot-cta){min-height:44px}
html[data-sm-polish-level="2"] :is(.world .go,.wc-actions .btn-line,.save-moment){display:inline-flex;align-items:center;gap:12px}
html[data-sm-polish-level="2"] :is(#cruise-compass select,#package-select){min-height:52px;border-radius:12px;border-color:rgba(var(--sm-polish-light),.5);box-shadow:0 4px 14px #00000008}
html[data-sm-polish-level="2"] .package-information{border-radius:20px;box-shadow:inset 0 1px 0 #ffffff14,0 18px 50px #061a2110}
html[data-sm-polish-level="2"] :is(.sp-way-go,.world .go>span:last-child){transition:translate .25s ease}
@media(hover:hover) and (pointer:fine){html[data-sm-polish-level="2"] .sp-way:hover .sp-way-go,html[data-sm-polish-level="2"] .world:hover .go>span:last-child{translate:3px 0}}
@media(max-width:760px){html[data-sm-polish-level="2"] .wc-body{font-size:16px;line-height:1.65}html[data-sm-polish-level="2"] .wc-sub{line-height:1.45}html[data-sm-polish-level="2"] .ab-saison-text>span{font-size:15px}}
@media(prefers-reduced-motion:reduce){html[data-sm-polish-level="2"] :is(.sp-way-go,.world .go>span:last-child){transition:none;translate:0}}


/* /assets/abend/stimmen.css?v=2 */
/* Schmiedehafen · Gästestimmen: ruhig geordnet, ein Zitat nach dem anderen */
html.ab-home[data-abend] .ab-proof .st{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px clamp(40px,6vw,96px);align-items:start}
html.ab-home[data-abend] .ab-proof .st-kopf{display:grid;gap:10px;justify-items:start}
html.ab-home[data-abend] .ab-proof .st-kopf>*{margin:0}
html.ab-home[data-abend] .ab-proof .st-meta{font-size:14px;color:rgba(247,246,242,.62)}
html.ab-home[data-abend] .ab-proof .st-kopf .text-link{margin-top:8px}
html.ab-home[data-abend] .ab-proof .st-zitate{display:grid;border-left:1px solid rgba(232,207,160,.35);padding-left:clamp(24px,3vw,48px);padding-block:6px}
html.ab-home[data-abend] .ab-proof .st-zitate figure{grid-area:1/1;margin:0;display:block;white-space:normal;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.1,1)}
html.ab-home[data-abend] .ab-proof .st-zitate blockquote{font:italic 400 clamp(26px,2.6vw,38px)/1.22 var(--serif);color:#F7F6F2;max-width:24ch;text-wrap:balance}
html.ab-home[data-abend] .ab-proof .st-zitate figcaption{margin-top:14px;font-size:14px;color:rgba(247,246,242,.62)}
html.ab-home[data-abend] .ab-proof .st-js .st-zitate figure:not(.is-an){opacity:0;transform:translateY(10px);pointer-events:none}
html.ab-home[data-abend] .ab-proof .st-fuss{grid-area:2/1;display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:20px}
html.ab-home[data-abend] .ab-proof .st-punkte{display:flex;gap:0}
html.ab-home[data-abend] .ab-proof .st-punkte button{width:24px;min-width:0;height:32px;padding:0;margin:0;border:0;background:none;cursor:pointer;display:grid;place-items:center start}
html.ab-home[data-abend] .ab-proof .st-punkte button::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(247,246,242,.3);transition:background .3s,transform .3s}
html.ab-home[data-abend] .ab-proof .st-punkte button[aria-current="true"]::before{background:#e8cfa0;transform:scale(1.25)}
html.ab-home[data-abend] .ab-proof .st-hinweis{margin:0!important;font-size:13px;color:rgba(247,246,242,.5)}
html.ab-home[data-abend] .ab-proof .st-einladung{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;margin-top:18px;padding-top:30px;border-top:1px solid rgba(247,246,242,.12)}
html.ab-home[data-abend] .ab-proof .st-einladung .rv-ask{margin:0;max-width:30ch}
html.ab-home[data-abend] .ab-proof .st-einladung .rv-actions{gap:12px}
@media (max-width:860px){
 html.ab-home[data-abend] .ab-proof .st{grid-template-columns:1fr;gap:26px}
 html.ab-home[data-abend] .ab-proof .st-zitate{border-left:0;padding-left:0;border-top:1px solid rgba(232,207,160,.3);padding-top:24px}
 html.ab-home[data-abend] .ab-proof .st-zitate blockquote{font-size:clamp(23px,6.4vw,30px)}
 html.ab-home[data-abend] .ab-proof .st-einladung{margin-top:6px;padding-top:26px}
 html.ab-home[data-abend] .ab-proof .st-einladung .rv-actions{width:100%}
}
@media (prefers-reduced-motion:reduce){html.ab-home[data-abend] .ab-proof .st-zitate figure{transition:none}}
/* Rundgang-Karten auf der Startseite: Beschriftung mindestens 13 px */
html.ab-home .library-scope .library-card-invite,html.ab-home .library-scope p.text-left.font-sans{font-size:13px!important;line-height:1.4!important}

