.booking-hero{padding:75px max(42px,calc((100vw - 1356px)/2));background:linear-gradient(135deg,#063d1a,#0b5927);color:#fff}.booking-hero>div{max-width:850px}.booking-hero h1{font-size:clamp(45px,5.5vw,75px);line-height:.98;letter-spacing:-.055em;margin:20px 0}.booking-hero h1 span{color:#b2dc2f}.booking-hero p{max-width:690px;color:#d2dfd6;font-size:18px;line-height:1.7}.booking-layout{padding:80px max(42px,calc((100vw - 1356px)/2));display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;background:#f3f5f4}.booking-layout>*{min-width:0}.booking-info,.booking-panel{border:1px solid #dfe4e2;border-radius:19px;background:#fff;box-shadow:0 15px 45px rgba(20,35,28,.08)}.booking-info{align-self:start;padding:32px}.booking-info h2{margin-top:0;font-size:28px}.booking-info ul{list-style:none;padding:0;display:grid;gap:16px}.booking-info li{padding-bottom:16px;border-bottom:1px solid #e8ece9}.booking-info b,.booking-info span{display:block}.booking-info b{color:#0b5927}.booking-info span{margin-top:4px;color:#68717d;font-size:12px}.privacy-note{margin-top:25px;padding:15px;border-radius:11px;background:#eef4e9;color:#556158;font-size:11px;line-height:1.6}.booking-panel{padding:34px}.booking-step{display:none}.booking-step.active{display:block}.step-head{display:flex;align-items:flex-start;gap:15px;margin-bottom:28px}.step-number{display:grid;flex:0 0 36px;height:36px;place-items:center;border-radius:10px;background:#0b5927;color:#fff;font-weight:850}.step-head h2{margin:0;font-size:25px}.step-head p{margin:5px 0 0;color:#68717d;font-size:12px}.booking-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-option,.time-slot{border:1px solid #d9e0dc;background:#fff;border-radius:13px;padding:18px;text-align:left;cursor:pointer;color:#132033}.booking-option:hover,.booking-option.selected,.time-slot:hover,.time-slot.selected{border-color:#0b5927;background:#edf5ef}.booking-option b,.booking-option span{display:block}.booking-option span{margin-top:5px;color:#68717d;font-size:11px}.booking-step>label[for="booking-date"]{display:block;margin-bottom:8px;color:#172235;font-size:12px;font-weight:800}.booking-step>label[for="booking-date"] b{display:block}.booking-step>#booking-date{display:block;width:100%;max-width:380px;min-height:52px;margin:0 0 18px;padding:0 16px;border:1px solid #ccd7d1;border-radius:13px;background:#f8faf9;color:#172235;font:inherit;font-size:14px;font-weight:700;box-shadow:0 2px 7px rgba(20,35,28,.04);color-scheme:light;cursor:pointer}.booking-step>#booking-date:hover,.booking-step>#booking-date:focus{border-color:#0b5927;background:#fff;outline:3px solid rgba(11,89,39,.1)}.booking-step>#booking-date::-webkit-calendar-picker-indicator{width:22px;height:22px;padding:5px;border-radius:7px;background-color:#e6f1e8;cursor:pointer}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form label{display:grid;gap:7px;font-size:12px;font-weight:750}.booking-form .wide{grid-column:1/-1}.booking-form input,.booking-form textarea{width:100%;padding:13px;border:1px solid #ccd5d0;border-radius:10px;font:inherit}.booking-form textarea{min-height:90px;resize:vertical}.booking-check{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:9px!important;font-weight:500!important;line-height:1.5}.booking-check input{width:auto;margin-top:3px}.booking-check a{color:#0b5927;text-decoration:underline}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.time-slot{min-width:0}.booking-actions{display:flex;justify-content:space-between;gap:10px;margin-top:28px}.booking-actions .button[disabled]{opacity:.45;cursor:not-allowed}.booking-back{border:0;background:transparent;color:#52605a;font-weight:750;cursor:pointer}.booking-summary{padding:20px;border-radius:13px;background:#f1f5f2;line-height:1.8}.booking-summary b{color:#0b5927}.booking-success{text-align:center;padding:30px}.booking-success .success-mark{display:grid;width:65px;height:65px;margin:0 auto 20px;place-items:center;border-radius:50%;background:#e5f2e8;color:#0b5927;font-size:30px}.booking-success p{color:#68717d;line-height:1.7}.preview-flag{display:inline-flex;margin-bottom:14px;padding:7px 10px;border-radius:99px;background:#fff0cf;color:#7b5100;font-size:9px;font-weight:850}@media(max-width:1100px){.booking-layout{grid-template-columns:1fr}.booking-info{display:none}}@media(max-width:700px){.booking-hero,.booking-layout{padding:60px 20px}.booking-panel,.booking-info{padding:23px}.booking-types,.booking-form{grid-template-columns:1fr}.booking-form .wide{grid-column:1}.slots{grid-template-columns:1fr 1fr}.booking-step>#booking-date{max-width:none}}
#booking-modes{margin:14px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}#booking-modes .modes-label{width:100%;margin-bottom:2px;font-size:12px;font-weight:800;color:#172235}.mode-option{border:1px solid #d9e0dc;background:#fff;border-radius:11px;padding:10px 15px;cursor:pointer;font:inherit;color:#132033}.mode-option:hover,.mode-option.selected{border-color:#0b5927;background:#edf5ef;font-weight:600}#booking-plz-wrap{margin:6px 0 4px;display:grid;gap:5px;max-width:300px}#booking-plz-wrap label b{display:block;font-size:12px;font-weight:800;color:#172235}#booking-plz-wrap .hint{font-weight:500;color:#68717d;font-size:11px;line-height:1.5}#booking-plz{padding:12px 13px;border:1px solid #ccd5d0;border-radius:10px;font:inherit}.slots .travel-note{grid-column:1/-1;font-size:12px;color:#68717d;margin:0 0 4px}.booking-panel.offline .booking-types::after{content:'Die Live-Buchung wird in Kürze aktiviert. Bitte nutzen Sie bis dahin das Kontaktformular.';display:block;grid-column:1/-1;color:#68717d;font-size:13px;line-height:1.6}.button.ghost{background:transparent;border:1px solid #0b5927;color:#0b5927}
