/**
 * Flatpickr Custom Styles v15.8.1
 * Design token integration for date picker component
 * v15.8.0: stronger selected/range contrast (WCAG-friendly on light calendar)
 */

/* Above booking offcanvas (1045) when guest opens mobile booking sheet or date picker */
body.listing-detail-flatpickr-open > .flatpickr-calendar,
body.listing-detail-booking-open > .flatpickr-calendar,
body.offcanvas-open > .flatpickr-calendar {
    z-index: calc(var(--z-offcanvas) + 25);
}

/* Mobile booking offcanvas: inline (static) calendar below the date field */
.listing-detail__booking-offcanvas #bookingOffcanvasBody .listing-detail__date-picker-container .flatpickr-wrapper,
.listing-detail__booking-offcanvas #bookingOffcanvasBody .listing-detail__date-picker-container .flatpickr-calendar.static.open {
    position: relative;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100%;
    max-width: 100%;
    margin-top: var(--spacing-2, 0.5rem);
    box-shadow: var(--shadow-lg);
}

.listing-detail__booking-offcanvas #bookingOffcanvasBody .listing-detail__date-picker-container .flatpickr-calendar.static {
    display: block;
}

.flatpickr-calendar {
    z-index: var(--z-modal-nested);
    background: var(--color-white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    font-family: var(--font-family-sans);
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
    border-bottom-color: var(--color-white);
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: var(--color-primary-700, var(--color-primary));
    border-color: var(--color-primary-800, var(--color-primary));
    color: var(--color-white);
    font-weight: 600;
}

.flatpickr-day.inRange {
    background: rgba(var(--color-primary-rgb), 0.18);
    border-color: transparent;
    color: var(--color-text);
    box-shadow: none;
}

.flatpickr-day:hover {
    background: var(--color-neutral-100);
}

.flatpickr-current-month {
    color: var(--color-text);
    font-weight: 600;
}

.numInputWrapper span.arrowUp::after {
    border-bottom-color: var(--color-text);
}

.numInputWrapper span.arrowDown::after {
    border-top-color: var(--color-text);
}
