/* Flatpickr — TripInStays / StayVista-style date range */

.flatpickr-calendar.sv-flatpickr,
.flatpickr-calendar.open {
    font-family: 'DM Sans', system-ui, sans-serif;
    border: 1px solid var(--sv-border, #e8e4df);
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    padding: 0.5rem 0.35rem 0.75rem;
    z-index: 1060;
}

.sv-flatpickr .flatpickr-months {
    padding: 0.25rem 0.5rem 0.5rem;
}

.sv-flatpickr .flatpickr-months .flatpickr-month {
    height: 2.25rem;
}

.sv-flatpickr .flatpickr-current-month {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--sv-dark, #141414);
}

.sv-flatpickr .flatpickr-weekdays {
    margin-top: 0.25rem;
}

.sv-flatpickr span.flatpickr-weekday {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--sv-muted, #6b6560);
    text-transform: uppercase;
}

.sv-flatpickr .flatpickr-day {
    border-radius: 4px;
    color: var(--sv-dark, #141414);
    font-size: 0.875rem;
    line-height: 38px;
    height: 38px;
    max-width: 38px;
}

.sv-flatpickr .flatpickr-day.today {
    border-color: var(--sv-gold, #c9a96e);
}

.sv-flatpickr .flatpickr-day.selected,
.sv-flatpickr .flatpickr-day.startRange,
.sv-flatpickr .flatpickr-day.endRange {
    background: var(--sv-dark, #141414);
    border-color: var(--sv-dark, #141414);
    color: #fff;
}

.sv-flatpickr .flatpickr-day.inRange {
    background: rgba(201, 169, 110, 0.22);
    border-color: transparent;
    box-shadow: -5px 0 0 rgba(201, 169, 110, 0.22), 5px 0 0 rgba(201, 169, 110, 0.22);
    color: var(--sv-dark, #141414);
}

.sv-flatpickr .flatpickr-day:hover {
    background: rgba(20, 20, 20, 0.08);
    border-color: transparent;
}

.sv-flatpickr .flatpickr-day.flatpickr-disabled,
.sv-flatpickr .flatpickr-day.prevMonthDay,
.sv-flatpickr .flatpickr-day.nextMonthDay {
    color: #c4c0bb;
}

.sv-flatpickr .flatpickr-months .flatpickr-prev-month,
.sv-flatpickr .flatpickr-months .flatpickr-next-month {
    fill: var(--sv-dark, #141414);
    padding: 0.35rem;
}

.sv-flatpickr .flatpickr-months .flatpickr-prev-month:hover svg,
.sv-flatpickr .flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--sv-gold, #c9a96e);
}

.sv-search-input-wrap {
    position: relative;
}

/* Hide bound Flatpickr inputs — display fields stay visible */
.sv-search-input-wrap > input.sv-date-bound:not(.sv-date-display),
.cu-field > input.sv-date-bound:not(.sv-date-display) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
}

.sv-search-input-wrap .sv-date-display,
.cu-field .sv-date-display {
    flex: 1;
    min-width: 0;
    cursor: pointer;
    background: transparent !important;
    color: var(--sv-dark, #141414) !important;
    opacity: 1 !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    pointer-events: auto !important;
}

@media (max-width: 767.98px) {
    .flatpickr-calendar.sv-flatpickr {
        width: min(100vw - 2rem, 320px);
    }
}
