/* ================================================================
   МОСТИК — Global Design System CSS
   Версия 1.0  |  Тильда → Настройки сайта → Ещё → CSS → вставить

   Содержит:
   1. Подключение шрифтов
   2. CSS-переменные (токены)
   3. Сброс Tilda-стилей
   4. Базовые стили тела и типографики
   5. Утилиты: .eyebrow, .h2, .h3, .lead, .container
   6. Компоненты: кнопки, карточки услуг, анимации
   7. Адаптив
   8. Scroll-progress bar (глобальный)
================================================================ */



/* ──────────────────────────────────────────────────────────────
   2. CSS-ПЕРЕМЕННЫЕ (ТОКЕНЫ)
────────────────────────────────────────────────────────────── */
:root {
  /* Фоны — кремово-тёплая бумага */
  --bg:          #F5EEE0;
  --bg-soft:     #EFE6D3;
  --bg-card:     #FBF6EB;
  --paper:       #FFFBF2;

  /* Текст — оливково-лесная гамма */
  --ink:         #2E3420;
  --ink-soft:    #55583F;
  --ink-mute:    #8A8A70;

  /* Линии / разделители */
  --line:        #D9CEB4;
  --line-soft:   #E6DCC4;

  /* Бренд — оливковый */
  --olive:       #5B6437;
  --olive-dark:  #3F4522;
  --olive-light: #8A9455;

  /* Дерево — акцент */
  --wood:        #C48B4C;
  --wood-dark:   #9F6A32;
  --wood-light:  #E6B981;
  --wood-soft:   #F0D7B0;

  /* Дополнительные акценты */
  --amber:       #E3A24B;
  --clay:        #B85C3A;

  /* Тени */
  --shadow-sm:   0 1px 2px rgba(63,69,34,.06), 0 2px 8px rgba(63,69,34,.04);
  --shadow-md:   0 4px 16px rgba(63,69,34,.08), 0 2px 4px rgba(63,69,34,.04);
  --shadow-lg:   0 12px 40px rgba(63,69,34,.14), 0 4px 12px rgba(63,69,34,.06);

  /* Радиусы */
  --r-xs:        6px;
  --r-sm:        10px;
  --r-md:        16px;
  --r-lg:        24px;
  --r-xl:        36px;
  --r-full:      999px;

  /* Шрифтовые стеки */
  --serif:       'Lora', 'PT Serif', Georgia, serif;
  --sans:        'Manrope', 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Контейнер */
  --container:   1240px;
  /* Z-index слои */
  --z-below:    -1;
  --z-base:      0;
  --z-content:   1;
  --z-elevated:  2;
  --z-nav:    1000;
  --z-nav-top: 1200;
  --z-overlay: 9999;
  --z-toast:  99999;

  /* ── Используется в page-блоках, не удалять ── */
  --leaf:        #6E8A3D;   /* зелёный — иконки 3-го шага процесса */
  --error:     #E24B4A;
  /* Letter-spacing tokens */
  --ls-tight:   -.02em;
  --ls-normal:   0em;
  --ls-wide:     .07em;
  --ls-wider:    .12em;
  --ls-widest:   .14em;
  /* Animation tokens */
  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;
  --ease-std: cubic-bezier(0.4, 0, 0.2, 1);
  /* Line-height tokens */
  --lh-tight:  1.2;
  --lh-body:   1.5;
  --lh-loose:  1.65;
  /* Shadow tokens */
  --shadow-sm: 0 2px 10px rgba(46,52,32,.14);
  --shadow-md: 0 6px 18px rgba(46,52,32,.18);
  --shadow-lg: 0 20px 60px rgba(46,52,32,.20);
  /* Font-size scale tokens (reference для правок страниц) */
  --fs-h1:      clamp(42px, 5.6vw, 82px);
  --fs-h2:      clamp(30px, 3.6vw, 52px);
  --fs-h3:      clamp(22px, 2.2vw, 30px);
  --fs-body-lg: clamp(16px, 1.3vw, 19px);
  --fs-body:    clamp(14px, 1.1vw, 16px);
  --fs-sm:      clamp(12px, 0.9vw, 14px);
  /* Status / semantic tokens */
  --focus-ring: var(--olive, #8A9E4A);
  --success:    #4A7C59;
  --warning:    #C48B4C;
  /* Spacing scale — 8-point grid */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
}

/* ──────────────────────────────────────────────────────────────
   3. СБРОС TILDA-СТИЛЕЙ
   Обнуляем паддинги секций и контейнеров чтобы T123-блоки
   занимали 100% ширину без лишних отступов.
────────────────────────────────────────────────────────────── */
.t-section,
.t-section_color,
.t-col,
div.t-section {
  padding: 0 !important;
  margin: 0 !important;
}

.t-container,
.t-container_100,
.t-width,
.t-width_100 {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* T123 — убираем дефолтный бордер и паддинг обёртки */
.t123 {
  padding: 0 !important;
  border: none !important;
}

/* Скрыть дефолтный Tilda-header если есть */
.t-cover__carrier {
  background-size: cover;
}

/* ──────────────────────────────────────────────────────────────
   4. БАЗОВЫЕ СТИЛИ
────────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0 !important;
  font-family: var(--sans) !important;
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink) !important;
  background: var(--bg) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* Фоновая текстура — тонкие радиальные градиенты */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse at 20% 10%, rgba(196,139,76,.08), transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(91,100,55,.07), transparent 55%);
  z-index: 0;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  font-family: var(--serif) !important;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
}

