/* ===== Тёмная тема: остатки, не покрытые генератором =====
   Файл подключается ПОСЛЕ dark-theme.css, поэтому правила с такой же
   специфичностью выигрывают по порядку. Генератор (tools/dark-theme)
   этот файл не читает и не переписывает: пересобирать dark-theme.css
   ради этих правок не нужно. */

/* ------------------------------------------------ 1. Карты Яндекса ----- */
/* Плитки карты лежат в слое ground. branch.js вешает на него инлайном
   filter: grayscale(100%), поэтому перебить можно только важностью.
   Метки, балун и копирайт лежат в других слоях и остаются как есть.
   Имя класса слоя содержит версию API (сейчас ymaps-2-1-79-ground-pane),
   поэтому цепляемся за окончание имени, а не за версию. */
html.zl-dark .zl__homeoffice-map [class*="-ground-pane"],
html.zl-dark .zl__kontakty-map [class*="-ground-pane"] {
    filter: grayscale(100%) invert(100%) !important;
}

/* -------------------------------------------- 2. Виджет Битрикс24 ------ */
/* Подложку приглашения dark-theme.css уже затемняет, но его «хвостик»
   остаётся белым и светится рядом с кнопкой. */
html.zl-dark .b24-widget-button-popup-triangle {
    background-color: #0f1013 !important;
}
/* Кнопки внутри приглашения: общее правило красит всех потомков одним
   цветом, возвращаем им вид ссылки. */
html.zl-dark .b24-widget-button-popup-button-item {
    color: #31d4d3 !important;
    border-bottom-color: #31d4d3 !important;
}
/* Крестик приглашения нарисован тёмно-серым по белому и на затемнённой
   подложке пропадает. */
html.zl-dark .b24-widget-button-popup-btn-hide {
    filter: invert(1);
    opacity: .45;
}
/* Подсказка у иконок каналов — последняя белая плашка виджета. */
html.zl-dark .b24-widget-button-social-tooltip {
    background: #0f1013 !important;
    color: #e5e7eb !important;
}

/* ---------------------------- 3. Границы полей ввода (WCAG 1.4.11) ----- */
/* Было: #26282e = 1,29:1 к фону поля #0f1013 и 1,43:1 к чёрной странице,
   #3a3d44 = 1,63:1 к #16181c. Граница поля — единственный его признак,
   норма для нетекстовых элементов 3:1.
   Стало: #6b7280 = 3,68:1 к #16181c, 3,94:1 к #0f1013, 4,34:1 к #000000. */
html.zl-dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
html.zl-dark select,
html.zl-dark textarea,
html.zl-dark .form-control,
html.zl-dark .custom-select,
html.zl-dark .custom-file-label,
html.zl-dark .input-group-text,
html.zl-dark .zl__modal-input,
html.zl-dark .zl__dropdown-toggle,
html.zl-dark .zl__input-text,
html.zl-dark .zl__input-number,
html.zl-dark .zl__input-textarea,
html.zl-dark .zl__select-text,
html.zl-dark .zl__input-file,
html.zl-dark .zl__order-input-range,
html.zl-dark .zl__input-contractor[readonly] {
    border-color: #6b7280;
}
/* Фокус обязан отличаться от покоя (WCAG 2.4.7). Цепочка :not() поднимает
   специфичность правила выше, чем у правила покоя, иначе серый цвет
   перебил бы фокус. */
html.zl-dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):focus,
html.zl-dark select:focus,
html.zl-dark textarea:focus,
html.zl-dark .form-control:focus,
html.zl-dark .zl__modal-input:focus,
html.zl-dark .zl__dropdown-toggle:focus {
    border-color: #31d4d3;
}
