/* Version 8 · A family adventure with a prominent, integrated campaign. */
:root{--green:#c6dfad;--cream:#faf7da;--ink:#173d29;--c-ink:#173d29;--c-ink-soft:#3c553b;--line:#88a772}
body{background:var(--cream)}.nav,.nav.is-scrolled{background:#faf7daf5;border-bottom-color:#c4d4b5;box-shadow:none}.nav__logo img{height:40px}.nav__menu ul{gap:23px}.nav__menu a{font-size:1rem}
.welcome{background:#edf3e4;padding:132px 0 72px;isolation:isolate}.welcome::before{display:none}.welcome::after{display:block;left:auto;right:-10%;top:90px;bottom:auto;transform:rotate(-6deg);width:58%;height:83%;background:#c6dfad;border-radius:45% 12% 8% 40%;border:0;opacity:1;z-index:-1}.welcome__grid{grid-template-columns:1.06fr 1fr;gap:54px;align-items:center}.welcome__copy{position:relative;z-index:2}.welcome .eyebrow{background:none;border:0;padding:0;color:#345b2c;font-size:1rem;letter-spacing:.1em}.welcome h1{font-size:clamp(2.8rem,4.15vw,4rem);margin:15px 0 18px;line-height:1.07}.welcome__lead{font-size:1rem;line-height:1.75;max-width:480px}.welcome__actions{margin-top:20px}.welcome__actions .btn{min-height:54px;border-radius:16px;font-size:1rem}.welcome__facts{font-size:1rem;margin-top:19px}.welcome__questions{font-size:1rem;margin-top:10px}.intro-media{position:relative;z-index:1;min-width:0}.intro-film{aspect-ratio:1.03;border:8px solid #faf7da;border-radius:100px 28px 100px 28px;box-shadow:0 20px 45px #294c2520;transform:rotate(1.5deg)}.show-video{object-position:50% 50%}.intro-film button{transform:rotate(-1.5deg);left:20px;bottom:18px}.film-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:1rem;color:#254a25;margin:20px 10px 0}.film-caption span{font-weight:700}.film-caption a{color:inherit}.jungle-leaves{position:absolute;width:230px;height:auto;right:-34px;top:68px;z-index:2;pointer-events:none;transform:rotate(10deg);opacity:.9}.city-welcome .jungle-leaves{width:205px}.city-welcome h1{font-size:clamp(2.7rem,4vw,3.8rem)}.city-next{font-size:1rem;padding:10px 14px;margin-top:12px;border-radius:0 14px 14px 0;background:#faf7da}
/* The complete coupon is one large, clickable part of the booking block. */
.welcome .family-offer{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:center;position:relative;inset:auto;max-width:none;width:100%;margin:23px 0 0;padding:18px 18px 18px 12px;border:1px solid #98b97f;background:#faf7da;border-radius:20px;color:#173d29;filter:none;box-shadow:0 5px 0 #c8ddb6;text-decoration:none;overflow:visible}.welcome .family-offer::before,.welcome .family-offer::after{content:'';position:absolute;top:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#edf3e4;border:1px solid #98b97f;left:-8px}.welcome .family-offer::after{left:auto;right:-8px}.welcome .family-offer img{display:block;width:100%;max-width:none;height:auto;transform:rotate(-3deg);filter:drop-shadow(0 4px 3px #34251425)}.welcome .family-offer .offer-copy{display:flex;flex-direction:column;gap:5px;color:#173d29;text-align:left}.welcome .family-offer .offer-copy small{display:block;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin:0;color:#476c34}.welcome .family-offer .offer-copy strong{font-family:var(--f-body);font-size:1rem;font-weight:800;line-height:1.4;letter-spacing:-.025em}.welcome .family-offer .offer-copy>span{font-size:1rem;line-height:1.5;color:#3c553b}.family-offer:hover{outline:2px solid #557b3f;outline-offset:3px}
.family-moments{background:#faf7da;padding:70px 0}.family-moments__grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px;align-items:center}.family-moments__photo{position:relative;max-width:360px;padding:10px;background:#faf7da;border:1px solid #bbcea8;border-radius:26px;box-shadow:0 12px 30px #24422112;transform:rotate(-3deg)}.family-moments__photo img{width:100%;height:315px;object-fit:cover;object-position:50% 55%;border-radius:18px}.family-moments__photo>span{display:block;text-align:center;font-family:Asterix,Montserrat,sans-serif;font-size:1.1rem;padding:10px 3px 5px;color:#244a2a}.family-moments h2{font-size:clamp(1.75rem,3vw,2.6rem);margin:12px 0 18px;max-width:600px}.family-moments__copy>p:not(.eyebrow){font-size:1rem;line-height:1.85;max-width:570px;color:#3c553b}.family-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0 20px}.family-facts>div{padding-left:16px;border-left:3px solid #b4d390}.family-facts strong{display:block;font-family:Asterix,Montserrat,sans-serif;font-weight:400;font-size:1.6rem;color:#2f5d29}.family-facts span{display:block;font-size:1rem;line-height:1.7;margin-top:5px;color:#3c553b}.family-link{font-size:1rem;font-weight:700;color:#254a2a;text-underline-offset:5px}
.tour{background:#e1edcf;border-top:1px solid #bbd1a4}.tour__controls{background:#faf7da;border-color:#9fb989;border-radius:22px}.tour__date{background:#faf7da;border-color:#b8cda5;border-radius:20px}.tour__date-block{background:#d1e5b8;border-radius:14px}.tour__buy{border-radius:14px!important}.tour__empty{background:#faf7da}.show{background:#faf7da}.show__media{border:8px solid #d1e5b8;border-radius:70px 24px 70px 24px}.feature{background:#edf3e4;border-color:#c4d5b3;border-radius:18px}.feature__icon{background:#c6dfad}.helden{background:#e1edcf}.held{background:#faf7da;border-color:#b3ca9f;border-radius:24px;overflow:hidden;box-shadow:0 5px 0 #bbd1a480}.held__body{background:#faf7da;padding:22px 18px}.held__photo{border-radius:20px 20px 65px 0}.held h3{font-family:Asterix,Montserrat,sans-serif;font-weight:400;font-size:1.65rem}.held__tag{background:#d8e9c3;color:#254a2a;border-radius:12px}.gallery{background:#c6dfad}.gallery__item{border:5px solid #faf7da;border-radius:20px;box-shadow:0 8px 20px #24422113}.parent-guide{background:#faf7da}.parent-guide .eltern__faq{gap:12px 20px}.eltern__faq details{border:1px solid #afc79b;border-radius:16px;background:#f2f6e9;padding:0 20px}.eltern__faq summary{font-size:1rem;padding:20px 0}.eltern__faq details[open]{background:#e1edcf;box-shadow:none}.eltern__faq details p,.eltern__faq details ul{padding-bottom:20px}.faq-help{background:#c6dfad;border-color:#86a76d;border-radius:24px}.geburtstag__card,.city-geburtstag__card{background:#d0e4b7;border-color:#aac690;border-radius:28px}.newsletter__card{background:#e1edcf;border-color:#9ebc82;border-radius:28px}.city-tour{background:#e1edcf}.city-about,.city-ausflug{background:#faf7da}.city-ausflug__card{background:#e9f1dd;border-color:#afc79b}.city-nearby,.city-index,.footer,.footer__bar{background:#c6dfad}.reviews__link{background:#faf7da;border-color:#a7c18f}.booking-dock{border-color:#99b881;border-radius:22px;background:#faf7da}.booking-dock .dock-ticket{border-radius:14px!important}
@media(min-width:768px) and (max-width:1100px){.welcome__grid{gap:30px}.welcome__actions{flex-direction:row}.welcome h1{font-size:2.7rem}.welcome .family-offer{gap:12px;padding:14px 12px}.welcome .family-offer .offer-copy strong{font-size:1rem}.family-moments__grid{gap:35px}.family-facts{gap:8px}.family-facts>div{padding-left:10px}.jungle-leaves{width:150px}}
@media(max-width:767px){
 .nav__inner{height:70px}.nav__logo img{height:31px}.welcome,.city-welcome{height:100svh;min-height:560px;padding:0;background:#143525;isolation:isolate}.welcome__grid{display:flex;grid-template-columns:none;height:100%;padding:130px var(--pad) 87px;position:static;align-items:flex-end;gap:0}.welcome::before{display:block;z-index:1;inset:0;width:auto;height:auto;border:0;border-radius:0;transform:none;opacity:1;background:linear-gradient(180deg,#09201635 0%,#09201610 18%,#09201665 34%,#092016ee 65%,#092016fc 100%)}.welcome::after,.jungle-leaves,.city-welcome .jungle-leaves,.film-caption{display:none}.welcome__copy{z-index:3;width:100%;text-shadow:none}.welcome .eyebrow{color:#faf7da;font-size:1rem;letter-spacing:.08em;background:none;padding:0;margin:0}.welcome h1,.city-welcome h1{font-size:clamp(1.8rem,8.3vw,2.15rem);line-height:1.06;margin:10px 0 12px;color:#faf7da;max-width:440px}.welcome__lead,.city-welcome .welcome__lead{font-size:1rem;line-height:1.65;color:#faf7da}.welcome__actions,.city-welcome .welcome__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.welcome__actions a.btn{min-height:50px;font-size:1rem;padding:12px 8px;border-radius:15px}.welcome__facts{color:#faf7da;font-size:1rem;margin-top:12px}.welcome__questions{display:none}.intro-media{position:absolute;inset:0;z-index:auto;pointer-events:none}.intro-film{position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;aspect-ratio:auto;transform:none;overflow:hidden}.show-video{height:100%;object-fit:cover;object-position:center 30%}.welcome #hero-video-toggle{top:86px;left:auto;right:var(--pad);bottom:auto;transform:none;min-height:34px;padding:8px 12px;font-size:1rem;pointer-events:auto}.welcome .family-offer{position:relative;inset:auto;z-index:3;grid-template-columns:1.1fr 1fr;gap:14px;width:100%;padding:12px 15px 12px 10px;margin:15px 0 0;border-radius:16px;background:#faf7da;border:1px solid #dfedce;box-shadow:0 4px 0 #6f995749;filter:none;pointer-events:auto}.welcome .family-offer::before,.welcome .family-offer::after{background:#153c28;border-color:#dfedce}.welcome .family-offer img{width:100%;max-width:190px;display:block;transform:rotate(-3deg)}.welcome .family-offer .offer-copy{display:flex;color:#173d29;gap:4px}.welcome .family-offer .offer-copy small{font-size:1rem;display:block;color:#476c34}.welcome .family-offer .offer-copy strong{font-size:1rem;line-height:1.4}.welcome .family-offer .offer-copy>span{display:block;font-size:1rem;line-height:1.4;color:#3c553b}.city-welcome .breadcrumb{font-size:1rem;margin-bottom:7px}.city-next{font-size:1rem;padding:8px 11px;margin-top:9px;background:#faf7da12;color:#faf7da;border-color:#ff6b1a}.city-welcome .family-offer{margin-top:12px}.family-moments{padding:42px 0}.family-moments__grid{display:flex;flex-direction:column-reverse;gap:30px;align-items:stretch}.family-moments h2{font-size:1.7rem;margin:9px 0 15px}.family-moments__copy>p:not(.eyebrow){font-size:1rem;line-height:1.8}.family-moments__photo{max-width:none;width:78%;align-self:center;border-radius:20px;padding:8px}.family-moments__photo img{height:235px;border-radius:14px;object-position:center 57%}.family-moments__photo>span{font-size:1rem;padding:8px 0 3px}.family-facts{gap:9px;margin:20px 0}.family-facts>div{padding-left:9px;border-width:2px}.family-facts strong{font-size:1.24rem}.family-facts span{font-size:1rem;line-height:1.6}.family-link{font-size:1rem}.tour,.show,.helden,.gallery,.parent-guide{padding:44px 0}.tour__controls{padding:18px;border-radius:18px}.parent-guide .eltern__faq{display:grid;grid-template-columns:1fr;gap:10px}.eltern__faq details{padding:0 16px;border-radius:14px}.eltern__faq summary{font-size:1rem;padding:17px 0}.held h3{font-size:1.3rem}.held__body{padding:18px 12px}.held__photo{border-radius:18px 18px 45px 0}.gallery__item{border-width:3px}.booking-dock{border-radius:18px 18px 0 0}.faq-help{padding:24px 20px}
}
@media(max-width:767px) and (max-height:700px){.welcome__grid{padding-bottom:78px;padding-top:128px}.welcome h1,.city-welcome h1{font-size:1.65rem;margin:7px 0}.welcome .eyebrow{font-size:1rem}.welcome__lead,.city-welcome .welcome__lead{font-size:1rem;line-height:1.5}.welcome .family-offer{margin-top:11px;padding:8px 12px 8px 8px;gap:10px;grid-template-columns:1fr 1fr}.welcome .family-offer .offer-copy small{font-size:1rem}.welcome .family-offer .offer-copy strong{font-size:1rem}.welcome .family-offer .offer-copy>span{font-size:1rem}.welcome__actions,.city-welcome .welcome__actions{margin-top:11px;gap:8px}.welcome__actions a.btn{min-height:46px;font-size:1rem;padding:9px 5px}.welcome__facts{font-size:1rem;margin-top:9px}.city-next{font-size:1rem;margin-top:6px;padding:6px 9px}.city-welcome .breadcrumb{font-size:1rem;margin-bottom:4px}.city-welcome .family-offer{margin-top:9px}}
.family-moments h2{color:#173d29}

/* Version 9: show information first; a persistent booking shortcut. */
body{padding-bottom:112px}
.booking-dock{position:fixed;bottom:18px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:20px;padding:8px 8px 8px 22px;border-radius:23px;box-shadow:0 8px 35px #193a2530;z-index:110}
body .booking-dock a.dock-ticket{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px;min-width:300px;min-height:66px;padding:12px 28px;border-radius:17px!important;background:#ff6b1a;color:#183023!important}
.dock-ticket__label{font-size:1rem;font-weight:800;line-height:1.25;text-align:center}.dock-ticket small{font-size:1rem;font-weight:600;line-height:1.2;text-align:center}
.consent-open .booking-dock{visibility:visible}
.cookie-banner{bottom:116px;max-height:calc(100dvh - 140px)}
#tour,#termine{scroll-margin-top:18px}
@media(max-width:767px){
 body{padding-bottom:110px}
 .booking-dock{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:0;border:0;border-radius:18px;transform:none;display:block;box-shadow:0 5px 25px #112c2440;background:none;backdrop-filter:none}
 .booking-dock>a:not(.dock-ticket){display:none}
 body .booking-dock a.dock-ticket{width:100%;min-width:0;min-height:64px;padding:12px 18px;gap:4px;border:1px solid #ffd7bd;border-radius:18px!important;box-shadow:none}
 .dock-ticket__label{font-size:1rem}.dock-ticket small{font-size:1rem}
 .welcome__grid{padding-bottom:100px}
 .cookie-banner{bottom:calc(92px + env(safe-area-inset-bottom));max-height:calc(100dvh - 118px - env(safe-area-inset-bottom))}
}
@media(max-width:360px){.dock-ticket__label{font-size:1rem}.booking-dock{left:10px;right:10px}}

/* Version 10: new circular campaign artwork and prominent parent guide. */
.welcome .family-offer{grid-template-columns:160px 1fr;padding:14px 22px 14px 16px;gap:24px}
.welcome .family-offer img{width:160px;max-width:100%;height:auto;transform:none;filter:drop-shadow(0 4px 6px #66340020)}
.welcome .family-offer .offer-copy strong{font-size:1rem}
.family-link{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:58px;max-width:100%;padding:16px 24px;margin-top:8px;border:2px solid #173d29;border-radius:15px;background:#173d29;color:#faf7da;font-size:1rem;font-weight:800;line-height:1.5;text-decoration:none;box-shadow:0 5px 0 #bfd5a7}
.family-link:hover{background:#295d3b;border-color:#295d3b;color:#faf7da}
.family-link:focus-visible{outline:3px solid #ff6b1a;outline-offset:5px}
@media(max-width:1100px) and (min-width:768px){.welcome .family-offer{grid-template-columns:130px 1fr;padding:12px;gap:16px}.welcome .family-offer img{width:130px}.welcome .family-offer .offer-copy strong{font-size:1rem}}
@media(max-width:767px){
 .welcome .family-offer{grid-template-columns:108px 1fr;padding:10px 16px 10px 12px;gap:18px}
 .welcome .family-offer img{width:108px;max-width:100%;transform:none}
 .welcome .family-offer .offer-copy strong{font-size:1rem}
 .welcome .family-offer .offer-copy small{font-size:1rem}
 .welcome .family-offer .offer-copy>span{font-size:1rem}
 .family-link{display:flex;width:100%;min-height:62px;padding:15px 18px;font-size:1rem;margin-top:16px}
}
@media(max-width:767px) and (max-height:700px){
 .welcome .family-offer{grid-template-columns:80px 1fr;padding:7px 13px 7px 9px;gap:14px}
 .welcome .family-offer img{width:80px}
 .welcome .family-offer .offer-copy strong{font-size:1rem}
 .welcome .family-offer .offer-copy small{font-size:1rem}
 .welcome .family-offer .offer-copy>span{font-size:1rem}
}
