/*
 * KosherBnB brand theme for flatpickr (homepage search date picker).
 * Base styles come from flatpickr.min.css; this file only recolours to the
 * brand maroon (#a3243b) and adds the "Clear dates" footer button.
 */

.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:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.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: #a3243b;
    border-color: #a3243b;
    color: #fff;
}

/* connective shadow between the two range ends */
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected {
    box-shadow: none;
}

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

.flatpickr-day.inRange {
    background: #f5e6e9;
    border-color: #f5e6e9;
    box-shadow: -5px 0 0 #f5e6e9, 5px 0 0 #f5e6e9;
    color: #2b2b2b;
}

.flatpickr-day.today {
    border-color: #a3243b;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
    background: #a3243b;
    border-color: #a3243b;
    color: #fff;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: #f0f0f0;
    border-color: #f0f0f0;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #a3243b;
}

.flatpickr-current-month .numInputWrapper:hover {
    background: rgba(163, 36, 59, 0.05);
}

.flatpickr-calendar {
    z-index: 99999;
}

/* Calendar footer: pending-range preview (left) + Clear + Save Dates (right) */
.fp-kbnb-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px 9px;
    border-top: 1px solid #e6e6e6;
}

.fp-kbnb-preview {
    flex: 1 1 auto;
    font-size: 12px;
    color: #2b2b2b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fp-kbnb-clear {
    background: none;
    border: 0;
    padding: 2px 4px;
    font-size: 12px;
    font-weight: 600;
    color: #a3243b;
    cursor: pointer;
}

.fp-kbnb-clear:hover {
    text-decoration: underline;
}

.fp-kbnb-done {
    background: #a3243b;
    border: 0;
    border-radius: 4px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
}

.fp-kbnb-done:hover {
    background: #8a1e32;
}
