/* Availability colors */
.flatpickr-day.datepicker-available { background-color:#c8e6c9 !important; color:#256029 !important; }
.flatpickr-day.datepicker-almost-sold-out { background-color:#fff9c4 !important; color:#6d4c41 !important; }
.flatpickr-day.datepicker-unavailable, .flatpickr-day.flatpickr-disabled { background-color:#ffcdd2 !important; color:#c62828 !important; }

/* Check-out-only (half) */
.flatpickr-day.datepicker-half {
  background: linear-gradient(135deg, #fff9c4 50%, #ffcdd2 50%) !important;
  color:#6d4c41 !important;
}

/* Past/Out-of-range */
.flatpickr-day.datepicker-outofrange { background-color:#e0e0e0 !important; color:#757575 !important; }

/* Selected arrival (blue) on both calendars */
.flatpickr-day.datepicker-selected-arrival { background-color:#1976d2 !important; color:#fff !important; border-color:#1976d2 !important; }

/* Improve z-index if a theme puts UI datepicker above */
.flatpickr-calendar { z-index: 999999 !important; }

/* Inputs + calendar icon (optional) */
.flatpickr-input[readonly] { cursor:pointer; background:#fff; }
label { position:relative; display:block; }
label .fa-calendar {
  position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:15px; color:#666; pointer-events:none;
}
label input.flatpickr-input { padding-right:34px; }

/* Error banner */
.nuu-res-alert {
  background:#fff6f6;
  border:1px solid #e0b4b4;
  color:#9f3a38;
  padding:.75rem 1rem;
  margin-bottom:1rem;
  border-radius:.375rem;
}

/* Responsive tweak */
@media (max-width:480px){
  .flatpickr-day { width:32px; height:30px; line-height:30px; }
}
