/* ============================================================
   A.L.E.X. — ЕДИНЫЙ ВИД С HRISA.RU (задача 2493, файл Г1 v2).

   ЧТО ЭТО. Последний слой стилей каждой страницы alexxx.ai: язык дизайна
   hrisa.ru (сетка, отступы, кнопки от 48 px, одна липкая «Спросить Хрису»,
   один декоративный слой) в цветах компании:
     · ДЕНЬ  — сливочная бумага и графит;
     · НОЧЬ  — графит и золото;
     · марка «A» — в шапке, цветом акцента темы.
   Цвета — только переменными темы (--e-*); старые переменные витрины
   (--bg, --text, --accent …) переведены на них, поэтому модули страниц,
   написанные до этого круга, красятся тем же набором без правки.

   ТЕМА. Ставит строка в <head> (ключ hrisa_tema: den · noch · avto, как на
   hrisa.ru); «Авто» идёт за настройкой телефона. На <html> два атрибута:
   data-tema (den/noch, язык hrisa.ru) и data-theme (light/dark, язык
   старых модулей витрины).

   ПРАВИЛА ЧТЕНИЯ (#129). Основной текст 17 px (18 px с 1024 px),
   интервал 1,55, строка до ~65 знаков, по левому краю, контраст от 4,5:1.

   Файл грузится ПОСЛЕДНИМ: его правила перебивают модули витрины. */

/* ---------- 1. Токены темы ---------- */

:root, :root[data-tema="den"] {
  color-scheme: light;
  --e-fon:        #FBF8F3;   /* сливочная бумага */
  --e-pole:       #FFFFFF;
  --e-plitka:     #F5F0E6;
  --e-tekst:      #25211C;   /* графит */
  --e-seryy:      #5E574D;
  --e-ramka:      #E6DDCB;
  --e-akcent:     #2E2A25;   /* кнопка дня — графит */
  --e-na-akcente: #FBF8F3;
  --e-ssylka:     #25211C;
  --e-metka:      #8A6414;   /* тёплая метка (надзаголовки), 5,0:1 на бумаге */
  --e-siyanie:    rgba(214, 165, 58, 0.16);
  --e-ten:        0 2px 10px rgba(60, 45, 20, 0.07);
  --e-ten-knopki: 0 8px 20px rgba(37, 33, 28, 0.18);
  --e-shapka:     rgba(251, 248, 243, 0.92);
}
:root[data-tema="noch"] {
  color-scheme: dark;
  --e-fon:        #16130F;   /* графит */
  --e-pole:       #2A241D;   /* круг 3 (#2513, п.13): карточка отличима от фона ночью, 1,21:1 */
  --e-plitka:     #1C1813;
  --e-tekst:      #F5EEE3;
  --e-seryy:      #B3A895;
  --e-ramka:      #3A3127;
  --e-akcent:     #E0B04A;   /* золото */
  --e-na-akcente: #16130F;
  --e-ssylka:     #E8C06A;
  --e-metka:      #E0B04A;
  --e-siyanie:    rgba(224, 176, 74, 0.13);
  --e-ten:        none;
  --e-ten-knopki: 0 8px 24px rgba(224, 176, 74, 0.22);
  --e-shapka:     rgba(22, 19, 15, 0.92);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema]) {
    color-scheme: dark;
    --e-fon: #16130F; --e-pole: #2A241D; --e-plitka: #1C1813;
    --e-tekst: #F5EEE3; --e-seryy: #B3A895; --e-ramka: #3A3127;
    --e-akcent: #E0B04A; --e-na-akcente: #16130F; --e-ssylka: #E8C06A;
    --e-metka: #E0B04A; --e-siyanie: rgba(224, 176, 74, 0.13);
    --e-ten: none; --e-ten-knopki: 0 8px 24px rgba(224, 176, 74, 0.22);
    --e-shapka: rgba(22, 19, 15, 0.92);
  }
}

/* Шрифт: «Обычный» Golos Text · «Строгий» PT Serif · «Лёгкий для чтения»
   OpenDyslexic — те же имена и тот же ключ hrisa_shrift, что на hrisa.ru. */
