@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins/poppins-400.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins/poppins-500.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins/poppins-600.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/poppins/poppins-700.woff2') format('woff2')}

:root{
  color-scheme:light;--red:var(--brand-primary,#7d1618);--red-hover:#93202a;--red-deep:#3a1210;
  --gold:var(--brand-accent,#c99a3f);--gold-light:#e9c98f;--cream:#faf6ef;--cream-card:#fffdf9;
  --cream-deep:#f2e9d8;--line:#ece0cf;--frame:#d9c294;--ink:#2a1a17;--muted:#6b5a52;
  --shadow:0 16px 40px rgba(58,18,16,.08);--content:1060px;--narrow:640px;
  font-family:Poppins,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-width:320px;margin:0;background:var(--cream);font-size:16px;line-height:1.65;overflow-x:hidden}
img,svg{display:block;max-width:100%} img{height:auto} a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit} button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--red-deep);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;translate:0 -150%;border-radius:8px;background:var(--red-deep);color:#fff;padding:.75rem 1rem}
.skip-link:focus{translate:0}
.mobile-only{display:none}

/* Global header */
.site-header{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center;gap:.2rem 1rem;border-bottom:1px solid var(--line);background:var(--cream-card);padding:.4rem clamp(1rem,4vw,4rem) 1rem;color:var(--ink)}
.site-brand{grid-column:1/-1;grid-row:1;justify-self:center;display:block;line-height:0}
.site-brand img{width:auto;height:190px;object-fit:contain}.site-brand span{display:flex;min-height:120px;align-items:center;color:var(--red);font-size:1.6rem;font-weight:700}
.primary-navigation{grid-column:1/-1;grid-row:2;justify-self:center}
.navigation-list{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2.2vw,1.65rem);margin:0;padding:0;list-style:none}
.navigation-item>a,.navigation-dropdown>summary{position:relative;display:flex;min-height:44px;align-items:center;gap:.35rem;padding:.55rem .1rem;color:var(--ink);cursor:pointer;font-size:.82rem;font-weight:600;list-style:none;white-space:nowrap}
.navigation-dropdown>summary::-webkit-details-marker{display:none}.navigation-dropdown>summary span{color:var(--gold);font-size:1rem;transition:rotate .18s ease}.navigation-dropdown[open]>summary span{rotate:180deg}
.navigation-item>a::after,.navigation-dropdown>summary::after{position:absolute;right:0;bottom:.25rem;left:0;height:2px;scale:0 1;background:var(--red);content:"";transition:scale .18s ease}
.navigation-item>a:hover::after,.navigation-dropdown>summary:hover::after,.navigation-item.is-active>a::after,.navigation-item.is-active>.navigation-dropdown>summary::after,.navigation-item>a[aria-current=page]::after{scale:1}
.navigation-item.is-active>a,.navigation-item.is-active>.navigation-dropdown>summary,.navigation-item>a[aria-current=page]{color:var(--red)}
.navigation-dropdown{position:relative;border:0;padding:0}.navigation-dropdown-menu{position:absolute;z-index:60;top:calc(100% + .4rem);left:50%;display:grid;width:min(620px,calc(100vw - 2rem));grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;translate:-50% 0;border:1px solid var(--line);border-radius:10px;background:var(--cream-deep);padding:.8rem;box-shadow:var(--shadow)}
.nav-teaser{display:flex;min-height:78px;flex-direction:column;justify-content:center;gap:.2rem;border:1px solid transparent;border-radius:8px;background:var(--cream-card);padding:.8rem 1rem;transition:border-color .18s ease,background-color .18s ease,translate .18s ease}
.nav-teaser:hover{translate:0 -2px;border-color:var(--frame);background:var(--cream)}.nav-teaser-title{color:var(--red-deep);font-size:.81rem;font-weight:700}.nav-teaser-desc{color:var(--muted);font-size:.7rem;line-height:1.4}
.navigation-dropdown-overview,.nav-overview,.nav-overview-button{grid-column:1/-1;justify-self:center;min-height:44px;border-radius:8px;background:var(--red);color:#fff!important;padding:.65rem 1rem!important;font-size:.81rem!important;font-weight:700}.navigation-dropdown-overview:hover,.nav-overview:hover,.nav-overview-button:hover{background:var(--red-hover)}
.booking-link,.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:var(--red);color:#fff;padding:.72rem 1.15rem;font-size:.78rem;font-weight:700;line-height:1.25;text-align:center;transition:background-color .18s ease,translate .18s ease}
.booking-link:hover,.button:hover{translate:0 -2px;background:var(--red-hover)}.site-header>.booking-link{position:absolute;right:clamp(1rem,4vw,4rem);bottom:1rem}.booking-link__short{display:none}
.navigation-toggle{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--frame);border-radius:8px;background:var(--cream-card);color:var(--red-deep)}
.navigation-toggle__icon,.navigation-toggle__icon::before,.navigation-toggle__icon::after{display:block;width:21px;height:2px;background:currentColor;content:"";transition:transform .18s ease,opacity .18s ease}.navigation-toggle__icon{position:relative}.navigation-toggle__icon::before{position:absolute;top:-6px}.navigation-toggle__icon::after{position:absolute;top:6px}.navigation-toggle[aria-expanded=true] .navigation-toggle__icon{background:transparent}.navigation-toggle[aria-expanded=true] .navigation-toggle__icon::before{top:0;transform:rotate(45deg)}.navigation-toggle[aria-expanded=true] .navigation-toggle__icon::after{top:0;transform:rotate(-45deg)}