p  { margin: 0; }
a  { color: inherit; text-decoration: none; }

/* Ссылки внутри статей блога — акцентный цвет, перебивает сброс выше */
.t-redactor__text a {
  color: #9F6A32;
  text-decoration: underline;
  text-decoration-color: #9F6A32;
  text-underline-offset: 2px;
  transition: color .15s ease, text-decoration-color .15s ease;
}
.t-redactor__text a:hover {
  color: #2E3420;
  text-decoration-color: #2E3420;
}
em { font-style: italic; }
img { max-width: 100%; display: block; }

button {
  font-family: var(--sans);
  cursor: pointer;
}

/* ──────────────────────────────────────────────────────────────
   5. УТИЛИТЫ И ТИПОГРАФИКА
────────────────────────────────────────────────────────────── */

/* Контейнер */
.mk-container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

/* Надпись-рубрика над заголовком */
.mk-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--olive);
}
.mk-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--olive);
  flex-shrink: 0;
}

/* Заголовки */
.mk-h1 {
  font-family: var(--serif);
  font-size: clamp(48px, 6.2vw, 88px);
  line-height: 1.0;
  font-weight: 500;
  letter-spacing: -0.028em;
  color: var(--ink);
}
.mk-h1 em { color: var(--wood-dark); font-style: italic; }

.mk-h2 {
  font-family: var(--serif);
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.06;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mk-h2 em { color: var(--wood-dark); font-style: italic; }

.mk-h3 {
  font-family: var(--serif);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  font-weight: 500;
  color: var(--ink);
}

/* Подзаголовок / лид */
.mk-lead {
  font-size: clamp(16px, 1.4vw, 19px);
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 62ch;
  text-wrap: pretty;
}

/* Секция */
.mk-section {
  padding: 96px 0;
  position: relative;
}

.mk-section-tight {
  padding: 72px 0;
}

/* Шапка секции: одна строка — eyebrow + h2 */
.mk-section-head {
  max-width: 880px;
  margin-bottom: 56px;
}

/* Шапка секции: split — заголовок слева, лид справа */
.mk-section-head-split {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 56px;
}

/* ──────────────────────────────────────────────────────────────
   6. КОМПОНЕНТЫ
────────────────────────────────────────────────────────────── */

/* ── Кнопки ── */
.mk-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  border-radius: var(--r-full);
  font-family: var(--sans);
  font-weight: 700;
  font-size: 15px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  min-height: 44px;
}