:root {
  --e-shrift:     'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --e-shrift-zag: 'Rubik', 'Golos Text', system-ui, sans-serif;
  --e-kegl:       17px;
  --e-interval:   1.55;
  --e-stroka:     58ch;   /* «ch» — ширина нуля: 58ch Golos ≈ 65 русских знаков */
  --e-r-knopka:   29px;
  --e-r-plitka:   18px;
  --e-sprosit-h:  52px;
}
:root[data-shrift="strogiy"] {
  --e-shrift:     'PT Serif', Georgia, serif;
  --e-shrift-zag: 'PT Serif', Georgia, serif;
}
:root[data-shrift="legkiy"] {
  --e-shrift:     'OpenDyslexic', 'Golos Text', system-ui, sans-serif;
  --e-shrift-zag: 'OpenDyslexic', 'Golos Text', system-ui, sans-serif;
}
@media (min-width: 1024px) { :root { --e-kegl: 18px; } }
/* OpenDyslexic по-русски широкий (находка #2467): длинное слово переносим,
   за край экрана оно не уходит. */
:root[data-shrift="legkiy"] body, :root[data-kmf="moi"] body { overflow-wrap: anywhere; }
/* «Крупный текст» и «Удобное чтение»: те же числа, что у hrisa.ru и общего
   чата (ключ mrn_komfort: 21 px, интервал 1,75, колонка 820 px). */
:root[data-kmf="moi"] { --e-kegl: var(--kmf-fs, 21px); --e-interval: var(--kmf-lh, 1.75); }

/* Старые переменные витрины → токены темы. Двойной :root — чтобы перебить
   [data-theme="dark"] и html[data-theme] модулей, подключённых раньше. */
:root:root, :root:root[data-theme], html:root[data-theme="dark"], html:root[data-theme="light"] {
  --bg: var(--e-fon);
  --surface: var(--e-pole);
  --line: var(--e-ramka);
  --text: var(--e-tekst);
  --text-2: var(--e-seryy);
  --muted: var(--e-seryy);
  --accent: var(--e-akcent);
  --accent-ink: var(--e-na-akcente);
  --accent-tekst: var(--e-ssylka);
  --btn-ink: var(--e-na-akcente);
  --font: var(--e-shrift);
  --c-line: var(--e-ramka);
  --c-muted: var(--e-seryy);
  --c-gold: var(--e-akcent);
  --c-abyss: var(--e-na-akcente);
  --mtl-1: var(--e-fon); --mtl-2: var(--e-fon); --mtl-3: var(--e-fon);
  --hub-metal-1: var(--e-fon); --hub-metal-2: var(--e-fon); --hub-metal-3: var(--e-fon);
  --mcta-h: 0px;
}

/* ---------- 2. Лист и текст ---------- */

html { background: var(--e-fon) !important; }
body {
  background: transparent !important;
  color: var(--e-tekst) !important;
  font-family: var(--e-shrift) !important;
  font-size: var(--e-kegl);
  line-height: var(--e-interval);
  padding-bottom: calc(var(--e-sprosit-h) + 28px);
}
/* ОДИН декоративный слой — мягкое сияние сверху, как у hrisa.ru. */
body::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 520px;
  z-index: -1; pointer-events: none;
  background: radial-gradient(60% 70% at 50% 0%, var(--e-siyanie), transparent 70%);
}
body { position: relative; isolation: isolate; }

/* Снятые украшения: звёзды, небо, «металл», пульс-полоска, буква в воздухе,
   старое окно Хрисы (если модуль где-то остался в кеше). */
.pe-nebo, .pe-znak, .zv-nebo, .puls-polosa, .hrisa-ugol,
.atm-pyl, .atm-iskry, canvas.zv-sloy, .mcta { display: none !important; }
.hero--metal::before, .hero--metal::after,
.page-hero.hero--pe > .container::before { content: none !important; display: none !important; }
.hero, .page-hero, .hero--metal, .hero--pe, .section, .ekran {
  background: transparent !important;
  background-image: none !important;
}

