/* ===== Playhost overrides (dark) ===== */
:root{
  --ph-bg:#0e1117;
  --ph-panel:#151a22;
  --ph-panel-2:#10141b;
  --ph-text:#e6e9f3;
  --ph-text-dim:#a7afc4;
  --ph-line:#23293a;
  --ph-accent-1:#6b7cff;
  --ph-accent-2:#8e49ff;
  --ph-badge:#1e2231;

  /* статусные цвета */
  --st-new:#4b67ff; --st-review:#f7b733; --st-ok:#27c93f; --st-rej:#ff5c5c;
}

html,body.dark-scheme{background:var(--ph-bg);color:var(--ph-text)}

/* каркасы/панели */
.pt60{padding-top:60px!important}
.pb60{padding-bottom:60px!important}
.section{padding:60px 0}
.card{border-radius:14px}
.card.bg-dark{background:var(--ph-panel)!important;border:1px solid var(--ph-line)!important}
.card .card-title{font-weight:700}

/* типографика/ссылки */
.text-muted,.small.text-muted{color:var(--ph-text-dim)!important}
code{background:#0c0f15;color:#d1d8ff;border-radius:6px;padding:.15rem .35rem}
a{color:#b0c3ff} a:hover{color:#d6ddff}

/* ======= ФОРМЫ (база) ======= */
.form-control,.form-select{
  background:var(--ph-panel-2);
  border:1px solid var(--ph-line);
  color:var(--ph-text);
}
.form-control:focus,.form-select:focus{
  border-color:#4651ff; box-shadow:0 0 0 .2rem rgba(94,96,255,.12); outline:0;
}
.form-control[readonly], .form-control:disabled, .form-select:disabled{
  background:#11161f !important; color:#e8e8f2 !important; opacity:1 !important;
}

/* видимое выделение текста */
::selection{background:rgba(104,120,255,.35);color:#fff}
::-moz-selection{background:rgba(104,120,255,.35);color:#fff}
input::selection,textarea::selection{background:rgba(104,120,255,.35);color:#fff}

/* тёмные поля */
.form-control-dark,.form-select-dark,
.form-control.form-control-dark,.form-select.form-select-dark{
  background:#0f131a !important; border:1px solid #23293a !important; color:#e8e8f2 !important;
}
.form-control-dark::placeholder{color:#8f95b2!important;opacity:1}

/* ======= INPUT-GROUP с иконкой слева ======= */
.input-group.ph-input{ display:flex; align-items:stretch; width:100% }
.input-group.ph-input .input-group-text{
  height:44px; display:flex; align-items:center; padding:0 .75rem;
  background:#0f131a !important; color:#8f95b2 !important;
  border:1px solid #23293a !important; border-right:0 !important;
  border-radius:.6rem 0 0 .6rem !important;
  margin-right:-1px; /* стык без щели */
}

/* ======= Select2 — тёмная тема и стык с иконкой ======= */
/* контейнер селекта вместо native */
.select2-container--default.ph-select2 .select2-selection--single{
  height:44px; background:#0f131a; border:1px solid #23293a;
  border-radius:0 .6rem .6rem 0; border-left:0;
  display:flex; align-items:center; margin:0;
}
.select2-container.ph-select2 .select2-selection--single .select2-selection__rendered{
  color:#e8e8f2; line-height:44px; padding:0 2.2rem 0 .9rem;
}
.select2-container--default.ph-select2 .select2-selection--single .select2-selection__arrow{
  height:44px; right:.75rem;
}
.select2-container--default.ph-select2 .select2-selection--single .select2-selection__arrow b{
  border-color:#cfd7ff transparent transparent transparent;
}

/* выпадашка и опции */
.select2-container.ph-select2 .select2-dropdown{
  background:#0f131a; border:1px solid #23293a; border-radius:.6rem; overflow:hidden;
}
.select2-container.ph-select2 .select2-results{ background:#0f131a; }
.select2-container.ph-select2 .select2-results__option{ color:#e8e8f2; padding:.55rem .75rem; }
.select2-container--default.ph-select2 .select2-results__option--highlighted.select2-results__option--selectable{
  background:linear-gradient(135deg,#4754ff,#8e49ff); color:#fff;
}
.select2-container--default.ph-select2 .select2-results__option--selected{
  background:#1a1f2b; color:#fff;
}
.select2-search--dropdown{ display:none }

/* в input-group: контейнер тянется на всю ширину правой части */
.ph-input .select2-container{ flex:1 1 auto; min-width:0 }

/* ======= КНОПКИ — анти-«распухание» и анти-сдвиг текста ======= */
.btn{
  --bs-btn-padding-y:.55rem !important;
  --bs-btn-padding-x:1rem !important;
  --bs-btn-border-width:1px !important;
  --bs-btn-line-height:1.2 !important;
}
.btn-lg{ --bs-btn-padding-y:.8rem !important; --bs-btn-padding-x:1.25rem !important; }
.btn-sm{ --bs-btn-padding-y:.35rem !important; --bs-btn-padding-x:.75rem !important; }

.btn, .btn:hover, .btn:focus, .btn:active,
a.btn, a.btn:hover, a.btn:focus, a.btn:active,
.btn-outline-light, .btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active,
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.pill, .pill:hover, .pill:focus, .pill:active {
  box-sizing:border-box !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  min-height:40px; line-height:1.2 !important;
  padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
  border-width:var(--bs-btn-border-width) !important;
  letter-spacing:0 !important; text-indent:0 !important;
  transform:none !important; -webkit-transform:none !important;
  animation:none !important; -webkit-animation:none !important;
}
.btn::before,.btn::after,
.btn-main::before,.btn-main::after{display:none!important}
.btn, .btn-main{ transition: background .2s, box-shadow .2s, color .2s, border-color .2s !important }

/* фирменная кнопка */
.btn-main{
  background:linear-gradient(135deg,var(--ph-accent-1),var(--ph-accent-2));
  color:#fff;border:none;border-radius:.8рем;font-weight:700;
}
.btn-main:hover{ color:#fff; box-shadow:0 10px 24px rgba(100,80,255,.28) }
.btn-outline-light:hover{ background:#21273a!important; color:#fff!important }
.pill{ border-radius:999px }

/* ЖЁСТКИЙ фикс для особо проблемных экземпляров */
.btn-fixed,
.btn-fixed:hover,
.btn-fixed:focus,
.btn-fixed:active{
  height:48px !important; min-height:48px !important;
  padding:.75rem 1rem !important; line-height:1 !important;
  border-width:1px !important;
  letter-spacing:0 !important; text-indent:0 !important;
  transform:none !important;
}
.btn-fixed *{ transform:none !important; letter-spacing:0 !important; }

/* ======= ТАБЛИЦЫ ======= */
.table-dark{
  --bs-table-bg:var(--ph-panel); --bs-table-border-color:var(--ph-line); color:var(--ph-text);
}
.table-dark.table-striped>tbody>tr:nth-of-type(odd)>*{background:rgba(255,255,255,.03)}
.table>:not(caption)>*>*{border-bottom-color:var(--ph-line)}

/* ======= DROPDOWN фиксы ======= */
.dark-scheme .dropdown-menu{background:#111523;border:1px solid #1e2434}
.dark-scheme .dropdown-item{color:#e6ebff}
.dark-scheme .dropdown-item:hover{background:#1a2030;color:#fff}

/* ======= HERO ======= */
.subheader-hero{position:relative;overflow:hidden;background:#0f131a;border-bottom:1px solid var(--ph-line)}
.subheader-hero .jarallax-img{opacity:.3;filter:saturate(1.2)}
.subheader-hero h2{margin:0;padding:64px 0 40px;font-size:38px;font-weight:800}

/* карточки под шаблон */
.card-dark-soft{background:#151821 !important;border-radius:16px;border:1px solid rgba(255,255,255,0.04)!important}
.shadow-soft{box-shadow:0 12px 30px rgba(0,0,0,.25)}

/* ======= Чипсы статусов апелляций ======= */
.badge-status{display:inline-block;padding:.32rem .55rem;font-weight:700;border-radius:.55rem;letter-spacing:.02em}
.badge-st-new{background:linear-gradient(135deg,#5665ff,#7a89ff);color:#fff}
.badge-st-review{background:linear-gradient(135deg,#f7b733,#fce38a);color:#2a2200}
.badge-st-ok{background:linear-gradient(135deg,#29d164,#79f1a4);color:#072611}
.badge-st-rej{background:linear-gradient(135deg,#ff5c5c,#ff8a8a);color:#4b0505}

/* мелочи */
hr{border-color:var(--ph-line)}

/* --- анти-сдвиг текста у всех кнопок (ползло из темы) --- */
.btn, .btn-main, a.btn, button.btn {
  text-indent: 0 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
.btn:hover, .btn:active, .btn:focus,
.btn-main:hover, .btn-main:active, .btn-main:focus {
  text-indent: 0 !important;
  letter-spacing: 0 !important;
}

/* Playhost любит на :hover у .btn-main подкручивать отступы — фиксируем */
.btn-main,
.btn-main:hover,
.btn-main:active,
.btn-main:focus {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* ещё иногда двигают внутренних потомков */
.btn > *, .btn-main > * {
  transform: none !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
}
/* === FIX: Select2 в input-group с иконкой — один уровень и одинаковая высота === */
.input-group.ph-input { align-items: stretch; } /* обе части одной высоты */

.ph-input .input-group-text{
  height:44px; display:flex; align-items:center; /* как было */
  margin-right:-1px;                               /* стык без щели */
}

/* сам контейнер Select2 тянем как инпут справа */
.ph-input .select2-container{
  flex:1 1 auto; min-width:0;
  align-self: stretch;           /* <-- ключ: не baseline, а во всю высоту группы */
}

/* «рамка» Select2 */
.ph-input .select2-container .select2-selection--single{
  height:44px;
  display:flex; align-items:center;               /* контент по центру по вертикали */
  border-left:0; border-radius:0 .6rem .6rem 0;   /* стык с иконкой */
  padding:0 2.2rem 0 .9rem;                       /* как у инпута */
}

/* текст и стрелка внутри */
.ph-input .select2-container .select2-selection__rendered{
  line-height:44px; padding:0 2.2rem 0 .0; color:#e8e8f2;
}
.ph-input .select2-container .select2-selection__arrow{ height:44px; right:.75rem; }
