/*
Theme Name: BizMetric
Theme URI: https://bizmetric.ru/
Author: BizMetric
Description: Тема сайта bizmetric.ru. Оформление общее с посадочной /bi/: та же
 бумага, те же чернила, две гарнитуры и пять кеглей. Заведена 04.09.2026 вместо
 правки Twenty Twenty-Four — потому что правки жили в базе, а не в файлах:
 свой CSS лежал в «Дополнительных стилях», подвал собирался блоками через
 админку, и ни то, ни другое не попадало ни в git, ни в проверку.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: bizmetric
*/

/* ════════════════════════════════════════════════════════════════════════
   Всё, что ниже, до 04.09.2026 жило в «Внешний вид → Дополнительные стили»,
   то есть в таблице wp_global_styles. Там оно было невидимо для git,
   терялось при смене темы и не проверялось ничем. Перенесено в файл темы
   без изменения правил: расхождение вида — отдельная задача, не эта.
   ════════════════════════════════════════════════════════════════════════ */
/* Обёртка виджета */
.bm-floating {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99999;
}

/* Контейнер под ВЕСЬ стек (высота под 3 кружка) */
.bm-bubble {
  position: relative;
  width: 56px;
  height: 180px; /* ~3 иконки по 56 + отступы */
}



/* Общий стиль иконок */
.bm-icon {
  position: absolute;
  left: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: opacity .2s ease, transform .15s ease;
}

/* Картинка внутри кружка */
.bm-icon img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  border-radius: 0%;
}

/* Позиции (ВСЕГДА одни и те же) */
.bm-tg {                 /* внизу */
  bottom: 0;
  z-index: 3;
}

.bm-max {                /* середина */
  bottom: 62px;
  z-index: 2;
}

.bm-wa {                 /* верх */
  bottom: 124px;
  z-index: 1;
}

/* Свернутое состояние:
   видно только Telegram, остальные спрятаны */
.bm-max,
.bm-wa {
  opacity: 0;
  pointer-events: none;
}

/* Развёрнутое состояние: при наведении/тапе по зоне стека */
.bm-bubble:hover .bm-icon,
.bm-bubble:focus-within .bm-icon {
  opacity: 1;
  pointer-events: auto;
}

/* WhatsApp полупрозрачный (перебои) */
.bm-bubble:hover .bm-wa,
.bm-bubble:focus-within .bm-wa {
  opacity: 1;
}

/* Лёгкий ховер по отдельной кнопке */
.bm-icon:hover {
  transform: translateY(-2px) scale(1.03);
}

/* Мобильная адаптация */
@media (max-width: 600px) {
  .bm-floating {
    bottom: 16px;
    right: 16px;
  }

  .bm-bubble {
    width: 50px;
    height: 160px;
  }

  .bm-icon {
    width: 50px;
    height: 50px;
  }

  .bm-max { bottom: 56px; }
  .bm-wa  { bottom: 112px; }
}






/* ─────────────────────────────
   Горизонтальная контактная плашка
   ───────────────────────────── */

/* Контейнер плашки внутри колонки шаблона */
.bm-contact-wrap {
  width: 100%;
  display: flex;
  justify-content: center; /* если нужно по центру — поставь center   flex-end*/
}