main { font-family: var(--e-shrift); overflow-x: clip; }
main table { max-width: 100%; }
/* Реквизиты на телефоне: подпись над значением, номер счёта — одной строкой. */
@media (max-width: 720px) {
  main table.flow-table, main table.flow-table tbody, main table.flow-table tr { display: block; width: 100% !important; }
  main table.flow-table tr { padding: 10px 0; border-bottom: 1px solid var(--e-ramka); }
  main table.flow-table td, main table.flow-table th { display: block; width: auto !important; padding: 2px 0 !important; border: 0 !important; }
  main table.flow-table td:first-child, main table.flow-table th:first-child { font-size: 15px !important; color: var(--e-seryy) !important; }
}
/* Второй декоративный слой (большая марка в первом экране «Кейсов») — снят:
   слой один, сияние сверху; ещё в бою эта марка уводила лист шире экрана. */
.hero-mark { display: none !important; }
/* Поля листа на телефоне — у всех страниц одни (у старых «документов» их не было). */
@media (max-width: 720px) {
  main .container, .hdr .container, .pdv .container, .drawer .container {
    padding-left: 20px !important; padding-right: 20px !important;
  }
}
main p, main li, main dd, main dt, main td, main th, main blockquote,
main summary, main label {
  font-size: var(--e-kegl) !important;
  line-height: var(--e-interval) !important;
  text-align: left;
  color: var(--e-tekst);
}
main p, main li, main blockquote { max-width: var(--e-stroka); }
main h1, main h2, main h3, main h4 {
  font-family: var(--e-shrift-zag) !important;
  color: var(--e-tekst) !important;
  letter-spacing: -0.01em;
  text-align: left;
  -webkit-text-fill-color: currentColor;
  background: none !important;
}
main h1 { font-size: clamp(30px, 7.4vw, 48px) !important; line-height: 1.15 !important; font-weight: 600; }
main h2 { font-size: clamp(24px, 5.6vw, 34px) !important; line-height: 1.2 !important; font-weight: 600; }
main h3 { font-size: clamp(19px, 4.6vw, 22px) !important; line-height: 1.3 !important; font-weight: 600; }
main .muted, main .small, main small, main figcaption, main .kicker,
main [class*="podpis"], main [class*="istochnik"] { color: var(--e-seryy) !important; }
main .kicker, main .pe-deviz { color: var(--e-metka) !important; }
main .lead { color: var(--e-tekst) !important; }
main a:not(.btn):not([class*="knopka"]):not([class*="kartoch"]):not([class*="plitka"]) {
  color: var(--e-ssylka);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
:focus-visible { outline: 2px solid var(--e-akcent) !important; outline-offset: 2px; }

/* Плитки и карточки — поле темы, мягкая рамка, скругление hrisa.ru. */
main [class*="card"], main [class*="kartoch"], main .dver, main details,
main [class*="plitka"], main .tbl-card {
  background-color: var(--e-pole);
  border-color: var(--e-ramka) !important;
  border-radius: var(--e-r-plitka);
  box-shadow: var(--e-ten);
  color: var(--e-tekst);
}

/* ---------- 3. Кнопки: от 48 px, акцент темы ---------- */

.btn, a.btn, button.btn, .pe-knopka, button[type="submit"], input[type="submit"] {
  min-height: 48px !important;
  border-radius: var(--e-r-knopka) !important;
  font-family: var(--e-shrift) !important;
  font-size: 16px !important;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn--primary, a.btn--primary, button.btn--primary, button[type="submit"] {
  background: var(--e-akcent) !important;
  color: var(--e-na-akcente) !important;
  border: 1px solid var(--e-akcent) !important;
  box-shadow: none !important;
  -webkit-text-fill-color: currentColor;
}
.btn--ghost, a.btn--ghost, button.btn--ghost, .pe-knopka--tihaya {
  background: transparent !important;
  color: var(--e-tekst) !important;
  border: 1px solid var(--e-ramka) !important;
  -webkit-text-fill-color: currentColor;
}
.btn--ghost:hover, .pe-knopka--tihaya:hover { border-color: var(--e-akcent) !important; }

/* ---------- 4. Шапка — как у hrisa.ru: марка, меню, ничего лишнего ---------- */

.hdr {
  position: sticky; top: 0; z-index: 60;
  background: var(--e-shapka) !important;
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid var(--e-ramka) !important;
  box-shadow: none !important;
}
.hdr-in { min-height: 64px; gap: 12px; }
.brand { display: inline-flex !important; align-items: center; gap: 10px; color: var(--e-tekst) !important; text-decoration: none; min-height: 48px; }
.brand-mark { font-family: var(--e-shrift-zag) !important; font-weight: 600; letter-spacing: .12em; color: var(--e-tekst) !important; -webkit-text-fill-color: currentColor; background: none !important; }
.e-marka { width: 34px; height: 34px; flex: 0 0 34px; color: var(--e-akcent); }
.e-marka svg { display: block; width: 100%; height: 100%; }
.hdr-nav a, .hdr-kabinet, .hdr-lang, .hdr-lang a { color: var(--e-tekst) !important; font-family: var(--e-shrift); }
.hdr-nav a:hover { color: var(--e-ssylka) !important; }
.icon-btn, .burger {
  min-width: 48px !important; min-height: 48px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--e-tekst) !important;
  border: 1px solid var(--e-ramka) !important;
}
/* Одна кнопка действия на экран: в шапке её нет — есть липкая «Спросить
   Хрису»; прежняя кнопка шапки живёт в меню. */
.hdr-tools > .btn { display: none !important; }
/* Разделы — в меню, как у hrisa.ru: в шапке марка, язык, «Кабинет» и меню. */
.hdr-nav { display: none !important; }
.hdr .burger { display: inline-flex !important; align-items: center; justify-content: center; }
.hdr-tools { margin-left: auto; display: flex; align-items: center; gap: 10px; }
/* ЯЗЫК — И НА ТЕЛЕФОНЕ (задача 2587, слово владельца 27.09 п. 11; долг 5
   реестра шаблона). До 720 px шапка прятала ряд языка вместе с «Кабинетом»,
   и гость с EN или ZH свой язык не находил. Теперь на телефоне та же капсула,
   что на ПК («RU ▾» → EN, 中文; её ставит kapsuly.js), в одном ряду с маркой и
   меню; уходит только «Кабинет» — он есть в меню. Высота капсулы на телефоне
   44 px (kapsuly.css §9а), пункты раскрытия — тоже не меньше пальца. */
@media (max-width: 720px) {
  .hdr-kabinet { display: none !important; }
  .hdr .hdr-tools .hdr-lang { display: inline-flex !important; }
  .hdr .kap-vypad a { display: flex; align-items: center; min-height: 44px; }
}

/* ---------- 5. Меню (шторка): разделы и настройки hrisa.ru ---------- */

.drawer { background: var(--e-fon) !important; color: var(--e-tekst) !important; }
.drawer a, .drw-zag, .drw-teplo, .drw-plashka-imya, .drw-plashka-znach { color: var(--e-tekst) !important; }
.drw-zag { color: var(--e-seryy) !important; }
.drw-nav a { min-height: 44px; display: flex; align-items: center; }
.drw-znak { display: none !important; }
.drawer .btn--primary { display: none !important; }

.e-nastroyki { display: grid; gap: 18px; margin: 22px 0 8px; padding-top: 18px; border-top: 1px solid var(--e-ramka); }
.e-nastroyka-imya { margin: 0 0 8px; font-size: 14px; color: var(--e-seryy); }
.e-vybor { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px; border-radius: var(--e-r-knopka); background: var(--e-plitka); border: 1px solid var(--e-ramka); }
.e-vybor button {
  flex: 1 1 auto; min-height: 48px; padding: 0 14px;
  border: 0; border-radius: var(--e-r-knopka);
  background: transparent; color: var(--e-tekst);
  font: 500 15px/1.2 var(--e-shrift); cursor: pointer;
}
.e-vybor button[aria-checked="true"] { background: var(--e-akcent); color: var(--e-na-akcente); }
.e-pereklyuchatel {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 48px; padding: 0 4px;
  border: 0; background: transparent; color: var(--e-tekst);
  font: 500 16px/1.2 var(--e-shrift); cursor: pointer; text-align: left;
}
.e-dorozhka { position: relative; width: 46px; height: 28px; flex: 0 0 46px; border-radius: 14px; background: var(--e-ramka); transition: background .2s; }
.e-dorozhka::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--e-pole); box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.e-pereklyuchatel[aria-checked="true"] .e-dorozhka { background: var(--e-akcent); }
.e-pereklyuchatel[aria-checked="true"] .e-dorozhka::after { transform: translateX(18px); }

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