.mk-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Основная (тёмная) */
.mk-btn-primary {
  background: var(--ink);
  color: var(--paper);
  box-shadow: var(--shadow-md);
}
.mk-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
  background: var(--olive-dark);
}

/* Контурная */
.mk-btn-ghost {
  background: transparent;
  color: var(--ink);
  border: 1.5px solid var(--ink);
}
.mk-btn-ghost:hover {
  background: var(--ink);
  color: var(--paper);
}

/* Дерево-акцент */
.mk-btn-wood {
  background: var(--wood);
  color: #fff;
  box-shadow: var(--shadow-md);
}
.mk-btn-wood:hover {
  transform: translateY(-2px);
  background: var(--wood-dark);
}

/* Оливковая */
.mk-btn-olive {
  background: var(--olive);
  color: #fff;
  box-shadow: var(--shadow-md);
}
.mk-btn-olive:hover {
  transform: translateY(-2px);
  background: var(--olive-dark);
}

/* ── Карточки услуг ── */
.mk-svc-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 32px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex;
  flex-direction: column;
  min-height: 260px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: var(--ink);
}
.mk-svc-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--wood-light);
}

/* Акцентные карточки */
.mk-svc-card--dark {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.mk-svc-card--wood {
  background: var(--wood);
  color: #fff;
  border-color: var(--wood);
}
.mk-svc-card--olive {
  background: var(--olive);
  color: var(--paper);
  border-color: var(--olive);
}

/* Точечный орнамент на акцентных карточках */
.mk-svc-card--dark::after,
.mk-svc-card--wood::after,
.mk-svc-card--olive::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: 180px;
  height: 180px;
  background-image: radial-gradient(circle, rgba(255,255,255,.18) 1.5px, transparent 2px);
  background-size: 14px 14px;
  pointer-events: none;
}

/* ── Пил-теги (возраст, метки) ── */
.mk-pill {
  display: inline-block;
  padding: 4px 12px;
  background: var(--bg-soft);
  border-radius: var(--r-full);
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-soft);
}

.mk-pill--olive {
  background: var(--olive);
  color: var(--paper);
}

.mk-pill--wood {
  background: var(--wood);
  color: #fff;
}

/* ── Анимации появления ── */
.mk-fade-up {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .35s ease, transform .35s ease;
}
.mk-fade-up.mk-visible {
  opacity: 1;
  transform: translateY(0);
}

.mk-fade-up.mk-delay-1 { transition-delay: .05s; }
.mk-fade-up.mk-delay-2 { transition-delay: .10s; }
.mk-fade-up.mk-delay-3 { transition-delay: .15s; }
.mk-fade-up.mk-delay-4 { transition-delay: .20s; }
.mk-fade-up.mk-delay-5 { transition-delay: .25s; }

/* ── FAQ-аккордеон ── */
.mk-faq-item {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: border-color .2s;
}
.mk-faq-item.is-open {
  border-color: var(--wood);
}

.mk-faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 22px 26px;
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
  cursor: pointer;
  color: var(--ink);
  user-select: none;
}

.mk-faq-ico {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--bg-soft);
  display: grid;
  place-items: center;
  color: var(--ink);
  transition: background .2s, transform .3s;
}
.mk-faq-item.is-open .mk-faq-ico {
  background: var(--wood);
  color: #fff;
  transform: rotate(45deg);
}

.mk-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  padding: 0 26px;
  font-size: 15px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.mk-faq-item.is-open .mk-faq-a {
  max-height: 400px;
  padding-bottom: 22px;
}

/* ── Статистика (числа с подписями) ── */
.mk-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}

.mk-stat-num {
  font-family: var(--serif);
  font-size: clamp(36px, 3.6vw, 52px);
  line-height: 1;
  color: var(--wood-dark);
  font-weight: 500;
}