/* Сама плашка */
.bm-contact-bar {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  padding: 12px 20px 12px 20px;  /* 0px 20px 12px 20px */
  border-radius: 999px;

  /* включишь, если захочешь тёмный фон
  background: rgba(17, 17, 17, 0.9);
  */
  /* Цвет был #f9f9f9 — белый, под тёмный подвал. 04.09.2026 подвал стал
     светлым, как на посадочной, и белый текст на нём просто исчезал.
     Берём чернила-2 из палитры, а не второй жёстко вписанный цвет. */
  color: var(--wp--preset--color--contrast-2, #55616A);
  font-size: 14px;
  line-height: 1.5;

  max-width: 560px; /* чуть более широкая, чтобы было "воздушнее" */
}

/* В контактной плашке MAX и WA всегда видимы (не трогаем вертикальный виджет) */
.bm-contact-bar .bm-max,
.bm-contact-bar .bm-wa {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Левая часть: заголовок + телефон + почта + линия с иконками */
.bm-contact-text {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  flex: 1 1 auto;
}

/* "Свяжитесь со мной:" — отдельной строкой */
.bm-contact-label {
  font-weight: 600;
  flex: 0 0 100%;
  margin-bottom: 4px;
}

/* Строка: e-mail + иконки в одной линии */
.bm-contact-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* Телефон и почта — те же отступы, что и у иконок */
.bm-contact-phone,
.bm-contact-email {
  display: inline-flex;
  align-items: center;
  padding: 3px 0;
  color: var(--wp--preset--color--contrast-2, #55616A);
  text-decoration: none;
  border-bottom: 1px dashed rgba(85, 97, 106, 0.4);
}

.bm-contact-phone:hover,
.bm-contact-email:hover {
  border-bottom-style: solid;
}

.bm-contact-sep {
  opacity: 0.6;
}

/* Иконки мессенджеров рядом с почтой */
.bm-contact-line .bm-contact-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  padding: 4px;
  flex-shrink: 0;

  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.bm-contact-line .bm-contact-icon img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.bm-contact-line .bm-contact-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* Адаптив — на узких экранах делаем ещё чуть легче */
@media (max-width: 800px) {
  .bm-contact-wrap {
    justify-content: center;  /* по центру экрана */
  }

  .bm-contact-bar {
    max-width: 100%;
    padding: 10px 16px;
  }

  .bm-contact-line {
    width: 100%;
  }
}


footer .bm-contact-bar {
    align-self: flex-start !important;
}


/* конакты по центру */
.bm-contact-wrap--center .bm-contact-line .bm-contact-icon {
  width: 50px;
  height: 50px;
  padding: 5px;
}

.bm-contact-wrap--center .bm-contact-line .bm-contact-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Линия: телефон + почта + блок иконок */
.bm-contact-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* Группа иконок — всегда единым блоком */
.bm-contact-icons {
  display: flex;
  flex-wrap: nowrap;   /* иконки не разваливаются по одной */
  gap: 8px;
  flex: 0 0 auto;
}

/* Чтоб на узких экранах весь блок иконок падал строкой вниз */
@media (max-width: 600px) {
  .bm-contact-line {
    width: 100%;
  }

  .bm-contact-icons {
    margin-top: 4px;   /* чуть воздуха под e-mail */
  }
}




/*  отступы у заголовка блока последние материалы - убираем подчёркивание у заголовка посл мат */

.wp-block-latest-posts__post-title {
    display: block;
    font-size: 1.5em;     /* или твой размер */
    font-weight: 400;     /* убрал жирность */
    margin-bottom: -0.3em; /* твой 1/3 вариант */
}

.wp-block-latest-posts__post-title a {
    text-decoration: none !important;
}



/* Заголовки в блоке "Последние записи" */
.wp-block-latest-posts h3.wp-block-latest-posts__post-title {
    font-size: 1.1rem;      /* сделал заметно меньше "главных" заголовков */
    font-weight: 400;       /* без жирности */
    margin: 0 0 0 0;   /* небольшой нижний отступ */
}

/* Ссылка внутри заголовка без подчёркивания */
.wp-block-latest-posts h3.wp-block-latest-posts__post-title a {
    text-decoration: none !important;
}






/* Кнопка-призыв «Связаться» */
.bm-cta-link {
    cursor: pointer;
}

/* Тёмное затемнение фона */
#bm-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 998;
}

/* Окно */
#bm-popup {
    display: none;
    position: fixed;
    top: 100px;
    right: 40px;
    padding: 20px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
    z-index: 999;
    width: 280px;
}

/* Чтобы блок выглядел компактнее */
#bm-popup .bm-contact-wrap {
    padding: 0;
}

#bm-popup img {
    width: 28px;
    height: 28px;
}

/* выравнивание по ширене */

/* Основной текст кейсов */
.entry-content.wp-block-post-content p {
  text-align: justify;
  hyphens: auto;
}