.pdv {
  background: var(--e-plitka) !important;
  color: var(--e-tekst) !important;
  border-top: 1px solid var(--e-ramka) !important;
  font-family: var(--e-shrift);
}
.pdv a, .pdv summary, .pdv li, .pdv p, .pdv span { color: var(--e-tekst) !important; }
.pdv .pdv-yur li, .pdv .pdv-lokap, .pdv .pdv-brand { color: var(--e-seryy) !important; }
.pdv summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; }
.pdv-deviz { color: var(--e-metka) !important; -webkit-text-fill-color: currentColor; background: none !important; }
.kegl-knopka { display: none !important; }

/* ---------- 7. Одна липкая «Спросить Хрису» ---------- */

.e-sprosit {
  position: fixed; z-index: 70;
  left: 16px; right: 16px; bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--e-sprosit-h);
  padding: 0 24px;
  border-radius: var(--e-r-knopka);
  background: var(--e-akcent); color: var(--e-na-akcente) !important;
  font: 600 17px/1.2 var(--e-shrift);
  text-decoration: none !important;
  box-shadow: var(--e-ten-knopki);
  transition: transform .25s ease, opacity .25s ease;
}
.e-sprosit .e-marka { width: 22px; height: 22px; flex-basis: 22px; color: currentColor; }
/* Спрятанная липкая — спрятана и для клавиатуры и экранного чтеца (круг 2541:
   прозрачная кнопка оставалась в порядке Tab и под плашкой cookie). Видимость
   гаснет после анимации, а появляется сразу. */
