/* Styled Select (ss) — прозрачный enhancer нативного <select>. Тема сайта + поиск. */
.ss-native{ position:absolute!important; width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0; }
.ss-wrap{ position:relative; display:block; }          /* блочный по умолч. */
.ss-wrap.ss-auto{ display:inline-block; }               /* для width:auto селектов */

.ss-field{ display:flex; align-items:center; gap:6px; width:100%;
  min-height:42px; padding:8px 34px 8px 12px; position:relative;
  background:var(--bg-elevated); color:var(--text-primary);
  border:1px solid var(--border); border-radius:var(--radius);
  font-size:16px; line-height:1.2; cursor:pointer; text-align:left;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ss-field:hover{ border-color:var(--border-strong); }
.ss-wrap.open .ss-field{ border-color:var(--orange);
  box-shadow:0 0 0 3px var(--orange-dim); background:var(--bg-surface); }
.ss-field.ss-placeholder{ color:var(--text-muted); }
.ss-field::after{ content:""; position:absolute; right:13px; top:50%;
  width:8px;height:8px; margin-top:-5px; border-right:2px solid var(--text-muted);
  border-bottom:2px solid var(--text-muted); transform:rotate(45deg);
  transition:transform .15s; }
.ss-wrap.open .ss-field::after{ transform:rotate(-135deg); margin-top:-2px; }

.ss-menu{ display:none; position:absolute; top:calc(100% + 4px); left:0; right:0;
  z-index:2100; background:var(--bg-surface); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-lg);
  max-height:300px; overflow-y:auto; padding:4px; }
.ss-wrap.open .ss-menu{ display:block; }
.ss-wrap.ss-up .ss-menu{ top:auto; bottom:calc(100% + 4px); }  /* открытие вверх */

.ss-search{ position:sticky; top:0; z-index:1; padding:4px 4px 6px;
  background:var(--bg-surface); }
.ss-search input{ width:100%; height:38px; padding:6px 10px; font-size:16px;
  background:var(--bg-elevated); color:var(--text-primary);
  border:1px solid var(--border); border-radius:var(--radius-sm); outline:none; }
.ss-search input:focus{ border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-dim); }

.ss-opt{ padding:10px 12px; border-radius:var(--radius-sm); font-size:.92rem;
  color:var(--text-secondary); cursor:pointer;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ss-opt:hover, .ss-opt.ss-active{ background:var(--bg-hover); color:var(--orange); }
.ss-opt.ss-sel{ color:var(--text-primary); font-weight:600; }
.ss-opt[disabled]{ opacity:.5; pointer-events:none; }
.ss-empty{ padding:10px 12px; color:var(--text-muted); font-size:.9rem; display:none; }

/* внутри Bootstrap-модалки меню не должно клиппиться телом */
.modal-body{ overflow:visible; }
@media (max-width:820px){ .ss-menu{ max-height:60vh; } }

/* ── Мультивыбор (select multiple data-mss): чекбокс-галочка в опции ── */
.ss-multi .ss-opt{ display:flex; align-items:center; gap:10px; position:relative; min-width:0; }
.ss-multi .ss-opt::before{                 /* квадрат-бокс чекбокса */
  content:""; flex:0 0 auto; width:18px; height:18px; box-sizing:border-box;
  border:1.5px solid var(--border-strong); border-radius:5px;
  background:var(--bg-elevated); transition:background .12s, border-color .12s; }
.ss-multi .ss-opt.ss-sel::before{          /* залитый бренд-оранж при выборе */
  background:var(--orange); border-color:var(--orange); }
.ss-multi .ss-opt.ss-sel::after{           /* белая галочка поверх бокса */
  content:""; position:absolute; left:18px; top:50%; width:5px; height:9px; margin-top:-6px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