/* Анонсы кейсов (архивы, категории) */
.wp-block-post-excerpt__excerpt {
  text-align: justify;
  hyphens: auto;
}
.wp-block-post-content p {
  text-align: justify !important;
  hyphens: auto;
}


/* Убираем подчёркивание у ссылок "Предыдущая / Следующая" */
.wp-block-post-navigation-link a {
  text-decoration: none;
}



/* Облако тегов — убрать подчёркивание */
.tag-cloud-link {
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 8px;
  transition: background-color .15s ease, color .15s ease;
}



/* Под мышью — подложка и лёгкое движение вверх. Подложка задана токеном,
   а не rgba(0,0,0,.06): чёрная плёнка на тёмном фоне ничего не затемняет,
   и в тёмной теме выделения не было видно вовсе. Оттенки — те же, что
   у посадочной (--hover). */
:root { --bm-hover: #F3F1EC; }
.tag-cloud-link:hover {
  transform: translateY(-2px);
  background-color: var(--bm-hover);
}

/* ════════════════════════════════════════════════════════════════════════
   Правовая строка подвала.
   Стили здесь, а не рядом с разметкой: до 04.09.2026 они ехали блоком
   «Произвольный HTML» вместе с тегом <style> внутри — такую строку нельзя
   ни отредактировать в редакторе, ни увидеть в diff. Сама строка теперь
   собрана обычными блоками и правится как любой абзац.
   ════════════════════════════════════════════════════════════════════════ */
.bm-legal {
  font-size: clamp(12px, .85vw, 13.5px);
  line-height: 1.7;
  opacity: .78;
}
/* Подчёркивание — только у того, у кого есть href. Почта в правовой строке
   стоит тегом <a> БЕЗ href: адрес в разметке не хранится, схему подставляет
   bm-legal.php из textContent элемента. Не отработал скрипт — остаётся видимый
   текст, и он обязан выглядеть текстом, а не сломанной ссылкой. Курсор-палец
   браузер и сам даёт только ссылкам с href (:any-link), поэтому его не трогаем. */
.bm-legal a[href] { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.bm-legal a[href]:hover { opacity: 1; }
.bm-legal a:not([href]) { color: inherit; text-decoration: none; }

/* Строка документов — без подчёркивания и мельче: это подпись подвала,
   а не текст для чтения. Подчёркивание возвращаем под мышью — иначе ссылка
   ничем не отличается от обычного текста, и человек, которому нужна политика,
   просто не поймёт, что на неё можно нажать. Доступ к ней требует ч. 2
   ст. 18.1 152-ФЗ, и «есть, но не выглядит ссылкой» — это не доступ. */
/* Вес селектора здесь обязан совпадать с `.bm-legal a[href]` выше: без [href]
   это правило (0,1,1) против (0,2,1) — и строка документов однажды уже стала
   подчёркнутой целиком, поймано снимком 06.09.2026 при переводе почты на <a>. */
.bm-legal--docs a[href] { text-decoration: none; }
.bm-legal--docs a[href]:hover {
  text-decoration: underline;
  color: var(--wp--preset--color--accent);
}

/* Разделители — псевдоэлементами, а не отдельными блоками: точку между
   ссылками не нужно ни переводить, ни редактировать, а блоком она попадала бы
   в список элементов редактора и мешала перетаскивать сами ссылки. */
.bm-legal__sep { margin: 0 10px; opacity: .55; }

/* Строка документов идёт вплотную под строкой оператора: между абзацами
   иначе встал бы обычный межблочный отступ, и две строки одного по смыслу
   текста разъехались бы как два разных куска подвала. */
.bm-legal--docs { margin-top: 4px; }

/* Меню сайта продублировано в подвале (решение Owner 05.09.2026). Это не копия
   ссылок, а тот же самый блок навигации, что и в шапке — ref 5. Пункты правятся
   в одном месте, «Внешний вид → Меню», и обе полосы меняются вместе; разойтись
   они не могут. Разделитель точкой повторяет строки с документами ниже, чтобы
   низ подвала читался как один список, а не как три разных блока. */
/* Отступ снизу задаём сами: у строки © свой межблочный отступ 40px, и меню
   оказывалось прижато к черте сверху (24px) и оторвано от строки снизу (40px).
   Выравниваем — 24px с обеих сторон, чтобы полоса меню стояла ровно между. */
/* ── Строка продукта в подвале ────────────────────────────────────────────
   Такая же строка стоит в подвале посадочной /bi/, и обе колонки построены
   одинаково: 38px под знак, дальше текст. Знак берёт цвета из палитры темы
   (в тёмной она переворачивается сама), а не жёсткими значениями — иначе
   тёмная плитка сливалась бы с тёмным фоном. */
.bm-foot__bi {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.bm-foot__bi p {
  margin: 0;
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.3;
  color: var(--wp--preset--color--heading);
}
.bm-foot__bi a { color: inherit; text-decoration: none; }
.bm-foot__bi a:hover { color: var(--wp--preset--color--accent); }
.bm-bi-mark { display: block; width: 38px; height: auto; }
.bm-bi-mark .bi-tile { fill: var(--wp--preset--color--heading); }
.bm-bi-mark .bi-let  { fill: var(--wp--preset--color--base); }
.bm-bi-mark .bi-key  { fill: none; stroke: var(--wp--preset--color--base); stroke-width: 11; }
.bm-em { color: var(--wp--preset--color--accent); }

/* Строка компании набирается той же антиквой, что и на посадочной: там обе
   строки подвала антиквой, а здесь подпись шла гротеском — при переходе
   это читалось как другой сайт. */
.bm-foot__lead { font-family: var(--wp--preset--font-family--heading); }

.bm-foot__nav { margin: 0; }
.wp-block-group .bm-foot__nav + .bm-legal { margin-top: 24px; }
/* На узком экране отступ под чертой сам сжимается (7,8px против 24 на широком),
   и меню прилипает к линии. Возвращаем равновесие. */
@media (max-width: 600px) { .bm-foot__nav { margin-top: 16px; } }
.bm-foot__nav .wp-block-navigation__container { gap: 0; }
.bm-foot__nav .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--body);
  color: var(--wp--preset--color--contrast-2);
  text-decoration: none;
}
.bm-foot__nav .wp-block-navigation-item__content:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bm-foot__nav .wp-block-navigation-item:not(:last-child)::after {
  content: "\00b7";
  margin: 0 10px;
  opacity: .55;
  color: var(--wp--preset--color--contrast-2);
}
/* Документы — отдельным абзацем в шаблоне, а не переносом внутри строки:
   перенос держится на ширине окна и на узком экране распадается как попало,
   а два абзаца остаются двумя строками всегда. Уносить их из подвала нельзя
   вовсе — ч. 2 ст. 18.1 152-ФЗ требует доступа к политике на страницах сбора.
   (Пояснение живёт здесь, а не в шаблоне: свободный комментарий между блоками
   WordPress считает «классическим» блоком и показывает в редакторе ошибкой.) */

@media (max-width: 700px) {
  .bm-legal__sep { display: none; }
  .bm-legal a, .bm-legal span:not(.bm-legal__sep) { display: block; }
}


/* ════════════════════════════════════════════════════════════════════════
   Сглаживание. Это и есть ответ на «шрифты выглядят жирными»: у посадочной
   на body стоит antialiased, у сайта не стояло, и один и тот же вес 400
   рисовался заметно плотнее. Начертания при этом были уже одинаковые —
   разошёлся только способ растеризации.
   ════════════════════════════════════════════════════════════════════════ */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ── Шапка ───────────────────────────────────────────────────────────────
   Повторяет шапку посадочной: светлая полоса, волосяная линейка снизу,
   слева имя в две строки, справа — телефон, «Написать» и переключатель темы.
   Тёмная плашка, стоявшая здесь от Twenty Twenty-Four, спорила с бумагой. */
.bm-bar .wp-block-group.alignwide { min-height: 46px; }

.bm-brand {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.bm-brand__name {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.18;
  letter-spacing: -0.014em;
  color: var(--wp--preset--color--heading);
  white-space: nowrap;
}
.bm-brand__sub {
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(12px, 0.86vw, 14px);
  line-height: 1.2;
  color: var(--wp--preset--color--contrast-3);
  white-space: nowrap;
}

/* Меню и «Показать телефон» набраны одинаково: в полосе это два равноправных
   слова, и разный вид делал бы из одного из них кнопку, а из другого — нет. */
/* Шапка держится наверху и просвечивает — один в один с посадочной /bi/.
   Раньше она была непрозрачной, белой (base-2) и на 10px выше: при переходе
   между сайтом и посадочной это первое, что бросалось в глаза. Фон снят
   с самого блока и задан здесь, потому что классу WordPress вида
   .has-base-2-background-color проставляется !important и перебить его нельзя. */
.bm-bar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent);
  -webkit-backdrop-filter: saturate(1.6) blur(10px);
  backdrop-filter: saturate(1.6) blur(10px);
}
@supports not (background: color-mix(in srgb, red, blue)) {
  .bm-bar { background: var(--wp--preset--color--base); }
}
/* На узком экране шапка не липнет: там она складывается в несколько строк
   и в закреплённом виде съедала бы пятую часть экрана. Так же на посадочной. */