.e-sprosit { transition: transform .25s ease, opacity .25s ease, visibility 0s; }
.e-sprosit[data-skryta="1"] { transform: translateY(140%); opacity: 0; pointer-events: none;
  visibility: hidden; transition: transform .25s ease, opacity .25s ease, visibility 0s linear .25s; }
/* Плашка cookie стоит СВЕРХУ страницы (задача 2550) — липкой снизу
   подниматься не над чем, её место не зависит от плашки. */
@media (min-width: 721px) {
  .e-sprosit { left: auto; right: 24px; bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) { .e-sprosit { transition: none; } }

/* ---------- 8. Плашка cookie: одна полоса сверху, не выше 12 % экрана ---------- */

/* ПОЛОСА СВЕРХУ И В ПОТОКЕ, А НЕ ПОВЕРХ ТЕКСТА (задача 2550).
   Липкая полоса снизу на телефоне лежала на последней строке первого экрана
   (контролёр вёрстки, круг #2543: 49 px на /kontakty/ 390; проба плашки
   этого круга — на 360/390/414/430 и на странице услуги тоже). Нижний
   отступ модуля (padBody) этого не лечил: он спасает конец страницы, а гость
   видит начало. Теперь полоса стоит у верхнего края документа и уезжает
   вместе со страницей, а body получает сверху отступ ровно в её высоту —
   полоса физически ничего не закрывает ни на какой ширине.
   Движок модуля не тронут: он по-прежнему меряет высоту в --cknote-h на
   <html>. Её переносим в --cknote-verh (отступ сверху), а внутри body
   --cknote-h обнуляем: по ней шесть таблиц стилей (чат, окно Хрисы, подвал,
   нижний отступ и подъём .mcta-bar из самого модуля) поднимают НИЖНИЕ блоки
   над полосой — снизу полосы больше нет, запас не нужен.
   Пока класса cknote-on нет (до замера и сразу после «Понятно»), полоса
   невидима: отступ и полоса приходят и уходят одним кадром. */
html.cknote-on { --cknote-verh: var(--cknote-h, 0px); scroll-padding-bottom: 0 !important; }
html.cknote-on body { --cknote-h: 0px; padding-top: var(--cknote-verh, 0px) !important; }
html body .cknote {
  position: absolute !important; top: 0 !important; bottom: auto !important;
  transform: none !important; transition: none !important;
}
html:not(.cknote-on) body .cknote { visibility: hidden !important; }
/* Место под полосу — с первого кадра, до ленивой загрузки модуля: класс
   cknote-zhdi ставит встроенный скрипт темы в <head>, если гость полосу ещё
   не закрывал (vid_v2.py, TEMA). Ступени — замер высоты полосы развёрткой
   ширин 320–1440 (круг 2550): до 373 px — 91, 374–423 — 75, дальше — 61.
   Та же высота — минимум самой полосы: запас и полоса совпадают, и страница
   не сдвигается, когда полоса встаёт на своё место. */
html.cknote-zhdi:not(.cknote-on) body { padding-top: 61px !important; }
html body .cknote { min-height: 61px; }
@media (max-width: 423px) {
  html.cknote-zhdi:not(.cknote-on) body { padding-top: 75px !important; }
  html body .cknote { min-height: 75px; }
}
@media (max-width: 373px) {
  html.cknote-zhdi:not(.cknote-on) body { padding-top: 91px !important; }
  html body .cknote { min-height: 91px; }
}
/* Вид: черта — снизу, у края с текстом. */
html body .cknote {
  padding: env(safe-area-inset-top, 0px) 0 0 !important;
  background: var(--e-pole) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--e-ramka) !important;
  box-shadow: none;
}
html body .cknote__in {
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important;
  gap: 10px !important; padding: 6px 12px !important; max-width: 1200px; margin: 0 auto;
}
html body .cknote__text {
  flex: 1 1 0 !important; min-width: 0; margin: 0 !important;
  font: 12px/1.3 var(--e-shrift) !important; color: var(--e-seryy) !important;
}
html body .cknote__text a { color: var(--e-ssylka) !important; }
html body .cknote__btn {
  flex: 0 0 auto !important; width: auto !important;
  min-height: 48px !important; padding: 0 16px !important;
  border-radius: var(--e-r-knopka) !important;
  background: var(--e-akcent) !important; color: var(--e-na-akcente) !important;
  border: 0 !important; font: 600 15px/1 var(--e-shrift) !important;
}
@media (min-width: 721px) { html body .cknote__text { font-size: 14px !important; } }

