/* Golos Text, самохост, без обращений к Google. Сгенерировано из CSS2 Google Fonts. */
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/golos-400-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/golos-400-cyrillic-ext.woff2) format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/golos-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/golos-400-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/golos-500-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/golos-500-cyrillic-ext.woff2) format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/golos-500-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(fonts/golos-500-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/golos-600-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/golos-600-cyrillic-ext.woff2) format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/golos-600-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/golos-600-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/golos-700-cyrillic.woff2) format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/golos-700-cyrillic-ext.woff2) format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/golos-700-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/golos-700-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ============================================================
   Слой редизайна hmrn.ru (аддитивный, грузится последним).
   Подключается из header.php после /includes/app.*.css.
   Стили только здесь, не в .php. Палитра сине-зелёная Югры.
   Тире в тексте не используется.
   ============================================================ */

:root{
  --hm-navy:       #16365A;
  --hm-navy-deep:  #102A47;
  --hm-ink:        #1E2733;
  --hm-green:      #2E7D32;
  --hm-green-deep: #1F5A24;
  --hm-blue:       #1A66C2;
  --hm-blue-deep:  #134E96;
  --hm-muted:      #51606E;
  --hm-danger:     #C62828;
  --hm-surface:    #F4F6F8;
  --hm-surface-2:  #ECF1F5;
  --hm-line:       #DCE4EC;
  --hm-white:      #FFFFFF;
  --hm-grad: linear-gradient(100deg, #16365A 0%, #154F6E 52%, #2E7D32 100%);
  --hm-container: 1200px;
  --hm-radius: 14px;
  --hm-radius-sm: 10px;
  --hm-shadow: 0 2px 8px rgba(16,42,71,.07), 0 8px 28px rgba(16,42,71,.06);
  --hm-shadow-hover: 0 4px 14px rgba(16,42,71,.12), 0 14px 40px rgba(16,42,71,.10);
  --hm-font: "Golos Text", "PT Root UI", "Segoe UI", system-ui, Arial, sans-serif;
}

/* ---------- База ---------- */
/* Базовый размер контента поднят 14 -> 16px (читаемость, ПП №102). Шапку, топбар
   и главное меню это НЕ затрагивает: там размеры заданы в rem/явных px под
   однострочные раскладки. Наследуемый «сырой» текст (баннеры, списки) укрупняется. */
.body-wrap{ font-family: var(--hm-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.body-wrap a:focus-visible, .body-wrap button:focus-visible, .body-wrap input:focus-visible,
.body-wrap select:focus-visible, .body-wrap textarea:focus-visible, .body-wrap [tabindex]:focus-visible{
  outline: 2px solid var(--hm-blue); outline-offset: 2px;
}
/* Golos на текстовых элементах (без a, i, span и иконочных классов) */
.body-wrap h1, .body-wrap h2, .body-wrap h3, .body-wrap h4, .body-wrap h5, .body-wrap h6,
.body-wrap p, .body-wrap li, .body-wrap dt, .body-wrap dd, .body-wrap td, .body-wrap th, .body-wrap caption,
.body-wrap label, .body-wrap blockquote, .body-wrap figcaption,
.body-wrap button, .body-wrap input, .body-wrap select, .body-wrap textarea{ font-family: var(--hm-font); }

/* Декоративные полосы старой темы (boomerang.css, 260px) убираем:
   нашему дизайну не нужны, в Яндекс.Браузере мелькали как прыгающий отступ. */
.body-wrap::before, .body-wrap::after{ display: none !important; }

/* ============================================================
   ШАПКА (шаг 2). По живым классам шаблона, markup не правится.
   ============================================================ */

/* ---- Верхняя служебная полоса: 8 ссылок в одну строку ---- */
.body-wrap .top-header.links-menu{ background: var(--hm-navy-deep) !important; }
.body-wrap .top-header.links-menu .container{ padding-top: 0 !important; padding-bottom: 0 !important; }
.body-wrap .top-header.links-menu .top-header-menu{ width: 100%; }
.body-wrap .top-header.links-menu .top-menu{
  display: flex; flex-wrap: nowrap; justify-content: center;
  gap: 0; margin: 0; padding: 0; list-style: none;
}
/* гасим шаблонный разделитель li (border-right 1px #f2f2f2, почти белый на синем,
   рисуется на всех ширинах и оставляет хвост после последней ссылки) */
.body-wrap .top-header.links-menu .top-menu > li{ margin: 0 !important; float: none; border: 0 !important; }
.body-wrap .top-header.links-menu .top-menu > li > a{
  display: inline-block; padding: 8px 14px !important; font-size: .8rem !important; line-height: 1.4;
  color: #cdd9e6 !important; white-space: nowrap; border: 0 !important; background: none !important;
}
/* свои аккуратные разделители только между ссылками (не после последней) */
.body-wrap .top-header.links-menu .top-menu > li + li > a{ border-left: 1px solid rgba(255,255,255,.2) !important; }
.body-wrap .top-header.links-menu .top-menu > li > a:hover{ color: #fff !important; background: rgba(255,255,255,.07) !important; text-decoration: none; }

/* ---- Масштхед ---- */
/* Лёгкий этнический водяной знак Югры: воздушное поле хантыйских мотивов
   «оленьи рога» (ромб с парными вертикальными «заячьими ушками» - символ
   благополучия и защиты). Очень бледный навой (stroke-opacity .07), тонкие
   линии, без длинных прямых - читается как народный узор, текст не перебивает. */
.body-wrap header.header-light .top-header-top{
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath d='M36 20 L52 36 L36 52 L20 36 Z M36 20 L36 13 M36 13 L31 8 M36 13 L41 8 M36 52 L36 59 M36 59 L31 64 M36 59 L41 64' fill='none' stroke='%2316365A' stroke-opacity='0.07' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 84px 84px !important;
  border-bottom: 1px solid var(--hm-line); padding: 16px 0;
}

/* логотип */
.body-wrap header.header-light .navbar-brand img{ height: 104px !important; width: auto !important; }
/* заголовок */
/* На внутренних страницах заголовок обёрнут в ссылку на главную
   (.title > a > span), на самой главной - просто .title > span. Поэтому
   правила ниже бьют по .title span (любой вложенности), а саму ссылку-обёртку
   делаем блочной во всю ширину, чтобы раскладка и перенос были как на главной. */
.body-wrap header.header-light .title > a{
  display: block; width: 100%; color: inherit !important; text-decoration: none !important;
}
.body-wrap header.header-light .title span{
  color: var(--hm-navy) !important; font-weight: 700 !important; line-height: 1.22 !important;
  font-size: 1.35rem;
}
/* соцсети ВК/ОК плитками */
.body-wrap header.header-light a.fa-vk, .body-wrap header.header-light a.fa-odnoklassniki{
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 8px; margin-right: 6px;
  background: var(--hm-surface-2); color: var(--hm-navy) !important; text-decoration: none;
}
.body-wrap header.header-light a.fa-vk:hover, .body-wrap header.header-light a.fa-odnoklassniki:hover{ background: var(--hm-navy); color: #fff !important; }

/* контакты */
.body-wrap header.header-light .contacts-top ul{ margin: 0; padding: 0; list-style: none; }
.body-wrap header.header-light .contacts-top li{ color: var(--hm-muted); font-size: .92rem; line-height: 1.9; white-space: nowrap; }
.body-wrap header.header-light .contacts-top li i.fa{ color: var(--hm-green); width: 16px; text-align: center; margin-right: 4px; }

/* кнопки в шапке: контурные и Войти акцент */
.body-wrap header.header-light .btn-b-white{ border: 1px solid var(--hm-line); background: #fff; color: var(--hm-navy) !important; border-radius: 8px; }
.body-wrap header.header-light .btn-b-white:hover{ background: var(--hm-surface); color: var(--hm-navy) !important; }
.body-wrap header.header-light #cache_auth_container a.btn{ background: var(--hm-blue) !important; border-color: var(--hm-blue) !important; color: #fff !important; font-weight: 600; }
.body-wrap header.header-light #cache_auth_container a.btn:hover{ background: var(--hm-blue-deep) !important; border-color: var(--hm-blue-deep) !important; color: #fff !important; }

/* поиск: равная высота поля и кнопки */
.body-wrap header.header-light .form-light .input-group{ width: 100%; }
.body-wrap header.header-light .form-light .form-control{
  height: 46px !important; padding: 8px 16px !important; box-shadow: none !important; color: var(--hm-ink) !important;
  border: 1px solid var(--hm-line) !important; border-right: 0 !important; border-radius: 8px 0 0 8px !important;
}
.body-wrap header.header-light .form-light .form-control:focus{ border-color: var(--hm-blue) !important; }
/* Видимое выделение фокуса поля поиска и форм (ПП №102 п.2): тема гасит outline у
   .form-control (outline:none), возвращаем явное кольцо с приоритетом. */
.body-wrap .form-control:focus-visible{ outline: 2px solid var(--hm-blue) !important; outline-offset: 1px; }
.body-wrap header.header-light .form-light .form-control:focus,
.body-wrap header.header-light .form-light .form-control:focus-visible{ outline: 2px solid var(--hm-blue) !important; outline-offset: 1px; }
.body-wrap header.header-light .form-light .input-group-btn .btn-base{
  height: 46px !important; padding: 0 20px !important; margin: 0 !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--hm-blue) !important; border: 1px solid var(--hm-blue) !important; color: #fff !important;
  border-radius: 0 8px 8px 0 !important;
}
.body-wrap header.header-light .form-light .input-group-btn .btn-base:hover{ background: var(--hm-blue-deep) !important; border-color: var(--hm-blue-deep) !important; }

/* Живой поиск: пустой контейнер результатов не должен резервировать место в потоке.
   Иначе при загрузке появляется лишний отступ (~20px и больше), который схлопывается
   по первому клику (скрипт ajaxSearch.js убирает его). Выводим из потока как выпадающий
   список и прячем пустой - прыжок исчезает во всех браузерах. */
.body-wrap header.header-light .form-light{ position: relative; }
.body-wrap header.header-light .form-light #search_result{ position: absolute !important; top: 100% !important; left: 0; right: 0; margin: 0 !important; z-index: 60; }
.body-wrap header.header-light .form-light .live-search{ margin: 0 !important; }
.body-wrap header.header-light .form-light .live-search:empty{ display: none !important; }

/* ============================================================
   АДАПТИВ ШАПКИ (шаг 2). Брейкпоинты согласованы с сеткой Bootstrap
   шаблона: >=1200 широкий десктоп, 992-1199 узкий десктоп (колонки
   рядом, контейнер уже), 768-991 планшет (колонки стекаются), <768
   мобильный. Цель: нет горизонтальной прокрутки и наложений на всех.
   ============================================================ */

/* ---- Топбар: одна строка только на широком; ниже 1200 переносим ----
   8 ссылок в строку занимают ~1123px, это помещается лишь при контейнере
   1200+. На 992-1199 контейнер уже (970px), поэтому nowrap давал overflow.
   Переносим с 1199px. Левые разделители при переносе убираем (рваный край). */
@media (max-width: 1199px){
  .body-wrap .top-header.links-menu .top-menu{ flex-wrap: wrap; justify-content: center; }
  .body-wrap .top-header.links-menu .top-menu > li + li > a{ border-left: 0 !important; }
}

/* ---- Широкий десктоп (>=1200): полная раскладка масштхеда ---- */
@media (min-width: 1200px){
  /* левая часть: логотип и заголовок на всю ширину колонки */
  .body-wrap header.header-light .display-row.vertical-al-logo-text{ display: flex; align-items: center; gap: 18px; width: 100%; }
  .body-wrap header.header-light .vertical-al-logo-text > .middle{ flex: none; display: block !important; }
  .body-wrap header.header-light .title{ flex: 1 1 auto; min-width: 0; display: block !important; }
  .body-wrap header.header-light .title span{ display: block !important; font-size: 2.4rem; }

  /* колонки: дать заголовку больше места, контакты и поиск правее */
  .body-wrap header.header-light .top-header-top .row > .navbar-header.col-md-6{ width: 55% !important; }
  .body-wrap header.header-light .top-header-top .row > .col-md-6:not(.navbar-header){ width: 45% !important; }

  /* правая часть: контакты слева, кнопки аккуратным рядом справа, поиск ниже */
  .body-wrap header.header-light .top-header-top .col-md-4{
    display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px;
  }
  .body-wrap header.header-light .top-header-top .col-md-4 .right{ float: none !important; }
  .body-wrap header.header-light .top-header-top .col-md-4 nav.right{ margin: 0; }
  .body-wrap header.header-light .top-header-top .col-md-4 nav.right ul.menu{ margin: 0; padding: 0; list-style: none; }
  .body-wrap header.header-light .top-header-top .col-md-4 nav.right ul.menu > li{ float: none; border: 0; }
  /* поиск с отступом сверху */
  .body-wrap header.header-light .form-light{ margin-top: 14px; }
}

/* ---- Узкий десктоп / планшет (768-1199): масштхед в столбик ----
   В контейнере уже 1200px двухколоночная раскладка зажимает заголовок
   (он не вмещается рядом с логотипом, наезжает на контакты). Складываем
   внешние половины col-md-6 в столбик: строка идентификации на всю ширину
   (заголовок крупно, без наложения), ниже контакты + кнопки + поиск.
   Внутреннюю сетку правой половины (контакты col-md-8 + кнопки col-md-4,
   поиск col-md-12) шаблон раскладывает сам. */
@media (min-width: 768px) and (max-width: 1199px){
  .body-wrap header.header-light .top-header-top .row > .col-md-6{ width: 100% !important; float: none !important; }
  .body-wrap header.header-light .display-row.vertical-al-logo-text{ display: flex; align-items: center; gap: 18px; width: 100%; }
  .body-wrap header.header-light .vertical-al-logo-text > .middle{ flex: none; display: block !important; }
  .body-wrap header.header-light .title{ flex: 1 1 auto; min-width: 0; display: block !important; }
  .body-wrap header.header-light .title span{ display: block !important; }
  .body-wrap header.header-light .form-light{ margin-top: 12px; }
}
/* размеры по подзонам */
@media (min-width: 992px) and (max-width: 1199px){
  .body-wrap header.header-light .title span{ font-size: 2.1rem; }
  .body-wrap header.header-light .navbar-brand img{ height: 96px !important; }
}
@media (min-width: 768px) and (max-width: 991px){
  .body-wrap header.header-light .title span{ font-size: 1.85rem; }
  .body-wrap header.header-light .navbar-brand img{ height: 92px !important; }
}
/* в стопке (<1200) поджимаем избыточный зазор между идентификацией и контактами
   (у шаблонной колонки margin-bottom 30px, на узких это пустая полоса) */
@media (max-width: 1199px){
  .body-wrap header.header-light .top-header-top .row > .navbar-header.col-md-6{ margin-bottom: 16px !important; }
  /* зазор между кнопками справа (глаз / Войти / языки): в стопке шаблон
     расставляет их float-ом вплотную, на десктопе зазор даёт flex-gap */
  .body-wrap header.header-light .top-header-top .col-md-4 .right{ margin-left: 10px !important; }
}

/* ---- Мобильный (<=767) ---- */
@media (max-width: 767px){
  .body-wrap header.header-light .title span{ font-size: 1.6rem; }
  .body-wrap header.header-light .navbar-brand img{ height: 84px !important; }
}
@media (max-width: 600px){
  .body-wrap header.header-light .title span{ font-size: 1.45rem; }
  .body-wrap header.header-light .navbar-brand img{ height: 80px !important; }
  /* топбар плотнее: меньше шрифт и отступы - меньше рядов */
  .body-wrap .top-header.links-menu .top-menu > li > a{ padding: 6px 10px !important; font-size: .74rem !important; }
}
@media (max-width: 400px){
  .body-wrap header.header-light .title span{ font-size: 1.3rem; }
  .body-wrap header.header-light .navbar-brand img{ height: 72px !important; }
  .body-wrap .top-header.links-menu .top-menu > li > a{ padding: 5px 8px !important; font-size: .7rem !important; }
  /* контакты на очень узком могут переноситься, чтобы не давить наружу */
  .body-wrap header.header-light .contacts-top li{ white-space: normal; }
}

/* ============================================================
   ГЛАВНОЕ МЕНЮ (шаг 3). Полоса под масштхедом.
   Живые классы: .navbar.navbar-wp.mega-nav > .container >
   .navbar-collapse.top-menu > ul.navbar-nav > li.dropdown > (
     a.dropdown-toggle.hidden-xs  - ссылка на раздел (десктоп),
     a.dropdown-toggle.visible-xs - аккордеон-тоггл "+" (узкие),
     ul.dropdown-menu             - подменю, до 3 уровней ).
   Регламент: >=1200 горизонтальная полоса в одну строку; <1200 бургер
   (кнопку вставляет redesign.js, класс .hm-burger; панель открывается
   классом .hm-open), подменю раскрывается аккордеоном.
   Базовый цвет полосы #2C3944 (из бандла) и бирюзовый акцент #038ab0
   (color.css) перекрыты палитрой. Наш слой грузится последним.
   ============================================================ */

/* ---- Полоса и пункты: база (все ширины) ---- */
.body-wrap .navbar-wp.mega-nav{
  background: var(--hm-navy) !important; border: 0 !important; border-radius: 0 !important;
  margin: 0 !important; box-shadow: 0 2px 6px rgba(16,42,71,.12);
}
.body-wrap .navbar-wp.mega-nav .navbar-nav{ float: none; }
.body-wrap .navbar-wp.mega-nav .navbar-nav > li{ border: 0 !important; }
.body-wrap .navbar-wp.mega-nav .navbar-nav > li > a{
  font-family: var(--hm-font) !important; color: #fff !important; font-size: 13px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .02em; white-space: nowrap;
  background: none !important; border: 0 !important;
  transition: background-color .15s ease, box-shadow .15s ease;
}
/* ховер / фокус / открытое: подсветка и зелёный акцент снизу без сдвига вёрстки
   (перебиваем шаблонный border-top:3px #038ab0 и бирюзовый фон) */
.body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:hover,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:focus,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.open > a,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.open > a:hover,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.open > a:focus{
  color: #fff !important; background: rgba(255,255,255,.10) !important;
  border: 0 !important; box-shadow: inset 0 -3px 0 var(--hm-green);
}
/* активная страница (шаблон метит li.active; JS дублирует aria-current + .hm-current) */
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.active > a,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.active > a:hover,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.active > a:focus,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li.hm-current > a,
.body-wrap .navbar-wp.mega-nav .navbar-nav > li > a[aria-current="page"]{
  color: #fff !important; background: rgba(255,255,255,.07) !important;
  box-shadow: inset 0 -3px 0 var(--hm-green) !important;
}

/* ---- Выпадающие подменю: десктоп (палитра) ---- */
.body-wrap .navbar-wp.mega-nav .dropdown-menu{
  background: #fff; border: 1px solid var(--hm-line);
  border-radius: 0 0 var(--hm-radius-sm) var(--hm-radius-sm);
  box-shadow: var(--hm-shadow); padding: 6px 0; min-width: 250px;
}
.body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a{
  font-family: var(--hm-font); color: var(--hm-ink) !important; padding: 9px 18px;
  font-size: .9rem; line-height: 1.35; white-space: normal; text-transform: none;
  background: none !important; border: 0 !important;
}
.body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a:hover,
.body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a:focus{
  background: var(--hm-surface) !important; color: var(--hm-green-deep) !important;
}
/* стрелка-индикатор у пунктов 3-го уровня (.parent) */
.body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a.parent{ position: relative; padding-right: 28px; }

/* ---- Бургер-кнопку прячем по умолчанию (видна только в зоне <1200) ---- */
.body-wrap .hm-burger{ display: none; }

/* ---- Широкий десктоп (>=1200): полоса в одну строку ---- */
@media (min-width: 1200px){
  .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu{ display: block !important; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav{
    display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch; margin: 0;
  }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li{ float: none; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a{ padding: 19px 15px; }
  .body-wrap .hm-burger{ display: none !important; }
}

/* ---- Узкая зона (<1200): бургер + аккордеон ----
   Перебиваем штатный форс открытого меню (styles.css:
   .navbar-collapse.top-menu.collapse{display:block!important;height:350px;
   overflow-y:scroll;background:#fff}) и буткстраповский
   @media(min-width:768px){.navbar-collapse{display:block!important}}. */
@media (max-width: 1199px){
  .body-wrap .navbar-wp.mega-nav{ box-shadow: none; }
  .body-wrap .navbar-wp.mega-nav .container{ position: relative; padding-top: 0; padding-bottom: 0; }

  /* панель закрыта по умолчанию */
  .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu,
  .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu.collapse{
    display: none !important; height: auto !important; max-height: none !important; overflow: visible !important;
    background: var(--hm-navy) !important; visibility: visible !important;
    border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important;
  }
  /* панель открыта (класс вешает redesign.js) */
  .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu.hm-open,
  .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu.collapse.hm-open{
    display: block !important; max-height: 72vh; overflow-y: auto;
  }

  /* пункты в столбик */
  .body-wrap .navbar-wp.mega-nav .navbar-nav{ display: block; width: 100%; margin: 0; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li{
    float: none !important; display: block; background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  /* во всей зоне <1200 показываем "+"-тоггл, прячем десктоп-ссылку */
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a.hidden-xs{ display: none !important; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a.visible-xs{ display: block !important; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a{
    padding: 14px 18px !important; font-size: 14px; white-space: normal; background: transparent !important; box-shadow: none !important;
  }
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:hover,
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:focus{
    background: rgba(255,255,255,.08) !important; box-shadow: none !important;
  }
  /* "+" -> "-" на раскрытом пункте (свой класс, не .open) */
  .body-wrap .navbar-wp.mega-nav .navbar-nav > li.hm-sub-open > a.visible-xs::after{ content: "\2212"; }

  /* Аккордеон ведём своим классом .hm-sub-open, развязанным от .open:
     класс .open на узких дёргает плагин bootstrap-hover-dropdown по mouseenter,
     поэтому показ подменю на <1200 решаем только своим классом. */
  .body-wrap .navbar-wp.mega-nav .navbar-nav .open > .dropdown-menu{ display: none !important; }
  .body-wrap .navbar-wp.mega-nav .navbar-nav .hm-sub-open > .dropdown-menu{ display: block !important; }

  /* подменю: статичный аккордеон в палитре (темнее на уровень) */
  .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu{
    position: static !important; float: none !important; width: 100% !important; min-width: 0 !important;
    background: var(--hm-navy-deep) !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; padding: 0 !important; margin: 0 !important;
  }
  .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a{
    color: #e6edf5 !important; padding: 11px 30px !important; font-size: .88rem; white-space: normal;
  }
  .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a:hover,
  .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a:focus{
    background: rgba(255,255,255,.06) !important; color: #fff !important;
  }

  /* ---- Кнопка-бургер (вставляет redesign.js) ---- */
  .body-wrap .hm-burger{
    display: inline-flex; align-items: center; gap: 12px;
    margin: 0; padding: 13px 4px; background: transparent; border: 0; cursor: pointer;
    color: #fff; font-family: var(--hm-font); font-weight: 600; font-size: .9rem;
    text-transform: uppercase; letter-spacing: .03em;
  }
  .body-wrap .hm-burger__box{ position: relative; display: inline-block; width: 24px; height: 18px; }
  .body-wrap .hm-burger__line,
  .body-wrap .hm-burger__box::before,
  .body-wrap .hm-burger__box::after{
    content: ""; position: absolute; left: 0; width: 100%; height: 2px; background: #fff; border-radius: 2px;
    transition: transform .2s ease, opacity .2s ease, top .2s ease;
  }
  .body-wrap .hm-burger__box::before{ top: 0; }
  .body-wrap .hm-burger__line{ top: 8px; }
  .body-wrap .hm-burger__box::after{ top: 16px; }
  .body-wrap .hm-burger.is-open .hm-burger__box::before{ top: 8px; transform: rotate(45deg); }
  .body-wrap .hm-burger.is-open .hm-burger__line{ opacity: 0; }
  .body-wrap .hm-burger.is-open .hm-burger__box::after{ top: 8px; transform: rotate(-45deg); }
  .body-wrap .hm-burger:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; border-radius: 4px; }
}

/* ============================================================
   HERO И СЛАЙДЕРЫ (шаг 4)
   JS слайдеров вынесен в redesign.js, тут только оформление.
   Контролы в палитру, подпись слайда фирменным шрифтом и читаемо
   поверх фото. Hero (slick «Баннеры») на стейдже с одним слайдом,
   многослайдовые стрелки и точки проверяются на бою.
   Кнопка паузы перенесена сюда из inline-style шаблона slider.
   ============================================================ */
.body-wrap .sf-slider{ position: relative; }

/* подпись слайда: фирменный шрифт и читаемость поверх фото
   (цвет приходит из CMS, его не перекрываем) */
.body-wrap .sf-slider__title{
  font-family: var(--hm-font) !important; font-weight: 700; line-height: 1.15;
  text-shadow: 0 1px 3px rgba(16,42,71,.45);
}
.body-wrap .sf-slider__description{
  font-family: var(--hm-font) !important;
  text-shadow: 0 1px 2px rgba(16,42,71,.4);
}
/* Гарантированная читаемость текста слайда поверх фото (ПП №102 п.5, контраст AA):
   одной тени мало - над светлым небом белый текст давал контраст до 1:1. Кладём под
   текстом затемняющий скрим слева направо (текст прижат влево), правую часть фото
   оставляем видимой. Текст слайда поднимаем над скримом. */
.body-wrap .sf-slider__content{ position: relative; }
.body-wrap .sf-slider__content::before{
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(16,42,71,.88) 0%, rgba(16,42,71,.84) 48%, rgba(16,42,71,.5) 66%, rgba(16,42,71,0) 86%);
}
.body-wrap .sf-slider__content > .container{ position: relative; z-index: 2; }

/* кнопка паузы автопоказа (была inline в template.php, теперь в палитре) */
.body-wrap .sf-slider__playpause{
  position: absolute; z-index: 6; right: 18px; bottom: 18px;
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; background: rgba(16,42,71,.6); color: #fff;
  font-size: 16px; line-height: 1; cursor: pointer; transition: background-color .2s ease;
}
.body-wrap .sf-slider__playpause:hover{ background: rgba(16,42,71,.85); }
.body-wrap .sf-slider__playpause:focus-visible,
.body-wrap .sf-slider__playpause:focus{ outline: 3px solid var(--hm-green); outline-offset: 2px; }

/* стрелки slick в палитру (свои <i>-иконки, дефолтный символ гасим) */
.body-wrap .sf-slider .slick-prev,
.body-wrap .sf-slider .slick-next{
  width: 46px; height: 46px; z-index: 6; border: 0; border-radius: 50%;
  background: rgba(16,42,71,.55); transition: background-color .2s ease;
}
.body-wrap .sf-slider .slick-prev{ left: 18px; }
.body-wrap .sf-slider .slick-next{ right: 18px; }
.body-wrap .sf-slider .slick-prev:hover,
.body-wrap .sf-slider .slick-next:hover{ background: var(--hm-green); }
.body-wrap .sf-slider .slick-prev:focus-visible,
.body-wrap .sf-slider .slick-next:focus-visible,
.body-wrap .sf-slider .slick-prev:focus,
.body-wrap .sf-slider .slick-next:focus{ outline: 3px solid #fff; outline-offset: 2px; background: var(--hm-green); }
.body-wrap .sf-slider .slick-prev i,
.body-wrap .sf-slider .slick-next i{ color: #fff; font-size: 20px; }
.body-wrap .sf-slider .slick-prev::before,
.body-wrap .sf-slider .slick-next::before{ content: ""; display: none; }

/* точки slick в палитру */
.body-wrap .sf-slider .slick-dots{ bottom: 14px; }
.body-wrap .sf-slider .slick-dots li button::before{ color: #fff; opacity: .55; font-size: 10px; }
.body-wrap .sf-slider .slick-dots li.slick-active button::before{ color: var(--hm-green); opacity: 1; }

/* owl-стрелки мы сделали клавиатурными - даём видимый фокус
   (полная стилизация блока «Информационные ресурсы» - шаг 5) */
.body-wrap .owl-main-wrap .owl-prev:focus-visible,
.body-wrap .owl-main-wrap .owl-next:focus-visible,
.body-wrap .owl-main-wrap .owl-prev:focus,
.body-wrap .owl-main-wrap .owl-next:focus{ outline: 3px solid var(--hm-green); outline-offset: 2px; }

/* ============================================================
   БЛОКИ ГЛАВНОЙ (шаг 5). По живым классам шаблонов, markup не правится.
   Палитра, карточки, ровные сетки и отступы, плюс guard от
   горизонтального скролла страницы.
   ============================================================ */

/* ---------- Guard: страница без горизонтального скролла ----------
   Диагностика (overflow +41 на 992, +30 на 360): причина не одна owl,
   а полноширинные элементы контента (баннер ФКГС, таблица «НАШ ДОМ»)
   плюс клиппирующий scroll-контейнер owl. clip срезает bleed, НЕ создавая
   scroll-контейнер, поэтому owl и любые sticky не ломаются. */
.body-wrap{ overflow-x: clip; }
.body-wrap .wp-section img,
.body-wrap .col-md-8 img,
.body-wrap .col-md-4 img,
.body-wrap .col-md-12 img{ max-width: 100%; height: auto; }

/* ---------- Заголовки секций (.section-title-wr > h3.section-title + .aux-nav) ---------- */
.body-wrap .section-title-wr{
  display: flex; align-items: flex-end; justify-content: space-between;
  flex-wrap: wrap; gap: 6px 16px; margin-bottom: 18px;
  border-bottom: 1px solid var(--hm-line);
}
.body-wrap .section-title-wr .section-title{
  position: relative; margin: 0; padding: 0 0 12px;
  font-family: var(--hm-font); font-weight: 600; color: var(--hm-navy);
  font-size: 1.5rem; line-height: 1.2;
}
.body-wrap .section-title-wr .section-title::after{
  content: ""; position: absolute; left: 0; bottom: -1px;
  width: 48px; height: 3px; border-radius: 2px; background: var(--hm-green);
}
/* гасим инлайновые width:25%/50% на .aux-nav (костыли шаблона) */
.body-wrap .section-title-wr .aux-nav{ width: auto !important; padding-bottom: 11px; }
.body-wrap .section-title-wr .aux-nav a{
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; border-radius: 999px;
  background: var(--hm-surface); color: var(--hm-blue);
  font-family: var(--hm-font); font-weight: 600; font-size: 13px;
  text-decoration: none; transition: background-color .15s ease, color .15s ease;
}
.body-wrap .section-title-wr .aux-nav a:hover,
.body-wrap .section-title-wr .aux-nav a:focus{ background: var(--hm-blue); color: #fff; }
.body-wrap .section-title-wr .aux-nav a .fa{ font-size: 12px; }

/* ---------- Последние новости (news.list main_news1: .row.mb-10) ---------- */
.body-wrap .col-md-8 .row.mb-10{
  display: flex; align-items: stretch; gap: 16px;
  margin: 0 0 14px; padding: 12px;
  background: var(--hm-white); border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.body-wrap .col-md-8 .row.mb-10:hover{ box-shadow: var(--hm-shadow); border-color: #C9D6E2; }
.body-wrap .col-md-8 .row.mb-10 > [class*="col-"]{ padding-left: 0; padding-right: 0; float: none; }
.body-wrap .col-md-8 .row.mb-10 > .col-md-4{ flex: 0 0 30%; max-width: 210px; }
.body-wrap .col-md-8 .row.mb-10 > .col-md-8{ flex: 1 1 auto; width: auto; max-width: 100%; }
.body-wrap .col-md-8 .row.mb-10 .img-responsive{
  width: 100%; height: 100%; min-height: 96px; max-height: 132px;
  object-fit: cover; border-radius: 8px;
}
.body-wrap .col-md-8 .row.mb-10 .date{
  margin: 0 0 8px !important; color: var(--hm-muted); font-size: 12.5px;
}
.body-wrap .col-md-8 .row.mb-10 .date .fa-calendar{ color: var(--hm-green); margin-right: 5px; }
.body-wrap .col-md-8 .row.mb-10 .date a.text-dashed{
  color: var(--hm-blue) !important; border: 0; text-decoration: none;
}
.body-wrap .col-md-8 .row.mb-10 h5{ margin: 0; }
.body-wrap .col-md-8 .row.mb-10 h5 a{
  font-family: var(--hm-font); font-weight: 600; font-size: 16px; line-height: 1.35;
  color: var(--hm-ink); text-decoration: none;
}
.body-wrap .col-md-8 .row.mb-10 h5 a:hover{ color: var(--hm-blue); }

/* ---------- Мероприятия и инфосообщения (.wp-block.property.list) ---------- */
.body-wrap .wp-block.property.list{
  margin: 0 0 12px; padding: 12px;
  background: var(--hm-white); border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.body-wrap .wp-block.property.list:hover{ box-shadow: var(--hm-shadow); border-color: #C9D6E2; }
.body-wrap .wp-block.property.list .wp-block-body{ display: flex; gap: 14px; align-items: flex-start; }
.body-wrap .wp-block.property.list .wp-block-img{ flex: 0 0 auto; }
.body-wrap .wp-block.property.list .wp-block-img img{ border-radius: 8px; }
.body-wrap .wp-block.property.list .wp-block-content{ flex: 1 1 auto; min-width: 0; }
.body-wrap .wp-block.property.list .wp-block-content small{
  display: block; margin-bottom: 6px; color: var(--hm-muted); font-size: 12.5px;
}
.body-wrap .wp-block.property.list .description{ margin: 0; }
.body-wrap .wp-block.property.list .description a{
  font-family: var(--hm-font); font-weight: 600; font-size: 15.5px; line-height: 1.38;
  color: var(--hm-ink); text-decoration: none;
}
.body-wrap .wp-block.property.list .description a:hover{ color: var(--hm-blue); }

/* ---------- Опросы (includes/Vote.php: ссылка на форму) ---------- */
.body-wrap .other_vote a{ color: var(--hm-blue); font-weight: 600; text-decoration: none; }
.body-wrap .other_vote a:hover{ color: var(--hm-blue-deep); text-decoration: underline; }

/* ---------- Правая колонка (сайдбар) ---------- */
.body-wrap .col-md-4 a > img{ border-radius: var(--hm-radius-sm); }
.body-wrap .col-md-4 hr{ border-top: 1px solid var(--hm-line); margin: 18px 0; }
/* ПОС «Сообщить о проблеме» (form 809, .pos-banner-fluid). Баннер вендорный, фикс ~340px,
   у текстовых слоёв нулевой левый/правый отступ (текст идёт ровно от края карточки). В узких
   диапазонах он вписывается через zoom обёртки, и под zoom крайние глифы упирались в край
   карточки и визуально срезались (физического обреза нет: overflow visible, scrollWidth=clientWidth).
   Лечим внутренним горизонтальным гаттером на текстовых слоях через box-sizing:border-box -
   padding съедается ВНУТРИ фикс-ширины, баннер не растёт, кнопка остаётся внутри. */
.body-wrap #js-show-iframe-wrapper{ border-radius: var(--hm-radius-sm); overflow: hidden; }
.body-wrap #js-show-iframe-wrapper .bf-1__logo-wrap,
.body-wrap #js-show-iframe-wrapper .bf-1__slogan,
.body-wrap #js-show-iframe-wrapper .bf-1__description,
.body-wrap #js-show-iframe-wrapper .bf-1__content{
  box-sizing: border-box !important; padding-left: 16px !important; padding-right: 16px !important;
}
@media (min-width: 992px) and (max-width: 1199px){
  .body-wrap #js-show-iframe-wrapper{ zoom: 0.86; }   /* вписать фикс 340px в колонку ~323, с запасом по краям */
}
@media (max-width: 430px){
  .body-wrap #js-show-iframe-wrapper{ zoom: 0.9; }     /* очень узкий телефон */
}
@media (max-width: 360px){
  /* зона reflow WCAG 1.4.10 (320 CSS px): баннер 340px + padding 10px обёртки = ~360
     отрисованных px; при zoom 0.9 на 320-335px правый край резался overflow:hidden.
     0.8 даёт 288px и входит в колонку ~290px на 320 */
  .body-wrap #js-show-iframe-wrapper{ zoom: 0.8; }
}
/* ПОС оценка (org 304, «Мой выбор, Моё будущее»). Виджет в ОТКРЫТОМ shadow DOM (Vue-приложение
   Госуслуг). Снаружи делаем его отзывчивым по ширине (снимаем inline 400x300), внутрь shadowRoot
   стили инжектит redesign.js (initPosWidget): подзаголовок из серого #666 в тёмный (контраст был
   ~2.85:1, ниже AA), кнопка крупнее, декор-иконки приглушены. Виджет тянется по колонке без zoom,
   поэтому текст и кнопка не мельчают. */
.body-wrap #e329fb40-widget-pos{
  display: block !important;
  width: 100% !important; max-width: 100% !important; height: auto !important;
  border: 1px solid var(--hm-line) !important; border-radius: var(--hm-radius-sm);
  box-sizing: border-box !important; overflow: hidden; margin-bottom: 20px;
}
.body-wrap #e329fb40-widget-pos e329fb40-widget-pos-shadow{
  display: block !important; width: 100% !important; max-width: 100% !important;
}

/* ---------- Горячие линии «НАШ ДОМ» и таблицы редактора (include/banners.php) ----------
   Карточка таблицы и все правила - ниже, в блоке «"НАШ ДОМ" / горячие линии» (12.06).
   Ранний дубль .col-md-4 table{width:100%!important} удалён: его перебивал calc(100% - 30px). */
/* приглушаем жёсткий редакторский красный (#ff0000) до danger-токена */
.body-wrap .col-md-4 [style*="color: #ff0000"],
.body-wrap .col-md-4 [style*="color:#ff0000"]{ color: var(--hm-danger) !important; }
.body-wrap .phone a{ color: var(--hm-blue); }

/* ---------- Информационные ресурсы (owl, секция section.slice.bg-lgrey) ---------- */
.body-wrap section.slice.bg-lgrey{ background: var(--hm-surface) !important; }
.body-wrap .owl-main-wrap .owl-item{ padding: 0 8px; }
/* .client - сама карточка. Тема: position:relative, фикс.высота 90/120, синий фон
   #0c4d88!important. Перебиваем в белую карточку с лёгкой рамкой и тенью. */
.body-wrap .owl-main-wrap .client{
  height: auto !important; min-height: 140px;
  background: var(--hm-white) !important;
  border: 1px solid var(--hm-line); border-radius: var(--hm-radius-sm);
  box-shadow: var(--hm-shadow); padding: 0; overflow: hidden; position: relative;
  display: flex; transition: box-shadow .15s ease, border-color .15s ease;
}
.body-wrap .owl-main-wrap .client:hover{ box-shadow: var(--hm-shadow-hover); border-color: #C9D6E2; }
/* ссылка - прозрачная обёртка на всю карточку, центрирует контент по обеим осям.
   height:100% не резолвится против min-height родителя (высота .client неопределённа),
   поэтому ссылку тянем на полную высоту флексом: flex:1 + align-self:stretch. */
.body-wrap .owl-main-wrap .client > a{
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; width: 100%; flex: 1 1 auto; align-self: stretch; padding: 14px 14px;
  background: transparent; border: 0; border-radius: 0; text-decoration: none;
}
/* text_ab тема абсолютит (top:50% + translateY, width:100% + padding:0 15px -> вылезает
   вбок на 30px = «текст уезжает»). Возвращаем в нормальный поток внутри карточки. */
.body-wrap .owl-main-wrap .text_ab{
  position: static !important; transform: none !important; top: auto !important; left: auto !important;
  width: 100% !important; padding: 0 !important; margin: 0 !important;
  text-transform: none !important; text-align: center;
}
.body-wrap .owl-main-wrap .text_ab .title{
  color: var(--hm-ink) !important; font-family: var(--hm-font); font-weight: 600;
  font-size: 14px; line-height: 1.32;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.body-wrap .owl-main-wrap .text_ab .link{
  display: block; margin-top: 3px; color: var(--hm-blue) !important;
  font-size: 13px; text-decoration: none; word-break: break-word; text-transform: none;
}
/* стрелки owl: тема рисует их как <div>назад</div>/<div>вперед</div> (текст, без иконки,
   56x58, radius 0). Делаем кружки с белым шевроном, текст прячем. width/height/radius - !important. */
.body-wrap .owl-main-wrap .owl-prev,
.body-wrap .owl-main-wrap .owl-next{
  width: 44px !important; height: 44px !important; min-width: 0 !important;
  border-radius: 50% !important; background: rgba(16,42,71,.6) !important;
  color: transparent !important; font-size: 0 !important; opacity: 1 !important;
  display: flex !important; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(16,42,71,.25);
}
.body-wrap .owl-main-wrap .owl-prev:hover,
.body-wrap .owl-main-wrap .owl-next:hover{ background: var(--hm-green) !important; }
.body-wrap .owl-main-wrap .owl-prev::before,
.body-wrap .owl-main-wrap .owl-next::before{
  content: ""; display: block; width: 9px; height: 9px;
  border-top: 2px solid #fff; border-right: 2px solid #fff;
}
.body-wrap .owl-main-wrap .owl-prev::before{ transform: rotate(-135deg); margin-left: 3px; }
.body-wrap .owl-main-wrap .owl-next::before{ transform: rotate(45deg); margin-right: 3px; }

/* ==========================================================================
   ПОДВАЛ И ВНУТРЕННИЕ СТРАНИЦЫ (шаг 6). По живым классам шаблонов, markup не правится.
   ========================================================================== */

/* ---------- 6.1 Подвал (simai:template.footer) ----------
   Разметка переработана в template.php (сетка hm-foot-*); стили - здесь. */
/* Минималистичный подвал (Денис, 18.06): вместо градиента - сплошной navy с тонким
   зелёным акцентом сверху. Спокойнее, чище, и светлый текст контрастен на всей ширине
   (на зелёной части прежнего градиента контраст светлых ссылок проседал). */
.body-wrap .footer{
  background: #16365A !important;
  border-top: 3px solid var(--hm-green);
  color: #AEC0D4;
  margin-top: 40px;
  font-family: var(--hm-font);
}
.body-wrap .footer .container{ padding-top: 56px; padding-bottom: 28px; }
/* заголовки колонок - сдержанные капс-метки (минимализм) */
.body-wrap .footer h4{
  color: #8FA6C0; font-family: var(--hm-font); font-weight: 600;
  font-size: .76rem; letter-spacing: .09em; text-transform: uppercase; margin: 0 0 18px;
}
.body-wrap .footer h4 a{ color: #fff; text-decoration: none; }
.body-wrap .footer h4 a:hover{ color: #fff; text-decoration: underline; }
.body-wrap .footer a{ color: #C9D7E6; transition: color .15s ease; }
.body-wrap .footer a:hover{ color: #fff; }

/* Сетка колонок подвала */
.body-wrap .footer .hm-foot-grid{
  display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 30px 56px; align-items: start;
}
.body-wrap .footer .hm-foot-col{ min-width: 0; }

/* Колонка контактов: QR, реквизиты, соцсети */
.body-wrap .footer .hm-foot-qr{
  display: block; width: 116px; height: auto; margin: 0 0 16px;
  background: #fff; padding: 6px; border-radius: var(--hm-radius-sm);
}
.body-wrap .footer .contacts{ color: #AEC0D4; line-height: 1.6; }
.body-wrap .footer .contacts *{ color: #AEC0D4; }
.body-wrap .footer .contacts h4{ color: #8FA6C0; }
.body-wrap .footer .contacts a{ color: #fff; font-weight: 600; }
/* схлопываем серии редакторских <br> (footer_contacts.php) в один перенос */
.body-wrap .footer .contacts br + br{ display: none; }
.body-wrap .footer .contacts ul{ list-style: none; margin: 12px 0 0; padding: 0; }
.body-wrap .footer .contacts ul li{ margin-bottom: 3px; line-height: 1.5; font-size: 15px; }

/* Соцсети */
.body-wrap .footer .hm-foot-social{ display: flex; gap: 10px; margin-top: 18px; }
.body-wrap .footer .hm-foot-social a{
  width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.12);
  display: inline-flex; align-items: center; justify-content: center; color: #fff;
}
.body-wrap .footer .hm-foot-social a:hover{ background: rgba(255,255,255,.24); color: #fff; }
.body-wrap .footer .hm-foot-social svg{ width: 20px; height: 20px; }

/* Меню «Разделы» (#bottom-menu-block ul.nav) */
.body-wrap .footer #bottom-menu-block .bottom-menu{ display: block; }
.body-wrap .footer #bottom-menu-block ul.nav{ list-style: none; margin: 0; padding: 0; width: auto; float: none; }
.body-wrap .footer #bottom-menu-block ul.nav li{ display: block; list-style: none; }
.body-wrap .footer #bottom-menu-block ul.nav li a{ display: inline-block; padding: 5px 0; color: #C9D7E6; font-size: 15px; line-height: 1.4; }
.body-wrap .footer #bottom-menu-block ul.nav li a:hover{ color: #fff; }
.body-wrap .footer #bottom-menu-block ul.nav li.active > a{ color: #fff; font-weight: 600; }

/* Колонка «Информация» */
.body-wrap .footer .hm-foot-links{ list-style: none; margin: 0; padding: 0; }
.body-wrap .footer .hm-foot-links li{ margin-bottom: 9px; }
.body-wrap .footer .hm-foot-links a{ font-size: 15px; }

/* Разделитель и нижняя строка */
.body-wrap .footer hr{ border: 0; border-top: 1px solid rgba(255,255,255,.10); margin: 40px 0 18px; }
.body-wrap .footer .hm-foot-bottom{
  display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between;
}
.body-wrap .footer .hm-foot-bottom .copyright{ color: #B9C8D8; font-size: 13.5px; line-height: 1.5; }
.body-wrap .footer .hm-foot-bottom .copyright a{ color: #fff; }
.body-wrap .footer .hm-foot-bottom .footer-logo{ text-align: right; }
.body-wrap .footer .hm-foot-bottom .footer-logo:empty{ display: none; }

/* ---------- 6.2 Внутренние страницы ---------- */
/* Блок крошек/опций страницы (.pg-opt) шёл вплотную к тёмной полосе меню -
   даём воздух сверху, чтобы плашка крошек не липла к меню (на всех внутренних). */
.body-wrap .pg-opt{ padding-top: 22px; }
/* Хлебные крошки (ol.breadcrumb, Bootstrap-дефолт перебиваем) */
.body-wrap ol.breadcrumb{
  background: var(--hm-surface); border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm); padding: 9px 16px; margin: 0 0 18px;
  font-family: var(--hm-font); font-size: 13px; line-height: 1.5;
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px;
}
.body-wrap ol.breadcrumb > li{ display: inline-flex; align-items: center; color: var(--hm-muted); }
.body-wrap ol.breadcrumb > li + li::before{
  content: "/"; padding: 0 8px; color: #B6C2CD; font-weight: 400;
}
.body-wrap ol.breadcrumb a{ color: var(--hm-muted); text-decoration: none; }
.body-wrap ol.breadcrumb a:hover{ color: var(--hm-blue); text-decoration: underline; }
.body-wrap ol.breadcrumb a .fa-home{ color: var(--hm-blue); }
.body-wrap ol.breadcrumb > li:last-child{ color: var(--hm-ink); }

/* Левое секционное меню (.col-md-3.left-column .catalog_menu) */
/* Пустой заголовок секции в левой колонке не должен рисовать акцент-линию из шага 5 */
.body-wrap .left-column > .section-title-wr{ display: none; }
.body-wrap .left-column .catalog_menu{
  background: var(--hm-white); border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm); overflow: hidden; margin-bottom: 22px;
}
.body-wrap .left-column .catalog_menu .open-catalog{
  background: var(--hm-navy); color: #fff; font-family: var(--hm-font); font-weight: 600;
  padding: 12px 16px; cursor: pointer;
}
.body-wrap .left-column .catalog_menu .open-catalog .fa{ color: #fff; }
.body-wrap .left-column .catalog_menu ul.nav{ list-style: none; margin: 0; padding: 6px 0; }
.body-wrap .left-column .catalog_menu ul.nav li{ list-style: none; border-top: 1px solid var(--hm-line); }
.body-wrap .left-column .catalog_menu ul.nav > li:first-child{ border-top: 0; }
.body-wrap .left-column .catalog_menu ul.nav li a{
  display: block; padding: 11px 16px; color: var(--hm-ink); font-family: var(--hm-font);
  font-size: 15.5px; line-height: 1.4; text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
/* hover: тема форсит .catalog_menu a:hover{color:#fff!important} - перебиваем !important */
.body-wrap .left-column .catalog_menu ul.nav li a:hover{ background: var(--hm-surface); color: var(--hm-navy) !important; }
/* активный пункт: тема форсит белый (.base и .selected>span a с !important) - перебиваем */
.body-wrap .left-column .catalog_menu ul.nav li.current > span > a,
.body-wrap .left-column .catalog_menu ul.nav li.selected > span > a,
.body-wrap .left-column .catalog_menu ul.nav li.current.selected a{
  color: var(--hm-green-deep) !important; font-weight: 600;
  box-shadow: inset 3px 0 0 var(--hm-green); background: var(--hm-surface);
}
/* вложенные уровни немного с отступом */
.body-wrap .left-column .catalog_menu ul.nav ul li a{ padding-left: 28px; font-size: 14.5px; }

/* Контент внутренней страницы (.col-md-9) */
.body-wrap .container.content .col-md-9 > h1,
.body-wrap .col-md-9 > h1{
  font-family: var(--hm-font); font-weight: 600; color: var(--hm-navy);
  font-size: 1.7rem; line-height: 1.25; margin: 4px 0 16px;
}
.body-wrap .news-detail{ font-family: var(--hm-font); color: var(--hm-ink); font-size: 16.5px; line-height: 1.7; }
.body-wrap .news-detail .news-date-time{ display: block; color: var(--hm-muted); font-size: 13px; margin-bottom: 14px; }
.body-wrap .news-detail .news-date-time small{ font-size: 13px; }
.body-wrap .news-detail p{ margin: 0 0 1.05em; }
.body-wrap .news-detail h2{ font-family: var(--hm-font); font-weight: 600; color: var(--hm-navy); font-size: 1.35rem; margin: 1.3em 0 .5em; }
.body-wrap .news-detail h3{ font-family: var(--hm-font); font-weight: 600; color: var(--hm-navy); font-size: 1.15rem; margin: 1.2em 0 .5em; }
.body-wrap .news-detail a{ color: var(--hm-blue); }
.body-wrap .news-detail a:hover{ color: var(--hm-blue-deep); }
.body-wrap .news-detail ul,
.body-wrap .news-detail ol{ margin: 0 0 1.05em; padding-left: 22px; }
.body-wrap .news-detail li{ margin-bottom: .35em; }
.body-wrap .news-detail img{ max-width: 100%; height: auto; border-radius: var(--hm-radius-sm); }
.body-wrap .news-detail blockquote{
  margin: 1.1em 0; padding: 10px 16px; border-left: 3px solid var(--hm-green);
  background: var(--hm-surface); color: var(--hm-ink); border-radius: 0 var(--hm-radius-sm) var(--hm-radius-sm) 0;
}
/* Редакторские таблицы: рамки в тон; широкие скроллятся внутри себя, а не ломают страницу */
.body-wrap .news-detail table{
  border-collapse: collapse; max-width: 100%; margin: 0 0 1.1em;
  font-size: 14.5px; color: var(--hm-ink);
  display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.body-wrap .news-detail table td,
.body-wrap .news-detail table th{ border: 1px solid var(--hm-line); padding: 8px 10px; vertical-align: top; }
.body-wrap .news-detail table th{ background: var(--hm-surface); font-weight: 600; }

/* ---------- 6 адаптив ---------- */
/* Подвал: планшет (601-991) - контакты слева на два ряда, «Разделы» и «Информация» справа стопкой.
   Верх диапазона 991: bootstrap-контейнер до 991 включительно остаётся 750px, и три
   десктопные колонки в нём зажимались до ~170px (ниточки с переносами) - двухколонка до 991. */
@media (min-width: 601px) and (max-width: 991px){
  .body-wrap .footer .hm-foot-grid{
    grid-template-columns: 1.35fr 1fr;
    grid-template-areas: "contacts sections" "contacts info";
    gap: 22px 36px;
  }
  .body-wrap .footer .hm-foot-contacts{ grid-area: contacts; }
  .body-wrap .footer .hm-foot-sections{ grid-area: sections; }
  .body-wrap .footer .hm-foot-info{ grid-area: info; align-self: start; }
}
/* Подвал: телефон (≤600) - строго одна колонка, области сетки сброшены */
@media (max-width: 600px){
  .body-wrap .footer .hm-foot-grid{ grid-template-columns: 1fr; grid-template-areas: none; gap: 24px; }
  .body-wrap .footer .hm-foot-col{ grid-area: auto; }
  .body-wrap .footer .container{ padding-top: 32px; }
  .body-wrap .footer .hm-foot-bottom{ justify-content: flex-start; }
  .body-wrap .footer .hm-foot-bottom .footer-logo{ text-align: left; }
}
/* Внутренние: заголовок новости на мобиле компактнее */
@media (max-width: 767px){
  .body-wrap .col-md-9 > h1,
  .body-wrap .container.content .col-md-9 > h1{ font-size: 1.45rem; }
}

/* ==========================================================================
   КАЧЕСТВЕННАЯ ПРОРАБОТКА БЛОКОВ ГЛАВНОЙ (12.06): опросы, «НАШ ДОМ», инфоресурсы.
   Блоки опросов и правых баннеров - редакторский HTML (hidden ниже 992), стилизуем CSS.
   ========================================================================== */

/* ---------- Опросы: карточки .other_vote ---------- */
/* стрелочный <br> внутри заголовков секций (у «Опросы» он есть) */
.body-wrap .section-title-wr .section-title br{ display: none; }
/* колонки таблицы опросов с зазором (полл-таблица width:100%, два td) */
.body-wrap td:has(> .row .other_vote),
.body-wrap td:has(.other_vote){ padding: 0 8px; vertical-align: top; }
/* Карточка опроса: flex с вертикальным центрированием - иконка и текст по центру
   карточки (раньше иконка была фоном по center, а текст блоком сверху => рассинхрон,
   на многострочных текст «уезжал» вверх). Иконка-карандаш заменена на чек-лист. */
.body-wrap .other_vote{
  display: flex; align-items: center; gap: 14px;
  margin: 0 0 12px; padding: 14px 16px !important; min-height: 72px;
  background-color: var(--hm-white);
  background-image: none !important; /* гасим бирюзовый vote.svg темы (фон .other_vote) */
  border: 1px solid var(--hm-line); border-radius: var(--hm-radius-sm);
  transition: box-shadow .15s ease, border-color .15s ease;
}
/* иконка опроса: navy-плитка с белым чек-листом (data-uri, заменила карандаш) */
.body-wrap .other_vote::before{
  content: ""; flex: 0 0 auto; width: 40px; height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' rx='10' fill='%2316365A'/%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 14l1.8 1.8 3-3.4'/%3E%3Cpath d='M11 20l1.8 1.8 3-3.4'/%3E%3Cpath d='M11 26l1.8 1.8 3-3.4'/%3E%3Cpath d='M20 13h9'/%3E%3Cpath d='M20 19h9'/%3E%3Cpath d='M20 25h9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
.body-wrap .other_vote:hover{ box-shadow: var(--hm-shadow); border-color: #C9D6E2; }
.body-wrap .other_vote a{
  flex: 1 1 auto; min-width: 0;
  font-family: var(--hm-font); font-weight: 600; font-size: 15px; line-height: 1.42;
  color: var(--hm-ink) !important; text-decoration: none;
}
.body-wrap .other_vote a:hover{ color: var(--hm-blue) !important; text-decoration: none; }
.body-wrap .other_vote a br{ display: none; }

/* ---------- «НАШ ДОМ» / горячие линии: редакторская таблица в правой колонке ----------
   Это сплошной текстовый баннер (один <table width=360 style="margin-left:15px">, рубрики
   красным <b>, телефоны в <div.phone>, разделители <hr>). Раньше: голый текст без рамки,
   инлайн margin-left:15px выталкивал таблицу на 15px за правый край колонки. Оформляем
   аккуратной белой карточкой с внутренним воздухом; инлайн-сдвиг и width=360 перебиваем. */
.body-wrap .col-md-4 table{
  width: calc(100% - 30px) !important; max-width: calc(100% - 30px) !important; table-layout: fixed;
  margin: 6px 15px 14px 15px !important; font-family: var(--hm-font);
  background: var(--hm-white); border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm); overflow: hidden;
  border-collapse: separate !important; border-spacing: 0 !important;
}
/* table-layout:fixed чтобы цепочки &nbsp; не распирали таблицу шире колонки (текст не лез наружу) */
.body-wrap .col-md-4 table td{
  word-break: break-word; overflow-wrap: anywhere; padding: 11px 16px; vertical-align: top;
  color: var(--hm-ink); font-size: 14.5px; line-height: 1.5;
  border-top: 1px solid var(--hm-line); border-image: none !important;
}
.body-wrap .col-md-4 table tr:first-child td{ border-top: 0; }
/* кричащие редакторские красные (#ee1d24 и #ff0000) -> спокойный navy, это заголовки рубрик */
.body-wrap .col-md-4 table [style*="#ee1d24"],
.body-wrap .col-md-4 table [style*="#ff0000"]{ color: var(--hm-navy) !important; }
.body-wrap .col-md-4 table b{ font-weight: 600; }
.body-wrap .col-md-4 table h5{
  font-family: var(--hm-font); font-weight: 600; color: var(--hm-navy);
  font-size: 15px; line-height: 1.35; margin: 0 0 6px;
}
.body-wrap .col-md-4 table .phone{ color: var(--hm-ink); font-size: 14.5px; line-height: 1.5; margin: 3px 0; }
.body-wrap .col-md-4 table .phone a{ color: var(--hm-blue); }
/* битые внешние иконки телефона (admhmansy.ru, пустой ответ) - скрыть */
.body-wrap .col-md-4 table img[src*="admhmansy"]{ display: none; }
/* убираем большие провалы: пустые ведущие/замыкающие строки редактора.
   Распорки помечает redesign.js (initSpacerMarks) меткой data-hm-spacer: метятся только
   элементы БЕЗ видимого текста (только <br>/<hr>/пустые инлайны). Чистые CSS-селекторы
   вида :has(> br:only-child) и td > b:first-child слепы к текстовым узлам и при правке
   контента редактором могли молча спрятать осмысленный текст - поэтому метим из JS. */
.body-wrap .col-md-4 table a#nashdom{ display: none; }
.body-wrap .col-md-4 table a#nashdom + br{ display: none; }
.body-wrap .col-md-4 table td > b:first-child[data-hm-spacer]{ display: none; } /* пустой ведущий <b><span>&nbsp;<br> */
.body-wrap .col-md-4 table hr{ display: none; } /* редакторские hr лишние, есть свои разделители строк */
/* br+br тут НЕ применяем: соседний комбинатор игнорирует текст между <br> и склеил бы
   разные телефоны на одну строку (8 800-...-12 / 8 800-...-00) */
.body-wrap .col-md-4 table .item[data-hm-spacer],
.body-wrap .col-md-4 table .phone[data-hm-spacer]{ display: none; }
.body-wrap .col-md-4 table .item:empty,
.body-wrap .col-md-4 table .phone:empty{ display: none; }
/* QR-код ПОС внизу блока (alt="ПОС", «Госуслуги. Решаем вместе»). Был оторван: мелкая
   плитка у левого края широкой колонки + большой зазор сверху от пустых редакторских
   распорок <div><br></div>. Распорки прячем по метке из JS. Плитку обёртывает redesign.js
   (initQrZoom): кнопка с лупой и пульсом, по клику открывает увеличенный QR в оверлее. */
.body-wrap .col-md-4 .row > div[data-hm-spacer]{ display: none; }

/* Запасной вид без JS: одиночная картинка (если обёртка не построена) */
.body-wrap .col-md-4 img[src*="qr_code"]{
  display: block; width: 180px !important; height: auto !important;
  margin: 6px auto 12px !important;
  background: #fff; padding: 8px; border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius-sm); box-shadow: var(--hm-shadow);
}

/* Кликабельная плитка QR (обёртка от redesign.js): применяется к обоим QR -
   в правой колонке главной и в подвале. Селекторы общие (не привязаны к колонке). */
.body-wrap .hm-qr-wrap{ text-align: center; margin: 10px 0 18px; }
.body-wrap .hm-qr-trigger{
  -webkit-appearance: none; appearance: none;
  display: inline-block; position: relative; box-sizing: border-box;
  width: 270px; max-width: 100%; padding: 12px;
  background: #fff; border: 1px solid var(--hm-line); border-radius: var(--hm-radius-sm);
  box-shadow: var(--hm-shadow); cursor: zoom-in;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
/* второй селектор поднимает специфичность до уровня запасного вида
   .col-md-4 img[src*="qr_code"] (0,3,1): иначе тот перебивал width/margin
   внутри плитки (картинка оставалась 180px с паразитными полями 6/12px) */
.body-wrap .hm-qr-trigger img,
.body-wrap .col-md-4 .hm-qr-trigger img{
  display: block; width: 100% !important; height: auto !important; float: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
.body-wrap .hm-qr-trigger:hover,
.body-wrap .hm-qr-trigger:focus-visible{
  transform: translateY(-3px) scale(1.04);
  box-shadow: var(--hm-shadow-hover); border-color: var(--hm-blue);
}
.body-wrap .hm-qr-trigger:focus-visible{ outline: 2px solid var(--hm-blue); outline-offset: 3px; }
/* значок-лупа в углу плитки */
.body-wrap .hm-qr-trigger::after{
  content: ""; position: absolute; right: 7px; bottom: 7px; width: 34px; height: 34px;
  background: var(--hm-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5'/%3E%3Cpath d='M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / 18px no-repeat;
  border-radius: 50%; box-shadow: 0 2px 7px rgba(16,42,71,.4); pointer-events: none;
}
.body-wrap .hm-qr-trigger:hover::after,
.body-wrap .hm-qr-trigger:focus-visible::after{ background-color: var(--hm-blue-deep); }
.body-wrap .hm-qr-hint{
  display: block; margin-top: 9px; font: 500 12.5px/1.3 var(--hm-font); color: var(--hm-muted);
}

/* Футерный вариант: компактнее, подпись светлая на тёмном фоне, выравнивание влево */
.body-wrap .footer .hm-qr-wrap{ text-align: left; margin: 0 0 14px; }
.body-wrap .footer .hm-qr-trigger{ width: 132px; padding: 8px; }
.body-wrap .footer .hm-qr-trigger::after{ width: 28px; height: 28px; right: 6px; bottom: 6px; background-size: 15px; }
/* минимализм: подпись «Нажмите чтобы увеличить» в подвале убираем (QR остаётся кликабельным) */
.body-wrap .footer .hm-qr-hint{ display: none; }

/* ненавязчивый пульс значка-лупы как подсказка «кликабельно» (без движения - выключаем) */
@media (prefers-reduced-motion: no-preference){
  .body-wrap .hm-qr-trigger::after{ animation: hm-qr-pulse 2.4s ease-in-out infinite; }
  .body-wrap .hm-qr-trigger:hover::after,
  .body-wrap .hm-qr-trigger:focus-visible::after{ animation: none; }
  @keyframes hm-qr-pulse{
    0%, 100%{ transform: scale(1); box-shadow: 0 2px 7px rgba(16,42,71,.4); }
    50%{ transform: scale(1.12); box-shadow: 0 0 0 6px rgba(26,102,194,.16), 0 2px 7px rgba(16,42,71,.4); }
  }
}

/* Оверлей увеличенного QR (создаётся в body, поэтому селекторы без .body-wrap) */
.hm-qr-overlay{
  position: fixed; inset: 0; z-index: 100001;
  display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(16,42,71,.62); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .16s ease;
}
.hm-qr-overlay.is-open{ opacity: 1; }
.hm-qr-box{
  position: relative; background: #fff; border-radius: var(--hm-radius);
  padding: 24px; box-shadow: 0 18px 60px rgba(16,42,71,.45);
  max-width: 92vw; text-align: center; transform: scale(.92); transition: transform .18s ease;
}
.hm-qr-overlay.is-open .hm-qr-box{ transform: scale(1); }
.hm-qr-big{ display: block; width: min(78vw, 360px); height: auto; image-rendering: pixelated; }
.hm-qr-cap{ margin-top: 16px; font: 500 14px/1.4 var(--hm-font); color: var(--hm-ink); }
.hm-qr-close{
  position: absolute; right: 8px; top: 8px; width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  background: var(--hm-surface); border: 1px solid var(--hm-line); border-radius: 50%;
  font: 600 20px/1 var(--hm-font); color: var(--hm-ink); cursor: pointer;
  transition: background .15s ease;
}
.hm-qr-close:hover, .hm-qr-close:focus-visible{ background: var(--hm-line); outline: none; }
.hm-qr-close:focus-visible{ outline: 2px solid var(--hm-blue); outline-offset: 2px; }

/* (owl-карточки полностью переописаны выше в секции «Информационные ресурсы»:
   .client - белая карточка, .text_ab возвращён в нормальный поток, заголовок line-clamp.) */

/* ============================================================
   ШАГ 7. Доступность (ПП №102 / WCAG 2.1 AA).
   Видимый фокус задан выше (строки ~37-40). Здесь: skip-link,
   визуально скрытый класс под скрытый h1 главной, контраст ссылок
   и кнопок до 4,5:1, различимость ссылок в тексте без опоры на цвет.
   ARIA-метки и ориентиры расставляет redesign.js. Тире не используем.
   ============================================================ */

/* Визуально скрыто, но доступно скринридеру (скрытый h1 главной) */
.hm-visually-hidden{
  position: absolute !important; width: 1px; height: 1px;
  padding: 0 !important; margin: -1px !important; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0 !important;
}

/* Ссылка «К основному содержанию»: скрыта, проявляется по фокусу с клавиатуры */
.body-wrap .hm-skip{
  position: absolute; left: 12px; top: -80px; z-index: 100000;
  background: var(--hm-navy-deep); color: #fff !important;
  padding: 10px 18px; border-radius: 0 0 var(--hm-radius-sm) var(--hm-radius-sm);
  font: 600 15px/1.2 var(--hm-font); text-decoration: none;
  box-shadow: var(--hm-shadow); transition: top .15s ease;
}
.body-wrap .hm-skip:focus{ top: 0; outline: 3px solid #fff; outline-offset: -2px; }
/* у контейнера main фокус по якорю не подсвечиваем (он не интерактивный) */
.body-wrap [role="main"]:focus{ outline: none; }

/* ---------- Контраст до AA (пункт 2.8) ---------- */
/* Bootstrap .btn-info (бирюза #5bc0de, белый текст ~2.1:1) -> синий бренда (~5.3:1) */
.body-wrap .btn-info,
.body-wrap a.btn-info,
.body-wrap .btn-info.btn{
  background-color: var(--hm-blue) !important;
  border-color: var(--hm-blue-deep) !important;
  color: #fff !important;
}
.body-wrap .btn-info:hover,
.body-wrap .btn-info:focus{ background-color: var(--hm-blue-deep) !important; color: #fff !important; }

/* Bootstrap .btn-primary (белый на #428BCA, ~3.3:1) -> синий бренда (~5.3:1) */
.body-wrap .btn-primary{
  background-color: var(--hm-blue) !important;
  border-color: var(--hm-blue-deep) !important;
  color: #fff !important;
}
.body-wrap .btn-primary:hover,
.body-wrap .btn-primary:focus{ background-color: var(--hm-blue-deep) !important; color: #fff !important; }
/* .btn-link (текстовая кнопка цветом темы #428BCA, ~3.3:1) -> тёмно-синий */
.body-wrap .btn-link{ color: var(--hm-blue-deep) !important; }

/* Контентные ссылки темы (#038ab0, 3.98:1) -> тёмно-синий (~7:1 на белом).
   Компоненты со своим цветом (карточки, меню, шапка, подвал) перебивают это
   правило своей специфичностью, поэтому затрагиваются только «сырые» ссылки. */
.body-wrap .col-md-9 a,
.body-wrap .col-md-8 a,
.body-wrap .col-md-4 a:not(.btn),
.body-wrap .news-detail a,
.body-wrap .detail_text a,
.body-wrap .text a,
.body-wrap td a:not(.btn),
.body-wrap .modern-page-navigation a,
.body-wrap .navigation a{ color: var(--hm-blue-deep); }

/* Full-width внутренние страницы (без левой колонки): бирюзовый темы #038ab0 (3.12:1)
   на «сырых» ссылках контента, в галереях .news-list, на странице поиска и в инлайновом
   <font color> справочника контактов. На ГЛАВНОЙ те же классы (.news-list, .content)
   живут в тёмных карточках концепции 2, поэтому scope html:not(.hm2-on) (маркер концепции 2
   стоит только на главной) физически исключает её из правила; спец-версию (свои цветовые
   схемы) не трогаем. Цель var(--hm-blue-deep) = 5.21:1 на белом. Аудит ПП №102 26.06.2026. */
html:not(.hm2-on) body:not(.special-aaVersion-on) .content a:not(.btn),
html:not(.hm2-on) body:not(.special-aaVersion-on) .content a:not(.btn):hover,
html:not(.hm2-on) body:not(.special-aaVersion-on) .content a:not(.btn):focus,
html:not(.hm2-on) body:not(.special-aaVersion-on) .content a:not(.btn) b,
html:not(.hm2-on) body:not(.special-aaVersion-on) .content a:not(.btn) font,
html:not(.hm2-on) body:not(.special-aaVersion-on) .content font[color="#038ab0"],
html:not(.hm2-on) body:not(.special-aaVersion-on) .content font[color="#038AB0"],
html:not(.hm2-on) body:not(.special-aaVersion-on) .content font[color="#0586aa"],
html:not(.hm2-on) body:not(.special-aaVersion-on) .news-list a,
html:not(.hm2-on) body:not(.special-aaVersion-on) .news-list a b,
html:not(.hm2-on) body:not(.special-aaVersion-on) .news-list a font,
html:not(.hm2-on) body:not(.special-aaVersion-on) .search a:not(.btn),
html:not(.hm2-on) body:not(.special-aaVersion-on) .search a:not(.btn) b{ color: var(--hm-blue-deep) !important; }

/* Активный таб: белый текст на бирюзовом #038ab0 (3.12) -> фон глубокий синий (white-on-deep 5.21). */
html:not(.hm2-on) body:not(.special-aaVersion-on) #tab_l1,
html:not(.hm2-on) body:not(.special-aaVersion-on) .tabs_content_menu li.active,
html:not(.hm2-on) body:not(.special-aaVersion-on) ul.tabs li.active a{ background-color: var(--hm-blue-deep) !important; border-color: var(--hm-blue-deep) !important; }

/* Серые заголовки умного фильтра Битрикса (#95a1a8 на #edf6fc = 2.44) -> тёмный. */
html:not(.hm2-on) body:not(.special-aaVersion-on) .bx-filter-parameters-box-title,
html:not(.hm2-on) body:not(.special-aaVersion-on) .bx-filter-parameters-box-title span{ color: #2a2f33 !important; }

/* Ссылки внутри текста различимы без опоры на цвет: подчёркивание
   (правило link-in-text-block). Точечно по блокам, где ссылка соседствует
   с текстом: прямые ссылки в .text (пагинация, инлайн-ссылки списков),
   дата/превью, телефоны доверия, тело статьи. Заголовки-карточки лежат в
   .title (не в .text), поэтому child-комбинатор .text > a их не задевает.
   !important нужен, чтобы перебить тему (класс .text-dashed снимает подчёркивание). */
.body-wrap .text > a:not(.btn):not(.btn-info),
.body-wrap .phone a,
.body-wrap .date a,
.body-wrap .bl a,
.body-wrap .news-detail a:not(.btn):not(.btn-info),
.body-wrap .detail_text a:not(.btn):not(.btn-info),
.body-wrap p a:not(.btn):not(.btn-info){ text-decoration: underline !important; }

/* Системные сообщения об ошибке (Битрикс <font class="errortext">): красный
   #ff0000 на белом = 3.99:1 -> danger-токен (#C62828, ~5.9:1). Пункт 2.8. */
.body-wrap .errortext{ color: var(--hm-danger) !important; }

/* Размер сенсорной цели ссылок хлебных крошек (WCAG 2.2, 2.5.8): не меньше 24px
   по высоте, небольшой внутренний отступ для зоны нажатия. Разделители «/» рисует
   тема псевдоэлементом на li, поэтому inline-block с padding вёрстку не ломает. */
.body-wrap .breadcrumb li a{ display: inline-block; min-height: 24px; line-height: 20px; padding: 2px 3px; }

/* ============================================================
   КОНЦЕПЦИЯ 2 (design=2). Hero с живым видео-слайдером,
   служебные ссылки лентой под баннером, логотип крупнее без подписи, блики.
   Всё под префиксом hm2-, чтобы не конфликтовать с bootstrap и базовым слоем.
   Родной slick-баннер и топбарная полоса ссылок прячутся классом hm2-on на <html>.
   Добавлено при переносе hero прототипа во вторую концепцию (15.06.2026).
   ============================================================ */

.hm2-on .sf-slider{ display:none !important; }
.hm2-on .top-header.links-menu{ display:none !important; }
/* Скип-ссылка доступности: топбар (вставлен в начало body) сдвинул .body-wrap вниз,
   из-за чего absolute-ссылка (top:-80 от .body-wrap) выглядывала сверху и при фокусе
   налезала на шапку. Делаем fixed - считается от окна: спрятана над экраном,
   по Tab выезжает к самому верху, поверх всего (z-index у неё уже большой). */
.hm2-on .hm-skip{ position:fixed !important; }

/* Hero-секция */
.hm2-hero{ position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(100deg,#16365A 0%,#154F6E 52%,#2E7D32 100%); }
.hm2-hero__media{ position:absolute; inset:0; z-index:0; overflow:hidden;
  background:linear-gradient(100deg,#16365A 0%,#154F6E 52%,#2E7D32 100%); }
.hm2-vid{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .7s ease; }
.hm2-vid.is-on{ opacity:1; }
/* Кадрирование по умолчанию center (50% 50%). Новый набор роликов (тайга, буй-часовня,
   закат, осенний лес, зимний посёлок) ложится по центру; точечные object-position по data-i
   добавляем здесь, только если кадр конкретного ролика срезается неудачно. */
.hm2-hero__media::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(100deg, rgba(22,54,90,.86) 0%, rgba(21,79,110,.62) 48%, rgba(46,125,50,.5) 100%); }

/* Кнопка пауза/остановка видео */
.hm2-hero__playctl{ position:absolute; right:18px; bottom:18px; z-index:2;
  width:44px; height:44px; padding:0; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; background:rgba(16,42,71,.5); border:1px solid rgba(255,255,255,.55);
  cursor:pointer; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  transition:background .15s, transform .1s; }
.hm2-hero__playctl:hover{ background:rgba(16,42,71,.74); }
.hm2-hero__playctl:active{ transform:scale(.94); }
.hm2-hero__playctl:focus-visible{ outline:3px solid #fff; outline-offset:2px; }
.hm2-hero__playctl svg{ width:20px; height:20px; display:block; fill:currentColor; }
.hm2-hero__playctl .hm2-ic-play{ display:none; }
.hm2-hero__playctl[aria-pressed="true"] .hm2-ic-play{ display:block; }
.hm2-hero__playctl[aria-pressed="true"] .hm2-ic-pause{ display:none; }

/* Контент hero */
.hm2-hero__inner{ position:relative; z-index:1; width:100%; max-width:1720px; margin:0 auto; padding:114px 20px; }
.hm2-hero__inner .hm2-hero__title{ color:#fff; font-size:2.6rem; line-height:1.15; font-weight:700;
  max-width:18ch; margin:0 0 14px; text-shadow:0 2px 18px rgba(8,20,40,.35); }
.hm2-hero__inner p{ font-size:1.18rem; line-height:1.5; max-width:54ch; margin:0 0 26px;
  color:#eef4f8; text-shadow:0 1px 12px rgba(8,20,40,.3); }

.hm2-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }
.hm2-btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:1rem; line-height:1.2; cursor:pointer; text-decoration:none;
  padding:12px 20px; border-radius:10px; border:2px solid transparent; }
.hm2-btn:hover{ text-decoration:none; }
.hm2-btn svg{ width:20px; height:20px; flex:none; }
.hm2-btn--light{ background:#fff; color:#16365A; }
.hm2-btn--light:hover{ background:#ECF1F5; color:#16365A; }
.hm2-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.hm2-btn--ghost:hover{ background:rgba(255,255,255,.14); color:#fff; }

.hm2-hero__dots{ display:flex; gap:8px; margin-top:26px; }
.hm2-dot{ width:9px; height:9px; padding:0; border:0; border-radius:50%;
  background:rgba(255,255,255,.45); cursor:pointer; transition:width .25s, background .25s; }
.hm2-dot:hover{ background:rgba(255,255,255,.75); }
.hm2-dot:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.hm2-dot.is-on{ background:#fff; width:26px; border-radius:5px; }

/* Блик на кнопках hero по очереди слева направо, только десктоп */
.hm2-btn::after{ content:""; position:absolute; top:0; bottom:0; left:0; width:55%;
  transform:translateX(-200%) skewX(-18deg); opacity:0; pointer-events:none;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%); }
.hm2-btn--light::after{ background:linear-gradient(100deg, transparent 0%, rgba(150,190,255,.6) 50%, transparent 100%); }
@keyframes hm2-glare{
  0%{ transform:translateX(-200%) skewX(-18deg); opacity:0; }
  2%{ opacity:1; }
  15%{ transform:translateX(240%) skewX(-18deg); opacity:1; }
  15.01%,100%{ transform:translateX(240%) skewX(-18deg); opacity:0; }
}
@media (min-width:1081px){
  .hm2-hero__cta .hm2-btn:nth-child(1)::after{ animation:hm2-glare 6s linear infinite 0s; }
  .hm2-hero__cta .hm2-btn:nth-child(2)::after{ animation:hm2-glare 6s linear infinite .9s; }
  .hm2-hero__cta .hm2-btn:nth-child(3)::after{ animation:hm2-glare 6s linear infinite 1.8s; }
}
@media (prefers-reduced-motion: reduce){
  .hm2-btn::after{ animation:none !important; }
  .hm2-vid{ transition:none !important; }                        /* кроссфейд видео без плавности */
  .hm2-on .hm2-news-card, .hm2-dot{ transition:none !important; }
  .hm2-on .hm2-news-card:hover{ transform:none !important; }
  .hm2-on .hm2-poll-card{ transition:none !important; }
  .hm2-on .hm2-poll-card:hover{ transform:none !important; }
}

/* Лента служебных ссылок под баннером (градиент как у меню) */
.hm2-quicklinks{ background:linear-gradient(100deg,#16365A 0%,#154F6E 52%,#2E7D32 100%);
  border-bottom:1px solid rgba(0,0,0,.10); }
.hm2-quicklinks__inner{ width:100%; max-width:1720px; margin:0 auto; padding:0 20px; }
.hm2-quicklinks nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:14px 0; }
.hm2-quicklinks a{ display:inline-flex; align-items:center; background:#fff; border:1px solid #DCE4EC;
  border-radius:30px; padding:8px 16px; color:#1E2733; font-size:.9rem; font-weight:500; text-decoration:none; }
.hm2-quicklinks a:hover{ border-color:#bcd0e6; color:#134E96; background:#fff; text-decoration:none; }

/* Логотип крупнее и без подписи (подпись убирает JS, тут размер), в одну строку */
.hm2-on .top-info .title span{ font-size:2.62rem !important; font-weight:800 !important;
  line-height:1.15 !important; letter-spacing:-.01em !important; white-space:nowrap; }
/* Соцсети уехали в топбар - пустую таблицу у названия убираем */
.hm2-on .display-row.vertical-al-logo-text .title table{ display:none !important; }

/* Белая строка шапки под прототип: контейнер на всю ширину (1720, как топбар/hero
   и меню), герб компактнее, поиск компактный и прижат к правому краю, кнопка navy. */
.hm2-on .top-header-top > .container{ max-width:1720px !important; width:auto !important; padding-left:20px; padding-right:20px; }
/* герб компактнее (перебиваем базовое .body-wrap header.header-light .navbar-brand img:104px) */
.hm2-on .body-wrap header.header-light .navbar-brand img{ height:64px !important; width:auto !important; margin-right:18px !important; }
.hm2-on .top-header-top form.form-horizontal{ margin-bottom:0; }
.hm2-on .top-header-top form.form-horizontal .input-group{ width:312px; max-width:46vw; margin-left:auto; margin-right:0; }
.hm2-on .top-header-top form.form-horizontal .form-control{ border-color:#DCE4EC; box-shadow:none; }
/* кнопка поиска navy вместо синей (перебиваем базовое .body-wrap header.header-light .form-light .input-group-btn .btn-base) */
.hm2-on .body-wrap header.header-light .form-light .input-group-btn .btn-base{
  background:#16365A !important; border-color:#16365A !important; color:#fff !important; }
.hm2-on .body-wrap header.header-light .form-light .input-group-btn .btn-base::before{ background-color:#16365A !important; }
.hm2-on .body-wrap header.header-light .form-light .input-group-btn .btn-base:hover{
  background:#134E96 !important; border-color:#134E96 !important; }
/* компактная высота белой строки (без большого разрыва, как в прототипе):
   убираем лишний верхний паддинг, на десктопе скрываем опустевший блок над поиском
   («Полная версия» только для мобайла + меню, откуда логин уехал в топбар) и
   выравниваем логотип с поиском по центру по вертикали. */
.hm2-on .top-header-top > .container.pt-10{ padding-top:0 !important; }
/* Опустевший ряд над поиском («Полная версия» уехала в топбар, логин - тоже) убираем
   на ВСЕХ ширинах; шаблонные margin 10/30 у обеих колонок .top-info обнуляем -
   белая строка компактная и на десктопе, и на мобайле (меньше белого пространства). */
.hm2-on .top-header-top .top-info.col-md-6 > .row:first-child{ display:none !important; }
.hm2-on .top-header-top .top-info.col-md-6{ margin-top:0 !important; margin-bottom:0 !important; }
@media (min-width:992px){
  .hm2-on .top-header-top > .container > .row{ display:flex; align-items:center; }
  .hm2-on .top-header-top form.form-horizontal{ margin-top:0 !important; }
}
@media (max-width:991px){
  /* мобайл/планшет: колонки в стопку, поиск под логотипом с небольшим отступом.
     Дожимаем белое пространство: меньше паддинг полосы, нет лишних margin у колонки
     и вертикального паддинга обёртки логотипа (он раздувал ячейку логотипа до 78px). */
  .hm2-on .body-wrap header.header-light .top-header-top{ padding-top:12px !important; padding-bottom:12px !important; }
  .hm2-on .body-wrap header.header-light .top-header-top .top-info.col-md-6{ margin:0 !important; }
  .hm2-on .body-wrap header.header-light .top-header-top .navbar-brand{ padding-top:0 !important; padding-bottom:0 !important; }
  .hm2-on .top-header-top form.form-horizontal{ margin-top:10px !important; margin-bottom:0 !important; }
}

/* Топбар как в прототипе: тёмная полоса сверху (версия, соцсети, вход справа).
   В неё JS перемещает реальные узлы версии/соцсетей/входа (функции сохраняются). */
.hm2-topbar{ background:#102A47; color:#cdd9e6; font-size:1.02rem; }
.hm2-topbar__inner{ width:100%; max-width:1720px; margin:0 auto; padding:8px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:12px 20px; flex-wrap:wrap; min-height:46px; }
.hm2-topbar__right{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.hm2-topbar a{ color:#cdd9e6; text-decoration:none; }
/* контакты в топбаре (слева), горизонтально, светлым */
.hm2-topbar .contacts-top{ margin:0; padding:0; }
.hm2-topbar .contacts-top ul{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 18px; margin:0; padding:0; list-style:none; }
.hm2-topbar .contacts-top li{ color:#cdd9e6; font-size:1.08rem; display:inline-flex; align-items:center; }
.hm2-topbar .contacts-top li .fa{ color:#8fa8c0; margin-right:6px; }
.hm2-topbar .contacts-top a{ color:#cdd9e6; }
.hm2-topbar .contacts-top a:hover{ color:#fff; }
.hm2-topbar a:hover{ color:#fff; text-decoration:none; }
.hm2-topbar .switch-vision{ display:inline-flex; }
.hm2-topbar .switch-vision a, .hm2-topbar .switch-vision a.btn{
  display:inline-flex; align-items:center; gap:7px; background:none !important; border:0 !important;
  padding:0 !important; margin:0 !important; color:#cdd9e6 !important; font-weight:500;
  box-shadow:none !important; border-radius:0 !important; min-width:0 !important; }
.hm2-topbar .switch-vision a:hover{ color:#fff !important; }
.hm2-topbar .switch-vision .fa{ font-size:18px; }
/* раскрыть подпись «Версия для слабовидящих» (в разметке спрятана инлайном font-size:0
   внутри .fa, оттуда же унаследовала бы FontAwesome - возвращаем обычный шрифт) */
.hm2-topbar .switch-vision .fa font{
  font-size:1rem !important; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;
  font-weight:500 !important; margin-left:8px; vertical-align:middle; white-space:nowrap; letter-spacing:0; }
.hm2-topbar__soc{ display:inline-flex; align-items:center; gap:12px; }
.hm2-topbar__soc a{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; color:#cdd9e6; font-size:18px; }
.hm2-topbar__soc a:hover{ color:#fff; }
.hm2-topbar__loginwrap{ list-style:none; margin:0; padding:0; display:inline-flex; }
.hm2-topbar #cache_auth_container{ list-style:none; margin:0; padding:0; }
.hm2-topbar #cache_auth_container a, .hm2-topbar a.btn-b-white{
  display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.13) !important;
  border:0 !important; color:#fff !important; font-weight:600; font-size:1rem; padding:8px 18px !important;
  border-radius:8px !important; box-shadow:none !important; margin:0 !important; }
.hm2-topbar #cache_auth_container a:hover, .hm2-topbar a.btn-b-white:hover{ background:rgba(255,255,255,.24) !important; color:#fff !important; }

/* Меню: градиент как в прототипе (перебить сплошной navy базового слоя) */
.hm2-on .navbar.mega-nav, .hm2-on .navbar-wp.mega-nav, .hm2-on .mega-nav{
  background:linear-gradient(100deg,#16365A 0%,#154F6E 52%,#2E7D32 100%) !important; }
/* Меню шире и пункты растянуты по всей ширине (как остальная шапка). Только десктоп:
   на бургере (<1200) раскладка вертикальная, space-between по вертикали ломал бы её. */
@media (min-width:1200px){
  .hm2-on .body-wrap .navbar-wp.mega-nav .container{
    max-width:1720px !important; width:auto !important; padding-left:20px; padding-right:20px; }
  .hm2-on .mega-nav ul.navbar-nav{ width:100%; justify-content:space-between; }
  .hm2-on .mega-nav ul.navbar-nav > li > a{ font-size:.8rem; }
}
/* Контент главной (новости+сайдбар, «Информационные ресурсы») был в bootstrap
   .container 1170 - уже шапки/hero/меню (1720). Расширяем контент-контейнеры до
   общей ширины 1720 ТОЛЬКО на десктопе ≥1200; ниже 1200 родные bootstrap-ширины
   (970 / 750 / 100%) дают естественное сужение без переполнения. Скоуп .hm2-on -
   класс ставится только на главной (на внутренних страницах нет hero, hm2-on не
   добавляется), поэтому внутренние страницы не задеты; .content исключает шапку и подвал. */
@media (min-width:1200px){
  .hm2-on .content .container{ max-width:1720px !important; width:auto !important; padding-left:20px; padding-right:20px; }
}
/* Выпадающее меню 1-го уровня: фиксированная ширина + 2 колонки + бейджи-счётчики (как прототип).
   Ширина фиксирована (а не min-width), иначе колонки растягиваются под длинный текст и выпадайка
   вылезает за край экрана. JS (positionHm2Megas) сдвигает её, чтобы всегда влезала в окно. */
.hm2-on ul.navbar-nav > li.dropdown > .dropdown-menu.hm2-mega{
  width:620px; min-width:0; max-width:94vw; column-count:2; column-gap:26px; right:auto; }
.hm2-on .hm2-mega > li{ break-inside:avoid; }
.hm2-on .hm2-mega > li > a{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; white-space:normal; }
.hm2-subcount{ display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:18px;
  padding:0 6px; border-radius:9px; background:#ECF1F5; color:#51606E; font-size:.72rem; font-weight:600; line-height:1; flex:none; }

/* Адаптив hero и шапки */
@media (max-width:1080px){
  .hm2-hero__inner{ padding:38px 20px; }
  .hm2-hero__inner .hm2-hero__title{ font-size:2rem; }
  .hm2-on .top-info .title span{ font-size:1.7rem !important; white-space:normal; }
  .hm2-on .top-header-top form.form-horizontal .input-group{ width:100%; max-width:none; margin-left:0; }
  .hm2-topbar__inner{ justify-content:center; gap:14px; }
  .hm2-topbar .contacts-top{ display:none; }
}
@media (max-width:600px){
  .hm2-topbar .switch-vision .fa font{ display:none; }
}

/* === Адаптив: планшет/мобайл до 360px === */
/* Меню в бургер-режиме (≤1199): выпадайка - обычный список в одну колонку,
   без фикс-ширины и без JS-сдвига (аккордеон базового слоя, как в концепции 1). */
@media (max-width:1199px){
  .hm2-on ul.navbar-nav > li.dropdown > .dropdown-menu.hm2-mega{
    width:auto !important; max-width:none !important; column-count:1 !important;
    left:0 !important; right:auto !important; }
  /* Бургер-меню оверлеем: панель падает ПОВЕРХ hero, а не раздвигает поток
     (базовое поведение толкало hero вниз на ~440px). Фон у панели сплошной navy,
     высокое меню прокручивается внутри себя. */
  .hm2-on .mega-nav{ position:relative; }
  .hm2-on .mega-nav .navbar-collapse.top-menu{
    position:absolute; left:0; right:0; top:100%; z-index:1050;
    box-shadow:0 18px 42px rgba(8,20,40,.42); }
  /* высоту и внутреннюю прокрутку задаём по той же специфичной цепочке, что и база
     (база ставит max-height:none/overflow:visible с !important) - с префиксом .hm2-on на класс выше */
  .hm2-on .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu.collapse.hm-open{
    position:absolute !important; max-height:calc(100vh - 54px) !important; overflow-y:auto !important;
    -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
}
/* Hero: кнопки в столбик на всю ширину + компактнее текст/отступы на телефонах */
@media (max-width:520px){
  .hm2-hero__inner{ padding:30px 16px; }
  .hm2-hero__inner .hm2-hero__title{ font-size:1.6rem; }
  .hm2-hero__inner p{ font-size:1rem; line-height:1.45; margin-bottom:22px; }
  .hm2-hero__cta{ flex-direction:column; align-items:stretch; gap:10px; }
  .hm2-hero__cta .hm2-btn{ width:100%; justify-content:center; }
  .hm2-hero__dots{ margin-top:20px; }
  .hm2-hero__playctl{ width:40px; height:40px; right:12px; bottom:12px; }
}
/* Лента служебных ссылок: компактнее на мелких экранах */
@media (max-width:480px){
  .hm2-quicklinks nav{ gap:8px; padding:12px 0; }
  .hm2-quicklinks a{ padding:7px 13px; font-size:.85rem; }
}
/* Топбар: плотнее на узких */
@media (max-width:420px){
  .hm2-topbar__inner{ gap:10px; padding:6px 12px; }
  .hm2-topbar__right{ gap:13px; }
}
/* Логотип-название чуть меньше на самых узких, чтобы дышало */
@media (max-width:400px){
  .hm2-on .top-info .title span{ font-size:1.45rem !important; }
}

/* «Полная версия» в топбаре - лёгкой ссылкой, не кнопкой. Видимость как у visible-xs:
   только на телефоне (≤767), на планшете/десктопе скрыта (display не форсим вне media). */
.hm2-topbar .type_view{
  width:auto !important; float:none !important; align-items:center;
  background:none !important; border:0 !important; padding:0 !important; margin:0 !important;
  color:#cdd9e6 !important; font-weight:500; font-size:.82rem; box-shadow:none !important;
  border-radius:0 !important; white-space:nowrap; }
.hm2-topbar .type_view:hover{ color:#fff !important; }
@media (min-width:768px){ .hm2-topbar .type_view{ display:none !important; } }
/* на телефоне: «Полная версия» слева (показываем), версия/соцсети/вход справа */
@media (max-width:767px){
  .hm2-topbar .type_view{ display:inline-flex !important; }
  .hm2-topbar__inner{ justify-content:space-between; }
}
/* герб компактнее на телефонах - меньше белого в шапке */
@media (max-width:520px){
  .hm2-on .body-wrap header.header-light .navbar-brand img{ height:54px !important; }
}

/* Лента служебных ссылок в одну строку со свайпом влево-вправо (мало места) */
@media (max-width:768px){
  .hm2-quicklinks__inner{ padding:0 !important; }
  .hm2-quicklinks nav{
    flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;
    gap:8px; padding:12px 16px; scrollbar-width:none; }
  .hm2-quicklinks nav::-webkit-scrollbar{ display:none; }
  .hm2-quicklinks a{ flex:0 0 auto; white-space:nowrap; scroll-snap-align:start; }
}

/* ============================================================
   Концепция 2: блок «Последние новости» карточками + слайдер на мобиле.
   Родную разметку (горизонтальные строки col-md-4 картинка / col-md-8 текст)
   JS собирает в .hm2-news-grid и помечает строки .hm2-news-card. Здесь только вид.
   ============================================================ */
/* Воздух между зелёной лентой ссылок и контентом: в шаблоне у секции pt-5 = 5px
   (не bootstrap), новости упирались в ленту. Класс навешивает JS initHm2News. */
.hm2-on .hm2-news-section{ padding-top:44px !important; }
@media (max-width:991px){ .hm2-on .hm2-news-section{ padding-top:32px !important; } }
@media (max-width:767px){ .hm2-on .hm2-news-section{ padding-top:26px !important; } }

/* Серая подложка новостей (база, section.slice.bg-lgrey.mt-30) лежит фоном под
   колонками новостей и сайдбара (колонки float, поэтому серый блок идёт под ними).
   Её верх был на 30px ниже шапки секции - заголовок «Последние новости» и кнопка
   «Все новости» торчали над серым. Подтягиваем подложку вверх (margin-top отрицательный,
   padding отрицательным быть не может), чтобы шапка попадала внутрь серого блока с
   симметричной воздушной кромкой сверху. Блок hidden-xs - правка только десктоп/планшет. */
.hm2-on .hm2-news-section section.slice.bg-lgrey{ margin-top:-22px !important; }

/* Шапка ЛЮБОЙ секции контента: заголовок слева, кнопка «Все новости»/«В раздел»
   справа (класс .hm2-sec-head вешает JS на все .section-title-wr; новостная также
   .hm2-news-head). Кнопка - навой-пилюля со стрелкой, единая по всей странице. */
.hm2-on .hm2-sec-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px 18px; flex-wrap:wrap; }
.hm2-on .hm2-sec-head .aux-nav{ margin:0; }
/* специфичность выше базового .body-wrap .section-title-wr .aux-nav a */
.hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:999px;
  background:#16365A; color:#fff !important;
  font-weight:600; font-size:.92rem; line-height:1; text-decoration:none; border:0;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease; }
.hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn:hover,
.hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn:focus{
  background:#0F2742; color:#fff !important;
  transform:translateY(-1px); box-shadow:0 8px 18px rgba(16,42,71,.28); }
.hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn .fa{ font-size:1rem; margin:0 !important; padding:0 !important; }
/* пилюля единого размера во всех блоках, включая сайдбар (раньше сайдбарная была
   мельче 7px/.84rem - неконсистентно; узкий заголовок переносит кнопку через flex-wrap) */
.hm2-on .col-md-4 .hm2-sec-head .aux-nav a.hm2-allnews-btn{ padding:9px 18px; font-size:.92rem; }

/* Сетка карточек. Чтобы 8 новостей всегда ложились ровными рядами без неполной
   «осиротевшей» строки: 2 колонки на планшете 768-1199 (2x4), 4 колонки на широком
   контейнере ≥1200 (4x2), на ≤767 - слайдер (CSS ниже). 8 делится и на 2, и на 4. */
.hm2-on .hm2-news-grid{
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:20px; margin:4px 0 6px; align-items:stretch; }
@media (min-width:1200px){
  .hm2-on .hm2-news-grid{ grid-template-columns:repeat(4, 1fr); }
}

/* Карточка = бывшая строка новости. Базовый слой концепции-1 уже стилизует
   .row.mb-10/.col-md-4/.col-md-8 как горизонтальную карточку (картинка-колонка
   залочена flex:0 0 30%, на карточке padding) - полностью нейтрализуем это,
   строим вертикальную карточку: картинка сверху, текст снизу. */
.hm2-on .hm2-news-card{
  display:flex !important; flex-direction:column !important;
  margin:0 !important; padding:0 !important; gap:0 !important;
  background:#fff; border:1px solid #E4EAF1; border-radius:14px; overflow:hidden;
  box-shadow:0 2px 8px rgba(16,42,71,.06);   /* тень покоя чуть заметнее: карточки «подлетают» над орнаментом канвы */
  transition:transform .16s ease, box-shadow .16s ease; }
.hm2-on .hm2-news-card:hover{
  transform:translateY(-3px); box-shadow:0 14px 30px rgba(8,20,40,.13); }
/* колонки на всю ширину и по высоте КОНТЕНТА (снимаем базовый flex:0 0 30/70%) */
.hm2-on .hm2-news-card > [class*="col-"]{
  flex:0 0 auto !important; width:100% !important; max-width:100% !important;
  margin:0 !important; padding:0 !important; float:none !important;
  position:static !important; min-height:0 !important; }

/* Картинка сверху, показываем и на телефоне (снимаем hidden-xs). Превью новостей
   Битрикс отдаёт шириной 300, высота по исходнику (в основном 3:2, часть ~16:9
   постеры с текстом). Бокс под исходник 3:2 + object-fit:contain = картинка видна
   ЦЕЛИКОМ без обрезки на любой ширине (3:2 заполняют без полей, редкие широкие -
   с минимальными полями, текст постеров не режется). Снимаем базовый max-height:132px
   концепции-1 (он капал картинку на узких карточках, снизу зиял серый фон бокса). */
.hm2-on .hm2-news-card .col-md-4{ display:block !important; order:0; position:relative; }
.hm2-on .hm2-news-card .col-md-4 > a{
  display:block; position:relative; aspect-ratio:3/2; overflow:hidden; background:#EEF2F7; }
.hm2-on .hm2-news-card .col-md-4 img.img-responsive,
.hm2-on .hm2-news-card .col-md-4 img{
  width:100% !important; height:100% !important; max-width:none; min-height:0 !important; max-height:none !important;
  object-fit:contain; object-position:center; display:block; }

/* Бейдж-категория поверх картинки (переносится JS из строки даты). */
.hm2-on .hm2-news-tag{
  position:absolute; left:10px; top:10px; z-index:2;
  display:inline-block; max-width:calc(100% - 20px);
  padding:4px 10px; border-radius:999px;
  background:rgba(16,42,71,.92); color:#fff;
  font-size:.72rem; font-weight:600; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  box-shadow:0 2px 8px rgba(8,20,40,.25); }

/* Текстовая часть карточки. Тело растёт (flex:1 1 auto) - на десктопе при равной
   высоте грид-ряда карточка снизу заподлицо; специфичность выше общего сброса колонок. */
.hm2-on .hm2-news-card .col-md-8.col-sm-8{
  display:flex !important; flex-direction:column; gap:6px;
  padding:13px 16px 16px !important; flex:1 1 auto !important; }
.hm2-on .hm2-news-card .date{
  margin:0 !important; font-size:.82rem; color:#6B7785 !important;
  display:flex; align-items:center; gap:6px; }
.hm2-on .hm2-news-card .date .fa-calendar{ color:#9AA7B4; }
.hm2-on .hm2-news-card .date .bl{ display:none !important; }   /* категория уже в бейдже */
.hm2-on .hm2-news-card h5{ margin:0 !important; font-size:1rem; line-height:1.34; }
.hm2-on .hm2-news-card h5 a{
  color:#16365A; font-weight:600; text-decoration:none;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hm2-on .hm2-news-card:hover h5 a,
.hm2-on .hm2-news-card h5 a:focus{ color:#13507A; }

/* Планшет (полная ширина) - те же 3 колонки, карточки шире. */
@media (min-width:768px) and (max-width:991px){
  .hm2-on .hm2-news-grid{ gap:18px; }
}

/* Телефон: сетка превращается в горизонтальный слайдер со свайпом и снапом.
   Так блок не растягивается вниз - карточки в одну строку. */
@media (max-width:767px){
  .hm2-on .hm2-news-grid{
    display:flex; gap:14px;
    align-items:flex-start;                 /* по высоте контента - без пустоты в карточке */
    overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory; scrollbar-width:none; padding:2px 0 12px; }
  .hm2-on .hm2-news-grid::-webkit-scrollbar{ display:none; }
  .hm2-on .hm2-news-card{ flex:0 0 80%; max-width:80%; scroll-snap-align:start; scroll-snap-stop:always; }
  /* на телефоне тело не растягиваем - карточка ровно по содержимому */
  .hm2-on .hm2-news-card .col-md-8.col-sm-8{ flex:0 0 auto !important; }
}
@media (max-width:380px){
  .hm2-on .hm2-news-card{ flex-basis:86%; max-width:86%; }
}

/* ============================================================
   Концепция 2: блоки «Мероприятия» (левая колонка) и сайдбар
   («Информационные сообщения», RSS «Новости правительства»).
   Разметку отдаёт Битрикс (property.list), JS метит классами, тут только вид.
   ============================================================ */

/* --- Мероприятия: грид горизонтальных карточек (превью слева, текст справа).
   Блок hidden-xs (на телефоне скрыт темой) - грид только ≥768. --- */
@media (min-width:768px){
  .hm2-on .hm2-events-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; margin:6px 0 8px; }
}
.hm2-on .hm2-event-card{
  display:flex !important; margin:0 !important; padding:0 !important;
  background:#fff; border:1px solid #E4EAF1; border-radius:14px; overflow:hidden;
  box-shadow:0 1px 2px rgba(8,20,40,.04); transition:transform .16s ease, box-shadow .16s ease; }
.hm2-on .hm2-event-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(8,20,40,.13); }
/* тело карточки: превью и текст по центру по вертикали, внутренние отступы */
.hm2-on .hm2-event-card .wp-block-body{
  display:flex !important; align-items:center; width:100%; gap:14px; margin:0 !important; padding:12px !important; }
/* превью: фикс-бокс ОДИНАКОВОГО размера для всех; изображение ВПИСАНО и ОТЦЕНТРОВАНО
   по обеим осям (flex center + max-width/height + width/height:auto) - разные пропорции
   аккуратно ложатся по центру нейтральной подложки, без обрезки и без прижатия к краям. */
.hm2-on .hm2-event-card .wp-block-img{
  flex:0 0 120px; width:120px !important; height:90px !important; margin:0 !important; padding:0 !important;
  display:flex; align-items:center; justify-content:center; align-self:center;
  background:#EEF2F7; border-radius:10px; overflow:hidden; }
.hm2-on .hm2-event-card .wp-block-img a{
  display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; }
.hm2-on .hm2-event-card .wp-block-img img{
  max-width:100% !important; max-height:100% !important; width:auto !important; height:auto !important;
  min-height:0 !important; object-fit:contain; object-position:center; display:block; margin:auto; }
.hm2-on .hm2-event-card .wp-block-content{
  flex:1 1 auto; min-width:0; padding:0 !important; display:flex; flex-direction:column; gap:5px; }
.hm2-on .hm2-event-card .wp-block-content small{ font-size:.8rem; color:#6B7785 !important; }
.hm2-on .hm2-event-card .description{ margin:0 !important; }
/* .wp-block-content в цепочке поднимает специфичность выше базового
   .body-wrap p a:not(.btn):not(.btn-info){text-decoration:underline!important} (0,3,2) */
.hm2-on .hm2-event-card .wp-block-content .description a{
  color:#16365A !important; font-weight:600; text-decoration:none !important; line-height:1.34;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hm2-on .hm2-event-card:hover .wp-block-content .description a{ color:#13507A !important; }

/* --- Сайдбар: сообщения/RSS строками-карточками (дата + ссылка, без превью) --- */
.hm2-on .hm2-msg-card{
  margin:0 0 12px !important; padding:12px 14px !important;
  /* border/radius с !important: база подрядчика (#bx_* property.list) форсит
     border-color #DCE4EC и radius 10px поверх шортхенда - приводим строки
     сайдбара к единому языку карточек hm2 (тот же 12px/#E4EAF1, что RSS .testimonial) */
  background:#fff !important; border:1px solid #E4EAF1 !important; border-radius:12px !important;
  transition:border-color .15s ease, box-shadow .15s ease; }
.hm2-on .hm2-msg-card:hover{ border-color:#cdd9e6 !important; box-shadow:0 6px 16px rgba(8,20,40,.08); }
.hm2-on .hm2-msg-card .wp-block-content,
.hm2-on .hm2-msg-card .wp-block-body{ padding:0 !important; margin:0 !important; }
.hm2-on .hm2-msg-card small{ font-size:.78rem; color:#6B7785 !important; display:block; margin-bottom:4px; }
.hm2-on .hm2-msg-card .description{ margin:0 !important; }
.hm2-on .hm2-msg-card .wp-block-content .description a{
  color:#16365A !important; font-weight:500; text-decoration:none !important; line-height:1.4; }
.hm2-on .hm2-msg-card:hover .wp-block-content .description a{ color:#13507A !important; }

/* --- Воздух между блоками главной (концепция 2) --- */
/* отступ перед секциями левой колонки («Мероприятия», «Опросы»), но не перед новостями */
.hm2-on .col-md-8 .hm2-sec-head:not(.hm2-news-head){ margin-top:42px !important; }
/* отступ перед блоками сайдбара («Информационные сообщения», «Новости правительства»):
   28px сверху (разделение секций), 12px снизу до контента (= шаг между карточками,
   базовый mb 18 заголовка перебиваем, чтобы заголовок->карточка был как карточка->карточка) */
.hm2-on .col-md-4 .hm2-sec-head{ margin:28px 0 12px !important; }
/* в узкой колонке сайдбара (контент сужен боковым воздухом) длинный заголовок + кнопка
   «В раздел» не помещаются в строку - кнопка аккуратно переносится под заголовок слева */
.hm2-on .col-md-4 .hm2-sec-head{ flex-wrap:wrap; row-gap:10px; }
.hm2-on .col-md-4 .hm2-sec-head .aux-nav{ width:auto !important; }
/* воздух вокруг ПОС-виджетов сайдбара (Решаем вместе / Мой выбор): единый 16px.
   Раньше 22/26 суммировались с mt заголовка следующей секции (через hr, без collapse)
   и давали зазор 55-59px перед заголовками. */
/* «Решаем вместе» лежит ВНЕ обёртки .bg-white.pt-5 (прямой ребёнок колонки), боковой
   padding обёртки на него не действует - выравниваем боковым margin 16px под общий
   отступ контента сайдбара (иначе этот баннер торчит шире остальных блоков) */
.hm2-on .col-md-4 #js-show-iframe-wrapper{ width:calc(100% - 24px) !important; margin:0 12px 16px !important; }
/* у виджета «Мой выбор» только верхний отступ: нижний суммировался с mt заголовка
   следующей секции (через hr) и раздувал зазор */
.hm2-on .col-md-4 [id*="widget-pos"]{ margin:16px 0 0 !important; }
/* hr-разделители базы в сайдбаре глушим: секции уже разделены отступом + заголовком,
   а hr (mt/mb 18 + высота) добавлял лишний зазор перед заголовками */
.hm2-on .col-md-4 hr{ margin:0 !important; border:0 !important; height:0 !important; }
/* Боковой воздух всего блока сайдбара (решение Дениса): контент (карточки, баннеры,
   виджеты) отходит от краёв колонки на 16px - задаём боковым padding ВНЕШНЕЙ обёртки
   .bg-white.pt-5. Внутреннюю обёртку по бокам не дублируем (иначе отступ удвоится).
   padding-top держим 0 у обеих - вертикальный ритм задают margin (28/12). */
.hm2-on .col-md-4 > .bg-white.pt-5{ padding:0 12px !important; }
.hm2-on .col-md-4 .bg-white.pt-5 .bg-white.pt-5{ padding-left:0 !important; padding-right:0 !important; padding-top:0 !important; }
/* нижний воздух секции новостей перед «Информационными ресурсами» */
.hm2-on .hm2-news-section{ padding-bottom:42px !important; }
/* разделитель между верхними секциями и подвалом */
.hm2-on .content > .wp-section + .wp-section,
.hm2-on .content > section + section{ margin-top:8px; }

/* ============================================================
   Концепция 2: блок «Опросы». База подрядчика рисует каждый опрос
   белой карточкой с навигационной иконкой-чеклистом (одинаково в обеих
   концепциях). Во второй концепции JS выносит ссылки <a> из таблицы в
   сетку .hm2-polls-grid: синие корпоративные карточки, белый текст,
   иконка-бейдж «радио-список» (для опроса точнее чеклиста), воздух между
   карточками для визуальной разгруппировки. Всё под .hm2-on - концепции 1
   не касается. Блок десктопный (hidden-xs), как «Мероприятия».
   ============================================================ */
.hm2-on .hm2-polls-grid{ display:grid; grid-template-columns:1fr; gap:14px; margin:6px 0 8px; }
@media (min-width:768px){
  .hm2-on .hm2-polls-grid{ grid-template-columns:repeat(2, 1fr); gap:16px; }
}
.hm2-on .hm2-poll-card{
  display:flex !important; align-items:center; gap:14px;
  padding:16px 18px; border-radius:14px;
  /* сплошной цвет ПОД градиентом: и фолбэк, и чтобы axe считал контраст
     белого текста по тёмной подложке, а не по белому фону секции (градиент он игнорит) */
  background-color:#16365A;
  background-image:linear-gradient(135deg,#16365A 0%,#1E5288 100%);
  color:#fff !important; text-decoration:none !important;
  border:1px solid rgba(255,255,255,.10);
  /* нижняя зелёная акцент-линия 3px (фирменный #2E7D32) + мягкая тень */
  box-shadow:inset 0 -3px 0 #2E7D32, 0 2px 10px rgba(16,42,71,.18);
  transition:transform .16s ease, box-shadow .16s ease; }
.hm2-on .hm2-poll-card:hover{
  transform:translateY(-3px); box-shadow:inset 0 -3px 0 #2E7D32, 0 14px 30px rgba(16,42,71,.32); }
.hm2-on .hm2-poll-card:focus-visible{ outline:3px solid #2E7D32; outline-offset:2px; }
/* иконка-бейдж: полупрозрачный белый чип с белым «радио-списком» */
.hm2-on .hm2-poll-ic{
  flex:0 0 44px; width:44px; height:44px; border-radius:11px;
  background-color:rgba(255,255,255,.14);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='5.5' cy='6' r='2'/%3E%3Cpath d='M10 6h9'/%3E%3Ccircle cx='5.5' cy='12' r='2' fill='%23ffffff'/%3E%3Cpath d='M10 12h9'/%3E%3Ccircle cx='5.5' cy='18' r='2'/%3E%3Cpath d='M10 18h7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:24px 24px; }
/* текст: белый, без подчёркивания, до 3 строк (полный текст в title при наведении) */
.hm2-on .hm2-poll-tx{
  color:#fff !important; font-weight:600; font-size:.95rem; line-height:1.36;
  text-decoration:none !important; min-width:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ============================================================
   Концепция 2: обрамление RSS и доводка ПОС-виджетов правого сайдбара.
   ПОС-виджеты («Решаем вместе», «Мой выбор») уже одеты слоем шага 5
   (рамка/радиус/отступы в палитре); здесь добиваем RSS строками-карточками
   и сводим радиусы к 12px под общий язык карточек hm2. Всё под .hm2-on.
   Внутренности вендоров (RSS-тоггл openbox, баннер Госуслуг, shadow DOM
   виджета, кросс-доменный iframe формы) НЕ трогаем - только внешнее.
   ============================================================ */

/* --- RSS «Новости правительства»: элементы строками-карточками ---
   Элемент RSS это .wp-block.testimonial.style-1 (НЕ property.list), поэтому
   initHm2Sections его не метит и одеваем здесь. Рамку вешаем ТОЛЬКО при
   наличии контента (:has(a)): на стейдже лента пустая, контейнеры держат
   лишь пробельный текст ("\n\n"), из-за чего :empty НЕ срабатывает и дал бы
   видимые пустые рамки-пустышки; :has(a) одевает карточку только когда RSS
   реально отдал новость (на бою). openbox(id) переключает inline display
   дочернего узла - наш CSS ему display не задаёт, тоггл раскрытия цел. */
.hm2-on .col-md-4 .wp-block.testimonial.style-1:has(a){
  margin:0 0 10px !important; padding:12px 14px !important;
  /* border с !important: база форсит border-color (#333) поверх шортхенда */
  background:#fff !important; border:1px solid #E4EAF1 !important; border-radius:12px !important;
  transition:border-color .15s ease, box-shadow .15s ease; }
.hm2-on .col-md-4 .wp-block.testimonial.style-1:has(a):hover{
  border-color:#cdd9e6 !important; box-shadow:0 6px 16px rgba(8,20,40,.08); }
/* ссылка-заголовок новости RSS под navy hm2, без подчёркивания (дату/описание
   не форсим: реальную внутреннюю разметку RSS видно только на бою) */
.hm2-on .col-md-4 .wp-block.testimonial.style-1 a{
  color:#16365A !important; font-weight:500; text-decoration:none !important; line-height:1.4; }
.hm2-on .col-md-4 .wp-block.testimonial.style-1:hover a{ color:#13507A !important; }

/* --- ПОС-виджеты: радиус к 12px под общий язык сайдбара ---
   «Решаем вместе» (#js-show-iframe-wrapper) - залитый синий баннер Госуслуг,
   рамку не добавляем (это цветной блок), только радиус; мой селектор включает
   id, поэтому перебивает базовый радиус по специфичности без !important.
   «Мой выбор» ([id*=widget-pos], shadow DOM) - база красит рамку id-правилом
   с !important (#DCE4EC, по сути та же линия), её без привязки к хэшу не
   перебить и не нужно; радиус базы без !important - сводим к 12px через
   !important. Фикс-высоту и shadowRoot виджета не трогаем. */
.hm2-on .col-md-4 #js-show-iframe-wrapper{ border-radius:12px; }
.hm2-on .col-md-4 [id*="widget-pos"]{ border-radius:12px !important; }

/* --- Баннер «Служба по контракту» отдельной карточкой под «Госуслуги» (решение Дениса) ---
   Баннер voin86.ru/bpla не уезжает в общий цоколь, а стоит самостоятельной карточкой в
   правом сайдбаре прямо под ПОС-блоком «Решаем вместе» (JS initHm2Sections исключает его
   из .hm2-banner-deck и кладёт в .hm2-banner-solo-host перед «Информационными
   сообщениями»). Ширина/боковой воздух как у ПОС-баннера (#js-show-iframe-wrapper:
   16px по бокам), радиус и рамка в языке карточек сайдбара, картинка целиком (нет обрезки:
   высота по пропорции). Десктоп и мобайл одинаково. */
.hm2-on .col-md-4 .hm2-banner-solo-host{ margin:0 12px 16px; }
.hm2-on .col-md-4 a.hm2-banner-solo{
  display:block; overflow:hidden; line-height:0;
  border:1px solid #E4EAF1; border-radius:12px; background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.hm2-on .col-md-4 a.hm2-banner-solo:hover{
  border-color:#cdd9e6; box-shadow:0 6px 16px rgba(8,20,40,.10); transform:translateY(-2px); }
.hm2-on .col-md-4 a.hm2-banner-solo:focus-visible{ outline:3px solid #2E7D32; outline-offset:2px; }
.hm2-on .col-md-4 a.hm2-banner-solo img{
  display:block; width:100% !important; height:auto !important; max-width:100% !important; border-radius:0; }
@media (prefers-reduced-motion: reduce){
  .hm2-on .col-md-4 a.hm2-banner-solo{ transition:none !important; }
  .hm2-on .col-md-4 a.hm2-banner-solo:hover{ transform:none !important; }
}

/* --- Полноширинный «цоколь сервисов» (решение Дениса, вариант 1) ---
   Баннеры-картинки (служба по контракту, ФКГС, MAX, Госуслуги, бюджет, антитеррор,
   перс.данные и т.д.) растягивали узкий сайдбар (~1705px стека -> сайдбар 4517px против
   1794px левой колонки, внизу слева пустота). JS (initHm2Sections) выносит реальные узлы
   <a class="hm2-banner"> из сайдбара в секцию .hm2-banner-deck сразу после ряда контента
   (внутри .container), раскладку даёт сетка во всю ширину. Сайдбар усыхает, пустота слева
   заполняется. Опустевшие host-обёртки в сайдбаре прячет JS. Видна только на десктопе
   (hidden-sm hidden-xs у секции - как были баннеры). href/target/rel сохранны. */
.hm2-on .hm2-banner-deck{ margin:36px 0 10px; }
/* шапка секции в языке заголовков hm2: navy Golos + зелёная акцент-линия снизу */
.hm2-on .hm2-deck-head{ margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid #E4EAF1; position:relative; }
.hm2-on .hm2-deck-head::after{ content:""; position:absolute; left:0; bottom:-1px; width:54px; height:3px; background:#2E7D32; }
.hm2-on .hm2-deck-title{ margin:0; color:#16365A; font-weight:700; font-size:1.5rem; line-height:1.2; }
/* Justified-мозаика «по пропорциям»: баннеры лежат рядами разной высоты, ширина
   каждой плитки = высота ряда x пропорция баннера, поэтому форма плитки совпадает
   с формой баннера и картинка ложится целиком, без обрезки. Точные width/height
   проставляет JS (initHm2BannerMosaic) после замера натуральных пропорций; до него
   и при отключённом JS работает гибкий fallback (flex-обтекание ряда высотой 130). */
.hm2-on .hm2-banner-grid{ display:flex; flex-wrap:wrap; gap:14px; align-content:flex-start; }
.hm2-on .hm2-banner-grid a.hm2-banner{
  display:block; margin:0; padding:0; overflow:hidden;
  flex:1 1 240px; height:130px;            /* fallback до расчёта JS */
  border:1px solid #E4EAF1; border-radius:12px; background:#fff; line-height:0;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.hm2-on .hm2-banner-grid a.hm2-banner:hover{
  border-color:#cdd9e6; box-shadow:0 6px 16px rgba(8,20,40,.10); transform:translateY(-2px); }
.hm2-on .hm2-banner-grid a.hm2-banner:focus-visible{ outline:3px solid #2E7D32; outline-offset:2px; }
.hm2-on .hm2-banner-grid a.hm2-banner img{
  display:block; width:100% !important; height:100% !important; object-fit:contain !important;
  max-width:100% !important; border-radius:0; }
@media (prefers-reduced-motion: reduce){
  .hm2-on .hm2-banner-grid a.hm2-banner{ transition:none !important; }
  .hm2-on .hm2-banner-grid a.hm2-banner:hover{ transform:none !important; }
}

/* --- «Новости правительства»: сворачивание таблицы горячих линий ---
   Рукописная таблица телефонов/горячих линий на 9 строк (~1060px) под пустым RSS
   растягивала сайдбар. JS (initHm2GovNews) метит таблицу .hm2-gov-table, прячет
   строки от 5-й классом .hm2-gov-rowhide и ставит под таблицей кнопку-раскрыватель.
   Кнопка .hm2-gov-open на таблице показывает скрытые строки. */
.hm2-on .hm2-gov-table tr.hm2-gov-rowhide{ display:none; }
.hm2-on .hm2-gov-table.hm2-gov-open tr.hm2-gov-rowhide{ display:table-row; }
.hm2-on .hm2-gov-toggle{
  display:flex; align-items:center; justify-content:center; gap:8px;
  box-sizing:border-box; width:calc(100% - 30px); margin:14px 15px 4px; padding:13px 18px;   /* во всю ширину карточки, вровень с телом (у <button> width:auto = по содержимому) */
  background:#E8F0F8; color:#16365A; font-weight:700; font-size:.96rem;
  border:1px solid #C2D5E8; border-radius:10px; cursor:pointer;
  transition:background .15s ease, border-color .15s ease; }
.hm2-on .hm2-gov-toggle:hover{ background:#DAE7F4; border-color:#AFC7DE; }
.hm2-on .hm2-gov-toggle:focus-visible{ outline:3px solid #2E7D32; outline-offset:2px; }
.hm2-on .hm2-gov-toggle svg{
  width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.hm2-on .hm2-gov-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }
@media (prefers-reduced-motion: reduce){
  .hm2-on .hm2-gov-toggle, .hm2-on .hm2-gov-toggle svg{ transition:none !important; }
}

/* Премиум-тонировка полосы новостей ОТКАЧЕНА (18.06): тон #F4F7FB совпадал с рамкой
   карточек #E4EAF1, карточки сливались с фоном - визуально пропадало разделение
   («отступы»). Полоса новостей остаётся белой (базовый .bg-white), карточки на белом
   чётко разделены рамкой и зазором 12px. Орнамент/тон при желании вернём так, чтобы
   карточки заметно контрастировали с канвой (тень/более тёмный тон). */

/* ============================================================
   Хантыйский орнамент-водяной знак на канве контента (возврат 19.06 по просьбе
   Дениса). ВАЖНО по уроку отката: прошлый раз убирали из-за ТОНА #F4F7FB, который
   сливался с рамкой карточек - тон НЕ возвращаем. Холст остаётся серым #F4F6F8,
   добавляем ТОЛЬКО бледный орнамент (navy #16365A, stroke-opacity 0.05, плитка 84px),
   а карточкам уже усилена тень покоя (выше) - они «подлетают» над паттерном, разделение
   сохраняется. Видимая канва = серая секция-подложка section.slice.bg-lgrey
   (десктоп/планшет); на мобиле она hidden-xs, поэтому орнамент кладём и на белую
   .hm2-news-section для мелких экранов. !important: база (.bg-white / шаг 5.4) задаёт
   фон шортхендом и сбрасывал бы background-image. Текст лежит на карточках/заголовках -
   контраст не затронут, axe держится. design=1 не задет (скоуп .hm2-on). */
.hm2-on section.slice.bg-lgrey{
  background-color:#F4F6F8 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 72 72'%3E%3Cpath d='M36 20 L52 36 L36 52 L20 36 Z M36 20 L36 13 M36 13 L31 8 M36 13 L41 8 M36 52 L36 59 M36 59 L31 64 M36 59 L41 64' fill='none' stroke='%2316365A' stroke-opacity='0.05' stroke-width='1.4' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:repeat !important; background-position:center top !important;
}
.hm2-on .hm2-news-section{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 72 72'%3E%3Cpath d='M36 20 L52 36 L36 52 L20 36 Z M36 20 L36 13 M36 13 L31 8 M36 13 L41 8 M36 52 L36 59 M36 59 L31 64 M36 59 L41 64' fill='none' stroke='%2316365A' stroke-opacity='0.05' stroke-width='1.4' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:repeat !important; background-position:center top !important;
}

/* ============================================================
   Блок «Информационные ресурсы» (карусель в нижней секции bg-lgrey) -
   мягкая белая полка на сером холсте (решение Дениса 19.06, синтез
   многоагентной дизайн-панели). Заметно тише navy-шапки горячих линий:
   белый фон, тонкая рамка, скругление и очень мягкая тень - блок читается
   как отдельная полка, без заливки цветом. Карточки внутри остаются белыми
   (на белой полке отделяются собственной рамкой #DCE4EC). Селектор уникален:
   в .content ровно одна section.slice.bg-lgrey и в ней ровно один .col-md-12
   (он же блок ресурсов) - проверено на стейдже.
   ============================================================ */
/* Класс .hm2-ir вешает JS на блок ресурсов; он же переносит блок в низ левой колонки
   (initHm2Sections), поэтому стиль полки скоупим И по структуре (до переноса/без JS),
   И по классу (после переноса блок уже не внутри section.slice.bg-lgrey). */
.hm2-on section.slice.bg-lgrey .col-md-12,
.hm2-on .hm2-ir{
  background:#fff;
  border:1px solid #DCE4EC;
  border-radius:14px;
  box-shadow:0 2px 8px rgba(16,42,71,.07), 0 8px 28px rgba(16,42,71,.06);   /* мягкая навеи-тень (= --hm-shadow) */
  margin-top:28px;                /* воздух между «Опросами» и полкой ресурсов (запрос Дениса) */
  padding:18px 22px 32px;         /* полку чуть вытянули по высоте: больше воздуха снизу под карточками (запрос Дениса «растяни немного») */
}
@media (max-width:991px){
  .hm2-on section.slice.bg-lgrey .col-md-12,
  .hm2-on .hm2-ir{ margin-top:22px; padding:14px 16px 18px; }
}
/* Заголовок и карточки внутри полки выравниваются по её внутреннему отступу
   (оба - дети col-md-12). Прежний компенсатор margin-left:-5px (для верстки без
   панели) больше не нужен: внутри полки ориентир - её паддинг. margin-top:0 !important
   гасит правило ритма левой колонки .hm2-on .col-md-8 .hm2-sec-head{margin-top:42px}:
   после переноса блока в col-md-8 оно цеплялось к заголовку ресурсов и раздувало
   воздух над ним внутри полки. */
.hm2-on section.slice.bg-lgrey .col-md-12 > .section-title-wr.hm2-sec-head,
.hm2-on .hm2-ir > .section-title-wr.hm2-sec-head{ margin-left:0; margin-top:0 !important; }
/* Карточки ресурсов: компактные и РОВНОЙ высоты (запрос Дениса «карточки проработать,
   выровнять размеры», 19.06). Это owl-carousel v1 (track = .owl-wrapper, не .owl-stage):
   элементы плавают флоатом с фикс-шириной и сами по высоте не выравниваются. Делаем
   .owl-wrapper флекс-рядом с align-items:stretch - все карточки тянутся до самой высокой,
   а ссылка-домен (margin-top:auto) прижата к низу, поэтому низ у всех на одной линии.
   Заголовок navy bold с клампом в 2 строки, домен deep-синий; лёгкий ховер в общем языке
   карточек hm2. min-height:0 снимает базовую min-height 140px подрядчика. */
.hm2-on .hm2-ir .owl-wrapper{ display:flex !important; align-items:stretch !important; }
.hm2-on .hm2-ir .owl-item{ display:flex !important; float:none !important; height:auto !important; }
.hm2-on .hm2-ir .owl-item > .client{ display:flex !important; width:100%; min-height:0 !important; }
.hm2-on .hm2-ir .client > a{
  display:flex !important; flex-direction:column; width:100%; min-height:118px !important;   /* карточки вытянуты по высоте (запрос Дениса «растяни немного карточки»); align-items:stretch держит их ровными */
  padding:14px 14px !important;
  border:1px solid #DCE4EC; border-radius:10px; background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  text-decoration:none !important; }
.hm2-on .hm2-ir .client > a:hover{
  border-color:#cdd9e6; box-shadow:0 6px 16px rgba(8,20,40,.08); transform:translateY(-2px); }
.hm2-on .hm2-ir .client .text_ab{ display:flex !important; flex-direction:column; height:100%; width:100%; }
.hm2-on .hm2-ir .client .title{
  font-size:13px; line-height:1.3; margin-bottom:6px; color:#16365A; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hm2-on .hm2-ir .client .link{ font-size:12px; margin-top:auto; color:#154F6E; }
@media (prefers-reduced-motion: reduce){
  .hm2-on .hm2-ir .client > a{ transition:none !important; }
  .hm2-on .hm2-ir .client > a:hover{ transform:none !important; }
}
/* Кнопка «Все баннеры» в шапке «Информационные ресурсы» вела на /about/info/bannery.php
   и дублировала смысл карусели и цоколя «Полезные сервисы и ресурсы» (Денис: «что тут
   делает эта кнопка?»). Прячем как лишнюю. Сама карусель информресурсов остаётся. */
.hm2-on section.slice.bg-lgrey .hm2-sec-head .aux-nav,
.hm2-on .hm2-ir .hm2-sec-head .aux-nav{ display:none !important; }

/* ============================================================
   Заголовки секций главной: «самую малость» выразительнее (19.06,
   синтез дизайн-панели). Меняем ТОЛЬКО зелёную акцент-полоску под текстом:
   чуть длиннее и плотнее, со скруглёнными торцами (48x3 -> 56x4). Кегль, вес
   и цвет navy не трогаем - контраст текста и переносы строк не меняются (axe=0).
   Горячие линии исключены: их шапка сама является .section-title-wr, поэтому
   :not(.hm2-hl-head) её отсекает; специфичность (0,4,1) перебивает базу (0,3,1).
   ============================================================ */
.hm2-on .section-title-wr:not(.hm2-hl-head) .section-title::after{
  width:56px; height:4px; border-radius:2px;
}
/* Полоса быстрых ссылок под hero на узких экранах прокручивается горизонтально:
   мягкий фейд по краям (намёк на прокрутку) вместо резкого обреза чипов. */
@media (max-width:767px){
  .hm2-on .hm2-quicklinks__inner{
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  }
}

/* Заголовок «Новости правительства ХМАО - Югры» относится к RSS-ленте округа, а она
   пуста (фид молчит и на бою). JS (initHm2GovNews) при пустой ленте метит её заголовок
   и пустые блоки классом hm2-rss-hide, а над таблицей телефонов ставит честный
   заголовок «Телефоны горячих линий» (клон узла заголовка - тот же вид). Если фид
   однажды наполнится, заголовок новостей вернётся (JS проверяет наличие ссылок). */
.hm2-on .hm2-rss-hide{ display:none !important; }
/* воздух над и слева у заголовка «Телефоны горячих линий». Клон унаследовал класс
   .hm2-sec-head, чей !important-ритм (.hm2-on .col-md-4 .hm2-sec-head{margin:28px 0 12px})
   обнулял левый отступ - поэтому здесь та же специфичность + !important. Левый 15px -
   вровень с карточками-строками (у таблицы margin-left:15px). */
.hm2-on .col-md-4 .hm2-hotlines-head{ margin:30px 0 12px 15px !important; }

/* QR-код «Решаем вместе» в сайдбаре - компактный (по просьбе Дениса «QR меньше», 19.06;
   прежде делали 360px крупным, теперь уменьшаем до 200px). Только концепция 2 (.hm2-on) и
   только сайдбарный QR (.col-md-4); подвальный QR и концепция 1 не затронуты. Снимаем
   инлайн margin-left:15px у картинки (она была сдвинута вправо) и тянем её по ширине плитки.
   Ниже 992px сайдбар скрыт темой, поэтому правка десктопная. */
@media (min-width:992px){
  .hm2-on .col-md-4 .hm-qr-trigger{ width:200px; padding:0; }
  .hm2-on .col-md-4 .hm-qr-trigger img{ margin-left:0 !important; width:100% !important; height:auto !important; display:block; }
}

/* ============================================================
   Блок «Телефоны горячих линий» - вариант A «Единый справочник»
   (выбор Дениса 19.06, синтез многоагентного Workflow; доводка отступов,
   выравнивания и кнопки 19.06). База слоя даёт карточку, гасит красный и
   прячет битые иконки; здесь: навой-шапка вровень с телом, иконки-чипы,
   ровные ячейки, кликабельные tel-пилюли, плашка-график. JS - styleHotlines.
   ============================================================ */
/* Шапка-навой той же ширины, что и тело: .section-title-wr тянет width:100%, из-за
   чего шапка игнорировала свои поля и торчала на 30px вправо за таблицу. Привязываем
   к calc(100% - 30px) + поля 15px (как у таблицы базы) и группируем иконку с заголовком
   слева (база .hm2-sec-head ставила space-between - заголовок улетал вправо). */
.hm2-on .col-md-4 .hm2-hotlines-head.hm2-hl-head{
  box-sizing:border-box;
  width:calc(100% - 30px) !important; max-width:calc(100% - 30px) !important;
  margin:30px 15px 0 15px !important;
  display:flex; align-items:center; justify-content:flex-start; gap:11px;
  background:#16365A; padding:13px 16px;
  border-radius:12px 12px 0 0; border-bottom:3px solid #2E7D32;
}
.hm2-on .hm2-hl-head .section-title{ color:#fff !important; border:0 !important; margin:0 !important; padding:0 !important; font-size:1.12rem; }
.hm2-on .hm2-hl-head .section-title::after{ display:none !important; }   /* прежняя зелёная линия-подчёркивание не нужна - акцент в border шапки */
.hm2-on .hm2-hl-headico{ flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.13); color:#fff; }
.hm2-on .hm2-hl-headico svg{ width:20px; height:20px; display:block; }
/* Тело: таблица приклеена к шапке (верх прямой, без верхнего отступа), общая тень карточки */
.hm2-on .col-md-4 .hm2-gov-table{
  margin-top:0 !important;
  border-top-left-radius:0 !important; border-top-right-radius:0 !important;
  border-bottom-left-radius:12px !important; border-bottom-right-radius:12px !important;
  box-shadow:0 6px 18px rgba(16,42,71,.07);
}
/* Ровные ячейки: единый внутренний отступ (база давала 11px); линия-разделитель сверху из базы */
.hm2-on .col-md-4 .hm2-gov-table td.hm2-hl-cell{ padding:14px 16px; }
/* Пустые редакторские распорки (data-hm-spacer): база прячет их селектором td>b:first-child,
   но после переноса содержимого в .hm2-hl-body они уже не прямые дети td - прячем заново,
   иначе вверху строк висит пустая строка-провал. */
.hm2-on .hm2-gov-table [data-hm-spacer]{ display:none !important; }

/* Строка: чип-иконка слева + контент (грид в div ВНУТРИ td, td остаётся table-cell) */
.hm2-on .hm2-hl-row{ display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; }
.hm2-on .hm2-hl-ico{ flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:9px; background:#EEF3F9; color:#16365A; margin-top:1px; }
.hm2-on .hm2-hl-ico svg{ width:19px; height:19px; display:block; }
.hm2-on .hm2-hl-body{ min-width:0; }                                    /* перенос длинных названий в гриде */
.hm2-on .hm2-hl-body h5{ margin:0 0 4px !important; }
/* Кликабельные номера - компактные навой-пилюли. inline-flex (не block-flex): соседний
   <br> больше не вставляет пустую строку-провал между парными номерами, зазор задаёт margin. */
.hm2-on .hm2-hl-tel{ display:inline-flex; align-items:center; min-height:40px; margin:5px 8px 0 0;
  padding:7px 13px; background:#EEF4FA; border:1px solid #DCE7F1; border-radius:9px;
  color:#16365A !important; font-weight:700; font-size:15px; line-height:1.1; text-decoration:none; }
.hm2-on .hm2-hl-tel:hover{ background:#E1ECF6; border-color:#C6D7E8; text-decoration:none; }
.hm2-on .hm2-hl-tel:focus-visible{ outline:2px solid #154F6E; outline-offset:2px; }
/* Ссылки-органы (Жилищные отношения, Комитет ...) - тач-таргет, deep-синий */
.hm2-on .hm2-hl-body a[href]:not(.hm2-hl-tel){ display:inline-flex; align-items:center; min-height:36px; color:#154F6E; }
/* Строка-график «НАШ ДОМ» - плашка-поверхность, текст ink (не muted - контраст AA) */
.hm2-on td.hm2-hl-sched{ background:#F4F6F8; }
.hm2-on td.hm2-hl-sched .hm2-hl-body{ color:#1E2733; }

/* ============================================================
   Компактный подвал (запрос Дениса 19.06 «подвал огромный, сделаем компактнее»).
   База раздела 6.1 (в redesign2.base.css) дала рыхлый подвал: container padding-top 56px,
   hr перед копирайтом margin 40/18, межстрочье контактов 1.6 при кегле 15px, QR 132px,
   gap сетки 30px - суммарно ~647px. Сжимаем вертикальный ритм. Перебиваем базовые правила
   ТОЙ ЖЕ специфичностью (.body-wrap .footer ...), слой идёт ниже базы в собранном файле,
   поэтому равная специфичность выигрывает. БЕЗ префикса .hm2-on: он только на главной, а
   подвал общий для всех страниц концепции 2 - правка применяется ко всему сайту в concept 2.
   Концепция 1 (redesign.css) не затронута. Итог ~512px (минус ~21%). ============================================================ */
.body-wrap .footer{ margin-top:28px; }
.body-wrap .footer .container{ padding-top:30px; padding-bottom:22px; }
.body-wrap .footer h4{ margin-bottom:10px; }
.body-wrap .footer .hm-foot-grid{ gap:20px 48px; }
/* QR-код адреса сайта в подвале компактнее (132 → 96px) */
.body-wrap .footer .hm-qr-trigger{ width:96px; padding:6px; }
.body-wrap .footer .hm-foot-qr{ width:84px; margin-bottom:12px; }
/* колонка контактов: плотнее межстрочье и кегль (самая высокая колонка - задаёт высоту подвала) */
.body-wrap .footer .contacts{ line-height:1.5; font-size:14px; }
.body-wrap .footer .contacts ul{ margin-top:8px; }
.body-wrap .footer .contacts ul li{ line-height:1.45; font-size:14px; }
.body-wrap .footer .hm-foot-social{ margin-top:12px; }
.body-wrap .footer .hm-foot-social a{ width:36px; height:36px; }
/* меню «Разделы» и «Информация»: пункты плотнее */
.body-wrap .footer #bottom-menu-block ul.nav li a{ padding:3px 0; font-size:14px; }
.body-wrap .footer .hm-foot-links li{ margin-bottom:5px; }
.body-wrap .footer .hm-foot-links a{ font-size:14px; }
/* разделитель и копирайт ближе к контенту */
.body-wrap .footer hr{ margin:20px 0 14px; }

/* ============================================================
   Прелоадер концепции 2 (запрос Дениса 19.06 «лёгкий воздушный прелоадер»).
   Лёгкая заставка на время загрузки страницы. Оверлей рисуется чисто на CSS
   псевдоэлементами корня (html::before - воздушный светлый фон, html::after -
   тонкое кольцо), поэтому виден уже при первой отрисовке из <head>, разметку не
   трогаем. БЕЗ префикса .hm2-on (он навешивается JS и только на главной): весь
   redesign2.css грузится лишь для концепции 2, так что заставка работает на всех
   страницах варианта 2. Снятие - JS-классом html.hm2-ready (initHm2Preloader).
   Предохранитель: если JS не отработает, оверлей уходит сам по hm2-pl-safe, сайт
   не остаётся закрытым. pointer-events:none - клики проходят сквозь, ловушки нет;
   псевдоэлементы вне дерева доступности, скринридерам заставка не мешает. ============================================================ */
html::before{
  content:""; position:fixed; inset:0; z-index:2147483000; pointer-events:none;
  background:radial-gradient(125% 125% at 50% 38%, #ffffff 0%, #eef4fb 100%);
  animation:hm2-pl-safe 5s ease forwards;
}
html::after{
  content:""; position:fixed; top:50%; left:50%; width:46px; height:46px;
  margin:-23px 0 0 -23px; box-sizing:border-box; z-index:2147483001; pointer-events:none;
  border-radius:50%; border:3px solid rgba(21,79,110,.16); border-top-color:#154F6E;
  box-shadow:0 6px 24px rgba(21,79,110,.10);
  animation:hm2-pl-spin .9s linear infinite, hm2-pl-safe 5s ease forwards;
}
/* Снятие заставки: JS добавил html.hm2-ready. Гасим анимации (в т.ч. предохранитель)
   и плавно растворяем оверлей, открывая готовую страницу. */
html.hm2-ready::before,
html.hm2-ready::after{
  animation:none; opacity:0; visibility:hidden;
  transition:opacity .55s ease, visibility 0s linear .55s;
}
/* Появление самой страницы из белого фона заставки (запрос Дениса 19.06).
   Срабатывает ТОЛЬКО когда JS снял заставку (html.hm2-ready), одновременно с
   растворением оверлея: контент всплывает из белого (проявление + лёгкий подъём).
   Без JS класса нет - анимации нет, страница просто видна (no-JS безопасно).
   .body-wrap - общая обёртка всего контента; заставка живёт на html, вне обёртки,
   поэтому её собственное растворение этой анимацией не задевается. Анимация
   одноразовая (both): к концу transform снимается, лишних слоёв композитора не висит. */
html.hm2-ready .body-wrap{ animation:hm2-page-in .7s cubic-bezier(.22,1,.36,1) both; }
@keyframes hm2-page-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes hm2-pl-spin{ to{ transform:rotate(360deg); } }
/* Предохранитель: держим оверлей видимым, затем сам растворяем, если JS не пришёл. */
@keyframes hm2-pl-safe{ 0%,80%{ opacity:1; } 100%{ opacity:0; visibility:hidden; } }
/* Бережём вестибулярный аппарат: без вращения кольца и без подъёма страницы. */
@media (prefers-reduced-motion: reduce){
  html::after{ animation:hm2-pl-safe 5s ease forwards; }
  html.hm2-ready .body-wrap{ animation:none; }
}


/* =====================================================================
   DEFER-OVERRIDE для версии для слабовидящих (ГОСТ Р 52872, ПП №102).
   Путь B: брендовая вёрстка слоя redesign2 (.body-wrap + .hm2-*) остаётся,
   но в спец-версии ПОДЧИНЯЕТСЯ активной цветовой схеме, размеру и шрифту.
   Один scheme-агностичный блок: inherit / transparent / em / currentColor
   агностичны к схеме, поэтому закрывают все 4 схемы (white|black|yellow|blue)
   и 3 размера (small|medium|big) сразу.
   Действует ТОЛЬКО при body.special-aaVersion-on - обычный режим не трогаем.
   Грузить ПОСЛЕ redesign2.base.css и hm2-hero.css (последним в каскаде).
   ===================================================================== */

/* ========== 0. Прелоадер на корне (html::before/::after) ==========
   Спец-класс висит на body, а заставка на html, поэтому отдельный scope. */
html.special-aaVersion-on::before,
html.special-aaVersion-on::after{
  content: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  animation: none !important;
}

/* ========== 1. Семейство шрифта: учесть special-fonttype arial/times ==========
   Снимаем навязанный Golos Text/var(--hm-font) со всех наших элементов,
   чтобы потомки унаследовали шрифт, выставленный схемой на body. */
body.special-aaVersion-on .body-wrap,
body.special-aaVersion-on .body-wrap h1, body.special-aaVersion-on .body-wrap h2,
body.special-aaVersion-on .body-wrap h3, body.special-aaVersion-on .body-wrap h4,
body.special-aaVersion-on .body-wrap h5, body.special-aaVersion-on .body-wrap h6,
body.special-aaVersion-on .body-wrap p, body.special-aaVersion-on .body-wrap li,
body.special-aaVersion-on .body-wrap dt, body.special-aaVersion-on .body-wrap dd,
body.special-aaVersion-on .body-wrap td, body.special-aaVersion-on .body-wrap th,
body.special-aaVersion-on .body-wrap caption, body.special-aaVersion-on .body-wrap label,
body.special-aaVersion-on .body-wrap blockquote, body.special-aaVersion-on .body-wrap figcaption,
body.special-aaVersion-on .body-wrap button, body.special-aaVersion-on .body-wrap input,
body.special-aaVersion-on .body-wrap select, body.special-aaVersion-on .body-wrap textarea,
body.special-aaVersion-on .body-wrap a, body.special-aaVersion-on .body-wrap span,
body.special-aaVersion-on .hm2-hero, body.special-aaVersion-on .hm2-hero *,
body.special-aaVersion-on .hm2-topbar .switch-vision .fa font{
  font-family: inherit !important;
}

/* ========== 2. Цвет текста: наследовать от схемы ==========
   Целимся в НАШИ селекторы (.body-wrap / .hm2-*), не в универсальный *,
   чтобы не убить собственные цвета схемы. Перекрывает в т.ч. !important слоя. */
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li > a,
body.special-aaVersion-on .body-wrap header.header-light .title span,
body.special-aaVersion-on .body-wrap header.header-light .contacts-top li,
body.special-aaVersion-on .body-wrap header.header-light .contacts-top li i.fa,
body.special-aaVersion-on .body-wrap header.header-light .form-light .form-control,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a,
body.special-aaVersion-on .body-wrap .hm-burger,
body.special-aaVersion-on .body-wrap .owl-main-wrap .text_ab .title,
body.special-aaVersion-on .body-wrap .owl-main-wrap .text_ab .link,
body.special-aaVersion-on .body-wrap .section-title-wr .section-title,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 .date,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 .date .fa-calendar,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 .date a.text-dashed,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 h5 a,
body.special-aaVersion-on .body-wrap .wp-block.property.list .wp-block-content small,
body.special-aaVersion-on .body-wrap .wp-block.property.list .description a,
body.special-aaVersion-on .body-wrap .other_vote a,
body.special-aaVersion-on .body-wrap .col-md-4 [style*='color: #ff0000'],
body.special-aaVersion-on .body-wrap .phone a,
body.special-aaVersion-on .body-wrap .col-md-4 table td,
body.special-aaVersion-on .body-wrap .col-md-4 table [style*='#ee1d24'],
body.special-aaVersion-on .body-wrap .col-md-4 table [style*='#ff0000'],
body.special-aaVersion-on .body-wrap .col-md-4 table h5,
body.special-aaVersion-on .body-wrap .col-md-4 table .phone,
body.special-aaVersion-on .body-wrap .hm-qr-hint,
body.special-aaVersion-on .body-wrap .footer h4,
body.special-aaVersion-on .body-wrap .footer h4 a,
body.special-aaVersion-on .body-wrap .footer a,
body.special-aaVersion-on .body-wrap .footer .contacts,
body.special-aaVersion-on .body-wrap .footer .contacts *,
body.special-aaVersion-on .body-wrap .footer #bottom-menu-block ul.nav li a,
body.special-aaVersion-on .body-wrap .footer .hm-foot-bottom .copyright,
body.special-aaVersion-on .body-wrap ol.breadcrumb > li,
body.special-aaVersion-on .body-wrap ol.breadcrumb > li + li::before,
body.special-aaVersion-on .body-wrap ol.breadcrumb a,
body.special-aaVersion-on .body-wrap ol.breadcrumb a .fa-home,
body.special-aaVersion-on .body-wrap ol.breadcrumb > li:last-child,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu .open-catalog,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu .open-catalog .fa,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li a,
body.special-aaVersion-on .body-wrap .col-md-9 > h1,
body.special-aaVersion-on .body-wrap .news-detail,
body.special-aaVersion-on .body-wrap .news-detail .news-date-time,
body.special-aaVersion-on .body-wrap .news-detail h2,
body.special-aaVersion-on .body-wrap .news-detail h3,
body.special-aaVersion-on .body-wrap .news-detail a,
body.special-aaVersion-on .body-wrap .news-detail table,
body.special-aaVersion-on .body-wrap .btn-link,
body.special-aaVersion-on .body-wrap .errortext,
body.special-aaVersion-on .body-wrap .col-md-9 a,
body.special-aaVersion-on .body-wrap .col-md-8 a,
body.special-aaVersion-on .body-wrap .col-md-4 a:not(.btn),
body.special-aaVersion-on .hm2-hero,
body.special-aaVersion-on .hm2-hero__title,
body.special-aaVersion-on .hm2-hero__inner p,
body.special-aaVersion-on .hm2-btn,
body.special-aaVersion-on .hm2-btn--light,
body.special-aaVersion-on .hm2-btn--ghost,
body.special-aaVersion-on .hm2-quicklinks a,
body.special-aaVersion-on .hm2-topbar,
body.special-aaVersion-on .hm2-topbar a,
body.special-aaVersion-on .hm2-topbar .contacts-top li,
body.special-aaVersion-on .hm2-topbar .contacts-top a,
body.special-aaVersion-on .hm2-topbar .contacts-top li .fa,
body.special-aaVersion-on .hm2-topbar .switch-vision a,
body.special-aaVersion-on .hm2-topbar__soc a,
body.special-aaVersion-on .hm2-topbar .type_view,
body.special-aaVersion-on .hm2-topbar #cache_auth_container a,
body.special-aaVersion-on .hm2-topbar a.btn-b-white,
body.special-aaVersion-on .hm2-subcount,
body.special-aaVersion-on .hm2-news-tag,
body.special-aaVersion-on .hm2-news-card .date,
body.special-aaVersion-on .hm2-news-card .date .fa-calendar,
body.special-aaVersion-on .hm2-news-card h5 a,
body.special-aaVersion-on .hm2-event-card .wp-block-content small,
body.special-aaVersion-on .hm2-event-card .description a,
body.special-aaVersion-on .hm2-msg-card small,
body.special-aaVersion-on .hm2-msg-card .description a,
body.special-aaVersion-on .hm2-poll-card,
body.special-aaVersion-on .hm2-poll-tx,
body.special-aaVersion-on .hm2-deck-title,
body.special-aaVersion-on .hm2-ir .client .title,
body.special-aaVersion-on .hm2-ir .client .link,
body.special-aaVersion-on .hm2-hl-head .section-title,
body.special-aaVersion-on .hm2-hl-headico,
body.special-aaVersion-on .hm2-hl-ico,
body.special-aaVersion-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-hl-sched .hm2-hl-body,
body.special-aaVersion-on .hm2-hl-body a[href]:not(.hm2-hl-tel),
body.special-aaVersion-on .hm2-gov-toggle,
body.special-aaVersion-on .hm2-allnews-btn{
  color: inherit !important;
}

/* Иконки на font/SVG-stroke берут цвет текста схемы */
body.special-aaVersion-on .body-wrap .sf-slider .slick-prev i,
body.special-aaVersion-on .body-wrap .sf-slider .slick-next i,
body.special-aaVersion-on .hm2-hl-ico svg,
body.special-aaVersion-on .hm2-gov-toggle svg{
  color: currentColor !important;
  fill: currentColor;
  stroke: currentColor;
}

/* ========== 3. Поверхности: прозрачный фон, чтобы проступила схема ==========
   Гасим background, background-image, box-shadow у НАШИХ плашек, карточек,
   шапки, футера, кнопок, бейджей, оверлеев, фоновых SVG, скримов. */
body.special-aaVersion-on .body-wrap .top-header.links-menu,
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li > a:hover,
body.special-aaVersion-on .body-wrap header.header-light .top-header-top,
body.special-aaVersion-on .body-wrap header.header-light a.fa-vk,
body.special-aaVersion-on .body-wrap header.header-light a.fa-odnoklassniki,
body.special-aaVersion-on .body-wrap header.header-light a.fa-vk:hover,
body.special-aaVersion-on .body-wrap header.header-light a.fa-odnoklassniki:hover,
body.special-aaVersion-on .body-wrap header.header-light .btn-b-white,
body.special-aaVersion-on .body-wrap header.header-light .btn-b-white:hover,
body.special-aaVersion-on .body-wrap header.header-light #cache_auth_container a.btn,
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base,
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base:hover,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:hover,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:focus,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a.open,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li.active > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li.hm-current > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li[aria-current] > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a:hover,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .dropdown-menu > li > a:focus,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a:hover,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav .dropdown-menu > li > a:focus,
body.special-aaVersion-on .body-wrap .sf-slider__content::before,
body.special-aaVersion-on .body-wrap .sf-slider__playpause,
body.special-aaVersion-on .body-wrap .sf-slider__playpause:hover,
body.special-aaVersion-on .body-wrap .sf-slider .slick-prev,
body.special-aaVersion-on .body-wrap .sf-slider .slick-next,
body.special-aaVersion-on .body-wrap .sf-slider .slick-prev:hover,
body.special-aaVersion-on .body-wrap .sf-slider .slick-next:hover,
body.special-aaVersion-on .body-wrap section.slice.bg-lgrey,
body.special-aaVersion-on .body-wrap .owl-main-wrap .client,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-prev,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-next,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-prev:hover,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-next:hover,
body.special-aaVersion-on .body-wrap .section-title-wr .section-title::after,
body.special-aaVersion-on .body-wrap .section-title-wr .aux-nav a,
body.special-aaVersion-on .body-wrap .section-title-wr .aux-nav a:hover,
body.special-aaVersion-on .body-wrap .section-title-wr .aux-nav a:focus,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10,
body.special-aaVersion-on .body-wrap .wp-block.property.list,
body.special-aaVersion-on .body-wrap .other_vote,
body.special-aaVersion-on .body-wrap .other_vote::before,
body.special-aaVersion-on .body-wrap .col-md-4 table,
body.special-aaVersion-on .body-wrap .col-md-4 img[src*=qr_code],
body.special-aaVersion-on .body-wrap .hm-qr-trigger,
body.special-aaVersion-on .body-wrap .hm-qr-trigger::after,
body.special-aaVersion-on .body-wrap .hm-qr-trigger:hover::after,
body.special-aaVersion-on .body-wrap .hm-qr-trigger:focus-visible::after,
body.special-aaVersion-on .body-wrap .footer,
body.special-aaVersion-on .body-wrap .footer .hm-foot-qr,
body.special-aaVersion-on .body-wrap .footer .hm-foot-social a,
body.special-aaVersion-on .body-wrap .footer .hm-foot-social a:hover,
body.special-aaVersion-on .body-wrap ol.breadcrumb,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu .open-catalog,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li a:hover,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li.current a,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li.selected a,
body.special-aaVersion-on .body-wrap .news-detail blockquote,
body.special-aaVersion-on .body-wrap .news-detail table th,
body.special-aaVersion-on .body-wrap .btn-info,
body.special-aaVersion-on .body-wrap a.btn-info,
body.special-aaVersion-on .body-wrap .btn-primary,
body.special-aaVersion-on .hm2-hero,
body.special-aaVersion-on .hm2-hero__media,
body.special-aaVersion-on .hm2-hero__media::after,
body.special-aaVersion-on .hm2-hero__playctl,
body.special-aaVersion-on .hm2-btn,
body.special-aaVersion-on .hm2-btn--light,
body.special-aaVersion-on .hm2-btn--light:hover,
body.special-aaVersion-on .hm2-btn--ghost,
body.special-aaVersion-on .hm2-btn--ghost:hover,
body.special-aaVersion-on .hm2-quicklinks,
body.special-aaVersion-on .hm2-quicklinks a,
body.special-aaVersion-on .hm2-quicklinks a:hover,
body.special-aaVersion-on .hm2-topbar,
body.special-aaVersion-on .hm2-topbar #cache_auth_container a,
body.special-aaVersion-on .hm2-topbar a.btn-b-white,
body.special-aaVersion-on .hm2-subcount,
body.special-aaVersion-on .hm2-on .navbar.mega-nav,
body.special-aaVersion-on .hm2-on .navbar-wp.mega-nav,
body.special-aaVersion-on .hm2-on .mega-nav,
body.special-aaVersion-on .hm2-news-card,
body.special-aaVersion-on .hm2-news-card .col-md-4 > a,
body.special-aaVersion-on .hm2-news-tag,
body.special-aaVersion-on .hm2-event-card,
body.special-aaVersion-on .hm2-event-card .wp-block-img,
body.special-aaVersion-on .hm2-msg-card,
body.special-aaVersion-on .hm2-poll-card,
body.special-aaVersion-on .hm2-poll-ic,
body.special-aaVersion-on .hm2-banner,
body.special-aaVersion-on .hm2-deck-head::after,
body.special-aaVersion-on section.slice.bg-lgrey,
body.special-aaVersion-on .hm2-news-section,
body.special-aaVersion-on section.slice.bg-lgrey .col-md-12,
body.special-aaVersion-on .hm2-ir,
body.special-aaVersion-on .hm2-ir .client > a,
body.special-aaVersion-on .hm2-ir .client > a:hover,
body.special-aaVersion-on .hm2-hl-head,
body.special-aaVersion-on .hm2-hl-headico,
body.special-aaVersion-on .hm2-hl-ico,
body.special-aaVersion-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-hl-tel:hover,
body.special-aaVersion-on td.hm2-hl-sched,
body.special-aaVersion-on .hm2-gov-toggle,
body.special-aaVersion-on .hm2-gov-toggle:hover,
body.special-aaVersion-on .hm2-allnews-btn,
body.special-aaVersion-on .hm2-allnews-btn:hover,
body.special-aaVersion-on .hm2-allnews-btn:focus{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* ========== 4. Тени, которые на тёмных схемах дают грязь/ореол ==========
   Здесь только text-shadow (фоновый box-shadow уже снят выше). */
body.special-aaVersion-on .body-wrap .sf-slider__title,
body.special-aaVersion-on .body-wrap .sf-slider__description,
body.special-aaVersion-on .hm2-hero__title,
body.special-aaVersion-on .hm2-hero__inner p{
  text-shadow: none !important;
}

/* ========== 5. Цветные рамки -> currentColor (видны в любой схеме) ========== */
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li + li > a,
body.special-aaVersion-on .body-wrap header.header-light .top-header-top,
body.special-aaVersion-on .body-wrap header.header-light .btn-b-white,
body.special-aaVersion-on .body-wrap header.header-light #cache_auth_container a.btn,
body.special-aaVersion-on .body-wrap header.header-light .form-light .form-control,
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li,
body.special-aaVersion-on .body-wrap .owl-main-wrap .client,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-prev::before,
body.special-aaVersion-on .body-wrap .owl-main-wrap .owl-next::before,
body.special-aaVersion-on .body-wrap .section-title-wr,
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10,
body.special-aaVersion-on .body-wrap .wp-block.property.list,
body.special-aaVersion-on .body-wrap .other_vote,
body.special-aaVersion-on .body-wrap #e329fb40-widget-pos,
body.special-aaVersion-on .body-wrap .col-md-4 table,
body.special-aaVersion-on .body-wrap .col-md-4 table td,
body.special-aaVersion-on .body-wrap .hm-qr-trigger,
body.special-aaVersion-on .body-wrap .footer,
body.special-aaVersion-on .body-wrap .footer hr,
body.special-aaVersion-on .body-wrap ol.breadcrumb,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li,
body.special-aaVersion-on .body-wrap .news-detail blockquote,
body.special-aaVersion-on .body-wrap .news-detail table td,
body.special-aaVersion-on .body-wrap .news-detail table th,
body.special-aaVersion-on .body-wrap .btn-info,
body.special-aaVersion-on .body-wrap .btn-primary,
body.special-aaVersion-on .hm2-btn,
body.special-aaVersion-on .hm2-btn--ghost,
body.special-aaVersion-on .hm2-quicklinks a,
body.special-aaVersion-on .hm2-topbar #cache_auth_container a,
body.special-aaVersion-on .hm2-topbar a.btn-b-white,
body.special-aaVersion-on .hm2-subcount,
body.special-aaVersion-on .hm2-news-card,
body.special-aaVersion-on .hm2-news-tag,
body.special-aaVersion-on .hm2-event-card,
body.special-aaVersion-on .hm2-msg-card,
body.special-aaVersion-on .hm2-banner,
body.special-aaVersion-on .hm2-poll-card,
body.special-aaVersion-on .hm2-ir,
body.special-aaVersion-on .hm2-ir .client > a,
body.special-aaVersion-on .hm2-deck-head,
body.special-aaVersion-on .hm2-hl-head,
body.special-aaVersion-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-gov-toggle,
body.special-aaVersion-on .hm2-gov-table td,
body.special-aaVersion-on .hm2-allnews-btn{
  border-color: currentColor !important;
}

/* Интерактивным кнопкам после снятия фона оставляем видимую рамку-контрол */
body.special-aaVersion-on .hm2-hero__playctl,
body.special-aaVersion-on .hm2-btn,
body.special-aaVersion-on .hm2-gov-toggle,
body.special-aaVersion-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-allnews-btn,
body.special-aaVersion-on .body-wrap .btn-info,
body.special-aaVersion-on .body-wrap .btn-primary,
body.special-aaVersion-on .body-wrap header.header-light #cache_auth_container a.btn{
  border: 1px solid currentColor !important;
}

/* ========== 6. Декор, который нельзя оставлять цветным ==========
   Полоски бургера, точки слайдеров, фоновое видео, блики, блюр. */
body.special-aaVersion-on .body-wrap .hm-burger__line,
body.special-aaVersion-on .body-wrap .hm-burger__box::before,
body.special-aaVersion-on .body-wrap .hm-burger__box::after,
body.special-aaVersion-on .hm2-dot,
body.special-aaVersion-on .hm2-dot.is-on,
body.special-aaVersion-on .hm2-dot:hover{
  background: currentColor !important;
}
body.special-aaVersion-on .body-wrap .sf-slider .slick-dots li button::before,
body.special-aaVersion-on .body-wrap .sf-slider .slick-dots li.slick-active button::before{
  color: currentColor !important;
  opacity: 1 !important;
}
body.special-aaVersion-on .hm2-vid{ display: none !important; }
body.special-aaVersion-on .hm2-hero__playctl{
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.special-aaVersion-on .hm2-btn::after,
body.special-aaVersion-on .hm2-btn--light::after{
  content: none !important;
  animation: none !important;
  background: none !important;
}

/* ========== 7. Размер текста: фикс-px/rem -> em (масштаб от body 16/20/24) ==========
   Базу контента приравниваем к body, дочерние - в em с сохранением иерархии. */
body.special-aaVersion-on .body-wrap{ font-size: 1em !important; }

body.special-aaVersion-on .body-wrap .col-md-9 > h1{ font-size: 1.5em !important; }   /* 24 */
body.special-aaVersion-on .body-wrap .news-detail{ font-size: 1.03em !important; }    /* 16.5 */
body.special-aaVersion-on .body-wrap .news-detail h2{ font-size: 1.35em !important; }
body.special-aaVersion-on .body-wrap .news-detail h3{ font-size: 1.15em !important; }
body.special-aaVersion-on .body-wrap .news-detail .news-date-time{ font-size: 0.81em !important; }
body.special-aaVersion-on .body-wrap .news-detail table{ font-size: 0.91em !important; }
body.special-aaVersion-on .body-wrap .col-md-4 table td,
body.special-aaVersion-on .body-wrap .col-md-4 table .phone{ font-size: 0.91em !important; }
body.special-aaVersion-on .body-wrap .col-md-4 table h5{ font-size: 0.94em !important; }
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li > a{ font-size: 0.8em !important; }
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a{ font-size: 0.81em !important; }
body.special-aaVersion-on .body-wrap .section-title-wr .aux-nav a{ font-size: 0.81em !important; }
body.special-aaVersion-on .body-wrap .owl-main-wrap .text_ab .title{ font-size: 0.875em !important; }
body.special-aaVersion-on .body-wrap .owl-main-wrap .text_ab .link{ font-size: 0.81em !important; }
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 .date{ font-size: 0.78em !important; }
body.special-aaVersion-on .body-wrap .col-md-8 .row.mb-10 h5 a{ font-size: 1em !important; }
body.special-aaVersion-on .body-wrap .wp-block.property.list .wp-block-content small{ font-size: 0.78em !important; }
body.special-aaVersion-on .body-wrap .wp-block.property.list .description a{ font-size: 0.97em !important; }
body.special-aaVersion-on .body-wrap .other_vote a{ font-size: 0.94em !important; }
body.special-aaVersion-on .body-wrap .hm-qr-hint{ font-size: 0.78em !important; }
body.special-aaVersion-on .body-wrap ol.breadcrumb{ font-size: 0.81em !important; }
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li a{ font-size: 0.97em !important; }
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav ul li a{ font-size: 0.91em !important; }
body.special-aaVersion-on .body-wrap .footer .contacts{ font-size: 0.875em !important; }
body.special-aaVersion-on .body-wrap .footer #bottom-menu-block ul.nav li a,
body.special-aaVersion-on .body-wrap .footer .hm-foot-links a{ font-size: 0.94em !important; }
body.special-aaVersion-on .body-wrap .footer .hm-foot-bottom .copyright{ font-size: 0.84em !important; }

body.special-aaVersion-on .hm2-hero__title{ font-size: 2em !important; }
body.special-aaVersion-on .hm2-deck-title{ font-size: 1.5em !important; }
body.special-aaVersion-on .hm2-hl-head .section-title{ font-size: 1.12em !important; }
body.special-aaVersion-on .hm2-news-card h5{ font-size: 1em !important; }
body.special-aaVersion-on .hm2-news-card .date{ font-size: 0.82em !important; }
body.special-aaVersion-on .hm2-news-tag{ font-size: 0.72em !important; }
body.special-aaVersion-on .hm2-poll-tx{ font-size: 0.95em !important; }
body.special-aaVersion-on .hm2-event-card .wp-block-content small{ font-size: 0.8em !important; }
body.special-aaVersion-on .hm2-msg-card small{ font-size: 0.78em !important; }
body.special-aaVersion-on .hm2-ir .client .title{ font-size: 0.81em !important; }
body.special-aaVersion-on .hm2-ir .client .link{ font-size: 0.75em !important; }
body.special-aaVersion-on .hm2-hl-tel{ font-size: 0.94em !important; }
body.special-aaVersion-on .hm2-gov-toggle{ font-size: 0.96em !important; }

/* ========== 8. Формы: поля видны и подчиняются схеме ========== */
body.special-aaVersion-on .body-wrap input,
body.special-aaVersion-on .body-wrap select,
body.special-aaVersion-on .body-wrap textarea{
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  border: 1px solid currentColor !important;
}
body.special-aaVersion-on .body-wrap ::placeholder{ color: inherit !important; opacity: .7; }

/* ========== 9. Различимость ссылок без опоры на цвет (WCAG 1.4.1) ==========
   Контентные и карточные ссылки подчёркиваем. */
body.special-aaVersion-on .body-wrap .news-detail a,
body.special-aaVersion-on .body-wrap .col-md-9 a,
body.special-aaVersion-on .body-wrap .col-md-8 a,
body.special-aaVersion-on .body-wrap .col-md-4 a:not(.btn),
body.special-aaVersion-on .hm2-quicklinks a,
body.special-aaVersion-on .hm2-news-card h5 a,
body.special-aaVersion-on .hm2-event-card .description a,
body.special-aaVersion-on .hm2-msg-card .description a,
body.special-aaVersion-on .hm2-ir .client .link,
body.special-aaVersion-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-allnews-btn{
  text-decoration: underline !important;
}

/* ========== 10. Фиксы вёрстки при крупном шрифте ==========
   Снимаем фикс-высоты и обрезку, разрешаем содержимому растечься. */
body.special-aaVersion-on .body-wrap .owl-main-wrap .text_ab .title,
body.special-aaVersion-on .hm2-news-card h5 a,
body.special-aaVersion-on .hm2-event-card .description a,
body.special-aaVersion-on .hm2-msg-card .description a{
  -webkit-line-clamp: none !important;
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
}
body.special-aaVersion-on .hm2-hero,
body.special-aaVersion-on .hm2-news-card,
body.special-aaVersion-on .hm2-event-card,
body.special-aaVersion-on .hm2-poll-card,
body.special-aaVersion-on .hm2-msg-card,
body.special-aaVersion-on .hm2-hl-head,
body.special-aaVersion-on .hm2-hl-tel{
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
body.special-aaVersion-on .hm2-hl-tel{ white-space: normal !important; }
body.special-aaVersion-on .body-wrap .col-md-4 table{ table-layout: auto !important; }

/* ========== 11. Панель спец-версии: размер целей 24x24 (WCAG 2.5.8) ==========
   Цвета свотчей выбора схемы НЕ трогаем (это образцы цвета), только цель нажатия. */
body.special-aaVersion-on .special-settings a{
  min-width: 24px; min-height: 24px; padding: 4px 8px;
}

/* ========== 12. Сброс фикс-размера контейнеров, чтобы em дочерних шёл от body ==========
   Иначе em в карточке считается от её фикс-px и масштаб (small|medium|big) не сработает. */
body.special-aaVersion-on .hm2-news-card,
body.special-aaVersion-on .hm2-event-card,
body.special-aaVersion-on .hm2-msg-card,
body.special-aaVersion-on .hm2-poll-card,
body.special-aaVersion-on .hm2-banner,
body.special-aaVersion-on .hm2-ir .client,
body.special-aaVersion-on .hm2-hl-head,
body.special-aaVersion-on .hm2-quicklinks,
body.special-aaVersion-on .body-wrap .col-md-4,
body.special-aaVersion-on .body-wrap .col-md-8,
body.special-aaVersion-on .body-wrap .col-md-9{
  font-size: 1em !important;
}

/* ============================================================
   ПАТЧ К cssDraft по итогам ревью на стейдже landplan.site.
   Закрывает: мёртвый хук прелоадера, провалы специфичности перед
   слоем .hm2-on, панель спец-версии, фикс-высоты при крупном шрифте.
   Грузить тем же файлом, ПОСЛЕ основного блока override.
   ============================================================ */

/* ========== A. Прелоадер: реальные хуки вместо мёртвого html.special-aaVersion-on ==========
   Заставка живёт на html::before/::after, спец-класс - на body.
   Снимаем оверлей, как только включена спец-версия (через :has),
   плюс штатный hm2-ready остаётся. */
:root:has(body.special-aaVersion-on)::before,
:root:has(body.special-aaVersion-on)::after{
  content: none !important;
  animation: none !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ========== B. Усиление специфичности: бить .hm2-on ... a.hm2-* (0,3..4,1) ==========
   Дублируем body для веса (body.special-aaVersion-on.special-aaVersion-on = (0,3,0))
   и/или включаем .hm2-on в scope, чтобы перебить базовые правила слоя. */
body.special-aaVersion-on .hm2-on .hm2-banner-grid a.hm2-banner,
body.special-aaVersion-on .hm2-on .hm2-news-card,
body.special-aaVersion-on .hm2-on .hm2-news-card .col-md-4 > a,
body.special-aaVersion-on .hm2-on .hm2-event-card,
body.special-aaVersion-on .hm2-on .hm2-msg-card,
body.special-aaVersion-on .hm2-on .hm2-poll-card,
body.special-aaVersion-on .hm2-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn,
body.special-aaVersion-on .hm2-on .hm2-quicklinks,
body.special-aaVersion-on .hm2-on .hm2-quicklinks a{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.special-aaVersion-on .hm2-on .hm2-banner-grid a.hm2-banner,
body.special-aaVersion-on .hm2-on .hm2-news-card,
body.special-aaVersion-on .hm2-on .hm2-event-card,
body.special-aaVersion-on .hm2-on .hm2-msg-card,
body.special-aaVersion-on .hm2-on .hm2-poll-card,
body.special-aaVersion-on .hm2-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-on .hm2-quicklinks a{
  border-color: currentColor !important;
}
body.special-aaVersion-on .hm2-on .hm2-news-card .col-md-4 > a,
body.special-aaVersion-on .hm2-on .hm2-hl-tel,
body.special-aaVersion-on .hm2-on .hm2-quicklinks a{
  color: inherit !important;
}

/* ========== D. Фикс-высоты узких узлов при крупном шрифте (big=24px) ==========
   Проверено: эти узлы имеют фикс-размеры и обрежутся, когда дочерний
   текст наконец начнёт масштабироваться через em. */
body.special-aaVersion-on .hm2-subcount,
body.special-aaVersion-on .hm2-poll-ic,
body.special-aaVersion-on .hm2-hl-headico,
body.special-aaVersion-on .hm2-hl-ico,
body.special-aaVersion-on .hm2-topbar .type_view,
body.special-aaVersion-on .hm2-topbar .switch-vision a{
  height: auto !important;
  min-height: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* ========== E. QR-модалка и поповеры вне .body-wrap ==========
   Не охвачены scoped .body-wrap; в спец-версии подчинить схеме. */
body.special-aaVersion-on .hm-qr-modal,
body.special-aaVersion-on .hm-qr-modal *{
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  box-shadow: none !important;
}
body.special-aaVersion-on .hm-qr-modal{ border: 1px solid currentColor !important; }

/* ========== F. Виджет Госуслуг: подчинить контент схеме (если проступит) ========== */
body.special-aaVersion-on #e329fb40-widget-pos,
body.special-aaVersion-on #e329fb40-widget-pos *{
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
}

/* ========== G. Кернинг: не мешать движку (снять возможный letter-spacing слоя) ========== */
body.special-aaVersion-on .body-wrap,
body.special-aaVersion-on .hm2-hero,
body.special-aaVersion-on .hm2-hero *{
  letter-spacing: inherit !important;
}

/* =====================================================================
   BVI defer-override, раунд 2: контейнеры, которые сами задают брендовый
   цвет (дочерний color:inherit повторно наследовал брендовый), и узлы,
   не попавшие в раунд 1 (таблица главной колонки, масштаб p и .hm2-ir).
   ===================================================================== */

/* Футер: цвет задан на .footer, дети его наследуют - сбрасываем весь блок к схеме */
body.special-aaVersion-on .body-wrap .footer,
body.special-aaVersion-on .body-wrap .footer *{
  color: inherit !important;
}

/* Информационные ресурсы: тёмная плашка с белым текстом - весь блок к схеме */
body.special-aaVersion-on .hm2-ir,
body.special-aaVersion-on .hm2-ir *{
  color: inherit !important;
}
body.special-aaVersion-on .hm2-ir .client,
body.special-aaVersion-on .hm2-ir .client > a{
  font-size: 1em !important;
}
body.special-aaVersion-on .hm2-ir .client .title{ font-size: 0.95em !important; }
body.special-aaVersion-on .hm2-ir .client .link{ font-size: 0.82em !important; }

/* Таблицы контента (телефонный справочник и пр., главная колонка):
   ячейки и светлая шапка подчиняются схеме. */
body.special-aaVersion-on .body-wrap table th,
body.special-aaVersion-on .body-wrap table td,
body.special-aaVersion-on .body-wrap table th *,
body.special-aaVersion-on .body-wrap table td *{
  color: inherit !important;
  background-color: transparent !important;
}
body.special-aaVersion-on .body-wrap table [bgcolor]{ background-color: transparent !important; }

/* Абзацы контента масштабируются от body (special-font small|medium|big) */
body.special-aaVersion-on .body-wrap p{ font-size: 1em !important; }


/* =====================================================================
   BVI defer-override, раунд 3: точечные хвосты по данным верификации.
   ===================================================================== */

/* Информационные ресурсы: .text_ab имел фикс 9px и рвал em-цепочку - сброс к 1em */
body.special-aaVersion-on .hm2-ir .client .text_ab{ font-size: 1em !important; }

/* Стоковые светлые подложки Bitrix (секция фильтра справочника, фон #EDF6FC и пр.)
   в спец-версии подчиняются схеме, иначе светлый текст схемы тонет на светлом фоне. */
body.special-aaVersion-on .body-wrap .bx-filter-section,
body.special-aaVersion-on .body-wrap .bx-filter,
body.special-aaVersion-on .body-wrap [class^='bx-filter'],
body.special-aaVersion-on .body-wrap [class*=' bx-filter']{
  background: transparent !important;
  background-color: transparent !important;
}


/* =====================================================================
   BVI defer-override, раунд 4: сплошной color:inherit для текста внутри
   .body-wrap. Все 4 схемы используют единый цвет текста (body{color}),
   поэтому inherit безопасен и закрывает любые захардкоженные цвета
   (кнопки секций, баннер .bf-1, .base и пр.), которые точечно не перечислить.
   ===================================================================== */
body.special-aaVersion-on .body-wrap a,
body.special-aaVersion-on .body-wrap span,
body.special-aaVersion-on .body-wrap p,
body.special-aaVersion-on .body-wrap li,
body.special-aaVersion-on .body-wrap td,
body.special-aaVersion-on .body-wrap th,
body.special-aaVersion-on .body-wrap h1,
body.special-aaVersion-on .body-wrap h2,
body.special-aaVersion-on .body-wrap h3,
body.special-aaVersion-on .body-wrap h4,
body.special-aaVersion-on .body-wrap h5,
body.special-aaVersion-on .body-wrap h6,
body.special-aaVersion-on .body-wrap label,
body.special-aaVersion-on .body-wrap strong,
body.special-aaVersion-on .body-wrap em,
body.special-aaVersion-on .body-wrap b,
body.special-aaVersion-on .body-wrap i,
body.special-aaVersion-on .body-wrap small,
body.special-aaVersion-on .body-wrap font,
body.special-aaVersion-on .body-wrap div{ color: inherit !important; }

/* баннер .bf-1: фон тоже к схеме */
body.special-aaVersion-on .body-wrap .bf-1,
body.special-aaVersion-on .body-wrap .bf-1 *{
  background-color: transparent !important;
  background-image: none !important;
}


/* =====================================================================
   BVI defer-override, раунд 5: левое меню (catalog_menu) красит ссылки
   через --hm-green-deep с высокой специфичностью и !important - повторяем
   структуру селектора с префиксом спец-версии, чтобы отдать цвет схеме.
   ===================================================================== */
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li a,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li.selected a,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li.current a,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li.selected > span a,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu ul.nav li a.base,
body.special-aaVersion-on .body-wrap .left-column .catalog_menu .open-catalog{
  color: inherit !important;
}


/* =====================================================================
   BVI defer-override, раунд 6: кнопки "все новости"/aux-nav секций
   (.hm2-allnews-btn) красятся #fff с высокой специфичностью - повторяем
   глубину селектора, чтобы отдать цвет схеме (в голубой схеме белый тонул).
   ===================================================================== */
body.special-aaVersion-on .hm2-on .hm2-sec-head .aux-nav a,
body.special-aaVersion-on .hm2-on .hm2-sec-head .aux-nav a.hm2-allnews-btn,
body.special-aaVersion-on .hm2-on .col-md-4 .hm2-sec-head .aux-nav a.hm2-allnews-btn,
body.special-aaVersion-on .body-wrap .section-title-wr .aux-nav a{
  color: inherit !important;
}


/* =====================================================================
   BVI defer-override, раунд 7: кнопка стороннего виджета Госуслуг
   "Сообщить о проблеме" - белый текст тонул в светлой (голубой) схеме.
   ===================================================================== */
body.special-aaVersion-on .body-wrap .pos-banner-btn_2,
body.special-aaVersion-on .body-wrap [class^='pos-banner-btn'],
body.special-aaVersion-on .body-wrap .pos-banner-btn_2 *{
  color: inherit !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid currentColor !important;
}


/* =====================================================================
   BVI defer-override, раунд 8: визуальные фиксы по ревью Дениса (белая схема).
   ===================================================================== */

/* 1. Иконочный шрифт FontAwesome: наш font-family:inherit на <a> сломал глифы
   (соцыконки .fa-vk / .fa-odnoklassniki стали пустыми квадратами). Возвращаем. */
body.special-aaVersion-on .body-wrap .fa,
body.special-aaVersion-on .body-wrap [class^='fa-'],
body.special-aaVersion-on .body-wrap [class*=' fa-']{ font-family: 'FontAwesome' !important; }

/* 2. Лупа поиска была белой (на тёмной кнопке); после снятия фона стала белой
   на белом. Цвет кнопки поиска и её иконки отдаём схеме. */
body.special-aaVersion-on .body-wrap .form-light .input-group-btn .btn-base,
body.special-aaVersion-on .body-wrap .form-light .input-group-btn .btn-base .fa,
body.special-aaVersion-on .body-wrap .form-light .input-group-btn .btn-base i{ color: inherit !important; }

/* 3. Кнопка "Обычная версия" панели: тёмный фон + наш color:inherit давал чёрный
   текст на чёрном (чёрный прямоугольник). Прозрачный фон, текст и рамка по схеме. */
body.special-aaVersion-on .special-settings .btn,
body.special-aaVersion-on .special-settings .return-normal,
body.special-aaVersion-on .special-settings .return-eye{
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  border: 1px solid currentColor !important;
}

/* 4. Оверлеи (выпадающее мега-меню, мобильное меню) нельзя делать прозрачными -
   контент за ними просвечивает. Непрозрачный фон активной схемы (+ рамка уже есть). */
body.special-aaVersion-on.special-color-white .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on.special-color-white .body-wrap .dropdown-menu.hm2-mega,
body.special-aaVersion-on.special-color-white .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu{ background: #ffffff !important; }
body.special-aaVersion-on.special-color-black .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on.special-color-black .body-wrap .dropdown-menu.hm2-mega,
body.special-aaVersion-on.special-color-black .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu{ background: #000000 !important; }
body.special-aaVersion-on.special-color-yellow .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on.special-color-yellow .body-wrap .dropdown-menu.hm2-mega,
body.special-aaVersion-on.special-color-yellow .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu{ background: #000000 !important; }
body.special-aaVersion-on.special-color-blue .body-wrap .navbar-wp.mega-nav .dropdown-menu,
body.special-aaVersion-on.special-color-blue .body-wrap .dropdown-menu.hm2-mega,
body.special-aaVersion-on.special-color-blue .body-wrap .navbar-wp.mega-nav .navbar-collapse.top-menu{ background: #9FD7FF !important; }


/* =====================================================================
   BVI defer-override, раунд 9: лупа поиска. Базовое правило кнопки поиска
   включает header.header-light (специфичность 0,6,1) и перебивало мой
   фикс без этого класса. Повторяем глубину - кнопка и иконка к схеме.
   ===================================================================== */
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base,
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base .fa,
body.special-aaVersion-on .body-wrap header.header-light .form-light .input-group-btn .btn-base i{
  color: inherit !important;
}

/* =====================================================================
   BVI defer-override, раунд 10: hover/focus верхних пунктов мега-меню.
   Брендовое правило красит ссылку #fff при наведении (для тёмной подложки);
   в спец-версии подложка прозрачная, текст белел и тонул (на белой схеме -
   невидим, на голубой - низкий контраст). Отдаём цвет схеме + подчёркивание
   как индикацию наведения, не опирающуюся на цвет (ГОСТ Р 52872 / WCAG 1.4.1).
   ===================================================================== */
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:hover,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a:focus,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li > a.open,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li.open > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li.active > a,
body.special-aaVersion-on .body-wrap .navbar-wp.mega-nav .navbar-nav > li.hm-current > a,
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li > a:hover,
body.special-aaVersion-on .body-wrap .top-header.links-menu .top-menu > li > a:focus{
  color: inherit !important;
  text-decoration: underline !important;
}

/* =====================================================================
   Блок «Телефоны горячих линий»: заголовки записей красным (по просьбе Дениса).
   Редактор пометил часть заголовков инлайн-красным, но слой глушил их в navy.
   Красим все заголовки записей блока единообразно доступным красным #CC0000
   (контраст ~5,2:1 на белом - проходит WCAG AA для текста 14,5px/600).
   Телефоны, расписание и ссылки разделов не трогаем. В спец-версии (BVI)
   правило отключено: там цвет идёт по выбранной цветовой схеме.
   ===================================================================== */
.hm2-on body:not(.special-aaVersion-on) .hm2-gov-table td.hm2-hl-cell .hm2-hl-body b,
.hm2-on body:not(.special-aaVersion-on) .hm2-gov-table td.hm2-hl-cell .hm2-hl-body b *,
.hm2-on body:not(.special-aaVersion-on) .hm2-gov-table td.hm2-hl-cell .hm2-hl-body [style*='color'],
.hm2-on body:not(.special-aaVersion-on) .hm2-gov-table td.hm2-hl-cell .hm2-hl-body h5,
.hm2-on body:not(.special-aaVersion-on) .hm2-gov-table td.hm2-hl-cell .hm2-hl-body h5 *{
  color: #CC0000 !important;
}

