.modal__overlay{position:fixed;inset:0;background:rgba(24,30,44,.6);display:flex;align-items:center;justify-content:center;padding:var(--space-sm);z-index:1000}.modal__frame{width:100%;max-width:648px;background:var(--bg-primary);border-radius:20px;padding:var(--space-sm)}.modal__panel{position:relative;width:100%;max-height:90vh;overflow-y:auto;background:var(--bg-section);border-radius:var(--radius);padding:24px}.modal__close{position:absolute;top:24px;right:24px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:var(--bg-primary);color:var(--text-light);cursor:pointer}.modal__close:hover{color:var(--text-dark)}.input{display:flex;align-items:center;gap:10px;padding:0 20px;background:var(--bg-primary);border-radius:var(--radius);width:100%;box-sizing:border-box}.input--md{height:55px}.input--sm{height:45px;padding:0 16px}.input__field{flex:1 1;border:none;background:transparent;font-size:var(--text-md-fs);font-weight:400;line-height:100%;color:var(--text-dark);outline:none;min-width:0}.input--sm .input__field{font-size:var(--text-sm-fs)}.input__field::placeholder{color:#A9AFBC}.input__icon{flex-shrink:0;display:flex;align-items:center}.date-field{position:relative}.date-field__button{border:none;background:transparent;padding:4px;margin-right:-4px;cursor:pointer;line-height:0;border-radius:6px}.date-field__button:hover svg path{fill:var(--color-blue-primary)}.date-field__picker{position:absolute;right:16px;bottom:8px;width:1px;height:1px;padding:0;border:none;opacity:0;pointer-events:none}.booking-modal__title{font-size:24px;font-weight:600;color:var(--text-dark);margin:0 0 8px;padding-right:32px}.booking-modal__subtitle{font-size:16px;font-weight:400;color:var(--text-light);margin:0 0 24px}.booking-modal__progress{margin-bottom:24px}.booking-modal__progress-label{display:block;font-size:18px;color:var(--text-dark);margin-bottom:12px}.booking-modal__progress-track{height:10px;border-radius:20px;background:#F0F2F8;overflow:hidden}.booking-modal__progress-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,var(--color-blue-primary),var(--color-blue-light));transition:width .2s ease}.booking-modal__divider{border:none;border-top:1px solid #d6dae8;margin:0 0 24px}.booking-modal__course-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.booking-modal__course-title{font-size:24px;font-weight:600;color:var(--text-dark)}.booking-modal__course-subtitle{font-size:16px;font-weight:400;color:var(--text-light);margin-top:4px}.booking-modal__spots-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#EAF0FF;color:var(--color-blue-primary);font-size:16px;font-weight:500;white-space:nowrap}.booking-modal__info-rows{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.booking-modal__info-row{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:400;color:var(--text-light)}.booking-modal__info-row svg{flex-shrink:0}.booking-modal__total{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.booking-modal__kosten{display:flex;flex-direction:column;gap:6px}.booking-modal__kosten-zeile{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:15px;color:var(--text-light)}.booking-modal__kosten-zeile>span:last-child{white-space:nowrap;color:var(--text-dark)}.booking-modal__total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.booking-modal__total-label{font-size:16px;font-weight:500;color:var(--text-dark)}.booking-modal__total-price{font-size:24px;font-weight:700;color:var(--color-blue-primary)}.booking-modal__notice{display:flex;align-items:center;gap:16px;background:#FFFAF0;border:2px solid #f8e6c7;border-radius:var(--radius);padding:16px 20px;margin-bottom:24px}.booking-modal__notice svg{flex-shrink:0}.booking-modal__notice p{margin:0;font-size:16px;line-height:22px;color:#864630}.booking-modal__field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:20px}.booking-modal__field{display:flex;flex-direction:column;gap:8px}.booking-modal__field--full{grid-column:1/-1}.booking-modal__field-label{font-size:14px;font-weight:500;color:var(--text-dark)}.booking-modal .input{background:var(--bg-section);border:1px solid #d6dae8}.booking-modal__secure-notice{display:flex;gap:16px;align-items:flex-start;background:#F1F5FD;border:2px solid #e2ebff;border-radius:var(--radius);padding:20px;margin-bottom:24px}.booking-modal__secure-notice svg{flex-shrink:0}.booking-modal__secure-title{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.booking-modal__secure-text{margin:0;font-size:16px;line-height:22px;color:var(--text-light)}.booking-modal__fine-print{font-size:14px;line-height:22px;color:var(--text-light);text-align:center;margin:0 0 99px}.booking-modal__fine-print a{color:var(--text-light);text-decoration:underline}.booking-modal__actions{display:flex;gap:12px}.booking-modal__actions .btn:first-child{flex:0 0 auto}.booking-modal__actions .btn:last-child{flex:1 1}.booking-modal__course-title--standalone{margin-bottom:20px}.booking-modal__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.booking-modal__section-heading{font-size:24px;font-weight:600;color:var(--text-dark);margin:0 0 24px}.booking-modal__edit-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;color:var(--color-blue-primary);font-size:16px;font-weight:500;cursor:pointer}.booking-modal__payment-methods{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.booking-modal__payment-method{display:flex;align-items:center;gap:16px;width:100%;padding:15px 20px;border:1px solid #d6dae8;border-radius:var(--radius);background:none;cursor:pointer;text-align:left}.booking-modal__payment-method--selected{border:2px solid var(--color-blue-primary);padding:14px 19px}.booking-modal__payment-radio{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1.5px solid #d6dae8;display:flex;align-items:center;justify-content:center}.booking-modal__payment-method--selected .booking-modal__payment-radio{border-color:var(--color-blue-primary)}.booking-modal__payment-radio-dot{width:10px;height:10px;border-radius:50%;background:var(--color-blue-primary)}.booking-modal__payment-label{flex:1 1;font-size:16px;font-weight:500;color:var(--text-dark)}.booking-modal__payment-logos{display:flex;align-items:center;gap:8px;flex-shrink:0}.booking-modal__accepted{display:flex;align-items:center;gap:16px;padding:15px 20px;border:1px solid #d6dae8;border-radius:var(--radius);margin-bottom:24px}.booking-modal__accepted-hint{flex:1 1;margin:0;font-size:16px;font-weight:500;color:var(--text-dark)}.booking-modal__accepted-logos{display:flex;align-items:center;gap:8px;flex-shrink:0}.booking-modal__step--outcome{text-align:center}.booking-modal__title--outcome{font-size:32px;margin:0 0 56px}.booking-modal__step--outcome .booking-modal__course-title,.booking-modal__step--outcome .booking-modal__info-rows,.booking-modal__step--outcome .booking-modal__total{text-align:left}.booking-modal__outcome-badge{display:flex;align-items:center;justify-content:center;margin:0 0 32px}.booking-modal__outcome-title{font-size:24px;font-weight:600;color:var(--text-dark);margin:0 0 16px}.booking-modal__outcome-subtitle{font-size:18px;line-height:20px;font-weight:400;color:var(--text-light);margin:0 auto 24px;max-width:368px}.booking-modal__info-box{display:flex;flex-direction:column;text-align:left;background:#F1F5FD;border:2px solid #e2ebff;border-radius:var(--radius);padding:24px;margin-bottom:49px}.booking-modal__info-box-row{display:flex;gap:24px;align-items:flex-start}.booking-modal__info-box-row+.booking-modal__info-box-row{margin-top:24px;padding-top:24px;border-top:1px solid #d6dae8}.booking-modal__info-box-row svg{flex-shrink:0}.booking-modal__info-box-title{font-size:20px;font-weight:600;color:var(--text-dark);margin-bottom:10px}.booking-modal__info-box-text{font-size:16px;color:var(--text-light)}.booking-modal__fail-notice{display:flex;align-items:center;gap:16px;text-align:left;background:#FFF6F6;border:2px solid #e4afaf;border-radius:var(--radius);padding:16px 20px;margin-bottom:24px}.booking-modal__fail-notice svg{flex-shrink:0}.booking-modal__fail-notice p{margin:0;font-size:16px;line-height:22px;color:#A91C1C}.booking-modal__outcome-actions{display:flex;flex-direction:column;gap:10px}@media (max-width:640px){.booking-modal__course-header{flex-direction:column}.booking-modal__notice{flex-direction:column;align-items:flex-start}.booking-modal__field-grid{grid-template-columns:1fr}}.booking-modal__consent{display:flex;align-items:flex-start;gap:10px;margin-top:4px;margin-bottom:10px;font-size:15px;line-height:1.4;color:var(--text-light);cursor:pointer}.booking-modal__consent input{margin-top:2px;width:18px;height:18px;flex-shrink:0;accent-color:var(--color-blue-primary);cursor:pointer}