/* sc-select.css — премиальный кастомный дропдаун (пара к sc-select.js). */

.sc-select2 {
  position: relative;
  vertical-align: middle;
  box-sizing: border-box;
}
.sc-select2 * { box-sizing: border-box; }

/* Родной <select> — невидим, но в DOM (сабмит + доступность) */
.sc-select2__native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

/* ── Кнопка-триггер (закрытый контрол) ───────────────────────────────────────
   Стиль: как поле ввода приложения — card-2 фон, border, radius 12, chevron muted.  */
.sc-select2__trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--card-2, #f7f5ef);
  border: 1px solid var(--border, #e5e1d8);
  border-radius: 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--text, #1c1f24);
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.sc-select2__trigger:hover {
  border-color: var(--primary, #1f6f55);
}
.sc-select2.is-open .sc-select2__trigger,
.sc-select2__trigger:focus-visible {
  outline: none;
  border-color: var(--primary, #1f6f55);
  box-shadow: 0 0 0 3px var(--ring, rgba(31, 111, 85, .18));
}
.sc-select2__value {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sc-select2--placeholder .sc-select2__value { color: var(--muted, #8a897f); }
.sc-select2__chevron {
  flex: 0 0 auto;
  color: var(--muted, #6b6a64);
  transition: transform .2s ease;
}
.sc-select2.is-open .sc-select2__chevron { transform: rotate(180deg); }
.sc-select2.is-disabled { opacity: .6; }
.sc-select2.is-disabled .sc-select2__trigger { cursor: not-allowed; }

/* ── Панель (fixed — не режется карточками/overflow) ─────────────────────────
   Premium: 14px radius, глубокая тень, комфортный padding вокруг опций.           */
.sc-select2__panel {
  position: fixed;
  z-index: 3000;
  min-width: 200px;
  max-width: 92vw;
  padding: 6px;
  background: var(--card, #fff);
  border: 1px solid var(--border, #e5e1d8);
  border-radius: 14px;
  box-shadow: var(--shadow, 0 14px 38px rgba(0, 0, 0, .16)), 0 2px 8px rgba(0, 0, 0, .07);
  opacity: 0;
  transform: translateY(-6px) scale(.985);
  transition: opacity .15s ease, transform .15s ease;
  overflow: hidden;
}
.sc-select2__panel.is-shown { opacity: 1; transform: none; }

/* ── Поиск ── */
.sc-select2__searchbox { padding: 4px 4px 6px; }
.sc-select2__search {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--border, #e5e1d8);
  border-radius: 10px;
  font: inherit;
  font-size: 13px;
  background: var(--card-2, #f7f5ef);
  color: var(--text, #1c1f24);
}
.sc-select2__search:focus {
  outline: none;
  border-color: var(--primary, #1f6f55);
  box-shadow: 0 0 0 2px var(--ring, rgba(31, 111, 85, .18));
  background: var(--card, #fff);
}

/* ── Список опций ── */
.sc-select2__list {
  max-height: 300px;
  overflow-y: auto;
  overscroll-behavior: contain;
  /* Тонкий скроллбар — не нарушает премиум-вид */
  scrollbar-width: thin;
  scrollbar-color: var(--border, #e2e8f0) transparent;
}
.sc-select2__list::-webkit-scrollbar { width: 4px; }
.sc-select2__list::-webkit-scrollbar-track { background: transparent; }
.sc-select2__list::-webkit-scrollbar-thumb {
  background: var(--border, #e2e8f0); border-radius: 4px;
}

/* ── Одна опция ── */
.sc-select2__opt {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text, #1c1f24);
  transition: background .1s ease;
}
.sc-select2__opt-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Галочка — показывается у выбранного */
.sc-select2__check { flex: 0 0 auto; color: var(--primary, #1f6f55); opacity: 0; }
.sc-select2__opt.is-selected {
  color: var(--primary, #1f6f55);
  font-weight: 700;
}
.sc-select2__opt.is-selected .sc-select2__check { opacity: 1; }
/* Hover / keyboard-active */
.sc-select2__opt.is-active { background: var(--card-2, #f7f5ef); }
.sc-select2__opt.is-disabled { opacity: .4; cursor: not-allowed; }
.sc-select2__opt[hidden] { display: none; }
.sc-select2__empty {
  padding: 16px 12px;
  text-align: center;
  color: var(--muted, #6b6a64);
  font-size: 13px;
}

/* ── Тёмная тема ─────────────────────────────────────────────────────────────
   Токены --card / --card-2 / --border / --shadow уже переключаются через data-theme,
   поэтому большинство правил работают без дублирования. Здесь только усиливаем тень
   и корректируем фон поиска, который иначе выглядит слишком светлым.              */
[data-theme="dark"] .sc-select2__trigger {
  background: var(--card-2, #1b2740);
  border-color: var(--border, #243247);
}
[data-theme="dark"] .sc-select2__panel {
  background: var(--card, #131c2e);
  border-color: var(--border, #243247);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .65), 0 4px 12px rgba(0, 0, 0, .5);
}
[data-theme="dark"] .sc-select2__search {
  background: var(--card-2, #1b2740);
  border-color: var(--border, #243247);
  color: var(--text, #f1f5f9);
}
[data-theme="dark"] .sc-select2__search:focus {
  background: var(--card, #131c2e);
}
[data-theme="dark"] .sc-select2__opt {
  color: var(--text, #f1f5f9);
}
[data-theme="dark"] .sc-select2__opt.is-active {
  background: var(--card-2, #1b2740);
}
[data-theme="dark"] .sc-select2__opt.is-selected {
  color: var(--primary-2, #22c55e);
}
[data-theme="dark"] .sc-select2__check {
  color: var(--primary-2, #22c55e);
}

/* ── prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
  .sc-select2__panel,
  .sc-select2__chevron { transition: none; }
}