/* ---------- 9. Главная (задача 2493): «С чем помочь?» и три входа ---------- */

/* Первый экран — целиком одна мысль: подвал начинается ниже края экрана. */
.e-glavnaya { max-width: 1120px; margin: 0 auto; padding: 36px 20px 24px; box-sizing: border-box; min-height: calc(100vh - 65px); min-height: calc(100svh - 65px); }
.e-glavnaya h1 { margin: 0 0 10px; }
.e-glavnaya .e-pod { margin: 0 0 26px; color: var(--e-seryy) !important; }
.e-vhody { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.e-vhody li { max-width: none !important; margin: 0; }
/* Круг #2543 (ответ Г1 «А»): входы — навигация, карточки ОБВОДКОЙ без заливки
   днём и ночью; единственная залитая кнопка первого экрана — «Спросить Хрису».
   Обводка — серый текст темы (6,7:1 днём, 8:1 ночью), рамка темы её не видна. */
.e-vhod {
  display: flex; align-items: center; gap: 16px;
  min-height: 88px; padding: 18px 20px;
  border: 1.5px solid var(--e-seryy); border-radius: var(--e-r-plitka);
  background: transparent; box-shadow: none;
  color: var(--e-tekst) !important; text-decoration: none !important;
}
.e-vhod:hover { border-color: var(--e-akcent); }
.e-vhod-slova { flex: 1 1 auto; display: grid; gap: 4px; }
.e-vhod-imya { font: 600 21px/1.25 var(--e-shrift-zag); color: var(--e-tekst); }
.e-vhod-stroka { font-size: var(--e-kegl); line-height: 1.5; color: var(--e-seryy); }
.e-vhod-strelka { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--e-plitka); color: var(--e-akcent); }
.e-vhod-strelka svg { width: 18px; height: 18px; }
@media (min-width: 900px) {
  .e-glavnaya { padding-top: 72px; }
  .e-vhody { grid-template-columns: repeat(3, 1fr); }
  .e-vhody li { display: flex; }   /* #2543: три карточки ряда — одной высоты */
  .e-vhod { flex: 1 1 auto; flex-direction: column; align-items: flex-start; min-height: 190px; }
  .e-vhod-strelka { margin-top: auto; }
}

/* ---------- 9. Круг 3 (задача 2513): правки вердикта Г1 v2 ---------- */

/* п.6 «Что в разделе»: одна колонка — название, под ним пояснение, всё слева. */
.panel-rows li { display: grid !important; grid-template-columns: auto 1fr; column-gap: 10px; align-items: start; }
.panel-rows .panel-id { grid-row: 1 / span 2; }
/* Номер строки панели — цвет подписи вида v2 (круг 2541: прежний серый hub.css
   давал 3,89:1 при пороге 4,5; --e-seryy — 7:1 днём, 6,5:1 ночью). */
