/* Flatpickr alt input — blend into search bar */
.flatpickr-input[readonly],
.flatpickr-input.active {
  cursor: pointer !important;
}

/* Flatpickr — Camperfun brand theme
   Navy calendar with green accents, matching the search bar.
   ========================================================== */

.flatpickr-calendar {
  background: #2D2A5E;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  font-family: 'Inter', system-ui, sans-serif;
  overflow: hidden;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.flatpickr-calendar.arrowBottom::before,
.flatpickr-calendar.arrowBottom::after {
  border-top-color: #2D2A5E;
}

/* Month navigation header */
.flatpickr-months {
  background: rgba(255, 255, 255, 0.08);
  padding: 6px 0;
}

.flatpickr-months .flatpickr-month {
  color: #fff;
  fill: #fff;
  height: 40px;
}

.flatpickr-current-month {
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  padding-top: 8px;
}

/* Static month name (non-dropdown) */
.flatpickr-current-month .cur-month {
  color: #fff;
  font-weight: 700;
}

/* Fallback if dropdown is used */
.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 700;
  border-radius: 6px;
  padding: 2px 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  -webkit-appearance: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option {
  background: #2D2A5E;
  color: #fff;
}

/* Year input — high visibility */
.flatpickr-current-month input.cur-year {
  color: #fff;
  font-weight: 700;
  font-size: 15px;
}

.flatpickr-current-month .numInputWrapper {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0 4px;
  margin-left: 6px;
}

.flatpickr-current-month .numInputWrapper span {
  border: 0;
}

.flatpickr-current-month .numInputWrapper span::after {
  border-bottom-color: #fff;
  border-top-color: #fff;
}

.flatpickr-current-month .numInputWrapper span:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* Nav arrows — larger and brighter */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: #fff;
  fill: #fff;
  padding: 8px 12px;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #caeec3;
  fill: #caeec3;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: inherit;
  width: 12px;
  height: 12px;
}

/* Weekday headers */
span.flatpickr-weekday {
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Day cells — brighter text for readability */
.flatpickr-day {
  color: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  font-weight: 600;
  font-size: 13px;
  border: 2px solid transparent;
  max-width: 36px;
  height: 36px;
  line-height: 32px;
}

/* Hover — light bg with dark text */
.flatpickr-day:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.95);
  color: #2D2A5E;
}

/* Today */
.flatpickr-day.today {
  border-color: #328224;
  color: #caeec3;
}

.flatpickr-day.today:hover {
  background: #328224;
  border-color: #328224;
  color: #fff;
}

/* Selected day */
.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: #328224;
  border-color: #328224;
  color: #fff;
}

/* Range between start and end */
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange {
  background: rgba(50, 130, 36, 0.25);
  border-color: transparent;
  color: #caeec3;
  box-shadow: -5px 0 0 rgba(50, 130, 36, 0.25), 5px 0 0 rgba(50, 130, 36, 0.25);
}

.flatpickr-day.inRange:hover {
  background: #328224;
  color: #fff;
}

/* Disabled / previous month / next month days */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(255, 255, 255, 0.2);
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.4);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  background: transparent;
  border-color: transparent;
  color: rgba(255, 255, 255, 0.12);
}

/* Week numbers */
.flatpickr-weekwrapper .flatpickr-weekday {
  color: rgba(255, 255, 255, 0.3);
}

.flatpickr-weekwrapper span.flatpickr-day {
  color: rgba(255, 255, 255, 0.3);
}

/* Time input (if used) */
.flatpickr-time {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  color: #fff;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:hover {
  background: rgba(255, 255, 255, 0.08);
}
