/* Extends the existing half-day calendar without replacing its occupancy colours. */
.calendar-selection {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    background: var(--ivory);
}
.calendar-selection > p { margin: 0; color: var(--forest); font-size: .88rem; font-weight: 650; }
.calendar-selection__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.calendar-selection [data-calendar-reset] { padding: .5rem 0; border: 0; background: none; cursor: pointer; font-size: .8rem; }
.calendar-selection [data-calendar-continue] { min-height: 2.75rem; padding: .75rem 1rem; font-size: .78rem; }
.calendar-selection button[hidden] { display: none; }
.availability-calendar[data-selection-error="true"] [data-calendar-status] { color: var(--error); font-weight: 600; }
.booking-package-hint { padding: 1rem 1.1rem; margin-bottom: 1.5rem; border-left: 3px solid var(--copper-dark); background: var(--ivory); color: var(--forest); font-size: .86rem; }
.calendar-day[aria-pressed="true"] { isolation: isolate; }
.calendar-day.is-arrival[data-selected-afternoon="true"] > span,
.calendar-day.is-departure[data-selected-morning="true"] > span { font-weight: 750; }
@media (max-width: 699px) {
    .calendar-selection { align-items: stretch; padding: .85rem; }
    .calendar-selection > p { font-size: .8rem; }
    .calendar-selection__actions { width: 100%; justify-content: space-between; }
    .calendar-selection [data-calendar-continue] { flex: 1 1 100%; justify-content: center; }
}
