/* WBAM 2.5 Venue Availability */
.cbe-date-locked {
    opacity: .28 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    text-decoration: none !important;
    filter: grayscale(1);
}
.cbe-date-locked * { pointer-events: none !important; }

/* Only individual time controls are dimmed. Never fade a YITH parent section,
   because some themes wrap the calendar and Booking Components in that section. */
.cbe-va-control-disabled {
    opacity: .42 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
.cbe-va-admin-date-notice,
.cbe-va-frontend-date-notice {
    color: #b42318;
    font-weight: 600;
    margin: 10px 0;
}

/* v2.5.6: make a booked day unmistakably unavailable even when YITH applies
   its selected-day background to the same calendar element. */
.cbe-date-locked,
.cbe-date-locked[aria-selected="true"],
.cbe-date-locked[class*="selected"] {
    opacity: .32 !important;
    color: #8a8a8a !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    text-decoration: none !important;
    filter: grayscale(1) !important;
}
.cbe-date-locked *,
.cbe-date-locked[aria-selected="true"] * {
    color: #8a8a8a !important;
    background: transparent !important;
    pointer-events: none !important;
    text-decoration: none !important;
}

/* v2.5.7: YITH themes place the visual day state on different nested wrappers.
   JS marks the full day-wrapper chain and also applies matching inline rules. */
[data-cbe-disabled-date],
[data-cbe-disabled-date] * {
    opacity: .32 !important;
    color: #8a8a8a !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    text-decoration: none !important;
}
[data-cbe-time-disabled],
[data-cbe-time-disabled] * {
    opacity: .38 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* v2.5.8: safety guard. Availability states must never dim a form section,
   booking form, calendar grid, or Booking Components container. */
form.cart.cbe-va-control-disabled,
form.cart [class*="form-section"].cbe-va-control-disabled,
form.cart [class*="booking-form"].cbe-va-control-disabled,
form.cart [role="grid"].cbe-va-control-disabled,
form.cart .cbe-booking-fields.cbe-va-control-disabled {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: auto !important;
}

/* YITH admin Create Booking modal: match the frontend unavailable-date look. */
.cbe-va-admin-locked-date,
.cbe-va-admin-locked-date * {
    opacity: .32 !important;
    color: #8a8a8a !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
.cbe-va-admin-locked-time {
    opacity: .45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
.cbe-va-admin-date-notice {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: #b42318;
    background: #fff4f2;
    border: 1px solid #f1a39a;
    border-left: 4px solid #d63638;
    border-radius: 4px;
    font-weight: 600;
    line-height: 1.45;
    margin: 0 0 12px;
    padding: 10px 12px;
}

/* Hard-lock past/booked YITH admin dates without overriding the selected future day. */
[data-cbe-admin-locked-date],
[data-cbe-admin-locked-date] * {
    opacity: .32 !important;
    color: #8a8a8a !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