.mk-stat-lbl {
  font-size: 13px;
  color: var(--ink-soft);
  margin-top: 6px;
}

/* ── Ticker / Marquee ── */
.mk-ticker {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg-soft);
  padding: 18px 0;
  overflow: hidden;
}

.mk-ticker-track {
  display: flex;
  gap: 56px;
  white-space: nowrap;
  animation: mk-scroll 40s linear infinite;
  width: max-content;
}

.mk-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 20px;
  color: var(--olive-dark);
  flex-shrink: 0;
}

.mk-ticker-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--wood);
  flex-shrink: 0;
}

@keyframes mk-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Scroll progress bar ── */
.mk-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, var(--olive), var(--wood));
  z-index: var(--z-overlay);
  transition: width .1s linear;
}

/* ──────────────────────────────────────────────────────────────
   7. АДАПТИВ (глобальный)
────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .mk-section        { padding: 64px 0; }
  .mk-section-tight  { padding: 48px 0; }
  .mk-container      { padding: 0 20px; }

  .mk-section-head-split {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .mk-stats { gap: 24px; }
}

@media (max-width: 600px) {
  .mk-section       { padding: 48px 0; }
  .mk-container     { padding: 0 16px; }
  .mk-btn           { width: 100%; justify-content: center; }
}

/* ──────────────────────────────────────────────────────────────
   8. SCROLL PROGRESS — авто-инжект через JS в 
   (JS-код добавляется через «HTML-код в » в настройках)
   Здесь только CSS-класс .mk-progress, JS ниже отдельным блоком.
────────────────────────────────────────────────────────────── */

/* ──────────────────────────────────────────────────────────────
   9. УТИЛИТЫ ДЛЯ T123-БЛОКОВ
   Общие хелперы, которые можно навешивать на любой блок.
────────────────────────────────────────────────────────────── */

/* Тёмный фон-секция (как «Как работаем» и «Запись») */
.mk-bg-dark  { background: var(--ink);    color: var(--paper); }
.mk-bg-olive { background: var(--olive);  color: var(--paper); }
.mk-bg-wood  { background: var(--wood);   color: #fff;         }
.mk-bg-soft  { background: var(--bg-soft); }
.mk-bg-paper { background: var(--paper);  }

/* Разделители */
.mk-border-top    { border-top:    1px solid var(--line); }
.mk-border-bottom { border-bottom: 1px solid var(--line); }

/* Текстовые утилиты */
.mk-text-muted  { color: var(--ink-mute); }
.mk-text-olive  { color: var(--olive); }
.mk-text-wood   { color: var(--wood-dark); }

/* ── FIX: Tilda overrides #allrecords a { color: #7a9e7e } ──
   Восстанавливаем правильные цвета nav-ссылок и ghost-кнопок */
#allrecords .nav-bar__links a {
  color: var(--ink-soft);
}
#allrecords .nav-bar__links a:hover {
  color: var(--ink);
  background: rgba(91,100,55,.07);
}
#allrecords .mk-btn-ghost {
  color: var(--ink);
}
/* ══════════════════════════════════════════════════════════
   СИСТЕМА РАЗМЕРОВ КНОПОК
   NAV = 40px  │  MD = 44px  │  LG = 52px
   #allrecords-префикс нужен чтобы перебить Tilda-блоки
══════════════════════════════════════════════════════════ */

/* LG — hero CTA, форма записи */
#allrecords .h2-btn,
#allrecords .lp-btn,
#allrecords .b9__cta {
  height: 52px;
  min-height: 52px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  box-sizing: border-box;
}

/* MD — вторичные кнопки в секциях */
#allrecords .b4__subject-btn,
#allrecords .b4__panel-foot-cta,
#allrecords .mk-btn {
  height: 44px;
  min-height: 44px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  box-sizing: border-box;
}

/* NAV — компактная кнопка в шапке */
#allrecords .nav-bar__cta {
  height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  box-sizing: border-box;
}

