/* ============================================================================
   theme-widgets.css — тёмные оверрайды сторонних виджетов, которые НЕ следуют
   за data-bs-theme сами (их CSS грузится с CDN и залочен под светлую тему):
   Tom Select, select2 (+bootstrap-5-theme), Quill (snow), flatpickr.

   Все правила под [data-bs-theme="dark"] и используют токены из theme.css, чтобы
   виджеты совпадали с остальной админкой. Селектор с [data-bs-theme="dark"] уже
   даёт повышенную специфичность над базовыми правилами виджетов; для агрессивных
   тем (select2-bootstrap-5, flatpickr) добавлен !important, т.к. их CSS грузится
   попозже (в @section Styles конкретных страниц) и иначе выиграл бы по порядку.

   Файл подключается в _Layout после site.css. Светлую тему не трогаем вообще.
   ============================================================================ */

/* ───────────────────────── Tom Select (bootstrap5) ───────────────────────── */
[data-bs-theme="dark"] .ts-control {
  background-color: var(--admin-input-bg);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .ts-control .item {
  background-color: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}
[data-bs-theme="dark"] .ts-dropdown {
  background-color: var(--admin-card-bg);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
  box-shadow: var(--admin-card-shadow);
}
[data-bs-theme="dark"] .ts-dropdown .option,
[data-bs-theme="dark"] .ts-dropdown .optgroup-header {
  color: var(--bs-body-color);
}
[data-bs-theme="dark"] .ts-dropdown .option.active,
[data-bs-theme="dark"] .ts-dropdown .option:hover {
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-emphasis-color);
}
[data-bs-theme="dark"] .ts-dropdown .create {
  color: var(--bs-secondary-color);
}
[data-bs-theme="dark"] .ts-wrapper.single .ts-control::after {
  border-top-color: var(--bs-secondary-color);
}

/* ─────────────────────── select2 (bootstrap-5-theme) ─────────────────────── */
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
  background-color: var(--admin-input-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
  color: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
  background-color: var(--bs-secondary-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
  background-color: var(--admin-card-bg) !important;
  border-color: var(--bs-border-color) !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option {
  color: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted[aria-selected] {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-search__field {
  background-color: var(--admin-input-bg) !important;
  color: var(--bs-body-color) !important;
  border-color: var(--bs-border-color) !important;
}
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__placeholder {
  color: var(--admin-placeholder) !important;
}

/* ──────────────────────────── Quill (snow) ───────────────────────────────── */
[data-bs-theme="dark"] .ql-toolbar.ql-snow,
[data-bs-theme="dark"] .ql-container.ql-snow {
  border-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .ql-toolbar.ql-snow {
  background-color: var(--bs-tertiary-bg);
}
[data-bs-theme="dark"] .ql-container.ql-snow {
  background-color: var(--admin-card-bg);
}
[data-bs-theme="dark"] .ql-editor {
  color: var(--bs-body-color);
}
[data-bs-theme="dark"] .ql-editor.ql-blank::before {
  color: var(--admin-placeholder);
}
/* Иконки тулбара Quill — это SVG с обводкой/заливкой: на тёмном нужны светлыми */
[data-bs-theme="dark"] .ql-snow .ql-stroke { stroke: var(--bs-body-color); }
[data-bs-theme="dark"] .ql-snow .ql-fill,
[data-bs-theme="dark"] .ql-snow .ql-stroke.ql-fill { fill: var(--bs-body-color); }
[data-bs-theme="dark"] .ql-snow .ql-picker { color: var(--bs-body-color); }
[data-bs-theme="dark"] .ql-snow .ql-picker-options {
  background-color: var(--admin-card-bg);
  border-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .ql-snow.ql-toolbar button:hover .ql-stroke,
[data-bs-theme="dark"] .ql-snow.ql-toolbar button.ql-active .ql-stroke,
[data-bs-theme="dark"] .ql-snow .ql-toolbar button:hover .ql-stroke {
  stroke: var(--bs-primary);
}
[data-bs-theme="dark"] .ql-snow.ql-toolbar button:hover .ql-fill,
[data-bs-theme="dark"] .ql-snow.ql-toolbar button.ql-active .ql-fill {
  fill: var(--bs-primary);
}

/* ─────────────────────────────── flatpickr ───────────────────────────────── */
[data-bs-theme="dark"] .flatpickr-calendar {
  background: var(--admin-card-bg) !important;
  color: var(--bs-body-color) !important;
  border: 1px solid var(--bs-border-color) !important;
  box-shadow: var(--admin-card-shadow) !important;
}
[data-bs-theme="dark"] .flatpickr-calendar.arrowTop::before,
[data-bs-theme="dark"] .flatpickr-calendar.arrowTop::after {
  border-bottom-color: var(--admin-card-bg) !important;
}
[data-bs-theme="dark"] .flatpickr-months,
[data-bs-theme="dark"] .flatpickr-month,
[data-bs-theme="dark"] .flatpickr-current-month,
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year {
  color: var(--bs-body-color) !important;
  fill: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .flatpickr-prev-month svg,
[data-bs-theme="dark"] .flatpickr-next-month svg {
  fill: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .flatpickr-prev-month:hover svg,
[data-bs-theme="dark"] .flatpickr-next-month:hover svg {
  fill: var(--bs-primary) !important;
}
[data-bs-theme="dark"] .flatpickr-weekday {
  color: var(--bs-secondary-color) !important;
}
[data-bs-theme="dark"] .flatpickr-day {
  color: var(--bs-body-color) !important;
}
[data-bs-theme="dark"] .flatpickr-day:hover,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay:hover,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay:hover {
  background: var(--bs-tertiary-bg) !important;
  border-color: var(--bs-tertiary-bg) !important;
}
[data-bs-theme="dark"] .flatpickr-day.selected,
[data-bs-theme="dark"] .flatpickr-day.selected:hover {
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .flatpickr-day.today {
  border-color: var(--bs-primary) !important;
}
[data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay {
  color: var(--bs-tertiary-color) !important;
}
