/**
 * Ventury Theme for LibreBooking / Fahrzeugreservierung
 * Farbwelt: Ventury-Blau #2878ff, Schwarz #141414, Weiß und helle Blautöne
 *
 * Diese Datei ist als CSS-Extension/Override gedacht und wird nach den
 * LibreBooking-Standardstyles geladen.
 */

/* --------------------------------------------------------------------------
   1. Ventury Farbvariablen + LibreBooking Reservierungsfarben
   -------------------------------------------------------------------------- */
:root {
  --ventury-blue: #2878ff;
  --ventury-blue-hover: #155fd6;
  --ventury-blue-active: #0f53bd;
  --ventury-blue-soft: #eaf2ff;
  --ventury-blue-soft-2: #dce9ff;
  --ventury-black: #141414;
  --ventury-white: #ffffff;
  --ventury-bg: #f7f9fc;
  --ventury-border: #dbe4f2;
  --ventury-muted: #667085;

  /* LibreBooking Theme-Variablen */
  --primary: var(--ventury-blue);
  --primary-hover: var(--ventury-blue-hover);
  --primary-disabled: #a8c7ff;
  --text-color-btn: var(--ventury-white);

  /* Kalender / Reservierungen */
  --color-lines: #c9d6ea;
  --reservable: #ffffff;
  --unreservable: #f1d7d7;
  --reserved: #5b91ec;
  --reservedMine: #2878ff;
  --reservedParticipating: #76a4ff;
  --reservedPending: #dce9ff;
  --pasttime: #e7ebf1;
  --hiliteReservation: #155fd6;
  --label-text-on-light: #141414;
  --label-text-on-dark: #ffffff;
}

/* Überschreibt die auswählbaren LibreBooking-Farbthemes zuverlässig. */
[data-bs-theme] {
  --primary: var(--ventury-blue);
  --primary-hover: var(--ventury-blue-hover);
  --primary-disabled: #a8c7ff;
  --text-color-btn: var(--ventury-white);

  /* Bootstrap 5 Farbvariablen */
  --bs-primary: #2878ff;
  --bs-primary-rgb: 40, 120, 255;
  --bs-link-color: #2878ff;
  --bs-link-hover-color: #155fd6;
  --bs-body-color: #141414;
  --bs-body-bg: #f7f9fc;
  --bs-border-color: #dbe4f2;
  --bs-secondary-bg: #edf3ff;
  --bs-tertiary-bg: #f6f9ff;
  --bs-primary-bg-subtle: #eaf2ff;
  --bs-primary-border-subtle: #b9d2ff;
  --bs-primary-text-emphasis: #0f53bd;
  --bs-focus-ring-color: rgba(40, 120, 255, 0.25);
}

/* --------------------------------------------------------------------------
   2. Grundfläche
   -------------------------------------------------------------------------- */
body {
  background-color: var(--ventury-bg) !important;
  color: var(--ventury-black);
}

/* --------------------------------------------------------------------------
   3. Navigation
   -------------------------------------------------------------------------- */
.navbar {
  --bs-navbar-color: #141414;
  --bs-navbar-hover-color: #2878ff;
  --bs-navbar-active-color: #2878ff;
  --bs-navbar-brand-color: #141414;
  --bs-navbar-brand-hover-color: #2878ff;

  background-color: #ffffff !important;
  border-bottom: 1px solid var(--ventury-border);
}

.navbar .nav-link.active,
.navbar .nav-link.show {
  color: var(--ventury-blue) !important;
}

.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--ventury-blue);
  --bs-dropdown-link-active-color: #ffffff;
  --bs-dropdown-link-hover-bg: var(--ventury-blue-soft);
  border-color: var(--ventury-border);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--ventury-blue-soft);
  color: var(--ventury-black);
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--ventury-blue);
  color: #ffffff;
}

/* --------------------------------------------------------------------------
   4. Buttons und aktive Bedienelemente
   -------------------------------------------------------------------------- */
.btn-primary {
  --bs-btn-bg: var(--ventury-blue);
  --bs-btn-border-color: var(--ventury-blue);
  --bs-btn-hover-bg: var(--ventury-blue-hover);
  --bs-btn-hover-border-color: var(--ventury-blue-hover);
  --bs-btn-active-bg: var(--ventury-blue-active);
  --bs-btn-active-border-color: var(--ventury-blue-active);
  --bs-btn-disabled-bg: #a8c7ff;
  --bs-btn-disabled-border-color: #a8c7ff;
  --bs-btn-color: #ffffff;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-active-color: #ffffff;
}