/* Шапка на узком экране собрана как на посадочной, теми же порогами:
   до 720px уходят телефон и подпись под именем, до 460px — кнопка «Написать».
   Связаться на телефоне можно из плавающего кружка и из блока «С чего начать?»,
   а кнопка в шапке там только выдавливает название за край. */
@media (max-width: 720px) {
  .bm-bar { position: static; }
  .bm-bar .bm-act__tel { display: none; }
  .bm-brand__sub { display: none; }
  /* Вторая строка шапки занимает всю ширину, меню слева, переключатель темы
     у правого края — так же складывается шапка посадочной. Без этого группа
     «меню + кнопки» вставала по ширине содержимого, и переключатель оказывался
     посередине строки. */
  .bm-bar .wp-block-group:has(> .bm-bar__nav) { flex: 1 0 100%; }
  .bm-bar .bm-act { margin-left: auto; }
}
@media (max-width: 460px) {
  .bm-bar .bm-act__write { display: none; }
}

.bm-bar__nav .wp-block-navigation-item__content,
.bm-act__tel {
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(14px, 1vw, 16px);
  color: var(--wp--preset--color--contrast-2);
  text-decoration: none;
}
.bm-act__tel {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  white-space: nowrap;
}
.bm-act__tel:hover,
.bm-bar__nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }

