/* Version 2.8.6; Changelog: Buchungsdialog im Blau-/Sand-Design mit kompakter mobiler Darstellung. */
.tb-booking-dialog{--tb-blue:var(--navy,#0b2848);--tb-sand:var(--sand,#f6f3eb);--tb-action:var(--orange,#cf421d);width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:0;border-radius:16px;padding:0;background:var(--paper,#fffefb);color:var(--tb-blue);box-shadow:0 24px 90px #061b3a55;font-family:var(--body-font,Georgia,serif);overflow:auto}
.tb-booking-dialog::backdrop{background:#082540aa;backdrop-filter:blur(4px)}
body.tb-dialog-lock{overflow:hidden}
.tb-dialog-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px;background:var(--sky,#e3f3fa);border-bottom:1px solid #cad8e0}
.tb-dialog-head h2{margin:0;font:600 30px/1.15 var(--heading-font,Georgia,serif);color:var(--tb-blue)}
.tb-dialog-eyebrow{display:block;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;color:#425b72}
.tb-dialog-close{border:1px solid #b8cbd8;border-radius:50%;width:38px;height:38px;flex-shrink:0;padding:0;background:#fff;color:var(--tb-blue);font:26px/1 Arial,sans-serif;cursor:pointer}
.tb-dialog-close:hover{background:var(--tb-blue);color:#fff}
.tb-dialog-body{padding:24px 28px 28px}
.tb-form-wrap{max-width:100%;color:var(--navy,#0b2848)}
.tb-booking-summary{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin-bottom:22px;padding:16px 18px;border:1px solid #d5dedf;border-radius:10px;background:var(--sand,#f6f3eb);font-size:14px}
.tb-summary-term{display:flex;flex-wrap:wrap;gap:6px 12px;font-weight:bold;font-size:17px}
.tb-summary-people{color:#425b72;text-align:right}
#tb-summary-package{font-size:13px;grid-column:1 / -1;overflow-wrap:anywhere}
.tb-summary-price{grid-column:1 / -1;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #d7dfe1;padding-top:8px;color:#425b72;font-size:12px}
.tb-summary-price strong{color:var(--navy,#0b2848);font-size:18px}
.tb-form-wrap .tb-steps{margin-bottom:22px;gap:8px}
.tb-form-wrap .tb-step-dot.active,.tb-form-wrap .tb-step-dot.done{background:var(--navy,#0b2848);border-color:var(--navy,#0b2848)}
.tb-form-wrap .tb-step-label.active,.tb-form-wrap .tb-step-label.done{color:var(--navy,#0b2848)}
.tb-form-wrap .tb-field label{color:var(--navy,#0b2848);font-size:14px}
.tb-form-wrap .tb-field input,.tb-form-wrap .tb-field select,.tb-form-wrap .tb-field textarea{font:15px/1.4 Arial,sans-serif;color:var(--navy,#0b2848);border-color:#bbcbd5;border-radius:7px;padding:11px 12px}
.tb-form-wrap .tb-field input:focus,.tb-form-wrap .tb-field select:focus,.tb-form-wrap .tb-field textarea:focus{border-color:var(--navy,#0b2848);box-shadow:0 0 0 3px #0b284815}
.tb-form-wrap .tb-btn{font-size:15px;border-radius:7px!important;padding:11px 20px}
.tb-form-wrap .tb-btn-next,.tb-form-wrap .tb-btn-submit{background:var(--orange,#cf421d)!important;color:#fff}
.tb-form-wrap .tb-btn-back{background:var(--sand,#f6f3eb);color:var(--navy,#0b2848);border:1px solid #cad8e0}
.tb-form-wrap .tb-btn-secondary{padding:10px 12px;border:1px solid #cad8e0;border-radius:7px;color:var(--navy,#0b2848);background:var(--sand,#f6f3eb);cursor:pointer;font-size:14px}
.tb-form-wrap .tb-terms{font-size:13px;color:#334b60;line-height:1.6}
.tb-form-wrap .tb-terms a{color:var(--navy,#0b2848);text-decoration:underline}
.tb-form-wrap .tb-check-field{background:var(--sand,#f6f3eb);font-size:14px}
.tb-form-wrap input[type=checkbox]{accent-color:var(--navy,#0b2848)!important}
.tb-form-wrap .tb-extra-item:hover{border-color:var(--navy,#0b2848);background:var(--sand,#f6f3eb)}
.tb-optional{margin:2px 0 18px;border:1px solid #cad8e0;border-radius:7px;background:var(--sand,#f6f3eb)}.tb-optional>summary{padding:12px 14px;cursor:pointer;color:var(--navy,#0b2848);font-size:14px;font-weight:bold}.tb-optional>summary span{font-weight:normal;font-size:12px}.tb-optional-body{padding:14px;background:var(--paper,#fffefb);border-top:1px solid #cad8e0}.tb-optional-body .tb-field:last-child{margin-bottom:0}
#tb_capacity_info{padding:10px 12px;border-radius:7px;background:#edf2f5;color:#334b60;font-size:14px;line-height:1.5}
#tb_capacity_info[data-state=available]{background:#edf6ee;color:#245535}
#tb_capacity_info[data-state=blocked]{background:#fff1df;color:#713d16}
.tb-availability-retry{padding:0;border:0;background:none;color:var(--navy,#0b2848);text-decoration:underline;font-size:12px;cursor:pointer;margin-bottom:14px}
.tb-success{padding:24px;border-radius:10px;background:var(--sky,#e3f3fa);color:var(--navy,#0b2848);text-align:center}
.tb-booking-dialog .tb-error{scroll-margin-top:110px}
.ui-datepicker{display:none;z-index:2147483647!important;width:290px;padding:12px;background:#fff;border:1px solid #cad8e0;border-radius:10px;box-shadow:0 12px 36px #0b284833;color:#0b2848;font:14px/1.5 Arial,sans-serif}
.ui-datepicker-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.ui-datepicker-title{width:100%;text-align:center;font-weight:bold}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer}.ui-datepicker table{width:100%;border-collapse:collapse}.ui-datepicker td{text-align:center;padding:3px}.ui-datepicker a{display:block;color:inherit;padding:4px;text-decoration:none}.ui-datepicker .ui-state-disabled{opacity:.35}.ui-datepicker .ui-state-active{background:#0b2848;color:#fff;border-radius:4px}
@media(max-width:520px){.tb-booking-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.tb-dialog-head{padding:16px 18px}.tb-dialog-head h2{font-size:25px}.tb-dialog-body{padding:18px}.tb-booking-summary{padding:12px;gap:6px}.tb-summary-term{font-size:15px}.tb-summary-people{font-size:12px}.tb-form-wrap .tb-step-label{display:block;font-size:11px}.tb-form-wrap .tb-row{flex-direction:column;gap:0}.tb-form-wrap .tb-row .tb-field{flex:auto!important}.tb-form-wrap .tb-nav{position:sticky;bottom:-18px;background:var(--paper,#fffefb);padding:12px 0}.tb-form-wrap .tb-extra-desc{max-width:190px}}
