/*
 *
 *
 *
 * Bootstrap 4 Component - Chosen
 * Version: 1.1.1
 * Copyright (c) 2017-19 Martin Haubek
 *
 *
 *
 */
.chosen-select,
.chosen-select-deselect {
  width: 100%; }

/* ==========================================================
   АДАПТАЦИЯ МОДУЛЯ CHOSEN ПОД ИЗУМРУДНУЮ ТЕМУ (Светлая и Тёмная)
   ========================================================== */

/* Базовый контейнер */
.chosen-container {
    display: inline-block;
    position: relative;
    width: 100% !important;
    font-size: 0.875rem;
    text-align: left;
    vertical-align: middle;
    user-select: none;
}

/* 1. Поле выбора (Одиночный и Мультиселект в закрытом состоянии) */
.chosen-container-single .chosen-single,
.chosen-container-multi .chosen-choices {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--card-custom-border) !important;
    color: var(--text-main) !important;
    background-image: none !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.75rem !important;
    height: auto !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease-in-out;
}

/* Состояние фокуса */
.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices {
    border-color: var(--icon-color) !important;
}

/* 2. Выпадающий блок со списком результатов (chosen-drop) */
.chosen-container .chosen-drop {
    background-clip: padding-box;
    background-color: var(--body-bg) !important; /* Глубокий изумрудный в тёмной / светлый в светлой */
    border: 1px solid var(--card-custom-border) !important;
    margin-top: 2px;
    position: absolute;
    top: 100%;
    left: -9000px;
    z-index: 1060;
    border-radius: 4px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Принудительный фикс для белого контента, если используется класс .white-content */
.white-content .chosen-container .chosen-drop {
    background-color: #ffffff !important;
    border: 1px solid var(--card-custom-border) !important;
}

.chosen-container.chosen-with-drop .chosen-drop {
    left: 0;
    right: 0;
}

/* 3. Список результатов поиска (chosen-results) */
.chosen-container .chosen-results {
    margin: 0;
    position: relative;
    max-height: 15rem;
    padding: 0.25rem 0;
    color: var(--text-main) !important; /* Адаптивный цвет текста вместо жесткого #000 */
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Кастомизация встроенного скроллбара списка результатов */
.chosen-container .chosen-results::-webkit-scrollbar {
    width: 5px;
}
.chosen-container .chosen-results::-webkit-scrollbar-track {
    background: transparent;
}
.chosen-container .chosen-results::-webkit-scrollbar-thumb {
    background: var(--card-custom-border);
    border-radius: 10px;
}

/* Строки элементов списка */
.chosen-container .chosen-results li {
    display: none;
    line-height: 1.5;
    list-style: none;
    margin: 0;
    padding: 0.4rem 0.75rem !important; /* Удобные аккуратные отступы */
    color: var(--text-main) !important;
    transition: background-color 0.1s ease;
}

/* Совпадения при поиске текста (выделение жирным) */
.chosen-container .chosen-results li em {
    font-style: normal;
    color: var(--icon-color) !important; /* Подсветка мятным цветом */
    font-weight: 600;
}

/* 4. Активный элемент при наведении (Ховер на строку) */
.chosen-container .chosen-results li.highlighted {
    background-color: var(--btn-sub-bg) !important; /* Выделение изумрудным фоном */
    color: var(--icon-color) !important; /* Текст становится мятным */
}

/* 5. Специфика Мультиселекта: Выбранные теги-плашки (Badges) */
.chosen-container-multi .chosen-choices li.search-choice {
    background-color: var(--btn-sub-bg) !important;
    border: 1px solid var(--card-custom-border) !important;
    color: var(--text-main) !important;
    background-image: none !important;
    border-radius: 3px !important;
    padding: 3px 20px 3px 5px !important;
    margin: 3px 0 3px 5px !important;
    box-shadow: none !important;
}

/* Кнопка крестика удаления плашки */
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 6px !important;
    right: 4px !important;
    filter: grayscale(1) invert(1); /* Инвертируем крестик, чтобы он был виден на темном фоне */
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
    filter: none;
}

/* ==========================================================
   ВНУТРЕННИЕ ЭЛЕМЕНТЫ СПИСКА RESULTS (Кастомизация галочек и статусов)
   ========================================================== */

/* Заголовки групп внутри списка (optgroup) */
.chosen-container .chosen-results li.group-result {
    display: list-item;
    cursor: default;
    padding-left: 0.75rem;
    color: var(--text-muted) !important; /* Серый адаптивный цвет */
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.8;
}

/* Элементы, находящиеся внутри групп (смещаются правее) */
.chosen-container .chosen-results li.group-option {
    padding-left: 1.5rem !important;
}

/* Доступный для клика результат */
.chosen-container .chosen-results li.active-result {
    cursor: pointer;
    display: list-item;
}

/* Элемент, который уже выбран (проставляем галочку) */
.chosen-container .chosen-results li.result-selected {
    color: var(--icon-color) !important; /* Подсвечиваем выбранный текст мятным */
    font-weight: 500;
}

/* SVG Галочка для выбранного элемента в обычном состоянии */
.chosen-container .chosen-results li.result-selected:before {
    display: inline-block;
    position: relative;
    top: 0.2rem;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: -1.2rem;
    margin-right: 0.3rem;
    content: "";
    /* Перекрасили галочку под цвет текста темы */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236c757d' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-size: 1.1rem 1.1rem;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Активный элемент списка (Навели курсор / Ховер) */
.chosen-container .chosen-results li.highlighted {
    background-color: var(--btn-sub-bg) !important; /* Наш фирменный изумрудный вместо синего #007bff */
    background-image: none !important;
    color: var(--icon-color) !important; /* Текст становится сочным мятным */
}

/* SVG Галочка при наведении (меняет цвет на мятный) */
.chosen-container .chosen-results li.highlighted:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2310a37f' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}

/* Совпадения текста при наведении */
.chosen-container .chosen-results li.highlighted em {
    background: transparent !important;
    color: var(--text-main) !important;
    font-weight: 700;
}

/* Заблокированный элемент */
.chosen-container .chosen-results li.disabled-result {
    display: list-item;
    color: var(--text-muted) !important;
    opacity: 0.4;
}

/* Сообщение "Ничего не найдено" */
.chosen-container .chosen-results .no-results {
    display: list-item;
    padding: 0.5rem 1rem !important;
    color: #ef4444 !important; /* Красный цвет ошибки */
    font-size: 0.85rem;
}

/* Скролл-контейнер результатов */
.chosen-container .chosen-results-scroll {
    background: var(--body-bg) !important;
    margin: 0 0.25rem;
    position: absolute;
    text-align: center;
    width: 20rem;
    z-index: 1;
}
.chosen-container .chosen-results-scroll span {
    display: inline-block;
    height: 1.5;
    text-indent: -5000px;
    width: 0.5rem;
}

/* ==========================================================
   ФИКСЫ ДЛЯ ОДИНОЧНОГО СЕЛЕКТА (Chosen Single)
   ========================================================== */
.white-content .chosen-container-single .chosen-single {
    background-color: #ffffff !important;
    border: 1px solid var(--card-custom-border) !important;
    color: #000000 !important;
}

.chosen-container-single .chosen-single {
    background-color: var(--input-bg) !important;
    background-clip: padding-box;
    border: 1px solid var(--card-custom-border) !important;
    border-radius: 4px !important;
    color: var(--text-main) !important;
    display: block;
    height: calc(1.5em + 0.5rem) !important;
    overflow: hidden;
    line-height: calc(1.5em + 0.5rem) !important;
    padding: 0 0 0 0.75rem;
    position: relative;
    text-decoration: none;
    white-space: nowrap;  
    box-shadow: none !important;
}


/* ==========================================================
   ФИНАЛЬНАЯ КАСТОМИЗАЦИЯ ОДИНОЧНОГО СЕЛЕКТА (Chosen Single)
   ========================================================== */

.chosen-container-single .chosen-single {
    background-color: var(--input-bg) !important;
    background-clip: padding-box;
    border: 1px solid var(--card-custom-border) !important;
    border-radius: 4px !important;  
    color: var(--text-main) !important;
    display: block;
    height: calc(1.5em + 0.5rem) !important;
    overflow: hidden;
    line-height: calc(1.5em + 0.5rem) !important;
    padding: 0 0 0 0.75rem;
    position: relative;
    text-decoration: none;
    white-space: nowrap; 
    box-shadow: none !important;
}

/* Контейнер для отображения выбранного текста */
.chosen-container-single .chosen-single span {
    display: block;
    margin-right: 2rem; /* Увеличили отступ, чтобы текст не налезал на крестик и стрелку */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: var(--text-main) !important;
}

/* КНОПКА СБРОСА (Крестик очистки значения) */
.chosen-container-single .chosen-single abbr {
    display: inline-block;
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%) !important; /* Центрируем строго по вертикали */
    right: 2.2rem; /* Сдвигаем левее стрелочки, чтобы они не накладывались */
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
    /* Красный нативный SVG-крестик */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ef4444' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") !important;
    background-size: 1.1rem 1.1rem;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: transparent !important; /* Убрали жесткий белый фон #fff */
    box-shadow: none !important; /* Полностью удалили белую размытую тень, ломавшую темную тему */
    transition: transform 0.15s ease-in-out;
}

/* Ховер кнопки сброса (Крестик становится темно-красным) */
.chosen-container-single .chosen-single abbr:hover {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b91c1c' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") !important;
    transform: translateY(-50%) scale(1.1) !important; /* Легкое интерактивное увеличение при наведении */
}

/* Состояние, когда селект заблокирован */
.chosen-container-single .chosen-single.chosen-disabled .chosen-single abbr:hover {
    background-position: right 2px;
}

/* ПРАВАЯ СТРЕЛОЧКА ВЫПАДАЮЩЕГО СПИСКА (Dropdown Indicator) */
.chosen-container-single .chosen-single div {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 2rem;
    height: 100%;
    padding-left: 0.5rem;
}

/* Отрисовка стрелочки-треугольника стандартными средствами Chosen */
.chosen-container-single .chosen-single div b {
    display: block;
    width: 100%;
    height: 100%;
    /* Стрелочка перекрашивается в цвет иконок темы, исключая старый черный цвет */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2310a37f' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-size: 1.25rem 1.25rem;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Поворот стрелочки вверх, когда список раскрыт */
.chosen-container.chosen-with-drop .chosen-single div b {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2310a37f' d='M7 14l5-5 5 5z'/%3E%3C/svg%3E") !important;
}

/* Специфика поддержки белого контента */
.white-content .chosen-container-single .chosen-single div {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 2rem;
    height: 100%;
    padding-left: 0.5rem;
}


    .chosen-container-single .chosen-single div:after {
      display: inline-block;
      position: relative;
      top: .125rem;
      left: -1rem;
      width: 2rem;
      height: 2rem;
      content: "";
      background-size: 2rem 2rem;
      background-position: center center;
      background-repeat: no-repeat; }
  .chosen-container-single .chosen-single:not(.chosen-single-with-deselect) div:after {
    background-color: #1e1e2f;
 }

  .white-content .chosen-container-single .chosen-single:not(.chosen-single-with-deselect) div:after {
    background-color: #FFF;
 }    

.chosen-container-single .chosen-default {
  color: #adb5bd; }

.chosen-container-single a:not([href]):not([tabindex]) {
  color: #000!important; }

.white-content .chosen-container-single a:not([href]):not([tabindex]) {
  color: #FFF !important; }  

.chosen-container-single a:not([href]):not([tabindex]).chosen-single:not(.chosen-default) {
  color: #FFF !important; }

.white-content .chosen-container-single a:not([href]):not([tabindex]).chosen-single:not(.chosen-default) {
  color: #000 !important; }  

.chosen-container-single .chosen-search-input {
  border: none; }

.chosen-container-single .chosen-search {
  margin: 0;
  padding: .5rem .5rem 0 .5rem;
  position: relative;
  white-space: nowrap;
  z-index: 1000; }
  .chosen-container-single .chosen-search:after {
    display: inline-block;
    position: relative;
    top: .365rem;
    left: -1.75rem;
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23adb5bd' d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
    background-size: 1.25rem 1.25rem;
    background-position: center center;
    background-repeat: no-repeat; }
  .chosen-container-single .chosen-search input[type="text"] {
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
    color: #000;
    outline: none;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    padding: .25rem 1rem .25rem .5rem;
    width: 100%; }

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  background-clip: padding-box; }

.chosen-container-single-nosearch .chosen-search {
  display: none; }

.chosen-container-multi .chosen-choices {
  border: 1px solid #253831;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  cursor: text;
  height: auto !important;
  margin: 0;
  padding: .175rem;
  overflow: hidden;
  position: relative; }
  .chosen-container-multi .chosen-choices li {
    float: left;
    list-style: none; }
  .chosen-container-multi .chosen-choices .search-field {
    margin: 0;
    padding: 0;
    white-space: nowrap; }
    .chosen-container-multi .chosen-choices .search-field input[type="text"] {
      width: 100% !important;
      margin: 0;
      padding: .175rem .175rem .175rem .5rem;
      border: 0 !important;
      background: transparent !important;
      color: #6c757d;
      outline: 0; }
    .chosen-container-multi .chosen-choices .search-field .default {
      color: #ced4da; }
  .chosen-container-multi .chosen-choices .search-choice {
    background-clip: padding-box;
    position: relative;
    max-width: 320px;
    margin: .175rem .25rem;
    padding: .25rem 1.5rem .25rem .25rem;
    border: 1px solid #ced4da;
    background-color: #f8f9fa;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    cursor: default;
    font-size: 0.875rem;
    line-height: 1;
    color: #6c757d;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
    .chosen-container-multi .chosen-choices .search-choice .search-choice-close {
      display: inline-block;
      position: absolute;
      top: .2rem;
      right: .125rem;
      width: 1rem;
      height: 1rem;
      cursor: pointer;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23dc3545' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
      background-size: 1rem 1rem;
      background-position: center center;
      background-repeat: no-repeat; }
      .chosen-container-multi .chosen-choices .search-choice .search-choice-close:hover {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23921925' d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E"); }
  .chosen-container-multi .chosen-choices .search-choice-focus {
    background: #dee2e6; }
    .chosen-container-multi .chosen-choices .search-choice-focus .search-choice-close {
      background-position: right -11px; }

.chosen-container-multi .chosen-drop .result-selected {
  display: none; }

.chosen-container-active .chosen-single {
  border: 1px solid #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5);
  transition: border linear 0ms, box-shadow linear 0ms; }
  @media (prefers-reduced-motion: reduce) {
    .chosen-container-active .chosen-single {
      transition: none; } }

.chosen-container-active.is-valid .chosen-single {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.4); }

.chosen-container-active.is-invalid .chosen-single {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.4); }

.chosen-container-active.chosen-with-drop .chosen-single {
  background-color: #fff;
  border: 1px solid #80bdff;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: none;
  transition: border linear 0ms, box-shadow linear 0ms; }
  @media (prefers-reduced-motion: reduce) {
    .chosen-container-active.chosen-with-drop .chosen-single {
      transition: none; } }
  .chosen-container-active.chosen-with-drop .chosen-single div:after {
    display: inline-block;
    position: relative;
    top: .125rem;
    left: -1rem;
    width: 2rem;
    height: 2rem;
    content: "";
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23adb5bd' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");
    background-size: 2rem 2rem;
    background-position: center center;
    background-repeat: no-repeat; }

.chosen-container-active .chosen-choices {
  border: 1px solid #80bdff;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  transition: border linear 0ms, box-shadow linear 0ms; }
  @media (prefers-reduced-motion: reduce) {
    .chosen-container-active .chosen-choices {
      transition: none; } }
  .chosen-container-active .chosen-choices .search-field input[type="text"] {
    color: #6c757d !important; }

.chosen-container-active.chosen-with-drop .chosen-choices {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.chosen-container-active.chosen-with-drop .chosen-search-input {
  display: inline-block; }

.chosen-disabled {
  cursor: default;
  opacity: .5 !important; }
  .chosen-disabled .chosen-single {
    cursor: default; }
  .chosen-disabled .chosen-choices .search-choice .search-choice-close {
    cursor: default; }

.chosen-container-optgroup-clickable li.group-result {
  text-transform: none !important; }
  .chosen-container-optgroup-clickable li.group-result:hover {
    background-color: #007bff;
    color: white;
    cursor: pointer; }
    .chosen-container-optgroup-clickable li.group-result:hover em {
      color: white; }

.chosen-container.is-valid .chosen-single,
.chosen-container.is-valid .chosen-choices,
.chosen-container.is-valid .chosen-drop, .chosen-container:valid .chosen-single,
.chosen-container:valid .chosen-choices,
.chosen-container:valid .chosen-drop {
  border-color: #28a745; }

.chosen-container.is-invalid .chosen-single,
.chosen-container.is-invalid .chosen-choices,
.chosen-container.is-invalid .chosen-drop, .chosen-container:invalid .chosen-single,
.chosen-container:invalid .chosen-choices,
.chosen-container:invalid .chosen-drop {
  border-color: #dc3545; }

input[type="text"].chosen-focus-input {
  position: absolute;
  top: -9000px;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  outline: 0; }

.input-group:nth-of-type(1) .chosen-container .chosen-choices {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.input-group:not(:nth-of-type(1)) .chosen-container .chosen-choices {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group:not(:nth-of-type(1)) .input-group-prepend .input-group-text {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

.input-group .chosen-container {
  position: relative;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: 1% !important; }

.input-group .chosen-choices .search-field {
  min-height: calc(1.5em + 0.75rem); }