/* LG — педагог, footer-CTA */
#allrecords .b5__footer-cta,
#allrecords .b6__cta,
#allrecords .b11__cta {
  height: 52px;
  min-height: 52px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  box-sizing: border-box;
}

/* MD — FAQ вопрос */
#allrecords .b10__head-cta {
  height: 44px;
  min-height: 44px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  box-sizing: border-box;
}
/* ══════════════════════════════════════════════════════════
   H1 УНИФИКАЦИЯ — единый стиль между страницами
   Главная: max 82px / Внутренние: max 76px (иерархия ~7%)
   line-height и letter-spacing одинаковые везде
══════════════════════════════════════════════════════════ */

/* Главная — не трогаем размер, только выравниваем lh */
#allrecords .h2-hero__title {
  font-size: clamp(42px, 5.6vw, 82px);
  line-height: 1.02;
  letter-spacing: -0.026em;
}

/* Внутренние страницы — поднимаем до 76px, синхронизируем lh */
#allrecords .lp-hero__title {
  font-size: clamp(38px, 5vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.026em;
}
/* Fix: текст светлый на тёмных кнопках */
#allrecords a.h2-btn--primary,
#allrecords a.lp-btn--primary,
#allrecords a.nav-bar__cta {
  color: var(--paper, #FFFBF2);
}
/* Fix: цвет текста на тёмных/amber кнопках — перебиваем #allrecords a */
#allrecords a.b4__subject-btn,
#allrecords a.b4__panel-foot-cta,
#allrecords a.b6__cta,
#allrecords a.b10__head-cta {
  color: var(--paper, #FFFBF2);
}

#allrecords a.b5__footer-cta,
#allrecords a.b11__cta {
  color: #fff;
}

#allrecords a.b8__row-btn {
  color: rgba(255, 255, 255, 0.6);
}
/* Fix: ссылки и элементы футера .b11 */
#allrecords .b11__links a {
  color: rgba(255, 255, 255, 0.6);
}
#allrecords .b11__links a:hover {
  color: var(--wood-light, #E6B981);
}
#allrecords .b11__legal a {
  color: rgba(255, 255, 255, 0.42);
}
#allrecords .b11__legal a:hover {
  color: rgba(255, 255, 255, 0.7);
}
#allrecords a.b11__social {
  color: rgba(255, 255, 255, 0.55);
}
#allrecords a.b11__contact-val {
  color: rgba(255, 255, 255, 0.65);
}
#allrecords a.b11__cta {
  color: #fff;
}
/* ══════════════════════════════════════════════════════════
   Z-INDEX СИСТЕМА — привязка page-блоков к токенам
   6 семантических уровней вместо магических чисел
══════════════════════════════════════════════════════════ */
#allrecords .nav-progress { z-index: var(--z-nav-top); }
#allrecords #mk-preloader { z-index: var(--z-overlay); }
/* ══════════════════════════════════════════════════════════
   FIX #10: FONT-WEIGHT УНИФИКАЦИЯ
   3 уровня: 500 (serif-заголовки) / 600 (nav, подписи) / 700 (UI-кнопки)
   Убираем 800 — только 6 правил в b9, визуально неотличимо от 700
══════════════════════════════════════════════════════════ */
#allrecords .b9__panel-title,
#allrecords .b9__card-name,
#allrecords .b9__cta {
  font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════
   CRITICAL FIXES v2 — UI Audit 2.0
   C1: Focus ring — override Tilda default #2015FF → brand olive
   C3: .b8__row-btn min-height 32px → 44px (WCAG 2.5.5)
   C4: Tilda default text color #2d2d2d → var(--ink)
══════════════════════════════════════════════════════════ */

/* C1 — Brand focus ring */
#allrecords :focus-visible {
  outline-color: var(--olive, #8A9E4A) !important;
}

/* C3 — WCAG touch target: b8__row-btn */
#allrecords a.b8__row-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

