/*
 * Версия для слабовидящих (плагин «Button visually impaired»).
 *
 * Плагин оборачивает страницу в .bvi-body и сам задаёт всем элементам цвета схемы и размер шрифта
 * (с !important). Здесь — то, что он не трогает: градиенты, фиксированные размеры под 12–13px,
 * плавающая вёрстка и движущиеся блоки. Цвета нигде не задаются: рамки берут цвет схемы,
 * выделение — инверсия через --bvi-site-color / --bvi-site-bg.
 */

/* --- Общее ------------------------------------------------------------------- */

/* Градиенты style.css перекрывают цвет фона схемы: белый текст оказывается на светлом. */
.bvi-body *:not(.bvi-background-image),
.bvi-body *::before,
.bvi-body *::after {
  background-image: none !important;
}

.bvi-body * {
  animation: none !important;
  transition: none !important;
}

.bvi-body a:focus-visible,
.bvi-body button:focus-visible,
.bvi-body input:focus-visible,
.bvi-body [tabindex]:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

.bvi-body #content a:not([class]) {
  text-decoration: underline;
}

.bvi-body ::placeholder {
  color: inherit;
  opacity: .65;
}

/* Панель плагина стоит вне .bvi-body, и её кнопки получают градиент общего правила button из style.css. */
.bvi-panel .bvi-link {
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* --- Сетка ------------------------------------------------------------------- */

.bvi-body #wrapper {
  width: auto;
  min-width: 0;
  max-width: 1238px;
}

.bvi-body #header,
.bvi-body #container {
  width: auto;
  margin: 0 1.76%;
}

/* Две колонки: слева кнопки и блоки обеих боковых колонок, справа материал.
   Ширина колонки в em — растёт вместе со шрифтом, но не больше трети страницы. */
.bvi-body #container {
  display: grid;
  grid-template-columns: min(14em, 34%) minmax(0, 1fr);
  grid-template-rows: auto auto 1fr auto;
  column-gap: 1.5em;
  padding-top: 1em;
}

.bvi-body .content-sidebar-wrap {
  display: contents;
}

.bvi-body #container > .clear,
.bvi-body #head {
  display: none; /* слайдер баннеров: анимация мешает чтению, новости из баннеров есть в ленте */
}

/* #container в селекторе — чтобы перебить body.two-sidebars #content { width: 739px } из style.css. */
.bvi-body #container #content,
.bvi-body #container #sidebar-first,
.bvi-body #container #sidebar-second {
  position: static;
  float: none;
  width: auto;
  margin: 0;
}

.bvi-body #sidebar-first {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}

.bvi-body #sidebar-second {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
}

.bvi-body #content {
  grid-column: 2;
  grid-row: 2 / span 2;
}

.bvi-body #foot {
  grid-column: 1 / -1;
  grid-row: 4;
}

.bvi-body #post-content {
  padding: 0;
}

/* Новость целиком: style.css обводит колонку рамкой (.node-type-story #content), отступы — внутри. */
.node-type-story .bvi-body #container #content {
  border-width: 2px;
  border-radius: .4em;
}

.node-type-story .bvi-body #post-content {
  padding: .3em 1em 1em;
}

/* --- Шапка и главное меню ---------------------------------------------------- */

.bvi-body #logo {
  float: none;
}

.bvi-body #logo img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Текст баннера-логотипа: виден, только когда в версии для слабовидящих выключены изображения. */
#logo .logo-text {
  display: none;
}

/* Вместо баннера и подписи плагина «Изображение: …» — название библиотеки текстом. */
.bvi-body[data-bvi-images=false] #logo img,
.bvi-body[data-bvi-images=false] #logo .bvi-img-caption {
  display: none;
}

.bvi-body[data-bvi-images=false] #logo .logo-text {
  display: block;
  padding: .4em 0;
  /* !important — плагин задаёт свой размер шрифта всем элементам; em считается от него. */
  font-size: 1.6em !important;
  font-weight: bold;
  line-height: 1.2;
  text-decoration: none;
}

.bvi-body[data-bvi-images=false] #logo .logo-text small {
  display: block;
  font-size: .6em !important;
  font-weight: normal;
  text-transform: uppercase;
}

/* Название сайта в теме скрыто нулевым шрифтом; плагин задаёт шрифт всем элементам, и оно вылезает. */
.bvi-body #site-title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.bvi-body #main-menu {
  top: 0;
  min-height: 0;
  padding: .5em 0 0;
}

.bvi-body #main-menu .menu-navigation-container > ul.menu {
  display: flex;
  flex-wrap: wrap;
  gap: .4em;
  float: none;
}

.bvi-body #main-menu li {
  float: none;
  line-height: 1.3;
}

.bvi-body #main-menu .menu-navigation-container > ul.menu > li {
  flex: 0 1 auto;
}

.bvi-body #main-menu .main_menu_a_first,
.bvi-body #main-menu .main_menu_a,
.bvi-body #main-menu .nolink_main_menu {
  width: auto;
  padding: .35em .8em;
  border: 2px solid;
  border-radius: .4em;
  white-space: normal;
}