/* Пункты меню стоят ближе друг к другу (24px), чем к кнопкам справа (40px).
   При одинаковых зазорах «Проекты» читались как часть блока действий, а не
   как второй пункт меню: глаз группирует по близости. С одним пунктом этого
   не было видно — правило понадобилось, когда появился второй. */
.bm-bar__nav .wp-block-navigation__container { gap: 24px; }
/* Через .wp-block-navigation, потому что собственные стили блока грузятся
   после темы и обнуляют поля обычному селектору. */
.bm-bar__nav.wp-block-navigation { margin-right: 16px; }

.bm-act { display: flex; align-items: center; gap: 14px; }
.bm-act__write { position: relative; }

/* Радиус 2px, а не скруглённая пилюля: на посадочной кнопка почти прямоугольная,
   и это заметная часть её вида — знак тоже квадратный. */
.bm-act__btn {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 16px;
  border: 1px solid var(--wp--preset--color--accent);
  border-radius: 2px;
  background: var(--wp--preset--color--accent);
  color: #FFFFFF;
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.bm-act__btn:hover { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); }

.bm-act__menu {
  /* Скрыто видимостью, а не hidden: атрибут перебил бы раскрытие
     по наведению, а оно здесь основное — как на посадочной. */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .16s ease, visibility 0s .16s, transform .16s ease;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 60;
  min-width: 190px;
  padding: 6px;
  background: var(--wp--preset--color--base-2);
  border: 1px solid var(--wp--preset--color--accent-5);
  border-radius: 3px;
  box-shadow: 0 1px 1px rgba(17, 24, 32, .04), 0 10px 28px -14px rgba(17, 24, 32, .22);
}
.bm-act__menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  font-size: clamp(14px, 1vw, 16px);
}
.bm-act__menu a:hover { background: var(--wp--preset--color--accent-3); }
.bm-act__menu img { width: 22px; height: 22px; }