/* C4 — Tilda default text → design token */
#allrecords .t-text,
#allrecords .t-name,
#allrecords .t-title,
#allrecords .t-descr {
  color: var(--ink, #2E3420);
}

/* ═══════════════════════════════════════════════════════════
   C2 — Токенизация цвета ошибки валидации форм
   #E24B4A → var(--error) через систему токенов
══════════════════════════════════════════════════════════ */
#allrecords .b9__input.is-error,
#allrecords .lp-form__input.is-error {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 3px rgba(226, 75, 74, .08);
}

/* ═══════════════════════════════════════════════════════════
   MEDIUM FIXES v2 — UI Audit 2.0
   M1: font-weight 800 → 700 (lp-form остатки)
   M3: letter-spacing токенизация (токены в :root выше)
   M7: transition duration токенизация
══════════════════════════════════════════════════════════ */

/* M1 — font-weight 800 → 700: lp-form блоки */
#allrecords .lp-form__title,
#allrecords .lp-form__btn {
  font-weight: 700;
}

/* M7 — Unified transitions на интерактивных элементах */
#allrecords a,
#allrecords button,
#allrecords input,
#allrecords select,
#allrecords textarea {
  transition-duration: var(--duration-normal);
  transition-timing-function: var(--ease-std);
}

/* ═══════════════════════════════════════════════════════════
   M2 — Line-height унификация
   M6 — Shadow токенизация (токены в :root выше)
══════════════════════════════════════════════════════════ */

/* M2 — Унификация line-height для основных текстовых элементов */
#allrecords .t-title,
#allrecords .tn-atom__h1,
#allrecords .tn-atom__h2,
#allrecords .tn-atom__h3 {
  line-height: var(--lh-tight, 1.2);
}
#allrecords .t-text,
#allrecords .t-descr,
#allrecords .tn-atom__p {
  line-height: var(--lh-body, 1.5);
}

/* ═══════════════════════════════════════════════════════════
   MINOR FIXES — UI Audit 2.0
   m1: font-size 9px → 11px (badge-лейблы в прайс-блоках)
   m6: table border #ddd → var(--line)
══════════════════════════════════════════════════════════ */

/* m1 — Badge min font-size (WCAG readability) */
#allrecords .b8__row-badge,
#allrecords .lp-pcard__row-badge {
  font-size: 11px;
}

/* m6 — Table border token */
#allrecords .t004 table,
#allrecords .t004 td,
#allrecords .t004 th {
  border-color: var(--line, #D8D5C8);
}

/* ═══════════════════════════════════════════════════════════
   РАЗДЕЛЫ 6–10 — UI Audit 2.0
   Sections 6/10: status tokens + spacing scale (в :root выше)
   Sections 7/8:  explicit input min-height
══════════════════════════════════════════════════════════ */

/* Раздел 7/8 — Input explicit min-height (44px+ WCAG) */
#allrecords .b9__input,
#allrecords .lp-form__input {
  min-height: 52px;
}
.lp-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--ink-mute, #8A8A70);
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
  margin-top: 4px;
}
.lp-form__consent input[type="checkbox"] {
  margin-top: 2px;
  width: 16px;
  height: 16px;
  flex: none;
  accent-color: var(--olive, #5B6437);
  cursor: pointer;
}
.lp-form__consent a { color: var(--olive, #5B6437); }
.lp-form__consent.is-error { color: #a83a2e; }
.lp-form__contact-hint {
  font-size: 11px;
  color: var(--ink-mute, #8A8A70);
  margin: -4px 0 4px;
}
.lp-form__input.is-error {
  border-color: #a83a2e !important;
  background: #fbe2e0 !important;
}
.lp-form__field-err {
  display: none;
  font-size: 11.5px;
  color: #a83a2e;
  margin-top: 5px;
  font-weight: 600;
}
.lp-form__field-err.is-shown { display: block; }
.lp-form__consent.is-error span { color: #a83a2e; }
.lp-form__req { color: #a83a2e; margin-left: 2px; }