/**
 * Fast Taxi Limburg — Flatpickr theme (load after flatpickr.min.css)
 */

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--ft-btn-primary-text);
    box-shadow: none;
}

/* Hover/focus on active dates: slightly deeper yellow, text stays black */
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected:focus-visible,
.flatpickr-day.startRange:focus-visible,
.flatpickr-day.endRange:focus-visible,
.flatpickr-day.selected.prevMonthDay:hover,
.flatpickr-day.startRange.prevMonthDay:hover,
.flatpickr-day.endRange.prevMonthDay:hover,
.flatpickr-day.selected.nextMonthDay:hover,
.flatpickr-day.startRange.nextMonthDay:hover,
.flatpickr-day.endRange.nextMonthDay:hover {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
    color: var(--ft-btn-primary-text-hover);
    box-shadow: none;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 var(--bs-primary);
}

.flatpickr-day.week.selected {
    box-shadow: -5px 0 0 var(--bs-primary), 5px 0 0 var(--bs-primary);
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange {
    background: rgba(var(--bs-primary-rgb), 0.14);
    border-color: transparent;
    box-shadow: -5px 0 0 rgba(var(--bs-primary-rgb), 0.14), 5px 0 0 rgba(var(--bs-primary-rgb), 0.14);
}

.flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {
    border-color: var(--bs-primary);
    color: var(--ft-text, var(--bs-body-color));
}

.flatpickr-day.today:not(.selected):not(.startRange):not(.endRange):hover,
.flatpickr-day.today:not(.selected):not(.startRange):not(.endRange):focus {
    border-color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), 0.14);
    color: var(--ft-text, var(--bs-body-color));
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--bs-primary);
}

/* Dark mode */
[data-bs-theme=dark] .flatpickr-calendar {
    background: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}

[data-bs-theme=dark] .flatpickr-months .flatpickr-month,
[data-bs-theme=dark] .flatpickr-current-month .flatpickr-monthDropdown-months,
[data-bs-theme=dark] .flatpickr-weekdays,
[data-bs-theme=dark] span.flatpickr-weekday {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-current-month input.cur-year,
[data-bs-theme=dark] .flatpickr-current-month .numInputWrapper span {
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-current-month .flatpickr-monthDropdown-months option {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-day {
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-day:not(.selected):not(.startRange):not(.endRange):hover,
[data-bs-theme=dark] .flatpickr-day:not(.selected):not(.startRange):not(.endRange):focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-bs-theme=dark] .flatpickr-day.selected,
[data-bs-theme=dark] .flatpickr-day.startRange,
[data-bs-theme=dark] .flatpickr-day.endRange,
[data-bs-theme=dark] .flatpickr-day.selected.inRange,
[data-bs-theme=dark] .flatpickr-day.startRange.inRange,
[data-bs-theme=dark] .flatpickr-day.endRange.inRange {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--ft-btn-primary-text);
}

[data-bs-theme=dark] .flatpickr-day.selected:hover,
[data-bs-theme=dark] .flatpickr-day.startRange:hover,
[data-bs-theme=dark] .flatpickr-day.endRange:hover,
[data-bs-theme=dark] .flatpickr-day.selected:focus-visible,
[data-bs-theme=dark] .flatpickr-day.startRange:focus-visible,
[data-bs-theme=dark] .flatpickr-day.endRange:focus-visible {
    background: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
    color: var(--ft-btn-primary-text-hover);
}

[data-bs-theme=dark] .flatpickr-day.prevMonthDay,
[data-bs-theme=dark] .flatpickr-day.nextMonthDay {
    color: rgba(255, 255, 255, 0.25);
}

[data-bs-theme=dark] .flatpickr-day.selected.prevMonthDay,
[data-bs-theme=dark] .flatpickr-day.startRange.prevMonthDay,
[data-bs-theme=dark] .flatpickr-day.endRange.prevMonthDay,
[data-bs-theme=dark] .flatpickr-day.selected.nextMonthDay,
[data-bs-theme=dark] .flatpickr-day.startRange.nextMonthDay,
[data-bs-theme=dark] .flatpickr-day.endRange.nextMonthDay,
[data-bs-theme=dark] .flatpickr-day.selected.prevMonthDay:hover,
[data-bs-theme=dark] .flatpickr-day.selected.nextMonthDay:hover {
    color: var(--ft-btn-primary-text);
}

[data-bs-theme=dark] .flatpickr-day.flatpickr-disabled,
[data-bs-theme=dark] .flatpickr-day.flatpickr-disabled:hover {
    color: rgba(255, 255, 255, 0.15);
}

[data-bs-theme=dark] .flatpickr-day.today:not(.selected):not(.startRange):not(.endRange) {
    border-color: var(--bs-primary);
}

[data-bs-theme=dark] .flatpickr-months .flatpickr-prev-month,
[data-bs-theme=dark] .flatpickr-months .flatpickr-next-month {
    color: var(--bs-body-color);
    fill: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-innerContainer {
    border-bottom: none;
}

[data-bs-theme=dark] .flatpickr-time {
    border-top-color: var(--bs-border-color);
}

[data-bs-theme=dark] .flatpickr-time input,
[data-bs-theme=dark] .flatpickr-time .flatpickr-am-pm {
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .flatpickr-time input:hover,
[data-bs-theme=dark] .flatpickr-time .flatpickr-am-pm:hover,
[data-bs-theme=dark] .flatpickr-time input:focus,
[data-bs-theme=dark] .flatpickr-time .flatpickr-am-pm:focus {
    background: rgba(255, 255, 255, 0.06);
}
