.schedule-calendar-backdrop {
    background: #fff url('../img/presentandbear2.webp') right bottom / 100% auto no-repeat;
    border-radius: 16px;
}
.schedule-calendar-card {
    /* Keep the heading clear and let the illustration emerge gently below the dates. */
    background: linear-gradient(to bottom, rgba(255,255,255,.99) 0%, rgba(255,255,255,.97) 28%, rgba(255,255,255,.87) 62%, rgba(255,255,255,.78) 100%);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 6px 20px #00000012;
}
.schedule-calendar-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.schedule-calendar-heading h5 { margin-bottom: 6px; color: #212529; }
.schedule-calendar-heading p { font-size: .85rem; margin: 0; color: #606970; }
.schedule-calendar-heading .btn { min-height: 44px; }
#scheduleOverviewCalendar .e-calendar { width: 100%; max-width: none; min-width: 0; padding: 0; }
#scheduleOverviewCalendar .e-calendar .e-header { padding: 10px 0 16px; }
#scheduleOverviewCalendar .e-calendar .e-header .e-title { color: #212529; font-size: 1.05rem; font-weight: 600; }
#scheduleOverviewCalendar .e-calendar .e-content { padding: 0; }
#scheduleOverviewCalendar .e-calendar .e-footer-container { display: none; }
#scheduleOverviewCalendar .e-calendar table { width: 100%; table-layout: fixed; }
#scheduleOverviewCalendar .e-calendar th { height: 36px; color: #616970; font-size: .8rem; }
#scheduleOverviewCalendar .e-calendar td { height: 46px; position: relative; padding: 3px 0; }
#scheduleOverviewCalendar .e-calendar .e-content span.e-day { width: 36px; height: 36px; line-height: 36px; font-size: .9rem; border-radius: 50%; color: #212529; }
#scheduleOverviewCalendar .e-calendar .e-content td.e-today:not(.e-selected) span.e-day { background: #fff !important; color: #212529 !important; outline: 2px solid var(--mcprimarycolour); outline-offset: -2px; }
#scheduleOverviewCalendar .e-calendar .e-content td.e-selected span.e-day { background: var(--mcprimarycolour) !important; color: #212529 !important; }
#scheduleOverviewCalendar .e-calendar .e-content td:not(.e-selected) span.e-day:hover { background: #fff0dc !important; color: #212529 !important; }
#scheduleOverviewCalendar .e-calendar td.schedule-has-occasion::after { content: none; }
#scheduleOverviewCalendar .e-calendar td.schedule-has-occasion:not(.e-other-month) span.e-day {
    position: relative;
    overflow: visible;
}
#scheduleOverviewCalendar .e-calendar td.schedule-has-occasion:not(.e-other-month) span.e-day::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 5px;
    background: #a95500;
    border-radius: 50%;
    bottom: -4px;
    left: calc(50% - 2.5px);
    pointer-events: none;
}
#scheduleOverviewCalendar .e-calendar td.e-other-month.schedule-has-occasion span.e-day::after { content: none; }
#scheduleOverviewCalendar .e-calendar td.e-focused-date span.e-day { outline: 2px solid #555; outline-offset: 1px; }
.schedule-calendar-key { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: #616970; margin: 16px 0; }
.schedule-calendar-key span { width: 6px; height: 6px; border-radius: 50%; background: #a95500; }
.schedule-calendar-status { font-size: .8rem; color: #495057; margin: 12px 0 0; }
.schedule-calendar-status:empty { display: none; }
.schedule-calendar-card { position: relative; }
.schedule-calendar-card.is-loading #scheduleOverviewCalendarLogoLoader { position: absolute; top: 72px; left: 24px; right: 24px; pointer-events: none; z-index: 2; }
.schedule-calendar-card.is-loading #scheduleOverviewCalendar { opacity: .45; }
.contactEventPanel[aria-busy=true] { opacity: .55; }
@media (max-width: 575px) { .schedule-calendar-card { padding: 18px; } }