.bm-act__theme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--wp--preset--color--accent-5);
  border-radius: 2px;
  background: none;
  color: var(--wp--preset--color--contrast-2);
  cursor: pointer;
}
.bm-act__theme:hover { border-color: var(--wp--preset--color--contrast-3); }
.bm-act__theme svg { width: 18px; height: 18px; }
/* Показываем ту иконку, в какую тему кнопка переключит, а не текущую:
   иначе человек жмёт «солнце» и получает светлую тему, уже будучи в светлой. */
.bm-act__theme .bm-sun { display: none; }
[data-theme="dark"] .bm-act__theme .bm-sun { display: block; }
[data-theme="dark"] .bm-act__theme .bm-moon { display: none; }

/* ── Тёмная тема ─────────────────────────────────────────────────────────
   Вся тема построена на палитре, поэтому тёмный вид — это переопределение
   одиннадцати переменных, а не второй набор правил. Значения взяты с
   посадочной без изменений: иначе два входа разошлись бы по цвету, и это
   было бы видно при переходе с /bi/ на сайт. */
:root[data-theme="dark"] {
  --wp--preset--color--base:       #0C1014;
  --wp--preset--color--base-2:     #131920;
  --wp--preset--color--contrast:   #E8EBEE;
  --wp--preset--color--contrast-2: #98A4AE;
  --wp--preset--color--contrast-3: #7A8791;
  --wp--preset--color--heading:    #D2D9DF;
  --wp--preset--color--accent:     #7FAEF2;
  --wp--preset--color--accent-2:   #A2C6F8;
  --wp--preset--color--accent-3:   #101A28;
  --wp--preset--color--accent-4:   #141B17;
  --wp--preset--color--accent-5:   #242C34;
  --bm-rule-soft:                  #1B222A;
  --bm-hover:                      #161D25;
}
/* Кнопка на светло-синем фоне тёмной темы должна быть тёмной, а не белой. */
:root[data-theme="dark"] .bm-act__btn,
:root[data-theme="dark"] .wp-element-button { color: #08121F; }
:root[data-theme="dark"] .bm-act__menu {
  box-shadow: 0 1px 1px rgba(0, 0, 0, .4), 0 12px 34px -16px rgba(0, 0, 0, .7);
}

/* Меню в шапке и подвале — без подчёркивания: подчёркнутый пункт читается
   как ссылка внутри текста. */
.wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }
.wp-block-navigation .wp-block-navigation-item__content:hover { text-decoration: underline; }

/* Мост под кнопкой. Меню отстоит от неё на 8px, и в этом зазоре курсор
   уходил с обёртки — меню гасло, а погасшее оно уже не ловит мышь, поэтому
   до пунктов было не добраться вовсе. Замерено 04.09.2026: на кнопке меню
   открывалось, на 2px ниже — закрывалось. На посадочной такой мост есть
   с самого начала, я его при переносе не заметил. */
.bm-act__write::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 10px;
}

/* Раскрытие по нажатию и с клавиатуры — всегда: у пальца наведения нет.
   Само наведение — только там, где мышь настоящая: на сенсорном экране
   :hover залипает после касания, и меню оставалось бы висеть. */
