/* Buchungsangebot Registration */
.bookingRegSection{margin-top:11px}
.bookingRegSection.error .bookingRegCalendarWrap,
.bookingRegSection.error .bookingRegSlotsBlock{border-color:#ef4444}
.bookingRegCalendarWrap{background:var(--backgroundColor1,#fff);border:1px solid #e5e7eb;border-radius:11px;padding:11px;margin-top:7px}
.bookingRegCalNav{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:9px;flex-wrap:nowrap}
.contentModal .mobileShoppingCart .contactData .bookingRegCalNavBtn,
.bookingRegCalNavBtn{
    width:29px;
    min-width:29px;
    max-width:29px;
    height:29px;
    min-height:29px;
    padding:0;
    line-height:1;
    flex:0 0 29px;
    background:#f3f4f6;
    border:none;
    border-radius:7px;
    box-shadow:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#374151;
    font-size:13px;
    font-weight:400;
    letter-spacing:normal;
}
.contentModal .mobileShoppingCart .contactData .bookingRegCalNavBtn:hover,
.bookingRegCalNavBtn:hover{
    background:#e5e7eb;
    color:#374151;
    border:none;
    box-shadow:none;
}
.contentModal .mobileShoppingCart .contactData .bookingRegCalNavBtn i,
.bookingRegCalNavBtn i{
    font-size:12px;
    line-height:1;
}
.bookingRegCalTitle{font-size:14px;font-weight:700;min-width:135px;text-align:center;flex:0 1 auto}
.bookingRegCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bookingRegCalDayName{font-size:10px;font-weight:700;text-align:center;color:#9ca3af;padding:1.8px 0 5px}
.bookingRegCalDay{min-height:32px;border-radius:7px;border:1.8px solid transparent;background:#f8fafc;display:flex;align-items:center;justify-content:center;cursor:default;user-select:none}
.bookingRegCalDay--empty{background:transparent;border:none;min-height:0}
.bookingRegCalDay--today{border-color:var(--highlightColor,#2563eb)}
.bookingRegCalDay--offered{background:color-mix(in srgb,#22c55e 14%,#fff);cursor:pointer}
.bookingRegCalDay--offered:hover{background:color-mix(in srgb,#22c55e 22%,#fff)}
.bookingRegCalDay--selected{background:color-mix(in srgb,var(--highlightColor,#2563eb) 18%,#fff)!important;border-color:var(--highlightColor,#2563eb)!important;font-weight:700}
.bookingRegCalDay--disabled{opacity:.35;cursor:not-allowed}
.bookingRegCalDay--unavailable{background:color-mix(in srgb,#ef4444 12%,#fff)!important;border-color:#fca5a5!important;opacity:.75;cursor:pointer}
.bookingRegCalDay--unavailable:hover{background:color-mix(in srgb,#ef4444 20%,#fff)!important}
.bookingRegCalCapacityHint{margin:7px 0 0;color:#b91c1c;font-size:12px}
.bookingRegCalDayNum{font-size:12px;line-height:1}
.bookingRegCourseTypeBlock{margin-top:0}
.bookingRegCourseTypeBlock .courseGroupTypeSelection{margin-top:5px}
.bookingRegCourseTypeBlock .courseGroupTypeOption--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.bookingRegSlotCell{flex-direction:column;gap:1px}
.bookingRegSlotAvail,.bookingRegSlotPrice{display:block;line-height:1.15}
.bookingRegSlotPrice{font-size:8px;font-weight:700;color:#6b7280}
.bookingRegSlotCell--selected .bookingRegSlotPrice{color:inherit;opacity:.9}
.bookingRegTermsBlock{margin-top:11px;padding-top:11px;border-top:1px solid #e5e7eb}
.bookingRegTermsHint{margin:4px 0 0}
.bookingRegSlotsBlock{margin-top:11px;padding-top:11px;border-top:1px solid #e5e7eb}
.bookingRegSlotsHint{margin:7px 0 0}
.bookingRegSlotsSummary{margin:0 0 7px;font-size:11px;font-weight:600;color:#6b7280}
.bookingRegSlotMatrixScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -3.6px;padding:0 4px}
.bookingRegSlotMatrix{
    --booking-reg-slot-cols:2;
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:min(100%,calc(65px + var(--booking-reg-slot-cols) * 79px));
    font-size:11px;
}
.bookingRegSlotMatrixHead,
.bookingRegSlotMatrixRow{
    display:grid;
    grid-template-columns:65px repeat(var(--booking-reg-slot-cols),minmax(65px,1fr));
    gap:4px;
    align-items:center;
}
.bookingRegSlotMatrixCorner{min-height:1px}
.bookingRegSlotMatrixColHead{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:1px;
    padding:0 1.8px 4px;
    text-align:center;
}
.bookingRegSlotColLabel{font-size:10px;font-weight:700;color:#374151;line-height:1.2}
.bookingRegSlotColTime{font-size:9px;color:#9ca3af;line-height:1.2;white-space:nowrap}
.bookingRegSlotMatrixDay{
    display:flex;
    align-items:center;
    padding:0 4px 0 0;
    font-size:11px;
    font-weight:600;
    color:#374151;
    white-space:nowrap;
    user-select:none;
}
.bookingRegSlotMatrixEmpty{
    grid-column:2 / -1;
    display:flex;
    align-items:center;
    padding:5px 7px;
    font-size:10px;
    color:#9ca3af;
    background:#f9fafb;
    border-radius:5px;
}
.contentModal .mobileShoppingCart .contactData .bookingRegSlotCell,
.bookingRegSlotCell{
    width:100%;
    min-width:0;
    max-width:none;
    min-height:31px;
    height:31px;
    padding:0 4px;
    line-height:1;
    border:1px solid #d1d5db;
    background:#fff;
    border-radius:5px;
    font-size:10px;
    font-weight:600;
    letter-spacing:normal;
    cursor:pointer;
    box-shadow:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#374151;
    transition:background-color .15s,border-color .15s,color .15s;
}
.contentModal .mobileShoppingCart .contactData .bookingRegSlotCell:hover:not([aria-disabled="true"]):not(.bookingRegSlotCell--na),
.bookingRegSlotCell:hover:not([aria-disabled="true"]):not(.bookingRegSlotCell--na){
    background:#f3f4f6;
    border-color:#9ca3af;
    box-shadow:none;
}
.bookingRegSlotCell--selected{
    border-color:var(--highlightColor,#2563eb)!important;
    background:color-mix(in srgb,var(--highlightColor,#2563eb) 14%,#fff)!important;
    color:var(--highlightColor,#2563eb)!important;
}
.bookingRegSlotCell--selected i{font-size:11px}
.bookingRegSlotCell--na{
    border-color:transparent;
    background:transparent;
    color:#d1d5db;
    cursor:default;
    pointer-events:none;
}
.bookingRegSlotCell[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.bookingSlot--low{border-color:#f59e0b!important;background:color-mix(in srgb,#f59e0b 10%,#fff)!important;color:#b45309!important}
.bookingSlot--full{border-color:#ef4444!important;background:color-mix(in srgb,#ef4444 8%,#fff)!important;color:#b91c1c!important;opacity:.8}
.bookingRegSlotCell--groupPick{
    min-height:47px;
    padding:4px;
    align-items:stretch;
    justify-content:flex-start;
    cursor:default;
    border-color:#f59e0b;
    background:color-mix(in srgb,#f59e0b 8%,#fff);
}
.bookingRegSlotGroupOptions{
    display:flex;
    flex-direction:column;
    gap:3px;
    width:100%;
}
.bookingRegSlotGroupChip{
    display:block;
    width:100%;
    padding:3px 4px;
    border:1px solid #d1d5db;
    border-radius:4px;
    background:#fff;
    font-size:8px;
    font-weight:600;
    line-height:1.2;
    color:#374151;
    text-align:center;
    cursor:pointer;
}
.bookingRegSlotGroupChip:hover{
    border-color:#3b82f6;
    background:color-mix(in srgb,#3b82f6 8%,#fff);
    color:#1d4ed8;
}