.hub-panel .panel-id { color: var(--e-seryy); }
.panel-rows .panel-tag { grid-column: 2; }
.panel-rows .panel-time { grid-column: 2; text-align: left !important; justify-self: start; margin-left: 0 !important;
  color: var(--e-seryy) !important; white-space: normal !important; }

/* п.7 «Ещё N»: карточки сверх трёх — под одной кнопкой, зона нажатия 48 px. */
.e-esche { margin-top: 16px; border: 0 !important; background: none !important; box-shadow: none !important; }
.e-esche > summary {
  list-style: none; display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px;
  border: 1px solid var(--e-ramka); border-radius: var(--e-r-knopka); cursor: pointer;
  font: 500 16px/1.2 var(--e-shrift); color: var(--e-tekst);
}
.e-esche > summary::-webkit-details-marker { display: none; }
.e-esche[open] > summary { display: none; }
.e-esche > .grid { margin-top: 0; }

/* п.8 блок со счётчиком — только с цифрой (открывает edinyy.js). /alex/: цвета
   манифеста — переменными темы, огненная рамка прежней палитры снята. */
[data-e-zhdet-cifru][hidden] { display: none !important; }
.mnf-ramka {
  --rmk-pole: var(--e-pole); --rmk-liniya: var(--e-ramka); --rmk-bukvy: var(--e-tekst); --rmk-tihie: var(--e-seryy);
  background-image: none !important; border-color: var(--e-ramka) !important;
}
.mnf-ramka::after, .mnf-ramka::before { content: none !important; display: none !important; }
.mnf-lokap, .mnf-text { color: var(--e-tekst) !important; -webkit-text-fill-color: currentColor; background: none !important; }
.mnf-pozyvnoy { color: var(--e-metka) !important; -webkit-text-fill-color: currentColor; background: none !important; }

/* п.9 подвал: текст 16 px, заголовки без капители; ссылки, крошки и «→» — зона 44 px. */
.pdv, .pdv p, .pdv li, .pdv a, .pdv span, .pdv summary, .pdv small { font-size: 16px !important; line-height: 1.5; }
.pdv h2, .pdv h3, .pdv h4, .pdv .pdv-zag, .pdv summary { font-size: 16px !important; text-transform: none !important;
  letter-spacing: 0 !important; font-variant: normal !important; }
.pdv a { display: inline-flex; align-items: center; min-height: 44px; }
main nav[aria-label="Хлебные крошки"] a, main .go, main a.go, main .dalshe a, main .panel-foot a, main .e-ssylka-odna {
  display: inline-flex; align-items: center; min-height: 44px;
}
.pdv-lang a, .pdv-lang > span, .pdv [aria-label^="Язык"] { display: inline-flex; align-items: center; min-height: 44px; }

/* п.7 телефон: блоки плотнее — поля секций 40 px вместо 56, заголовок блока ближе к делу
   (граница канона — блок не длиннее двух экранов 390×844). */
.e-gruppa { border: 0 !important; background: none !important; box-shadow: none !important; }
.e-gruppa > summary { list-style: none; display: flex; align-items: center; min-height: 48px; cursor: pointer; }
.e-gruppa > summary::-webkit-details-marker { display: none; }
.e-gruppa > summary h2 { margin: 0 !important; font-size: 20px !important; }
.e-gruppa > summary::after { content: "+"; margin-left: auto; padding-left: 12px; color: var(--e-seryy); font-size: 22px; }
.e-gruppa[open] > summary::after { content: "−"; }
@media (max-width: 720px) {
  .form2 .field { margin-bottom: 10px !important; }
}
main .tbl td > a, main .tbl td > b > a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 720px) {
  main .section { --sect: 32px; }
  main .section-head { margin-bottom: 20px !important; }
  main .grid { gap: 14px !important; }
  main .card { padding: 20px !important; }
}
main .e-ssylka-zona, main .btn-outline-gold, main .founders-go, main .e-tretya {
  display: inline-flex; align-items: center; min-height: 44px;
}
@media (max-width: 720px) { main .card { padding: 18px !important; } }
@media (min-width: 1024px) { main p, main li, main blockquote { max-width: var(--e-stroka) !important; } }