.bm-act__write:focus-within .bm-act__menu,
.bm-act__write.is-open .bm-act__menu {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
@media (hover: hover) {
  .bm-act__write:hover .bm-act__menu {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
}

/* Волосяная белая рамка внутри кнопки — цитата керна логотипа, тот же приём,
   что на посадочной. Без неё синий прямоугольник выглядит просто заливкой. */
.bm-act__btn, .bm-btn { position: relative; }
.bm-act__btn::after,
.bm-btn:not(.bm-btn--ghost)::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 1px;
  pointer-events: none;
}

/* ── Подвал: три строки связи ────────────────────────────────────────────
   Один в один с посадочной: метка слева, действие справа, строки разделены
   волосяной линейкой. Прежняя плашка с круглыми иконками была своя, и два
   входа выглядели по-разному в одном и том же месте. */
.bm-fc { display: grid; gap: 0; min-width: 230px; }
.bm-fc > a,
.bm-fc > button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid var(--wp--preset--color--accent-5);
  background: none;
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(14px, 1vw, 16px);
  color: var(--wp--preset--color--contrast-2);
  text-decoration: none;
  cursor: pointer;
  text-align: left;
  font-variant-numeric: tabular-nums;
}
.bm-fc > :first-child { border-top: 0; }
.bm-fc > a:hover, .bm-fc > button:hover { color: var(--wp--preset--color--accent); }
.bm-fc__t {
  font-size: clamp(11.5px, .78vw, 13px);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--contrast-3);
  width: 44px;
  flex: 0 0 auto;
}

.bm-foot__name a, .bm-foot__name {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  color: var(--wp--preset--color--heading);
  text-decoration: none;
}
.bm-foot__lead { color: var(--wp--preset--color--contrast-2); margin: 0; }
/* Знак компании — по верху строки, как в подвале посадочной (05.09.2026).
   Раньше стояла центровка: строка была одна, и разницы не было. Теперь под
   названием идёт двухстрочная подпись, и от центровки знак уезжал к её
   середине, а на посадочной оставался наверху — два подвала расходились.
   Правило здесь, а не атрибутом блока: align-items для flex-группы WordPress
   собирает на лету, и класс группы надёжнее. */
.bm-foot__id { align-items: flex-start; gap: 14px; }
/* Знак компании стоит в квадрате 38×38, как в подвале посадочной. Сам файл
   логотипа не квадратный, и WordPress отдавал ему по ширине только 28px —
   от этого весь текст рядом уезжал на 9px левее, чем на посадочной, хотя
   сам знак выглядел одинаково. Квадрат выравнивает обе колонки. */
.bm-foot__id .wp-block-site-logo { flex: 0 0 38px; width: 38px; }
.bm-foot__id .wp-block-site-logo a { display: block; width: 38px; }
.bm-foot__id .wp-block-site-logo img { width: 38px; max-width: 38px; height: 38px; object-fit: contain; }
/* Между строкой продукта и строкой компании — 14px, ровно как в подвале
   посадочной. Без этого правила между ними вставал межблочный отступ темы
   (40px), и две строки читались как два разных блока. */
.wp-block-column .bm-foot__bi + .bm-foot__id { margin-top: 0; }
/* Линейка над поисковым блоком — как на посадочной: она отделяет текст
   для поисковика от текста для человека. Тон мягче обычной линейки
   (--rule-soft посадочной), иначе подвал делится пополам, а не подписывается
   снизу. В палитру темы не выношу: это оттенок одной линии, а не цвет,
   которым что-то красят в редакторе. */
:root { --bm-rule-soft: #EBE8E1; }
.bm-foot__seo {
  line-height: 1.6;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--bm-rule-soft);
}

/* Полосы главной держат свой контекст. Без этого верхнее поле первого
   элемента ВНУТРИ полосы схлопывается с полем самой полосы и вылезает
   наружу: замерено 04.09.2026 — между полосами 2-3, 3-4 и 4-5 добавлялось
   по 16px, а между остальными нет, потому что первый элемент внутри у всех
   разный. Отсюда и «отступы разные везде». Гибкие раскладки не трогаем:
   им display задаёт своя раскладка. */
.wp-block-group.alignfull.is-layout-constrained { display: flow-root; }
/* Без «main >» намеренно: в холсте редактора <main> нет, и с ним правило
   работало бы только на сайте — редактор снова показывал бы не то, что
   выйдет. Гибким раскладкам display задаёт их собственная раскладка. */

