/* ============================================================================
   kit-responsive.css — адаптив кита (артборды 1440 и 412 сведены в одну страницу) и элементы
   шапки/футера, которых нет в helmet.html как классов (форма поиска, меню языка и аккаунта,
   мобильное меню, фокус-шапка). kit.css НЕ правим — только дополняем здесь.
   Контейнер (.container, .hdr-in, .ftr-in) резиновый на всех ширинах — переменные --kit-* в css/kit.css
   (окно минус 20px с каждой стороны без ограничения ширины, как на alliance-altyn.kg; ≤768px — поля 16px).
   Шапка 60px, логотип 85×32 (мобильная шапка — 105×40, ряды 44px); линия под пунктом меню / текстовой ссылкой при
   наведении — общее правило «hover underline» в css/kit.css.
   Точки перелома: ≤1100px — мобильная шапка сотрудника; ≤960px — мобильная публичная шапка;
                   ≤768px — мобильный футер и раскладка экранов по макетам 412 (header-public-mobile, footer-mobile);
                   ≤480px — мобильная раскладка экранов этапа 1 (окно входа на весь экран и т.п.).
   ============================================================================ */

body.kit-body {
  background: #ffffff;
  color: #121212;
  font-size: 15px;
  line-height: 1.5;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.kit-main { flex: 1 0 auto; display: flex; flex-direction: column; }
.kit-main > * { flex: 0 0 auto; }
.kit-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.kit-skip { position: absolute; left: 16px; top: -48px; z-index: 100; padding: 8px 14px; border-radius: 12px; background: #262626; color: #ffffff; }
.kit-skip:focus { top: 8px; color: #ffffff; }

/* Видимый фокус для клавиатуры (в макетах не нарисован, нужен для доступности) */
.kit-body a:focus-visible,
.kit-body button:focus-visible,
.kit-body .btn:focus-visible,
.kit-body input:focus-visible,
.kit-body textarea:focus-visible { outline: 2px solid #ff760d; outline-offset: 2px; }
/* поле внутри рамки .input/.hdr-search: фокус показывает сама рамка (как .input.is-focus в ките) */
.kit-body .input input:focus-visible,
.kit-body .hdr-search input:focus-visible { outline: none; }

/* ---------- шапка (kit/header-public.html, header-candidate.html) ---------- */
.kit-body .hdr { position: relative; z-index: 40; }
.kit-logo { display: inline-flex; align-items: center; flex: none; }
.kit-logo svg { display: block; }
.hdr-search { margin: 0; }
.hdr-search input {
  flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 14px; color: #121212;
}
.hdr-search input::placeholder { color: #646464; opacity: 1; }
.hdr-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.hdr-search:focus-within { box-shadow: 0 0 0 2px #262626 inset; }
.hdr-search .kit-search-btn { display: inline-flex; align-items: center; color: #646464; }
@media (max-width: 1120px) {
  .kit-hdr-d .hdr-search { display: none; }
}

/* язык: тёмный квадрат RU/KG и тёмный список «Русский / Кыргызча» (как на alliance-altyn.kg) */
.lang-btn { cursor: pointer; }
.lang-menu[hidden] { display: none; }
.lang-menu { margin: 0; }
.lang-menu button {
  display: block; padding: 0; text-align: left; font-size: 15px; line-height: 1.2;
  color: #8f8f8f; white-space: nowrap; cursor: pointer; transition: color .3s;
}
.lang-menu button.on { color: #ffffff; }
/* наведение — линия под подписью (.ul-label, строка остаётся кликабельной во всю ширину меню); line-height 1.2 */
.lang-menu .ul-label { display: inline-block; }
.lang-wrap.is-right .lang-menu { left: auto; right: 0; }

/* аккаунт вошедшего: чип .acct (kit/header-candidate.html), меню — .kit-menu (kit-components.css) */
.acct-wrap { position: relative; flex: none; }
.acct { background: #ffffff; cursor: pointer; font: inherit; }
.acct:hover { border-color: #cbcbcb; color: #121212; }
.acct .acct-ava { width: 32px; height: 32px; font-size: 12px; }
.acct .acct-name { font-size: 14px; font-weight: 500; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bell:hover { background: #e9e9e9; color: #121212; }

/* ---------- мобильная шапка (kit/header-public-mobile.html): строка лого + язык + вход + меню, строка поиска ---------- */
.kit-hdr-m {
  display: none; position: relative; z-index: 40; background: #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  padding: 12px var(--kit-gutter); flex-direction: column; gap: 12px;
}
.kit-hdr-m-row { display: flex; align-items: center; gap: 12px; height: 44px; }
.kit-hdr-m-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.kit-hdr-m .lang-btn { width: 44px; height: 44px; }
.kit-sq44 { width: 44px; height: 44px; padding: 0; }
.kit-sq44 .ava { width: 32px; height: 32px; font-size: 12px; }
.kit-hdr-m .hdr-search { max-width: none; height: 44px; flex: none; }
.kit-m-nav[hidden] { display: none; }
.kit-m-nav { display: flex; flex-direction: column; gap: 2px; padding-top: 4px; border-top: 1px solid #e9e9e9; }
/* бургер: «≡» закрыто, «×» открыто */
.kit-burger-open { display: inline-flex; }
.kit-burger-close { display: none; }
[data-kit-burger][aria-expanded="true"] .kit-burger-open { display: none; }
[data-kit-burger][aria-expanded="true"] .kit-burger-close { display: inline-flex; }
.kit-hdr-m .acct-wrap .kit-menu { top: 52px; }
.kit-m-nav a, .kit-m-nav button {
  display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border-radius: 12px;
  font-size: 15px; font-weight: 500; color: #121212; text-align: left; width: 100%; cursor: pointer;
}
/* при наведении — линия под подписью (.ul-label), без заливки строки; активный пункт (a.active) — та же линия постоянно,
   без заливки и без смены цвета текста и иконки (kit.css «hover underline», решение владельца 19.10.2026) */
.kit-m-nav a:hover, .kit-m-nav button:hover { color: #121212; }
.kit-m-nav form { margin: 0; }
.kit-m-nav .kit-m-sep { height: 1px; background: #e9e9e9; margin: 4px 0; }
.kit-m-nav svg.ic { width: 18px; height: 18px; color: #646464; }

/* ---------- фокус-шапка (Registration.dc.html: только лого и язык, 60px как основная шапка; мобильная 56px) ----------
   разделитель — внутри нижнего пикселя (как .hdr в kit.css), поэтому ряд тоже 60 и логотип на той же высоте, что в основной шапке */
.kit-focus-hdr { height: 60px; background: #ffffff; box-shadow: inset 0 -1px 0 #e9e9e9; display: flex; align-items: center; flex-shrink: 0; }
.kit-focus-in { display: flex; align-items: center; justify-content: space-between; }
/* ряд шапки (.container) — ширина контейнера страницы по центру (--kit-wrap в kit.css) */
.kit-focus-hdr .kit-focus-in { flex: 0 0 auto; min-width: 0; }
.kit-focus-hdr .kit-logo-d { display: inline-flex; align-items: center; }
.kit-focus-hdr .kit-logo-m { display: none; align-items: center; }

/* ---------- футер (kit/footer.html, footer-mobile.html) — без иконки служебного входа ---------- */
.ftr .kit-ftr-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.kit-ftr-d .kit-ftr-right { text-align: right; }
.kit-ftr-m { display: none; padding: 24px 16px 20px; }
.kit-ftr-m-in { display: flex; flex-direction: column; gap: 16px; }
.kit-ftr-m .phone { font-size: 21.6px; min-height: 44px; }
.kit-ftr-m .addr { font-size: 14px; align-items: flex-start; }
.kit-ftr-m hr { margin: 4px 0 0; }

/* Шапки переключаются на мобильный вариант раньше футера: на 769–960px десктопная шапка не помещается
   (нав + язык + кнопка входа), у сотрудника 6 пунктов меню — до 1100px. Горизонтальной прокрутки нет. */
.kit-hdr-staff-m { display: none; }
@media (max-width: 960px) {
  .kit-hdr-d:not(.kit-hdr-staff) { display: none; }
  .kit-hdr-m:not(.kit-hdr-staff-m) { display: flex; }
}
@media (max-width: 1100px) {
  .kit-hdr-staff { display: none; }
  .kit-hdr-staff-m { display: flex; }
}
/* Мобильная раскладка (телефон и планшет): зоны нажатия ≥44px у пунктов «Русский / Кыргызча» и у кнопки поиска */
@media (max-width: 1100px) {
  .kit-hdr-m .lang-menu, .kit-focus-hdr .lang-menu { padding: 4px 20px; gap: 0; }
  .kit-hdr-m .lang-menu button, .kit-focus-hdr .lang-menu button { display: flex; align-items: center; width: 100%; min-height: 44px; }
  /* иконка остаётся на месте (−13px с каждой стороны), а кнопка — 44×44 во всю высоту строки поиска */
  .kit-hdr-m .hdr-search .kit-search-btn { width: 44px; height: 44px; margin: 0 -13px; justify-content: center; flex: none; }
}
@media (max-width: 768px) {
  .kit-ftr-d { display: none; }
  .kit-ftr-m { display: block; }
  .kit-focus-hdr { height: 56px; }
  .kit-focus-hdr .kit-logo-d { display: none; }
  .kit-focus-hdr .kit-logo-m { display: inline-flex; min-height: 44px; }
  .kit-focus-hdr .lang-btn { width: 44px; height: 44px; }
  .kit-focus-hdr .lang-wrap .lang-menu { left: auto; right: 0; }
  .kit-focus-hdr .kit-focus-divider { display: none; }
}

/* Уведомление «Сессия истекла — войдите снова» (П16): плашка поверх страницы */
.kit-toast[hidden] { display: none; }
.kit-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 1200;
  width: calc(100% - 32px); max-width: 440px; box-shadow: 0 12px 32px rgba(18,18,18,.16);
}
.kit-toast .btn { margin-left: auto; flex: none; }

@media (prefers-reduced-motion: reduce) {
  .kit-body *, .kit-body *::before, .kit-body *::after { transition: none !important; animation: none !important; }
}
.kit-m-nav .kit-m-out { color: #646464; }