/* п.10 телефон: без появления блоков и без второго декоративного слоя поверх теней. */
@media (max-width: 720px) {
  .fade, .fade.in, .fade.is-in, .fade.vis, .fade.visible, .fade.pokazan {
    opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important;
  }
  main [class*="card"]::before, main [class*="card"]::after, main .panel::before, main .panel::after,
  main [data-ogon]::after, .pdv [data-ogon]::after { content: none !important; display: none !important; }
  body::before, body::after { content: none !important; display: none !important; }
}

/* п.12 ПК: колонка текста ≈ 590 px (~65 знаков); 3–4 раздела строкой в шапке. */
@media (min-width: 1024px) {
  :root { --e-stroka: 590px; }
  .hdr-nav { display: flex !important; align-items: center; gap: 4px; margin-left: 24px; }
  .hdr-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; font-size: 16px; text-decoration: none; }
  .hdr-nav a:nth-child(n+5) { display: none !important; }
}

/* ---------- 10. Подвал ровно, главная без пустой полосы (задача 2600) ---------- */
/* Слово Лёхи 27.09: «подвал кривой». Юридическая линия («© · Документы · …»)
   на телефоне разъезжалась на три уровня: у ссылок подвала зона нажатия 44 px
   (раздел выше), у «©» — строка текста, и они стояли на разной высоте; точку-
   разделитель рисовал `li + li::before`, и при переносе она висела в начале
   новой строки. Теперь у каждого пункта линии та же высота 44 px, выравнивание
   по центру, разделитель — промежуток, а не точка; на телефоне — два ровных
   столбца. */
.pdv .pdv-bottom { align-items: center; }
.pdv .pdv-yur { align-items: center; gap: 0 24px; }
.pdv .pdv-yur li { display: inline-flex; align-items: center; min-height: 44px; }
.pdv .pdv-yur li + li::before { content: none; }
.pdv .pdv-yur li[hidden] { display: none; }
@media (max-width: 720px) {
  .pdv .pdv-yur { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; flex: 1 1 100%; }
}
/* Главная: первый экран держал высоту всего окна (#2493, «подвал ниже края
   экрана»), и под тремя входами до «Все услуги» стояла пустая тёмная полоса.
   Слово Лёхи 27.09 её сняло: подвал идёт сразу за входами. */
.e-glavnaya { min-height: 0 !important; padding-bottom: 48px; }
.e-glavnaya-knopka { margin: 20px 0 0; }
.e-glavnaya-knopka .btn { width: 100%; max-width: 420px; }
/* Блок «Заявка» без формы (задача 2600): на столе он оставался сеткой в две
   колонки под снятую форму — кнопка висела справа вверху, под текстом
   пустота. Теперь одна колонка: заголовок, фраза, кнопка под ней. */
.form-wrap.zayavka-chat { display: block; max-width: 720px; }
.zayavka-chat .zayavka-chat-knopka { margin: 24px 0 0; max-width: 420px; }
/* Зеркала EN и 中文 (задача 2600): почта рядом с кнопкой разговора. */
.zayavka-pochta { margin: 12px 0 0; color: var(--e-seryy) !important; }
.zayavka-pochta a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---------- 11. Зеркала EN и 中文: крошки (задача 2610, п.3 файла Г1) ----------
   Отступ крошек от надзаголовка задан в style2.css только для русской
   подписи nav[aria-label] (1.2rem), и у EN/中文 крошки стояли вплотную
   к надзаголовку (зазор 0 px, щуп круга). Те же правила — для подписей
   зеркал: отступ 1.2rem и зона нажатия 44 px, как у русских. */
main nav[aria-label="Breadcrumbs"], main nav[aria-label="面包屑导航"] { margin-bottom: 1.2rem; }
main nav[aria-label="Breadcrumbs"] a, main nav[aria-label="面包屑导航"] a {
  display: inline-flex; align-items: center; min-height: 44px;
}
/* «Команда» (задача 2610, хвост #2587): кнопка страницы под вводным абзацем. */
.komanda-hiro-knopka { margin: 20px 0 0; }
.komanda-hiro-knopka .btn { width: 100%; max-width: 420px; }