.btn-outline-primary {
  --bs-btn-color: var(--ventury-blue);
  --bs-btn-border-color: var(--ventury-blue);
  --bs-btn-hover-bg: var(--ventury-blue);
  --bs-btn-hover-border-color: var(--ventury-blue);
  --bs-btn-active-bg: var(--ventury-blue-active);
  --bs-btn-active-border-color: var(--ventury-blue-active);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-active-color: #ffffff;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.list-group-item.active,
.progress-bar,
.bg-primary,
.text-bg-primary {
  background-color: var(--ventury-blue) !important;
  border-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   5. Formulare
   -------------------------------------------------------------------------- */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--ventury-blue);
  box-shadow: 0 0 0 0.25rem rgba(40, 120, 255, 0.18);
}

.form-check-input:checked {
  background-color: var(--ventury-blue);
  border-color: var(--ventury-blue);
}

/* --------------------------------------------------------------------------
   6. Links, Pagination, Accordion
   -------------------------------------------------------------------------- */
.link-primary,
.page-link,
.accordion-button,
.accordion-header {
  color: var(--ventury-blue) !important;
}

.page-link {
  border-color: var(--ventury-border);
}

.page-link:hover {
  background-color: var(--ventury-blue-soft);
  border-color: #b9d2ff;
  color: var(--ventury-blue-hover) !important;
}

.active > .page-link,
.page-link.active {
  background-color: var(--ventury-blue) !important;
  border-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

.accordion-button:not(.collapsed) {
  background-color: var(--ventury-blue-soft) !important;
  color: var(--ventury-blue-hover) !important;
}

.accordion-button:focus {
  border-color: var(--ventury-blue);
  box-shadow: 0 0 0 0.25rem rgba(40, 120, 255, 0.18);
}

/* --------------------------------------------------------------------------
   7. Karten, Tabellen und Panels – dezent im Ventury-Look
   -------------------------------------------------------------------------- */
.card,
.modal-content,
.offcanvas,
.dropdown-menu {
  border-color: var(--ventury-border);
}

.table {
  --bs-table-border-color: var(--ventury-border);
}

.table-primary {
  --bs-table-bg: var(--ventury-blue-soft);
  --bs-table-color: var(--ventury-black);
  --bs-table-border-color: #c6d9fa;
}

/* --------------------------------------------------------------------------
   8. LibreBooking-spezifische Elemente
   -------------------------------------------------------------------------- */
.resourceName {
  background-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

.resourceName a {
  color: #ffffff !important;
}

.upcomingReservationsDashboard .reservation.hover {
  background-color: var(--ventury-blue-soft) !important;
  color: var(--ventury-black) !important;
}

.upcomingReservationsDashboard .reservation.clicked {
  background-color: var(--ventury-blue-soft-2) !important;
  color: var(--ventury-black) !important;
}

/* Select2 */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

/* Flatpickr */
.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
span.flatpickr-weekday {
  background: var(--ventury-blue) !important;
  color: #ffffff !important;
}

.flatpickr-monthDropdown-months {
  background-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: var(--ventury-blue) !important;
  border-color: var(--ventury-blue) !important;
  color: #ffffff !important;
}

.flatpickr-day.today {
  border-color: var(--ventury-blue) !important;
}

/* FullCalendar */
.fc .fc-button-primary {
  background-color: var(--ventury-blue) !important;
  border-color: var(--ventury-blue) !important;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled):active,
.fc .fc-button-primary:not(:disabled).fc-button-active {
  background-color: var(--ventury-blue-hover) !important;
  border-color: var(--ventury-blue-hover) !important;
}

.fc .fc-col-header-cell-cushion {
  color: var(--ventury-blue) !important;
}

/* --------------------------------------------------------------------------
   9. Fokuszustände für Tastaturbedienung
   -------------------------------------------------------------------------- */
.btn:focus-visible,
.nav-link:focus-visible,
.dropdown-item:focus-visible,
.page-link:focus-visible {
  outline: 3px solid rgba(40, 120, 255, 0.35);
  outline-offset: 2px;
}
