.booking-kicker{color:#b40d20;font-weight:750}.booking-page{max-width:1000px;padding-bottom:70px}.booking-notice{padding:24px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;background:#f6f6f7;margin:0 0 32px}.booking-notice h2{font-size:25px;margin-top:0}.booking-page p{line-height:1.75}.booking-form fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:24px;margin:30px 0}.booking-form legend{font-size:23px;font-weight:750;padding:0 10px}.booking-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.booking-slot{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid #8b8b91;border-radius:9px;cursor:pointer;background:#fff}.booking-slot:has(input:checked){border-color:#b40d20;background:#fff0f2;box-shadow:0 0 0 1px #b40d20}.booking-slot>span>span{display:block;margin-top:4px;font-size:14px}.booking-slot input{width:18px;height:18px;flex-shrink:0;accent-color:#b40d20}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-form label{font-weight:650}.booking-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){display:block;width:100%;min-width:0;box-sizing:border-box;background:#fff;color:#17181b;border:1px solid #77777d;border-radius:7px;padding:13px;font:inherit;margin:8px 0 20px}.booking-form textarea{resize:vertical}.booking-form .booking-slot input{margin:0}.booking-small{font-size:14px}.booking-privacy{padding:24px;background:#f6f6f7;border-radius:12px}.booking-privacy h3{margin-top:0;font-size:22px}.booking-privacy p{font-size:14px}.booking-page .button{white-space:normal;text-align:left}.booking-page button:disabled{opacity:.6;cursor:not-allowed}.booking-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-page [hidden]{display:none!important}.booking-page :is(input,select,textarea,button,a):focus-visible{outline:3px solid #b40d20;outline-offset:4px}@media(max-width:800px){.booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.booking-grid{grid-template-columns:1fr;gap:0}.booking-form fieldset{padding:20px 14px}.booking-slot{padding:12px 9px;gap:7px}.booking-form legend{font-size:20px}.booking-form .button{width:100%}}

.booking-form label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:10px}.booking-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:#b40d20}

.kk-slot-picker{min-width:0}.kk-slot-table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;font-size:16px}.kk-slot-table caption{text-align:left;font-size:14px;color:#52525a;margin-bottom:12px}.kk-slot-table th,.kk-slot-table td{padding:12px;border-bottom:1px solid #dddde2;text-align:left;vertical-align:middle}.kk-slot-table th{width:45%;font-weight:650}.kk-slot-table td{display:flex;flex-wrap:wrap;gap:8px}.kk-slot-picker .kk-slot-choice{display:inline-flex;align-items:center;gap:9px;border:1px solid #96969d;border-radius:8px;background:#fff;padding:12px 14px;cursor:pointer;font-weight:600;margin:0;line-height:1.4}.kk-slot-picker .kk-slot-choice:has(input:checked){border-color:#b40d20;box-shadow:0 0 0 1px #b40d20;background:#fff0f2}.kk-slot-picker .kk-slot-choice:focus-within{outline:3px solid #b40d20;outline-offset:3px}.kk-slot-picker .kk-slot-choice input[type=radio]{appearance:auto;display:block;width:18px;height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#b40d20}.kk-slot-picker .kk-slot-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.kk-slot-picker .kk-slot-personal{margin-top:12px}@media(max-width:540px){.kk-slot-table th,.kk-slot-table td{padding:12px 5px}.kk-slot-table th{font-size:14px;width:42%}.kk-slot-picker .kk-slot-choice{padding:10px 8px;font-size:14px}.kk-slot-table td{gap:7px}}

.kk-slot-picker .kk-slot-blocked{background:#eeeef1;border-color:#c5c5cc;color:#595960;cursor:not-allowed;box-shadow:none}.kk-slot-blocked small{display:block;font-size:12px;font-weight:400;margin-top:3px}.kk-slot-blocked input{cursor:not-allowed}

#kontaktformular .kk-contact-privacy{margin-top:16px;max-width:900px;color:#55565e;font-size:14px;line-height:1.65}#kontaktformular .kk-contact-privacy p{font-size:14px;line-height:1.65;margin:0 0 12px}#kontaktformular .kk-contact-privacy-details{border:0;border-top:1px solid #dddde2;padding:12px 0;margin:0;background:transparent}#kontaktformular .kk-contact-privacy-details summary{font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;line-height:1.6}#kontaktformular .kk-contact-privacy-details summary:focus-visible{outline:3px solid #b40d20;outline-offset:4px}#kontaktformular .kk-contact-privacy-details[open] summary{margin-bottom:14px}#kontaktformular .kk-contact-privacy a{text-decoration:underline;text-underline-offset:3px}