/* Breadcrumb and shared intro */
main{min-height:55vh}.breadcrumbs{width:min(var(--content),calc(100% - 2rem));margin:0 auto;padding:1rem 0 .35rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;margin:0;padding:0;color:var(--muted);font-size:.72rem;list-style:none}.breadcrumbs li:not(:last-child)::after{margin-left:.35rem;color:var(--gold);content:"/"}.breadcrumbs a{display:inline-flex;min-height:44px;align-items:center}.breadcrumbs a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px}.breadcrumbs [aria-current=page]{color:var(--red);font-weight:600}
.page-intro{width:min(var(--narrow),calc(100% - 2rem));margin:0 auto;padding:2.2rem 0 2.6rem;text-align:center}.page-intro-copy{display:flex;align-items:center;flex-direction:column}.page-intro h1{margin:.35rem 0 .85rem;font-size:clamp(1.9rem,4vw,2.55rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}.page-intro-copy>p:not(.eyebrow){max-width:52ch;margin:0;color:var(--muted)}.page-intro-actions,.hero__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem;margin-top:1.35rem}.page-intro-image{margin:2rem auto 0}.plate{display:inline-block;overflow:hidden;border:1px solid var(--frame);border-radius:10px;background:var(--cream-card);padding:6px;line-height:0;box-shadow:var(--shadow)}.plate img{width:auto;max-width:100%;max-height:440px;border-radius:6px;object-fit:contain}
.eyebrow{display:flex;align-items:center;justify-content:center;margin:0 0 .6rem;color:var(--red);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:.25rem;color:var(--red);font-size:.8rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.text-link:hover{color:var(--red-hover)}

/* Home hero */
.hero{display:flex;width:min(var(--content),calc(100% - 2rem));align-items:center;flex-direction:column;margin:0 auto;padding:clamp(3rem,7vw,5.5rem) 0;text-align:center}.hero__copy{display:flex;align-items:center;flex-direction:column}.hero h1{max-width:18ch;margin:.35rem 0 1rem;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.08;text-wrap:balance}.hero p{max-width:56ch;margin:0;color:var(--muted)}.hero__portrait{position:relative;margin:2rem auto 0}.hero__portrait picture{display:block;overflow:hidden;border:1px solid var(--frame);border-radius:10px;background:var(--cream-card);padding:6px;line-height:0;box-shadow:var(--shadow)}.hero__portrait img{display:block;width:auto;max-width:100%;max-height:680px;border-radius:6px;object-fit:contain}.hero__portrait--secondary{max-width:260px;margin-top:1rem}.hero__spine{display:none}

/* CMS sections */
.page-component{width:100%;scroll-margin-top:5.5rem}.content-block,.empty-page{width:min(var(--content),calc(100% - 2rem));margin:0 auto;padding:clamp(2.25rem,4vw,3rem) 0;text-align:center}.page-component+.page-component>.content-block{border-top:0}
.page-intro+.page-component::before,.page-component+.page-component::before{display:block;width:min(var(--content),calc(100% - 2rem));margin:0 auto;border-top:1px solid var(--line);content:""}
.page-intro+.page-component--vertrauen::before,.page-component+.page-component--vertrauen::before,.page-component--vertrauen+.page-component::before{display:none}
.text-block .lede,.image-text .lede{color:var(--red);font-weight:600}
.content-block h2,.cta h2{max-width:28ch;margin:.25rem auto .8rem;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:600;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}.lede{max-width:56ch;margin:.35rem auto 1rem;color:var(--muted);font-size:1rem}.prose{max-width:720px}.prose>div{max-width:58ch;margin:0 auto;white-space:normal}.prose p{margin:.7rem 0}.prose .lede{margin:.35rem auto 1rem}.page-component--merkmale .prose,.page-component--leistungsrahmen .prose,.page-component--vertrauen .prose,.text-block--perks{max-width:520px}.page-component--merkmale .prose>div,.page-component--leistungsrahmen .prose>div,.page-component--vertrauen .prose>div,.text-block--perks>div{border-radius:10px;background:var(--cream-card);padding:1.3rem 1.5rem;text-align:left;line-height:2.15;box-shadow:var(--shadow)}
.perk-list,.text-block--perks .perk-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.25rem;margin:0 auto;padding:0;list-style:none;text-align:center}.perk-list li{color:#4a3a33;font-size:.86rem;font-weight:500;line-height:1.5}.perk-list li::before{color:var(--red);content:"✓ ";font-weight:700}.page-component--goldenes-buch-zitat .prose,.text-block--quote{max-width:820px}.page-component--goldenes-buch-zitat .prose>div,.text-block--quote>div,.text-block--quote blockquote{max-width:100%;margin:0;border:1px solid var(--frame);border-radius:10px;background:linear-gradient(135deg,#f5dfaa,var(--gold-light));padding:clamp(1.6rem,4vw,2.6rem);color:var(--red-deep);font-size:clamp(1rem,2vw,1.2rem);font-weight:500;line-height:1.75;text-align:center}.page-component--vertrauen .prose>div{text-align:center;line-height:1.7}
.image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4rem);text-align:left}.image-text--image_right figure{order:2}.image-text figure{margin:0}.image-text figure[data-image-reveal]{overflow:hidden;border:1px solid var(--frame);border-radius:10px;background:var(--cream-card);padding:6px;line-height:0}.image-text img{width:100%;max-height:640px;border:0;border-radius:6px;background:transparent;padding:0;object-fit:contain}.image-text .eyebrow{justify-content:flex-start}.image-text h2{margin-inline:0}.image-text p{color:var(--muted)}
.link-grid-section{max-width:980px}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.7rem}.link-grid article{display:flex;min-height:190px;align-items:center;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--cream-card);padding:1.35rem;text-align:center;box-shadow:0 10px 26px rgba(58,18,16,.05);transition:border-color .18s ease,translate .18s ease}.link-grid article:hover{translate:0 -3px;border-color:var(--frame)}.link-grid h3{margin:0 0 .55rem;font-size:1.05rem;font-weight:600;line-height:1.3}.link-grid p{margin:0 0 1rem;color:var(--muted);font-size:.86rem}.link-grid .text-link{margin-top:auto}.page-component--angebotsauswahl .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin-inline:auto}.page-component--zielgruppenauswahl .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}.page-component--ablauf-kompakt .link-grid{counter-reset:step}.page-component--ablauf-kompakt .link-grid article{counter-increment:step}.page-component--ablauf-kompakt .link-grid article::before{content:"0" counter(step);color:var(--gold);font-size:1.35rem;font-weight:700}
.link-grid-section--doors .link-grid,.link-grid-section--audiences .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}.link-grid-section--characters .link-grid,.link-grid-section--related .link-grid,.link-grid-section--occasions .link-grid,.link-grid-section--steps .link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.link-grid-section--steps .link-grid{counter-reset:step}.link-grid-section--steps .link-grid article{counter-increment:step}.link-grid-section--steps .link-grid article::before{content:"0" counter(step);color:var(--gold);font-size:1.35rem;font-weight:700}
.gallery-section{max-width:920px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;align-items:start}.gallery figure{margin:0}.gallery figure[data-image-reveal]{overflow:hidden;border:1px solid var(--frame);border-radius:10px;background:var(--cream-card);padding:5px;line-height:0}.gallery img{width:100%;max-height:720px;border:0;border-radius:6px;background:transparent;padding:0;object-fit:contain}.gallery>img:first-child,.gallery figure:first-child{grid-column:1/-1}.gallery>img:first-child,.gallery figure:first-child img{max-height:680px}.gallery-section--natural .gallery img{max-height:none}.gallery-section--featured-grid .gallery figure:first-child{grid-column:1/-1}
.faq-block{max-width:620px}.faq-list{margin-top:1.4rem;text-align:left}.faq-list details{border-top:1px solid var(--line);padding:1rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-size:.92rem;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{flex:none;color:var(--red);font-size:1.25rem;transition:rotate .18s ease}.faq-list details[open] summary span{rotate:45deg}.faq-list details p{margin:.6rem 2rem .2rem 0;color:var(--muted);font-size:.88rem}
.faq-block--excerpt .faq-list details:nth-child(n+5){display:none}
.faq-list details,.faq-list details p{overflow:hidden}
.hero__caption{max-width:52ch;margin:.75rem auto 0;color:var(--muted);font-size:.72rem;line-height:1.55}
[data-image-reveal]{opacity:0;translate:0 12px;transition:opacity .6s ease,translate .6s ease}
[data-image-reveal].is-visible{opacity:1;translate:0 0}
[data-image-reveal] img{scale:1;transition:scale .3s ease}
[data-image-reveal].is-visible:hover img{scale:1.03}
.blog-featured-media{overflow:hidden;margin:2rem 0 0;border-radius:10px;line-height:0}.blog-featured-media img{margin-top:0}
.price-section{max-width:620px}.price-list{margin-top:1.6rem;border-top:1px solid var(--line);text-align:left}.price-list article{display:grid;grid-template-columns:1fr auto;gap:1rem;border-bottom:1px solid var(--line);padding:1.15rem .25rem}.price-list strong{font-size:.95rem}.price-list article p{margin:.3rem 0 0;color:var(--muted);font-size:.82rem}.price-list article>span{color:var(--red);font-weight:700;white-space:nowrap}.price-note{border-left:3px solid var(--gold);padding-left:1rem;color:var(--muted);text-align:left}
.cta{display:flex;width:min(860px,calc(100% - 2rem));align-items:center;justify-content:space-between;gap:2rem;margin:1rem auto 2.5rem;border-radius:12px;background:var(--red);color:#fff;padding:clamp(1.7rem,4vw,2.75rem);text-align:left}.cta h2{margin-inline:0;color:#fff}.cta .eyebrow{justify-content:flex-start;color:var(--gold-light)}.cta p{max-width:55ch;margin:.6rem 0 0;color:#f5e8dd;font-size:.9rem}.button--light{flex:none;background:var(--gold);color:var(--red-deep)}.button--light:hover{background:var(--gold-light)}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.reviews blockquote{margin:0;border:1px solid var(--line);border-radius:10px;background:var(--cream-card);padding:1.4rem}.reviews cite{display:block;margin-top:.8rem;color:var(--muted);font-size:.75rem;font-style:normal}
.divider{width:min(var(--content),calc(100% - 2rem));border:0;border-top:1px solid var(--line)}

/* Forms, booking and reCAPTCHA */
.contact-section{max-width:880px}.contact-lead .lede{color:var(--red);font-weight:600}
.public-contact-form .contact-salutation{grid-column:1/-1}.public-contact-form .contact-salutation select{max-width:calc((100% - 1rem)/2)}
@media(max-width:700px){.public-contact-form .contact-salutation select{max-width:none}}
.contact-card{display:grid;grid-template-columns:190px 1fr;margin:1.7rem auto 0;overflow:hidden;border:1px solid var(--gold-light);border-radius:14px;background:linear-gradient(135deg,#f5dfaa,var(--gold-light));box-shadow:var(--shadow);text-align:left}
.contact-card__photo{margin:0}.contact-card__photo img{width:100%;height:100%;border-radius:0;background:transparent;object-fit:cover}
.contact-card__body{padding:1.3rem 1.5rem}.contact-card__body h3{margin:0 0 .1rem;color:var(--red-deep);font-size:1.05rem;font-weight:700}.contact-card__sub{margin:0 0 .85rem;color:#5c3a1e;font-size:.78rem}
.contact-card__channels{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.contact-card__channels a{display:flex;align-items:center;gap:.6rem;min-height:32px;color:var(--red-deep);font-size:.9rem;font-weight:600;text-decoration:none}.contact-card__channels a:hover{color:var(--red)}.contact-card__channels svg{width:17px;height:17px;flex:none;fill:var(--red)}
.contact-card__promise{display:flex;align-items:center;gap:.5rem;margin:.95rem 0 0;border-top:1px solid rgba(58,18,16,.18);padding-top:.8rem;color:var(--red-deep);font-size:.78rem;font-weight:600}.contact-card__promise svg{width:15px;height:15px;flex:none;fill:var(--red)}
.contact-grid{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.45fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2rem;text-align:left}
.contact-aside h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.contact-aside p{margin:0 0 .9rem;color:var(--muted);font-size:.9rem;line-height:1.6}.contact-aside ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.contact-aside li{position:relative;padding-left:1.4rem;color:#4a3a33;font-size:.85rem;line-height:1.5}.contact-aside li::before{position:absolute;left:0;color:var(--red);font-weight:700;content:"✓"}
.booking-form-public{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:1px solid var(--line);border-radius:10px;background:var(--cream-card);padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow)}.booking-form-public label{display:grid;gap:.4rem;color:var(--ink);font-size:.8rem;font-weight:600}.booking-form-public input,.booking-form-public select,.booking-form-public textarea{width:100%;min-height:46px;border:1px solid #b9aa98;border-radius:8px;background:#fff;padding:.75rem;color:var(--ink)}.booking-form-public textarea{min-height:130px;resize:vertical}.booking-form-public input:focus,.booking-form-public select:focus,.booking-form-public textarea:focus{border-color:var(--red-deep);outline:3px solid rgba(58,18,16,.16);outline-offset:1px}.booking-form-public input[type=checkbox],.booking-form-public input[type=radio]{width:1.25rem;min-width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--red)}.booking-form-public fieldset,.booking-notes,.consent,.form-error,.contact-success,.booking-form-public button,.g-recaptcha,.captcha-notice{grid-column:1/-1}.booking-form-public fieldset{border:1px solid var(--line);border-radius:8px;padding:1rem}.booking-form-public button{min-height:48px;border:0;border-radius:10px;background:var(--red);color:#fff;font-weight:700}.booking-form-public button:hover{background:var(--red-hover)}.booking-form-public button:disabled{cursor:wait;opacity:.65}.consent{grid-template-columns:auto 1fr!important;align-items:start}.consent a{text-decoration:underline}.form-error,.contact-success{border-left:4px solid var(--red);border-radius:8px;background:#f9e8e5;padding:.8rem}.contact-success{border-left-color:#34785f;background:#e2f0e9;color:#174c3a}.captcha-notice{margin:.2rem 0;color:var(--muted);font-size:.75rem}.g-recaptcha{max-width:100%;overflow:hidden}.honeypot{position:absolute;left:-10000px}
.booking-page{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2.5rem);width:min(1120px,calc(100% - 2rem));margin:2rem auto 4rem}.booking-intro{align-self:start;border-radius:10px;background:var(--red-deep);color:#fff;padding:clamp(1.5rem,4vw,2.6rem)}.booking-intro__eyebrow{display:inline-block;color:var(--gold-light);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.55rem}.booking-intro h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:0 0 .6rem}.booking-intro p{color:#f1e7df;margin:0;max-width:58ch}.booking-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0;list-style:none}.booking-chips li{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(233,201,143,.4);border-radius:999px;background:rgba(233,201,143,.1);color:#f7eee7;font-size:.72rem;font-weight:600;padding:.35rem .75rem}.booking-chips li::before{color:var(--gold-light);font-weight:700;content:"✓"}.booking-intro__bridge{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.3rem;border-top:1px solid rgba(255,255,255,.16);padding-top:1.15rem}.booking-intro__bridge span{color:#e7d3c8;font-size:.85rem}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none;counter-reset:step}.booking-steps li{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--cream-card);padding:1.1rem 1rem;counter-increment:step}.booking-steps li::before{display:block;margin-bottom:.35rem;color:var(--gold);font-size:1.1rem;font-weight:700;content:"0" counter(step)}.booking-steps h2{margin:0 0 .2rem;font-size:.95rem;font-weight:600;color:var(--ink)}.booking-steps p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.booking-intro a{color:var(--gold-light);font-weight:700;text-decoration:underline;text-underline-offset:3px}.booking-event{grid-column:1/-1}.booking-contact,.booking-event>fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-contact legend,.booking-event>legend,.booking-event>fieldset>legend{padding:0 .35rem;font-weight:700}.booking-event>legend{font-size:1.02rem}.booking-contact .booking-notes,.booking-event #windows{grid-column:1/-1}.booking-address{grid-template-columns:2fr .75fr .8fr 1.6fr!important;margin-top:1rem}.booking-consent{display:flex;flex-direction:column;gap:.7rem}.booking-consent__note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.booking-submit{grid-column:1/-1;display:flex;justify-content:center;border-top:1px solid var(--line);margin-top:.4rem;padding-top:1.4rem}.booking-submit button{min-width:220px;padding-inline:1.5rem}
.booking-col-left{display:contents}.booking-contact{order:1}.booking-event{order:2}.booking-consent{order:3}.booking-submit{order:4}

/* Blog, legal, status and error pages */
.blog-main,.blog-article{width:min(var(--content),calc(100% - 2rem));margin:0 auto}.blog-hero,.blog-article-head{padding:4rem 0;text-align:center}.blog-hero h1,.blog-article-head h1,.empty-page h1,.error-page h1{margin:.5rem auto 1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.blog-hero p,.blog-article-head p{max-width:58ch;margin-inline:auto;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem;padding-bottom:4rem}.blog-card{display:flex;min-height:240px;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--cream-card);padding:1.35rem}.blog-card h2{font-size:1.25rem}.blog-card p{color:var(--muted)}.blog-card time{margin-top:auto;color:var(--muted);font-size:.75rem}.blog-article{max-width:820px}.blog-article-head img{width:100%;max-height:650px;margin-top:0;border-radius:10px;object-fit:contain}.legal-page .page-intro{padding-bottom:1.4rem}.legal-page .content-block{max-width:480px;padding-top:1.5rem;text-align:left}.legal-page .content-block h2,.legal-page .content-block h3{margin:1.5rem 0 .65rem;text-align:left}.legal-page .content-block p,.legal-page .content-block li{font-size:.9rem}.empty-page,.error-page{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:5rem 0;text-align:center}.empty-page>span,.error-page>span{color:var(--red);font-size:.75rem;font-weight:700;text-transform:uppercase}.empty-page p,.error-page p{max-width:56ch;margin:0 auto 1.4rem;color:var(--muted)}

/* Footer */
footer{display:flex;align-items:center;flex-direction:column;gap:2rem;border-top:6px solid var(--gold);background:var(--red-deep);color:#fff;padding:clamp(3rem,6vw,4.5rem) max(1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom));text-align:center}.footer-brand strong{font-size:1.25rem;font-weight:600}.footer-brand p{max-width:42ch;margin:.45rem auto 0;color:#eaded4;font-size:.85rem}.footer-icons{display:flex;justify-content:center;gap:.7rem;order:-1}.footer-icons a{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(233,201,143,.55);border-radius:50%;background:rgba(233,201,143,.1);transition:background-color .18s ease,translate .18s ease}.footer-icons a:hover{translate:0 -2px;background:rgba(233,201,143,.24)}.footer-icons a:focus-visible{outline-color:var(--gold)}.footer-icons svg{width:20px;height:20px;fill:var(--gold-light)}.footer-navigation{display:grid;width:min(820px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.footer-navigation-group{display:flex;align-items:center;flex-direction:column;gap:.45rem}.footer-navigation-group h2{margin:0 0 .3rem;color:var(--gold-light);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.footer-navigation a,.footer-contact a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;color:#f7eee7;font-size:.78rem}.footer-navigation a:hover,.footer-contact a:hover{color:var(--gold-light);text-decoration:underline}.footer-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem 1rem}.footer-contact a{min-height:auto}footer small{width:min(820px,100%);border-top:1px solid rgba(255,255,255,.18);padding-top:1.25rem;color:#d8c9be;font-size:.7rem}

@media(max-width:980px){
  .site-header{grid-template-columns:1fr auto auto;grid-template-rows:auto;padding:.55rem 1rem}.site-brand{grid-column:1;grid-row:1;justify-self:start}.site-brand img{height:96px}.site-header>.booking-link{position:static;grid-column:2;grid-row:1;display:inline-flex;align-self:center}.navigation-toggle{display:inline-flex;grid-column:3;grid-row:1}.primary-navigation{position:absolute;top:100%;right:0;left:0;display:none;max-height:calc(100vh - 110px);overflow-y:auto;border-top:1px solid var(--line);background:var(--cream-card);padding:.5rem 1rem 1rem;box-shadow:var(--shadow)}.site-header.navigation-open .primary-navigation{display:block}.navigation-list{display:grid;gap:0}.navigation-item>a,.navigation-dropdown>summary{width:100%;min-height:48px;padding:.75rem .25rem}.navigation-dropdown{border-top:1px solid var(--line)}.navigation-dropdown-menu{position:static;width:100%;grid-template-columns:1fr;margin:0 0 .5rem;translate:0;border:0;border-left:2px solid var(--gold);border-radius:0;background:transparent;padding:0 0 0 .7rem;box-shadow:none}.nav-teaser{min-height:62px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:.65rem .5rem}.nav-teaser:hover{translate:0;background:var(--cream-deep)}.mobile-only{display:list-item}.booking-page{grid-template-columns:1fr}.booking-address{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .site-brand img{width:auto;height:160px;object-fit:contain}.site-header{min-height:176px;gap:.45rem}.site-header>.booking-link{min-height:44px;padding:.6rem .75rem}.booking-link__full{display:none}.booking-link__short{display:inline}.primary-navigation{max-height:calc(100vh - 176px)}
  .page-intro{padding:1.5rem 0 2rem}.page-intro h1{font-size:1.8rem}.page-intro-actions,.hero__actions{align-items:stretch;flex-direction:column;width:100%}.page-intro-actions .button,.hero__actions .button{width:100%}.page-intro-actions .text-link{justify-content:center;text-align:center}
  .content-block{padding:2.25rem 0}.image-text,.booking-form-public,.booking-contact,.booking-event>fieldset,.booking-address,.contact-grid,.contact-card,.booking-steps{grid-template-columns:1fr!important}.image-text--image_right figure{order:0}.image-text{text-align:center}.image-text .eyebrow{justify-content:center}.image-text h2{margin-inline:auto}.contact-card__photo img{height:auto;max-height:340px;object-fit:cover;object-position:center top}
  .link-grid,.page-component--angebotsauswahl .link-grid,.page-component--zielgruppenauswahl .link-grid,.link-grid-section--doors .link-grid,.link-grid-section--audiences .link-grid,.link-grid-section--characters .link-grid,.link-grid-section--related .link-grid,.link-grid-section--occasions .link-grid,.link-grid-section--steps .link-grid,.gallery{grid-template-columns:1fr}.link-grid article{min-height:165px}.gallery>img:first-child,.gallery figure:first-child{grid-column:1}.perk-list,.text-block--perks .perk-list{grid-template-columns:1fr}.cta{align-items:stretch;flex-direction:column;padding:1.6rem;text-align:center}.cta h2{margin-inline:auto}.cta .eyebrow{justify-content:center}.cta .button{width:100%}.price-list article{grid-template-columns:1fr;gap:.4rem}.booking-form-public{padding:1rem}.g-recaptcha{transform:scale(.9);transform-origin:left top}.footer-navigation{grid-template-columns:1fr 1fr;gap:1.4rem .7rem}
}
@media(max-width:390px){.g-recaptcha{transform:scale(.82)}.footer-navigation{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-image-reveal]{opacity:1;translate:none;transition:none!important}[data-image-reveal] img,[data-image-reveal].is-visible:hover img{scale:1;transition:none!important}}

/* July 2026 refinement: compact sticky frame, contextual links and booking UX */
.text-link,.content-block a:not(.button),.page-intro a:not(.button){text-decoration:none}
.text-link,.content-block a:not(.button),.page-intro a:not(.button){transition:color .2s ease,text-shadow .25s ease,filter .25s ease}
.text-link:hover,.content-block a:not(.button):hover,.page-intro a:not(.button):hover{color:var(--red-hover);text-shadow:0 0 5px rgba(201,154,63,.98),0 0 13px rgba(233,201,143,.78),0 0 26px rgba(201,154,63,.5);filter:brightness(1.08)}
.site-header{position:sticky;top:0;backface-visibility:hidden;transform:translateZ(0);transition:padding .4s cubic-bezier(.22,.8,.22,1),box-shadow .36s ease,background-color .36s ease;will-change:padding,box-shadow}
.site-brand img{transition:height .4s cubic-bezier(.22,.8,.22,1),transform .4s cubic-bezier(.22,.8,.22,1)}
.navigation-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transform-origin:top center;transition:opacity .24s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}
.navigation-dropdown:not([open])>.navigation-dropdown-menu{display:grid;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px) scale(.975);transition:opacity .2s ease,transform .26s cubic-bezier(.4,0,.2,1),visibility 0s linear .26s}
.navigation-dropdown.is-opening>.navigation-dropdown-menu{animation:navigation-dropdown-open .28s cubic-bezier(.2,.8,.2,1) both}.navigation-dropdown.is-closing>.navigation-dropdown-menu{animation:navigation-dropdown-close .21s cubic-bezier(.4,0,.2,1) both}
@keyframes navigation-dropdown-open{from{opacity:0;transform:translateY(-9px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes navigation-dropdown-close{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-9px) scale(.975)}}
.navigation-dropdown>summary span{transition:rotate .28s cubic-bezier(.2,.8,.2,1)!important}
@media(min-width:981px){
  .site-header.is-scrolled{grid-template-columns:auto 1fr auto;grid-template-rows:auto;gap:1.2rem;padding:.35rem clamp(1rem,3vw,2.5rem);box-shadow:0 10px 28px rgba(58,18,16,.1)}
  .site-header.is-scrolled .site-brand{grid-column:1;grid-row:1;justify-self:start}.site-header.is-scrolled .site-brand img{height:62px}
  .site-header.is-scrolled .primary-navigation{grid-column:2;grid-row:1}.site-header.is-scrolled>.booking-link{position:static;grid-column:3;grid-row:1}
}
.hero__microcopy{margin-top:.85rem!important;color:var(--muted)!important;font-size:.72rem!important;font-weight:500;letter-spacing:.015em}
.link-grid-section--doors .link-grid{max-width:980px;gap:2rem}.link-grid-section--doors .link-grid article{overflow:hidden;padding:0 0 1.55rem}.link-grid-section--doors .link-grid article>*:not(.link-grid__image):not(.link-grid__image-link):not(.link-grid__figure){margin-inline:1.35rem}
.link-grid__image-link{display:block;color:inherit}.link-grid__image{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;margin:0 0 1.25rem;line-height:0}.link-grid__image img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.link-grid-section--doors .link-grid{max-width:880px}.link-grid-section--doors .link-grid__image{aspect-ratio:4/5;overflow:hidden;background:var(--cream-deep)}.link-grid-section--doors .link-grid__image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}
/* Kennzeichnung KI-generierter Bilder: Badge unter dem Bild, nicht als Overlay. */
.link-grid__figure{width:100%;margin:0 0 1.1rem}.link-grid__figure .link-grid__image{margin-bottom:.65rem}
.link-grid__ai-label{display:inline-flex;align-items:center;max-width:100%;border-radius:6px;background:var(--red);color:#fff;padding:.2rem .55rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.5;white-space:nowrap}
.text-block--trust{width:100%;max-width:none;border-block:1px solid var(--line);padding:1rem max(1rem,calc((100% - var(--content))/2));background:rgba(255,253,249,.52)}.trust-line{margin:0;color:var(--muted);font-size:.88rem;font-weight:500;line-height:1.7}.trust-line strong{color:var(--red);font-weight:600}
.booking-intro{min-width:0;overflow:hidden}.booking-intro h1{max-width:100%;overflow-wrap:anywhere;hyphens:auto}.booking-intro__contact{margin-top:.35rem}.booking-intro__contact:hover{text-shadow:none}
.booking-intro a.booking-intro__contact{background:var(--gold);color:var(--red-deep);text-decoration:none}.booking-intro a.booking-intro__contact:hover{background:var(--gold-light);color:var(--red-deep)}
@media(min-width:981px){
  .booking-form-public{align-items:start}
  /* Das Sperr-Fieldset .public-form-lock liegt zwischen Formular und Spalten. Es rendert per
     display:contents, daher bleiben die Spalten Grid-Elemente des Formulars, treffen aber den
     Kind-Kombinator nicht mehr. Die Platzierung greift deshalb ueber das Fieldset hinweg. */
  .booking-form-public .public-form-lock>.booking-event{grid-column:1;order:1}
  .booking-form-public .public-form-lock>.booking-col-left{display:block;grid-column:2;order:2;margin:0}
  .booking-form-public .public-form-lock>.booking-submit{order:3}
  .booking-consent{margin-top:1rem}
}
.booking-address{grid-template-columns:2fr .55fr 1fr 1.6fr!important}.invoice-address-toggle{grid-column:1/-1!important;display:flex!important;grid-template-columns:auto 1fr;align-items:center;margin-top:1rem}.booking-invoice-address[hidden]{display:none}
#windows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}#windows legend,#windows>p{grid-column:1/-1}#windows label{display:flex;min-height:52px;align-items:center;grid-template-columns:auto 1fr;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.75rem}
footer{gap:1.1rem;border-top-width:4px;padding:1.6rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom))}.footer-navigation{width:min(680px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1rem}.footer-navigation-group{gap:.15rem}.footer-navigation-group h2{margin-bottom:.15rem}.footer-navigation a{min-height:32px}.footer-navigation a:hover{text-decoration:none;text-shadow:0 0 5px rgba(201,154,63,.95),0 0 14px rgba(233,201,143,.62)}
.footer-meta{display:flex;width:min(720px,100%);align-items:center;justify-content:center;gap:.7rem;border-top:1px solid rgba(255,255,255,.18);padding-top:.8rem}.footer-meta small{width:auto;border:0;padding:0}.footer-icons{order:0;gap:.4rem}.footer-icons a{width:30px;height:30px}.footer-icons svg{width:14px;height:14px}
@media(max-width:980px){
  .site-header{z-index:100;min-height:0!important;padding:.4rem .75rem}.site-brand img{height:74px!important}
  .primary-navigation{position:absolute;top:calc(100% - .25rem);right:.65rem;left:auto;display:block!important;width:min(340px,calc(100vw - 2.6rem));max-height:min(72vh,620px);border:1px solid var(--line);border-radius:12px;background:var(--cream-card);padding:.45rem .8rem .8rem;box-shadow:0 22px 55px rgba(58,18,16,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px) scale(.97);transform-origin:top right;transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s}
  .site-header.navigation-open .primary-navigation{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
  .navigation-toggle{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.navigation-toggle[aria-expanded=true]{border-color:var(--gold);background:var(--cream-deep);box-shadow:0 0 16px rgba(201,154,63,.3)}
  .navigation-dropdown>.navigation-dropdown-menu,.navigation-dropdown:not([open])>.navigation-dropdown-menu{display:grid;max-height:0;overflow:hidden;margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);border-left-color:transparent;padding-top:0;padding-bottom:0;transition:max-height .38s cubic-bezier(.2,.8,.2,1),opacity .22s ease,transform .3s cubic-bezier(.2,.8,.2,1),margin .3s ease,padding .3s ease,visibility 0s linear .38s}
  .navigation-dropdown[open]>.navigation-dropdown-menu{max-height:620px;margin:0 0 .5rem;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);border-left-color:var(--gold);padding:.2rem 0 .55rem .7rem;transition:max-height .42s cubic-bezier(.2,.8,.2,1),opacity .24s ease,transform .32s cubic-bezier(.2,.8,.2,1),margin .3s ease,padding .3s ease,visibility 0s}
  .navigation-dropdown.is-opening>.navigation-dropdown-menu{animation:navigation-dropdown-mobile-open .32s cubic-bezier(.2,.8,.2,1) both}.navigation-dropdown.is-closing>.navigation-dropdown-menu{animation:navigation-dropdown-mobile-close .24s cubic-bezier(.4,0,.2,1) both}
  .booking-address{grid-template-columns:2fr .6fr 1fr 1.5fr!important}
}
@keyframes navigation-dropdown-mobile-open{from{opacity:0;transform:translateY(-6px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes navigation-dropdown-mobile-close{from{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}to{opacity:0;transform:translateY(-6px);clip-path:inset(0 0 100% 0)}}
@media(max-width:700px){
  .site-header{grid-template-columns:1fr auto auto;gap:.4rem}.site-brand img{height:68px!important}.primary-navigation{max-height:calc(100vh - 84px)}
  #windows{grid-template-columns:1fr}.booking-address{grid-template-columns:1fr!important}.footer-meta{flex-wrap:wrap}.footer-navigation{grid-template-columns:1fr 1fr;gap:.8rem .45rem}
}
@media(max-width:420px){.footer-navigation{grid-template-columns:1fr}}

/* Stable sticky navigation: the desktop logo scrolls away, only the narrow bar sticks. */
.site-brand--desktop{display:flex;align-items:center;justify-content:center;border-bottom:0;background:transparent;padding:.4rem 1rem;line-height:0}.site-brand--desktop img{width:auto;height:190px;object-fit:contain}.site-header>.site-brand--mobile{display:none}
.site-header{position:sticky;top:0;z-index:100;display:grid;min-height:66px;grid-template-columns:1fr auto 1fr;grid-template-rows:auto;align-items:center;gap:1rem;border-bottom:1px solid var(--line);background:rgba(255,253,249,.97);padding:.4rem clamp(1rem,3vw,2.5rem);box-shadow:0 8px 24px rgba(58,18,16,.08);transform:none;transition:box-shadow .25s ease,background-color .25s ease;will-change:auto;backdrop-filter:blur(12px)}
.site-header .primary-navigation{grid-column:2;grid-row:1;justify-self:center}.site-header>.booking-link{position:static;grid-column:3;grid-row:1;justify-self:end}.site-header>.navigation-toggle{grid-column:3;grid-row:1}
.link-grid-section--doors .link-grid{max-width:720px;gap:1.4rem}.page-component--vertrauen .text-block--trust{width:100%;max-width:none}.footer-navigation{width:min(820px,100%);grid-template-columns:repeat(4,minmax(0,1fr))}
.page-angebot .page-component--angebotsauswahl .link-grid article{padding:1.25rem}.page-angebot .page-component--angebotsauswahl .link-grid article>*:not(.link-grid__image):not(.link-grid__image-link){margin-inline:0}.page-angebot .page-component--angebotsauswahl .link-grid__image-link{width:100%;margin:0 auto 1rem;border:1px solid var(--frame);border-radius:8px;background:var(--cream-card);padding:4px;box-sizing:border-box}.page-angebot .page-component--angebotsauswahl .link-grid__image{margin:0;border-radius:5px}
.page-familien .page-intro-image .plate img{max-height:300px}
.page-familien .page-component--familienbesuch .image-text{max-width:880px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;align-items:start;column-gap:2rem;row-gap:0}
.page-familien .page-component--familienbesuch .image-text>div{display:contents}
.page-familien .page-component--familienbesuch .image-text figure{grid-column:1;grid-row:3/5;width:100%}
.page-familien .page-component--familienbesuch .image-text .eyebrow{grid-column:1/-1;grid-row:1;justify-content:center}
.page-familien .page-component--familienbesuch .image-text h2{grid-column:1/-1;grid-row:2;justify-self:center;width:100%;margin:.25rem auto 1.25rem;text-align:center}
.page-familien .page-component--familienbesuch .image-text .lede{grid-column:2;grid-row:3;max-width:none;margin:0 0 1rem}
.page-familien .page-component--familienbesuch .image-text>div>p:not(.lede){grid-column:2;grid-row:4;margin:0}
.page-familien .page-intro{padding-bottom:.9rem}
.page-familien .page-component--familienbesuch>.content-block{padding-top:2rem}
.price-list article{border-radius:6px;background-color:transparent;box-shadow:inset 0 0 0 rgba(201,154,63,0);transition:background-color .22s ease,box-shadow .22s ease}
.price-list article:hover{background-color:rgba(233,201,143,.14);box-shadow:inset 3px 0 0 rgba(201,154,63,.72)}
.page-kitas-schulen-vereine .page-intro{padding-bottom:.9rem}
.page-kitas-schulen-vereine .page-component--gruppenbesuch>.content-block{padding-top:2rem}
.page-unternehmen-veranstalter .page-intro,.page-staedte-gemeinden .page-intro{padding-bottom:.9rem}
.page-unternehmen-veranstalter .page-component--veranstaltungsplanung>.content-block,.page-staedte-gemeinden .page-component--offentlicher-auftritt>.content-block{padding-top:2rem}
.page-weihnachtsmann .page-intro,.page-nikolaus .page-intro{padding-bottom:.9rem}
.page-weihnachtsmann .page-component--ablauf>.content-block,.page-nikolaus .page-component--ablauf>.content-block{padding-top:2rem}
.page-weihnachtsmann .page-component--ablauf .image-text,.page-nikolaus .page-component--ablauf .image-text{max-width:880px;grid-template-columns:minmax(0,1fr) minmax(220px,280px);grid-template-rows:auto auto auto 1fr;align-items:start;column-gap:2rem;row-gap:0}
.page-weihnachtsmann .page-component--ablauf .image-text>div,.page-nikolaus .page-component--ablauf .image-text>div{display:contents}
.page-weihnachtsmann .page-component--ablauf .image-text figure,.page-nikolaus .page-component--ablauf .image-text figure{grid-column:2;grid-row:3/5;width:100%}
.page-weihnachtsmann .page-component--ablauf .image-text .eyebrow,.page-nikolaus .page-component--ablauf .image-text .eyebrow{grid-column:1/-1;grid-row:1;justify-content:center}
.page-weihnachtsmann .page-component--ablauf .image-text h2,.page-nikolaus .page-component--ablauf .image-text h2{grid-column:1/-1;grid-row:2;justify-self:center;width:100%;margin:.25rem auto 1.25rem;text-align:center}
.page-weihnachtsmann .page-component--ablauf .image-text .lede,.page-nikolaus .page-component--ablauf .image-text .lede{grid-column:1;grid-row:3;max-width:none;margin:0 0 1rem}
.page-weihnachtsmann .page-component--ablauf .image-text>div>p:not(.lede),.page-nikolaus .page-component--ablauf .image-text>div>p:not(.lede){grid-column:1;grid-row:4;margin:0}
@media(min-width:981px){.trust-line{font-size:.82rem;white-space:nowrap}}
@media(max-width:980px){
  .site-brand--desktop{display:none}.site-header{grid-template-columns:1fr auto auto;min-height:0;padding:.4rem .75rem}.site-header>.site-brand--mobile{display:block;grid-column:1;grid-row:1;justify-self:start}.site-header>.site-brand--mobile img{width:auto;height:74px!important;object-fit:contain}.site-header>.booking-link{grid-column:2;grid-row:1}.site-header>.navigation-toggle{grid-column:3;grid-row:1}.site-header .primary-navigation{grid-column:auto;grid-row:auto}.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){.site-header>.site-brand--mobile img{height:68px!important}.footer-navigation{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.page-familien .page-component--familienbesuch .image-text{grid-template-rows:auto auto auto auto auto}.page-familien .page-component--familienbesuch .image-text figure{grid-column:1;grid-row:3;width:min(280px,100%);margin:0 auto 1.25rem}.page-familien .page-component--familienbesuch .image-text .lede{grid-column:1;grid-row:4;margin:0 auto 1rem}.page-familien .page-component--familienbesuch .image-text>div>p:not(.lede){grid-column:1;grid-row:5;margin:0}.page-weihnachtsmann .page-component--ablauf .image-text,.page-nikolaus .page-component--ablauf .image-text{grid-template-rows:auto auto auto auto auto}.page-weihnachtsmann .page-component--ablauf .image-text figure,.page-nikolaus .page-component--ablauf .image-text figure{grid-column:1;grid-row:3;width:min(280px,100%);margin:0 auto 1.25rem}.page-weihnachtsmann .page-component--ablauf .image-text .lede,.page-nikolaus .page-component--ablauf .image-text .lede{grid-column:1;grid-row:4;margin:0 auto 1rem}.page-weihnachtsmann .page-component--ablauf .image-text>div>p:not(.lede),.page-nikolaus .page-component--ablauf .image-text>div>p:not(.lede){grid-column:1;grid-row:5;margin:0}}
@media(max-width:420px){.footer-navigation{grid-template-columns:1fr}}

/* Global decorative Christmas garland below the footer. */
.site-banner{display:block;width:100%;line-height:0;pointer-events:none;user-select:none}
.site-banner img{display:block;width:100%;height:auto}
.site-footer-shell{position:relative;overflow:hidden;background:var(--red-deep)}
.site-footer-shell>footer{position:relative;z-index:2;background:transparent}
.site-banner--bottom{position:absolute;z-index:1;right:0;bottom:0;left:0}
.footer-meta{width:auto;max-width:min(720px,100%);border:1px solid rgba(255,244,203,.76);border-radius:12px;background:linear-gradient(135deg,var(--gold-light),var(--gold));padding:.65rem .85rem;box-shadow:0 8px 22px rgba(20,4,3,.2);color:var(--red-deep)}
.footer-meta small{color:var(--red-deep);font-weight:600}
.footer-meta .footer-icons a{border-color:rgba(58,18,16,.3);background:rgba(255,255,255,.24)}
.footer-meta .footer-icons svg{fill:var(--red-deep)}
.footer-meta .footer-icons a:hover{background:var(--red-deep)}
.footer-meta .footer-icons a:hover svg{fill:var(--gold-light)}
@media(min-width:981px){.site-footer-shell>footer{padding-bottom:clamp(6rem,8vw,8rem)}}
@media(max-width:700px){.site-footer-shell>footer{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}.footer-meta{gap:.55rem;padding:.6rem .7rem}}

/* Juli 2026: Rezensionen-Sektion Startseite (review_list/testimonials) */
.rv-section{width:100%;padding:clamp(2.25rem,4vw,3rem) 0;text-align:left}
.rv-wrap{width:min(var(--content),calc(100% - 2rem));margin:0 auto}
.rv-eyebrow{display:flex;align-items:center;justify-content:center;margin:0 0 .7rem;color:var(--red);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.rv-title{max-width:26ch;margin:0 auto;color:var(--ink);text-align:center;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:600;letter-spacing:-.025em;line-height:1.2}
.rv-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-top:1.1rem}
.rv-stat{margin:0;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.02em}
.rv-stat b{display:block;color:var(--red);font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.rv-controls{display:flex;align-items:center;gap:1rem}
.rv-social{display:inline-flex;gap:.5rem}
.rv-social a{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--frame);border-radius:50%;background:var(--cream-card);color:var(--red);box-shadow:0 6px 18px rgba(58,18,16,.06);transition:background-color .18s ease,color .18s ease,translate .18s ease}
.rv-social a:hover{background:var(--red);color:#fff;translate:0 -2px}
.rv-social svg{width:19px;height:19px;fill:currentColor}
.rv-pill{display:inline-flex;border:1px solid var(--frame);border-radius:999px;background:var(--cream-card);overflow:hidden;box-shadow:0 6px 18px rgba(58,18,16,.06)}
.rv-pill button{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:0;background:transparent;color:var(--red);cursor:pointer;transition:background-color .18s ease,color .18s ease}
.rv-pill button:first-child{border-right:1px solid var(--line)}
.rv-pill button:hover{background:var(--red);color:#fff}
.rv-pill svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4}
.rv-divider{margin:1.6rem 0 2rem;border:0;border-top:1px solid var(--line)}
.rv-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.rv-track{display:flex;width:max-content;gap:1.15rem;animation:rv-marquee 55s linear infinite}
.rv-viewport:hover .rv-track{animation-play-state:paused}
@keyframes rv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rv-card{display:flex;width:330px;flex:none;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:12px;background:var(--cream-card);padding:1.5rem 1.5rem 1.6rem;box-shadow:0 10px 26px rgba(58,18,16,.05);position:relative}
.rv-card::before{content:"\201C";position:absolute;top:.4rem;right:1.1rem;color:var(--gold-light);font-family:Georgia,serif;font-size:3.4rem;font-weight:700;line-height:1}
.rv-name{font-size:.98rem;font-weight:600;color:var(--ink)}
.rv-role{margin-top:.1rem;color:var(--muted);font-size:.72rem}
.rv-stars{display:flex;gap:3px;margin:.55rem 0 .8rem}
.rv-stars svg{width:17px;height:17px;fill:var(--gold)}
.rv-text{color:#4a3a33;font-size:.9rem;line-height:1.6}
@media(prefers-reduced-motion:reduce){.rv-track{animation:none}}
@media(max-width:700px){.rv-card{width:270px}}

/* Juli 2026: Galerie-Karussell (figure_showcase) mit Lightbox und Rahmen-Raster */
.showcase{width:min(var(--content),calc(100% - 2rem));margin:0 auto;padding:.4rem 0 1.6rem;text-align:left}
.showcase__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding-bottom:.6rem;border-bottom:1px solid var(--line);margin-bottom:.85rem}
.showcase__label{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;color:var(--red)}
.showcase__label::before{content:"";width:4px;height:22px;border-radius:2px;background:var(--gold)}
.showcase__controls{display:flex;align-items:center;gap:8px}
.showcase__cta{display:inline-flex;align-items:center;min-height:36px;border:0;border-radius:999px;background:var(--red);color:#fff;font-weight:600;font-size:.74rem;padding:.5rem .85rem;cursor:pointer;transition:background-color .18s ease}
.showcase__cta:hover{background:var(--red-hover)}
.showcase__arrows{display:flex}
.showcase__arrow{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--gold);background:var(--cream-card);color:var(--red);cursor:pointer;transition:background-color .18s ease,color .18s ease}
.showcase__arrow:first-child{border-radius:999px 0 0 999px;border-right:0}
.showcase__arrow:last-child{border-radius:0 999px 999px 0}
.showcase__arrow:hover{background:var(--red);color:#fff}
.showcase__arrow svg{width:14px;height:14px}
.showcase__viewport{overflow:hidden}
.showcase__track{display:flex;gap:8px}
.showcase__slide{flex:0 0 calc((100% - 8px)/2);cursor:pointer}
.showcase__slide figure{margin:0;border:1px solid var(--frame);border-radius:8px;overflow:hidden;background:var(--cream-card);padding:3px}
.showcase__slide img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:5px;display:block;filter:saturate(.9) contrast(1.02)}
.showcase__caption{margin-top:5px;font-size:.72rem;font-weight:600;color:var(--ink);line-height:1.35}
@media(min-width:981px){.showcase__slide{flex-basis:calc((100% - 16px)/3)}}
.showcase--grid{padding-bottom:2.2rem}
.frame-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:.5rem}
.frame{position:relative;margin:0;border:1px solid var(--gold);border-radius:4px;background:var(--cream-card);padding:12px;cursor:pointer;box-shadow:0 12px 26px rgba(58,18,16,.08);transition:translate .2s ease,box-shadow .2s ease}
.frame:hover,.frame:focus-visible{translate:0 -6px;box-shadow:0 24px 42px rgba(58,18,16,.18)}
.frame__joint{position:absolute;width:10px;height:10px;background:#a97e2e;transform:rotate(45deg);box-shadow:0 1px 2px rgba(58,18,16,.3)}
.frame__joint--tl{top:-5px;left:-5px}.frame__joint--tr{top:-5px;right:-5px}
.frame__joint--bl{bottom:-5px;left:-5px}.frame__joint--br{bottom:-5px;right:-5px}
.frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;filter:saturate(.92) contrast(1.03)}
.frame figcaption{margin-top:.65rem;text-align:center;font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.45}
@media(max-width:560px){.frame-grid{grid-template-columns:1fr}}
.lightbox{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;background:rgba(42,26,23,.93);padding:1.2rem;text-align:center}
.lightbox.is-open{display:flex}
.lightbox__frame{position:relative;max-width:min(84vw,560px);border:5px solid var(--gold);border-radius:6px;background:var(--gold);padding:4px}
.lightbox__frame img{display:block;max-height:66vh;width:100%;border-radius:3px;object-fit:contain;background:var(--cream-card)}
.lightbox__joint{position:absolute;width:9px;height:9px;background:#a97e2e;transform:rotate(45deg)}
.lightbox__joint--tl{top:-4.5px;left:-4.5px}.lightbox__joint--tr{top:-4.5px;right:-4.5px}
.lightbox__joint--bl{bottom:-4.5px;left:-4.5px}.lightbox__joint--br{bottom:-4.5px;right:-4.5px}
.lightbox__caption{max-width:min(84vw,560px);margin:.8rem auto 0;text-align:center;color:var(--gold-light);font-size:.82rem;font-weight:600;line-height:1.5}
.lightbox__close,.lightbox__nav{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(233,201,143,.55);border-radius:50%;background:rgba(233,201,143,.12);color:var(--gold-light);cursor:pointer}
.lightbox__close{top:.9rem;right:.9rem;width:38px;height:38px}
.lightbox__close svg{width:15px;height:15px}
.lightbox__nav{top:50%;width:42px;height:42px;translate:0 -50%}
.lightbox__nav svg{width:15px;height:15px}
.lightbox__nav--prev{left:.6rem}.lightbox__nav--next{right:.6rem}

/* Juli 2026: Ueber-mich - Merkmale als dezente goldene Box (wie Startseite "Das goldene Buch"), etwas hoeher; Erfahrungsbilder kompakter im Rahmen */
.page-component--merkmale>.content-block{padding-top:1rem}
.page-component--merkmale .perk-list,.page-component--gemeinsamer-kern .perk-list{gap:.7rem 1.6rem;border:1px solid var(--frame);border-radius:10px;background:linear-gradient(135deg,#f5dfaa,var(--gold-light));padding:1.5rem 1.8rem;box-shadow:var(--shadow)}
.page-component--merkmale .perk-list li,.page-component--gemeinsamer-kern .perk-list li{color:var(--red-deep);font-weight:600}
.page-component--erfahrung-familien .image-text figure,.page-component--erfahrung-veranstaltungen .image-text figure{max-width:340px;margin-inline:auto;align-self:center}
.page-component--erfahrung-familien .image-text img,.page-component--erfahrung-veranstaltungen .image-text img{max-height:none;aspect-ratio:4/5;object-fit:cover}
.booking-contact .booking-company{grid-column:1/-1;width:min(100%,15rem)}
.booking-contact .booking-company[hidden]{display:none}
@media(max-width:700px){.booking-contact .booking-company{width:100%}}

/* Datenschutz-Einstellungen: ruhig in die bestehende Rot-Gold-Creme-Sprache eingebettet. */
.consent-banner{position:fixed;z-index:140;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;width:min(900px,calc(100% - 2rem));margin:0 auto;border:1px solid rgba(233,201,143,.72);border-top:4px solid var(--gold);border-radius:14px;background:var(--red-deep);box-shadow:0 18px 48px rgba(35,8,6,.35);padding:1.1rem 1.25rem;color:#fff}.consent-banner[hidden]{display:none}.consent-banner__seal{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;color:var(--gold-light);font-size:1.25rem}.consent-banner__eyebrow{margin:0 0 .2rem;color:var(--gold-light);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.consent-banner h2{margin:0;color:#fff;font-size:1.1rem;line-height:1.25}.consent-banner__copy>p:not(.consent-banner__eyebrow):not(.consent-banner__links){max-width:58ch;margin:.35rem 0 0;color:#eee1d6;font-size:.82rem;line-height:1.5}.consent-banner__links{display:flex;gap:.45rem;margin:.5rem 0 0;color:var(--gold-light);font-size:.76rem}.consent-banner a,.consent-dialog a{color:inherit;text-decoration:underline;text-underline-offset:3px}.consent-banner__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-width:260px}.consent-banner .button,.consent-dialog .button{min-height:43px;padding:.55rem .8rem;font-size:.76rem}.consent-banner .button--outline,.consent-dialog .button--outline{border-color:rgba(255,255,255,.74);background:transparent;color:#fff}.consent-banner .button--outline:hover,.consent-dialog .button--outline:hover{background:rgba(255,255,255,.12)}.consent-text-button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.77rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.consent-banner__actions .consent-text-button{grid-column:1/-1;justify-self:center;color:var(--gold-light);padding:.25rem}.consent-dialog{width:min(720px,calc(100% - 2rem));max-height:min(88dvh,760px);border:0;border-radius:14px;background:var(--cream-card);padding:0;color:var(--ink);box-shadow:0 22px 64px rgba(28,8,6,.42)}.consent-dialog::backdrop{background:rgba(36,13,10,.72)}.consent-dialog__frame{overflow:auto;max-height:inherit;padding:clamp(1.1rem,3vw,2rem)}.consent-dialog__header{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.consent-dialog__header h2{margin:0;color:var(--red-deep);font-size:clamp(1.35rem,3vw,1.75rem)}.consent-dialog__close{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--red-deep);cursor:pointer;font-size:1.55rem;line-height:1}.consent-dialog__header+.consent-dialog__frame>p,.consent-dialog__frame>p{margin:1rem 0;color:var(--muted);font-size:.88rem;line-height:1.55}.consent-dialog__categories{display:grid;gap:.75rem}.consent-category{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:9px;background:#fff;padding:1rem}.consent-category__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.consent-category h3{margin:0;color:var(--red-deep);font-size:1rem}.consent-category__description{margin:.35rem 0 .75rem;color:var(--muted);font-size:.82rem;line-height:1.5}.consent-category__switch{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);font-size:.75rem;font-weight:700;white-space:nowrap}.consent-category__switch input{width:1.15rem;height:1.15rem;accent-color:var(--red)}.consent-service{border-top:1px solid var(--line);padding-top:.65rem}.consent-service summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;color:var(--ink);font-size:.84rem;font-weight:700}.consent-service__provider{color:var(--muted);font-size:.72rem;font-weight:500}.consent-service__body{padding:.6rem 0 .1rem;color:var(--muted);font-size:.78rem;line-height:1.45}.consent-service__body p{margin:.1rem 0 .6rem}.consent-service__meta{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .7rem;margin:0 0 .6rem}.consent-service__meta dt{color:var(--ink);font-weight:700}.consent-service__meta dd{margin:0}.consent-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.consent-dialog__footer>p{display:flex;gap:.4rem;margin:0;color:var(--red);font-size:.75rem}.consent-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.footer-consent-button{min-height:32px;border:0;background:transparent;color:var(--red-deep);cursor:pointer;font:inherit;font-size:.7rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.consent-text-button--standalone{margin-top:1rem;color:var(--red-deep)}.consent-noscript{width:min(var(--content),calc(100% - 2rem));margin:1rem auto;border-left:4px solid var(--gold);background:var(--cream-card);padding:1rem;color:var(--ink);font-size:.85rem}.consent-noscript p{margin:.35rem 0 0}.captcha-consent-placeholder{display:grid;gap:.5rem;grid-column:1/-1;border:1px dashed var(--gold);border-radius:8px;background:#fffaf1;padding:.85rem}.captcha-notice,.captcha-alternatives{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.captcha-alternatives a{text-decoration:underline;text-underline-offset:2px}.captcha-preferences-button,.captcha-retry-button{justify-self:start;min-height:36px;border:1px solid var(--red);border-radius:7px;background:transparent;color:var(--red-deep);cursor:pointer;font:inherit;font-size:.74rem;font-weight:700;padding:.35rem .6rem}.captcha-retry-button{border-color:var(--gold);color:var(--ink)}.captcha-consent-placeholder .g-recaptcha{max-width:100%;overflow:hidden}.consent-dialog-fallback-open{overflow:hidden}.consent-dialog[open]{display:block}.consent-dialog:not([open]){display:none}.consent-banner button:focus-visible,.consent-dialog button:focus-visible,.footer-consent-button:focus-visible,.captcha-consent-placeholder button:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}.consent-dialog button:focus-visible,.captcha-consent-placeholder button:focus-visible{outline-color:var(--red)}
@media(max-width:760px){.consent-banner{grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:1rem}.consent-banner__actions{grid-column:1/-1;min-width:0}.consent-dialog__footer{align-items:stretch;flex-direction:column}.consent-dialog__actions{justify-content:stretch}.consent-dialog__actions .button{flex:1 1 12rem}.consent-service summary{align-items:start;flex-direction:column;gap:.15rem}}
@media(max-width:440px){.consent-banner{right:.65rem;bottom:max(.65rem,env(safe-area-inset-bottom));left:.65rem;width:auto}.consent-banner__seal{width:36px;height:36px}.consent-banner__actions{grid-template-columns:1fr}.consent-banner__actions .consent-text-button{grid-column:auto}.consent-dialog{width:calc(100% - 1rem)}.consent-dialog__actions{display:grid;grid-template-columns:1fr}.consent-dialog__actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.consent-banner,.consent-dialog{scroll-behavior:auto}}
.public-form-lock{display:contents;border:0;margin:0;padding:0;min-inline-size:0}.public-form-noscript{grid-column:1/-1;border-left:4px solid var(--gold);border-radius:8px;background:var(--cream-card);padding:1rem;color:var(--ink);line-height:1.55}.public-form-noscript strong{color:var(--red-deep)}.public-form-noscript p{margin:.35rem 0 0}.public-form-noscript a{text-decoration:underline;text-underline-offset:3px}.consent-dialog-fallback-backdrop{position:fixed;z-index:160;inset:0;background:rgba(36,13,10,.72)}.consent-dialog--fallback{position:fixed;z-index:170;inset:0;margin:auto;box-shadow:0 22px 64px rgba(28,8,6,.42)}.consent-focus-sentinel{position:fixed;width:1px;height:1px;overflow:hidden;opacity:0}
.consent-service__storage{display:grid;gap:.5rem;margin:0 0 .7rem}.consent-storage-detail{border-left:2px solid var(--gold);background:#fffaf1;padding:.55rem .65rem}.consent-storage-detail h4{margin:0 0 .35rem;color:var(--ink);font-size:.78rem}.consent-storage-detail .consent-service__meta{margin:0;font-size:.74rem}@media(max-width:440px){.consent-service__meta{grid-template-columns:1fr;gap:.12rem}.consent-service__meta dd{margin-bottom:.35rem}}
#santa-consent-banner[hidden],#santa-consent-banner [hidden],#santa-consent-dialog[hidden],#santa-consent-dialog [hidden],#santa-consent-fallback-backdrop[hidden]{display:none!important}

/* August 2026, Abnahme-Feinschliff: Ueber-mich-Erfahrungsbloecke, Galerie-Detailansicht und Anfrageseite. */

/* /ueber-mich: Die beiden Erfahrungsbloecke folgen jetzt demselben Bild-Text-Muster wie
   /weihnachtsmann, /nikolaus und /familien: Ueberschrift mittig ueber beiden Spalten,
   Bild als schmale Portraitspalte, Fliesstext linksbuendig daneben. */
.page-ueber-mich .page-component--erfahrung-familien .image-text,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text{max-width:880px;grid-template-rows:auto auto auto 1fr;align-items:center;column-gap:2.5rem;row-gap:0}
.page-ueber-mich .page-component--erfahrung-familien .image-text{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}
.page-ueber-mich .page-component--erfahrung-familien .image-text>div,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div{display:contents}
.page-ueber-mich .page-component--erfahrung-familien .image-text figure,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text figure{grid-row:3/5;width:100%;max-width:none;align-self:center;margin:0}
.page-ueber-mich .page-component--erfahrung-familien .image-text figure{grid-column:1}
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text figure{grid-column:2}
.page-ueber-mich .page-component--erfahrung-familien .image-text .eyebrow,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text .eyebrow{grid-column:1/-1;grid-row:1;justify-content:center}
.page-ueber-mich .page-component--erfahrung-familien .image-text h2,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text h2{grid-column:1/-1;grid-row:2;justify-self:center;width:100%;margin:.25rem auto 1.25rem;text-align:center}
.page-ueber-mich .page-component--erfahrung-familien .image-text .lede{grid-column:2;grid-row:3;max-width:none;margin:0 0 1rem}
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text .lede{grid-column:1;grid-row:3;max-width:none;margin:0 0 1rem}
.page-ueber-mich .page-component--erfahrung-familien .image-text>div>p:not(.lede){grid-column:2;grid-row:4;margin:0}
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>p:not(.lede){grid-column:1;grid-row:4;margin:0}
.page-ueber-mich .page-component--erfahrung-familien .image-text>div>.text-link,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>.text-link{grid-row:5;margin-top:1rem}
.page-ueber-mich .page-component--erfahrung-familien .image-text>div>.text-link{grid-column:2}
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>.text-link{grid-column:1}
/* Abnahme August 2026: In der schmalen Textspalte der beiden Erfahrungsbloecke wirkte der
   globale Zeilenabstand von 1.65 zu luftig. Der kompaktere Wert gilt bewusst nur hier und
   bleibt mit 1.5 auf dem von WCAG 1.4.8 empfohlenen Mindestzeilenabstand. */
.page-ueber-mich .page-component--erfahrung-familien .image-text .lede,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text .lede,
.page-ueber-mich .page-component--erfahrung-familien .image-text>div>p:not(.lede),
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>p:not(.lede){line-height:1.5}
@media(max-width:700px){
  .page-ueber-mich .page-component--erfahrung-familien .image-text,
  .page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text{grid-template-rows:auto auto auto auto auto}
  .page-ueber-mich .page-component--erfahrung-familien .image-text figure,
  .page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text figure{grid-column:1;grid-row:3;width:min(280px,100%);margin:0 auto 1.25rem}
  .page-ueber-mich .page-component--erfahrung-familien .image-text .lede,
  .page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text .lede{grid-column:1;grid-row:4;margin:0 auto 1rem}
  .page-ueber-mich .page-component--erfahrung-familien .image-text>div>p:not(.lede),
  .page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>p:not(.lede){grid-column:1;grid-row:5;margin:0}
  .page-ueber-mich .page-component--erfahrung-familien .image-text>div>.text-link,
  .page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>.text-link{grid-column:1;grid-row:6}
}

/* Galerie-Detailansicht: schlanker Goldrahmen wie im Uebersichtsraster statt breitem
   Goldblock. Das Bild bestimmt die Rahmengroesse, dadurch entsteht kein heller
   Leerstreifen mehr neben Fotos mit abweichendem Seitenverhaeltnis. */
.lightbox__frame{position:relative;display:inline-block;max-width:min(88vw,620px);border:1px solid var(--gold);border-radius:5px;background:var(--cream-card);padding:8px;box-shadow:0 18px 42px rgba(20,4,3,.45)}
.lightbox__frame img{display:block;width:auto;height:auto;max-width:100%;max-height:72vh;border-radius:2px;background:transparent;object-fit:contain}
.lightbox__caption{max-width:min(88vw,620px)}
@media(max-width:560px){.lightbox__frame{padding:6px}.lightbox__frame img{max-height:64vh}}

/* /termin-anfragen: Der Sammelrahmen "Auftritt und Ort" entfaellt. "Auftritt" und "Ort"
   stehen jetzt gleichrangig neben "Eure Kontaktdaten", mit identischer Rahmen- und
   Beschriftungsoptik und gleichmaessigen Abstaenden. */
.booking-form-public .booking-event{display:grid;gap:1.25rem;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:0;min-inline-size:0}
.booking-form-public .booking-contact,.booking-form-public .booking-event>fieldset{padding:1.15rem 1.25rem}
.booking-form-public .booking-event>fieldset{margin:0}
.booking-form-public .booking-event>.booking-address{margin-top:0}
.booking-form-public .booking-event>.invoice-address-toggle{margin-top:-.5rem;padding-left:.25rem}
.booking-contact legend,.booking-event>fieldset>legend{color:var(--red-deep);font-size:.95rem}
.booking-form-public #windows{border-color:var(--frame);background:#fffdf9}
.booking-form-public #windows>legend{font-size:.82rem;font-weight:700}

/* Consent: Der globale Elementstil footer{} (dunkelroter Seitenfuss) trifft auch den
   Dialogfuss .consent-dialog__footer. Dadurch stand im hellen Einstellungsdialog ein
   dunkler Block mit Seitenfuss-Innenabstand, in dem Links und Schaltflaechen nicht mehr
   lesbar waren. Der Dialogfuss wird deshalb wieder auf die helle Dialogflaeche gesetzt. */
.consent-dialog__footer{background:transparent;color:var(--ink);padding:1rem 0 0;text-align:left}
@media(min-width:761px){.consent-dialog__footer{flex-direction:row}}
/* Rechtstext-Links: im Banner auf dunkler, im Dialog auf heller Flaeche. */
.consent-banner__links{gap:.5rem;color:#fff;font-size:.8rem;font-weight:600}
.consent-banner__links a{color:#fff;text-decoration-color:var(--gold-light);text-decoration-thickness:.09em;text-underline-offset:3px}
.consent-banner__links a:hover{color:var(--gold-light);text-decoration-color:var(--gold-light)}

/* Hauptnavigation, Untermenue per Maus: Zwischen Ausloeser und Untermenue liegt ein Abstand von
   .4rem. Ohne Bruecke verlaesst der Zeiger auf dem Weg nach unten kurz die Flaeche, das Menue
   wuerde flackern. Die Bruecke ist absolut positioniert und damit kein Grid-Element, das Layout
   bleibt unveraendert. Nur fuer Zeigegeraete, auf Touch bleibt es beim Antippen. */
@media(min-width:981px) and (hover:hover) and (pointer:fine){
  .navigation-dropdown[open]>.navigation-dropdown-menu::before{position:absolute;top:-.4rem;right:0;left:0;height:.4rem;content:""}
}
.consent-banner__links span[aria-hidden]{color:var(--gold-light)}
.consent-banner a:focus-visible,.consent-banner button:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
.consent-dialog__footer>p{margin:0;color:var(--red-deep);font-size:.8rem;font-weight:600}
.consent-dialog__footer>p a{color:var(--red-deep);text-decoration-color:var(--gold);text-decoration-thickness:.09em;text-underline-offset:3px}
.consent-dialog__footer>p a:hover{color:var(--red);text-decoration-color:var(--red)}
.consent-dialog__footer>p span[aria-hidden]{color:var(--muted)}
/* Schaltflaechen: In Banner und Dialog identische Farbrollen. Zustimmen und Ablehnen sind
   bewusst gleich gestaltet, damit keine der beiden Optionen optisch bevorzugt wirkt. */
.consent-banner .button,.consent-dialog .button,.consent-dialog__actions .consent-text-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:10px;background:var(--red);color:#fff;padding:.55rem .9rem;font-size:.76rem;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,translate .18s ease}
.consent-banner .button:hover,.consent-dialog .button:hover,.consent-dialog__actions .consent-text-button:hover{translate:0 -2px;border-color:var(--gold-light);background:var(--red-hover);color:#fff;text-decoration:none}
.consent-dialog .button:focus-visible,.consent-dialog .consent-text-button:focus-visible,.consent-dialog__close:focus-visible{outline:3px solid var(--red-deep);outline-offset:3px}
.consent-banner__actions .consent-text-button:hover,.consent-text-button--standalone:hover,.footer-consent-button:hover{color:#fff;text-decoration-thickness:.12em}
.consent-text-button--standalone:hover,.footer-consent-button:hover{color:var(--red-hover)}
.consent-dialog__close:hover{border-color:var(--frame);background:var(--cream-deep);color:var(--red)}
@media(max-width:760px){.consent-dialog__actions .consent-text-button{flex:1 1 12rem}}
@media(max-width:440px){.consent-dialog__actions .consent-text-button{width:100%}}
@media(prefers-reduced-motion:reduce){.consent-banner .button:hover,.consent-dialog .button:hover,.consent-dialog__actions .consent-text-button:hover{translate:none}}

/* Ueber mich, Erfahrungsbloecke: Der Text stand mittig neben dem hohen Bild und damit weit
   unter der Ueberschrift. Er beginnt jetzt direkt unter der Ueberschrift. */
.page-ueber-mich .page-component--erfahrung-familien .image-text>div>*,
.page-ueber-mich .page-component--erfahrung-veranstaltungen .image-text>div>*{align-self:start}
