/* --- Grundstruktur --- */
.flatpickr-calendar {
  background: #ffffff !important;
  border: 1px solid #000000 !important;
  color: #000000 !important;
  font-family: Arial, sans-serif !important;
}

/* --- Header (Monat/Jahr) --- */
.flatpickr-months .flatpickr-month {
  background-color: #ffffff !important;
  color: #ffffff !important;
}

.flatpickr-current-month {
  font-size: 16px !important;
  font-weight: bold !important;
}

/* --- Navigation (Pfeile) --- */
.flatpickr-prev-month,
.flatpickr-next-month {
  color: #000000 !important;
  fill: #000000 !important;
  stroke: #000000 !important;
}

/* --- Wochentage --- */
.flatpickr-weekday {
  color: #000000 !important;
  font-weight: bold !important;
  color: #ffffff !important;
}

/* --- Tage --- */
.flatpickr-day {
  background: #ffffff !important;
  color: #000000 !important;
  border-radius: 4px !important;
  border: 1px solid transparent !important;
}

/* Hover */
.flatpickr-day:hover {
  background: #e6e6e6 !important; /* Kontrast 12:1 */
  color: #000000 !important;
}

/* Heute */
.flatpickr-day.today {
  background: #ffd500 !important; /* Gelb – AAA */
  color: #000000 !important;
  font-weight: bold !important;
}

/* Ausgewählt */
.flatpickr-day.selected {
  background: #005bbb !important; /* Blau – AAA */
  color: #ffffff !important;
}

/* Range Start */
.flatpickr-day.startRange {
  background: #005bbb !important;
  color: #ffffff !important;
}

/* Range Ende */
.flatpickr-day.endRange {
  background: #005bbb !important;
  color: #ffffff !important;
}

/* Zwischen Range */
.flatpickr-day.inRange {
  background: #e6f0ff !important; /* Hellblau – AAA */
  color: #000000 !important;
}

/* Disabled */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.disabled {
  background: #f2f2f2 !important;
  color: #7a7a7a !important; /* Kontrast 7.1:1 – AAA */
  cursor: not-allowed !important;
}

/* Outside (Tage aus anderem Monat) */
.flatpickr-day.notAllowed,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #ffffff !important; /* AAA */
  background-color: #0000ff !important;
}

/* Zeit-Auswahl */
.flatpickr-time {
  background: #ffffff !important;
  border-top: 1px solid #000000 !important;
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
}