.bvi-body #main-menu a:hover {
  text-decoration: underline;
}

.bvi-body #main-menu li ul {
  min-width: 16em;
  padding: .3em 0;
  border: 2px solid;
}

.bvi-body #main-menu li li {
  min-width: 0;
  line-height: 1.3;
}

.bvi-body #main-menu li li a {
  min-width: 0;
  padding: .4em .8em;
  border-top: 0;
  line-height: 1.3;
  white-space: normal;
}

/* --- Боковые колонки --------------------------------------------------------- */

.bvi-body .block-button-sidebar-first,
.bvi-body #block-block-37 {
  margin-top: 0;
}

.bvi-body .button-sidebar-first,
.bvi-body .button-sidebar-second {
  margin: 0 0 .5em;
}

.bvi-body #block-ddblock-19 {
  margin: 0 0 .5em;
}

/* Кнопка «Услуги»: здесь ничего не движется — все услуги одной строкой после подписи. */
.bvi-body .services-ticker {
  width: auto;
  height: auto;
  padding: .45em .6em;
  border-radius: .4em;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: normal;
}

.bvi-body .services-ticker__label {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.bvi-body #block-ddblock-19 .services-ticker__item,
.bvi-body .services-ticker__item.is-leaving {
  position: static;
  display: inline;
  opacity: 1;
  transform: none;
  white-space: normal;
}

.bvi-body .services-ticker__item:not(:last-child)::after {
  content: ",";
}

/* Кнопки колонок: высота 46px и line-height в атрибуте style рассчитаны на шрифт 13px. */
.bvi-body .sdbr1-btn,
.bvi-body .sdbr2-btn {
  width: auto;
  height: auto !important;
  padding: .45em .6em;
  border: 2px solid;
  border-radius: .4em;
  line-height: 1.3 !important;
  text-decoration: none;
  overflow-wrap: break-word;
  hyphens: auto;
}

.bvi-body .sdbr1-btn:hover,
.bvi-body .sdbr2-btn:hover {
  text-decoration: underline;
}

.bvi-body #sidebar-first .block,
.bvi-body #sidebar-second .block {
  max-width: 100%;
}

.bvi-body #sidebar-first img,
.bvi-body #sidebar-second img {
  max-width: 100%;
  height: auto;
}

.bvi-body #block-search-form {
  width: auto;
  height: auto;
  margin: 0 0 1em;
  padding: .5em;
  border: 2px solid;
  border-radius: .4em;
}

.bvi-body #sidebar-first #block-search-form > h2,
.bvi-body #sidebar-second #block-search-form > h2 {
  margin: 0 0 .4em;
  text-align: left;
}

.bvi-body .search-form {
  max-width: none;
}

.bvi-body .search-form__field {
  height: auto;
  padding: .3em .5em;
  border: 2px solid;
}

.bvi-body .search-form__submit {
  width: auto;
  height: auto;
  padding: 0 .6em;
  border: 2px solid;
}

.bvi-body .search-form__submit svg {
  width: 1.2em;
  height: 1.2em;
}

/* --- Материалы --------------------------------------------------------------- */

/* В style.css блоки новостей сдвинуты на -20px и шире колонки — наследие Drupal-разметки. */
.bvi-body .node-teaser,
.bvi-body .node-promoted,
.bvi-body .node-sticky {
  position: static;
  width: auto;
  margin: 0 0 1.5em;
  border: 2px solid;
  border-radius: .4em;
}

.bvi-body .node img {
  max-width: 100%;
  height: auto;
}

.bvi-body .links li a {
  display: inline-block;
  padding: .2em .6em;
  border: 2px solid;
  border-radius: .4em;
}

.bvi-body .pager {
  position: static;
  width: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .4em;
}

.bvi-body .pager li {
  margin: 0;
  padding: 0;
}

.bvi-body .pager a,
.bvi-body .pager-current {
  display: inline-block;
  min-width: 1.4em;
  padding: .2em .5em;
  border: 2px solid;
  border-radius: .4em;
  text-align: center;
}

/* body и li — вес выше, чем у правил цвета плагина. */
body .bvi-body .pager li.pager-current {
  background-color: var(--bvi-site-color) !important;
  color: var(--bvi-site-bg) !important;
}

/* --- Подвал ------------------------------------------------------------------ */

/* Карусель партнёров стоит на месте; её скрипт дублирует логотипы для бесконечной прокрутки и метит копии .is-clone
   (плагин «Партнёры»). */
.bvi-body .partners-carousel-container {
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
  gap: 1em 2em;
  cursor: auto; /* тянуть нечего */
}

.bvi-body .partners-carousel-container > .is-clone {
  display: none;
}

.bvi-body #footer-area {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}

.bvi-body #footer-area .column,
.bvi-body #footer-area .column:first-child {
  float: none;
  flex: 1 1 16em;
  width: auto;
  margin: 0;
}

.bvi-body #footer img {
  max-width: 100%;
  height: auto;
}

.bvi-body #copyright {
  border-top: 2px solid;
  line-height: 1.5;
  padding: .6em 20px;
}