/* ── Липкие иконки мессенджеров ──────────────────────────────────────────
   Всегда в правом нижнем углу окна — как на посадочной. z-index ниже
   баннера согласия (99999): баннер спрашивает и должен перекрывать всё. */
.bm-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 80;
  display: grid;
  gap: 10px;
}
.bm-fab a {
  display: block;
  width: 44px;
  height: 44px;
  box-shadow: 0 6px 20px -6px rgba(17, 24, 32, .45);
  transition: transform .16s ease, filter .16s ease;
}
.bm-fab a:hover { transform: translateY(-2px); filter: brightness(1.07); }
.bm-fab img { width: 100%; height: 100%; display: block; }
.bm-fab__tg { border-radius: 50%; }
.bm-fab__mx { border-radius: 25%; }
@media (max-width: 600px) {
  .bm-fab { right: 14px; bottom: 14px; }
  .bm-fab a { width: 40px; height: 40px; }
}

/* ── «С чего начать?» ────────────────────────────────────────────────────
   Перенесён с посадочной: двойная рамка (внешняя карточка и внутренняя
   волосяная) — тот же приём, что у карточки-свода там. */
.bm-start { margin: clamp(30px, 5vw, 88px) auto; max-width: 1240px; padding: 0 clamp(20px, 3.4vw, 52px); }
.bm-start__in {
  border: 1px solid var(--wp--preset--color--accent-5);
  border-radius: 3px;
  background: var(--wp--preset--color--base-2);
  padding: 7px;
  box-shadow: 0 1px 1px rgba(17, 24, 32, .04), 0 10px 28px -14px rgba(17, 24, 32, .22);
}
.bm-start__box {
  border: 1px solid var(--wp--preset--color--accent-5);
  border-radius: 2px;
  padding: clamp(26px, 3.4vw, 40px) clamp(20px, 3vw, 42px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px 56px;
  align-items: center;
}
.bm-start h2 {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  font-size: clamp(23px, 2.6vw, 33px);
  line-height: 1.15;
  letter-spacing: -.018em;
  color: var(--wp--preset--color--heading);
  margin: 0 0 14px;
}
.bm-start__lead {
  margin: 0;
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(19px, 1.7vw, 23px);
  line-height: 1.22;
  color: var(--wp--preset--color--heading);
}
.bm-em { color: var(--wp--preset--color--accent); }
.bm-start__act { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.bm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  border: 1px solid var(--wp--preset--color--accent);
  border-radius: 2px;
  background: var(--wp--preset--color--accent);
  color: #FFFFFF;
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(16.5px, 1.2vw, 19px);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.bm-btn:hover { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); }
.bm-btn--ghost {
  background: transparent;
  color: var(--wp--preset--color--heading);
  border-color: var(--wp--preset--color--accent-5);
}
.bm-btn--ghost:hover { background: var(--wp--preset--color--accent-3); border-color: var(--wp--preset--color--contrast-3); color: var(--wp--preset--color--heading); }

.bm-start__tel {
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0 4px;
  border: 0;
  background: none;
  font-family: var(--wp--preset--font-family--body);
  font-size: clamp(16.5px, 1.2vw, 19px);
  font-weight: 600;
  color: var(--wp--preset--color--heading);
  cursor: pointer;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.bm-start__tel:hover { color: var(--wp--preset--color--accent); }

@media (max-width: 780px) {
  .bm-start__box { grid-template-columns: 1fr; }
}

/* В тёмной теме кнопка светло-синяя — текст на ней должен быть тёмным,
   а белая волосяная рамка внутри неё превратилась бы в яркую полосу. */
:root[data-theme="dark"] .bm-btn { color: #08121F; }
:root[data-theme="dark"] .bm-act__btn::after,
:root[data-theme="dark"] .bm-btn:not(.bm-btn--ghost)::after { border-color: rgba(8, 18, 31, .30); }
:root[data-theme="dark"] .bm-btn--ghost { color: var(--wp--preset--color--heading); }
:root[data-theme="dark"] .bm-fab a { box-shadow: 0 6px 20px -6px rgba(0, 0, 0, .7); }
