/* ==========================================================================
   АВТОБАН — единая стилевая система для embed-блоков на Tilda
   Палитра: «Графит-премиум» (B)
   Подключается в каждый embed-блок через <link href="https://api.avtoban78.ru/static/main.css">
   --------------------------------------------------------------------------
   ВАЖНО: НЕТ глобального reset — это сломало бы стили Tilda.
   Все правила scoped через классы с префиксом .ab-*
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap');

/* ==========================================================================
   1. Дизайн-токены (CSS переменные)
   ========================================================================== */

:root {
  /* --- Палитра «Графит-премиум» --- */
  --ab-primary:        #1F2937;
  --ab-primary-rgb:    31, 41, 55;
  --ab-primary-soft:   #374151;
  --ab-primary-hover:  #111827;

  --ab-accent:         #10B981;
  --ab-accent-rgb:     16, 185, 129;
  --ab-accent-dark:    #059669;
  --ab-accent-soft:    #D1FAE5;

  --ab-dark:           #0B0F14;

  --ab-text:           #1a1a1a;
  --ab-text-soft:      #4a4a4a;
  --ab-muted:          #777777;
  --ab-muted-light:    #9ca3af;

  --ab-border:         #ececef;
  --ab-border-soft:    #f0f0f2;
  --ab-surface:        #f7f7f8;
  --ab-surface-2:      #efeff1;
  --ab-bg:             #ffffff;

  /* --- Контейнер --- */
  --ab-container-max:  1200px;
  --ab-pad-desk:       32px;
  --ab-pad-tab:        24px;
  --ab-pad-mob:        16px;

  /* --- Spacing scale (8pt grid) --- */
  --ab-s-1:  4px;
  --ab-s-2:  8px;
  --ab-s-3:  12px;
  --ab-s-4:  16px;
  --ab-s-5:  20px;
  --ab-s-6:  24px;
  --ab-s-8:  32px;
  --ab-s-10: 40px;
  --ab-s-12: 48px;
  --ab-s-16: 64px;
  --ab-s-20: 80px;

  /* --- Section padding (вертикальные отступы секций) --- */
  --ab-section-py:     80px;
  --ab-section-py-tab: 56px;
  --ab-section-py-mob: 40px;

  /* --- Typography (Onest) --- */
  --ab-font:           'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --ab-font-mono:      'SF Mono', 'JetBrains Mono', 'Consolas', monospace;

  --ab-fs-h1:          48px;
  --ab-fs-h2:          36px;
  --ab-fs-h3:          22px;
  --ab-fs-h4:          18px;
  --ab-fs-body-l:      17px;
  --ab-fs-body:        15px;
  --ab-fs-body-s:      13px;
  --ab-fs-caption:     11px;

  --ab-lh-h1:          1.1;
  --ab-lh-h2:          1.15;
  --ab-lh-h3:          1.25;
  --ab-lh-h4:          1.3;
  --ab-lh-body:        1.55;
  --ab-lh-caption:     1.5;

  --ab-ls-tight:       -0.02em;
  --ab-ls-normal:      0;
  --ab-ls-wide:        0.06em;

  /* --- Border radius --- */
  --ab-r-sm:           8px;
  --ab-r-md:           12px;
  --ab-r-lg:           16px;
  --ab-r-xl:           20px;
  --ab-r-pill:         999px;

  /* --- Shadows --- */
  --ab-sh-1: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06);
  --ab-sh-2: 0 4px 14px rgba(0,0,0,.08);
  --ab-sh-3: 0 12px 28px rgba(0,0,0,.10);
  --ab-sh-4: 0 24px 48px rgba(0,0,0,.14);
  --ab-sh-cta: 0 6px 24px rgba(var(--ab-accent-rgb),.32);
  --ab-sh-cta-hover: 0 12px 32px rgba(var(--ab-accent-rgb),.42);
  --ab-sh-focus: 0 0 0 4px rgba(var(--ab-accent-rgb),.25);

  /* --- Transitions --- */
  --ab-t-fast: 150ms cubic-bezier(.4,0,.2,1);
  --ab-t-base: 220ms cubic-bezier(.4,0,.2,1);
  --ab-t-slow: 400ms cubic-bezier(.4,0,.2,1);
}

/* ==========================================================================
   2. Базовый scope для embed-блоков
   --------------------------------------------------------------------------
   Все наши embed-блоки оборачиваются в корневой div с классом .ab-block.
   Внутри него работает наша типографика и box-sizing — не выливается наружу
   и не ломает Tilda.
   ========================================================================== */

.ab-block,
.ab-block *,
.ab-block *::before,
.ab-block *::after {
  box-sizing: border-box;
}

.ab-block {
  font-family: var(--ab-font);
  font-size: var(--ab-fs-body);
  line-height: var(--ab-lh-body);
  color: var(--ab-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'ss01', 'kern';
}

.ab-block h1,
.ab-block h2,
.ab-block h3,
.ab-block h4 {
  font-family: var(--ab-font);
  font-weight: 700;
  letter-spacing: var(--ab-ls-tight);
  color: inherit;
  margin: 0;
}

.ab-block p { margin: 0; }
.ab-block img { display: block; max-width: 100%; }
.ab-block a { color: inherit; text-decoration: none; }
.ab-block button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* ==========================================================================
   3. Container
   ========================================================================== */

.ab-container {
  max-width: var(--ab-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ab-pad-desk);
  padding-right: var(--ab-pad-desk);
  width: 100%;
}

/* ==========================================================================
   4. Section
   ========================================================================== */

.ab-section {
  padding-top: var(--ab-section-py);
  padding-bottom: var(--ab-section-py);
  background: var(--ab-bg);
}
.ab-section--surface { background: var(--ab-surface); }
.ab-section--dark    { background: var(--ab-primary); color: #fff; }

/* Заголовок секции (head) */
.ab-section__head {
  max-width: 720px;
  margin-bottom: var(--ab-s-12);
}
.ab-section__head--center {
  margin-left: auto; margin-right: auto;
  text-align: center;
}

.ab-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--ab-s-2);
  font-family: var(--ab-font);
  font-size: var(--ab-fs-caption);
  font-weight: 600;
  letter-spacing: var(--ab-ls-wide);
  text-transform: uppercase;
  color: var(--ab-accent-dark);
  margin-bottom: var(--ab-s-5);
}
.ab-eyebrow::before {
  content: '';
  width: 24px; height: 1px;
  background: var(--ab-accent);
}
.ab-section--dark .ab-eyebrow { color: rgba(255,255,255,.66); }
.ab-section--dark .ab-eyebrow::before { background: var(--ab-accent); }

.ab-section__title {
  font-size: var(--ab-fs-h2);
  line-height: var(--ab-lh-h2);
  font-weight: 700;
  letter-spacing: var(--ab-ls-tight);
  color: var(--ab-text);
  margin-bottom: var(--ab-s-4);
}
.ab-section--dark .ab-section__title { color: #fff; }

.ab-section__sub {
  font-size: var(--ab-fs-body-l);
  line-height: var(--ab-lh-body);
  color: var(--ab-muted);
}
.ab-section--dark .ab-section__sub { color: rgba(255,255,255,.7); }

/* ==========================================================================
   5. Buttons
   ========================================================================== */

.ab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ab-s-2);
  font-family: var(--ab-font);
  font-size: var(--ab-fs-body);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  padding: 16px 32px;
  border-radius: var(--ab-r-pill);
  border: 1.5px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: transform var(--ab-t-base), box-shadow var(--ab-t-base), background var(--ab-t-base), border-color var(--ab-t-base), color var(--ab-t-base);
  text-decoration: none;
}
.ab-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Primary — фон accent (изумруд CTA) */
.ab-btn-primary {
  background: var(--ab-accent);
  color: #fff;
  box-shadow: var(--ab-sh-cta);
}
.ab-btn-primary:hover {
  background: var(--ab-accent-dark);
  transform: translateY(-2px);
  box-shadow: var(--ab-sh-cta-hover);
}
.ab-btn-primary:focus-visible {
  outline: none;
  box-shadow: var(--ab-sh-cta), var(--ab-sh-focus);
}
.ab-btn-primary:active { transform: translateY(0); }

/* Secondary — фон primary (графит) */
.ab-btn-secondary {
  background: var(--ab-primary);
  color: #fff;
  border-color: var(--ab-primary);
}
.ab-btn-secondary:hover {
  background: var(--ab-primary-soft);
  border-color: var(--ab-primary-soft);
  transform: translateY(-2px);
  box-shadow: var(--ab-sh-2);
}
.ab-btn-secondary:active { transform: translateY(0); }

/* Ghost — прозрачный с обводкой */
.ab-btn-ghost {
  background: transparent;
  color: var(--ab-text);
  border-color: var(--ab-border);
}
.ab-btn-ghost:hover {
  background: var(--ab-surface);
  border-color: var(--ab-primary);
  color: var(--ab-primary);
}
.ab-section--dark .ab-btn-ghost {
  color: #fff;
  border-color: rgba(255,255,255,.2);
}
.ab-section--dark .ab-btn-ghost:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.4);
  color: #fff;
}

/* Sizes */
.ab-btn--sm { padding: 10px 18px; font-size: var(--ab-fs-body-s); }
.ab-btn--lg { padding: 20px 40px; font-size: var(--ab-fs-body-l); }

/* Стрелка вправо — utility для CTA-кнопок (плавный сдвиг) */
.ab-btn .ab-btn__arrow { transition: transform var(--ab-t-base); }
.ab-btn:hover .ab-btn__arrow { transform: translateX(3px); }

/* ==========================================================================
   6. Card
   ========================================================================== */

.ab-card {
  background: var(--ab-bg);
  border: 1px solid var(--ab-border);
  border-radius: var(--ab-r-xl);
  padding: var(--ab-s-8);
  transition: transform var(--ab-t-base), box-shadow var(--ab-t-base), background var(--ab-t-base), border-color var(--ab-t-base), color var(--ab-t-base);
  box-shadow: var(--ab-sh-1);
}
.ab-card--hover:hover {
  transform: translateY(-4px);
  box-shadow: var(--ab-sh-3);
  border-color: rgba(var(--ab-primary-rgb),.18);
}
.ab-card--dark {
  background: var(--ab-primary);
  border-color: var(--ab-primary);
  color: #fff;
}
.ab-card--dark.ab-card--hover:hover { background: var(--ab-dark); }
.ab-card--surface { background: var(--ab-surface); }

/* ==========================================================================
   7. Badge / Chip
   ========================================================================== */

.ab-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--ab-accent);
  color: #fff;
  font-size: var(--ab-fs-caption);
  font-weight: 700;
  letter-spacing: var(--ab-ls-wide);
  padding: 4px 10px;
  border-radius: var(--ab-r-sm);
  box-shadow: 0 4px 12px rgba(var(--ab-accent-rgb),.32);
  text-transform: uppercase;
}
.ab-badge--ghost {
  background: rgba(var(--ab-accent-rgb),.12);
  color: var(--ab-accent-dark);
  box-shadow: none;
}
.ab-badge--soft {
  background: var(--ab-surface);
  color: var(--ab-text);
  box-shadow: none;
}

.ab-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--ab-accent-dark);
  font-size: var(--ab-fs-caption);
  font-weight: 600;
  letter-spacing: var(--ab-ls-wide);
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: var(--ab-r-pill);
}
.ab-chip__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ab-accent);
  box-shadow: 0 0 0 3px rgba(var(--ab-accent-rgb),.25);
  animation: ab-pulse 2.4s ease-in-out infinite;
}
@keyframes ab-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(var(--ab-accent-rgb),.25); }
  50%      { box-shadow: 0 0 0 6px rgba(var(--ab-accent-rgb),.08); }
}

/* ==========================================================================
   8. Icon wrapper (для Lucide SVG)
   ========================================================================== */

.ab-icon {
  width: 52px; height: 52px;
  border-radius: var(--ab-r-md);
  background: rgba(var(--ab-accent-rgb),.10);
  color: var(--ab-accent-dark);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: transform var(--ab-t-base), box-shadow var(--ab-t-base), background var(--ab-t-base), border-color var(--ab-t-base), color var(--ab-t-base);
}
.ab-icon svg { width: 26px; height: 26px; stroke-width: 1.75; }
.ab-icon--sm { width: 40px; height: 40px; }
.ab-icon--sm svg { width: 20px; height: 20px; }
.ab-icon--lg { width: 64px; height: 64px; }
.ab-icon--lg svg { width: 32px; height: 32px; }

.ab-card--dark .ab-icon {
  background: rgba(var(--ab-accent-rgb),.18);
  color: var(--ab-accent);
}
.ab-section--dark .ab-icon {
  background: rgba(var(--ab-accent-rgb),.18);
  color: var(--ab-accent);
}

/* ==========================================================================
   9. Form элементы (для будущих lead-form embed)
   ========================================================================== */

.ab-input,
.ab-textarea {
  font-family: var(--ab-font);
  font-size: var(--ab-fs-body);
  line-height: var(--ab-lh-body);
  color: var(--ab-text);
  background: var(--ab-bg);
  border: 1.5px solid var(--ab-border);
  border-radius: var(--ab-r-md);
  padding: 14px 18px;
  width: 100%;
  transition: border-color var(--ab-t-fast), box-shadow var(--ab-t-fast);
  outline: none;
}
.ab-input::placeholder,
.ab-textarea::placeholder { color: var(--ab-muted-light); }
.ab-input:hover,
.ab-textarea:hover { border-color: var(--ab-muted-light); }
.ab-input:focus,
.ab-textarea:focus {
  border-color: var(--ab-accent);
  box-shadow: 0 0 0 4px rgba(var(--ab-accent-rgb),.12);
}
.ab-input--error,
.ab-textarea--error {
  border-color: #DC2626;
  box-shadow: 0 0 0 4px rgba(220,38,38,.10);
}
.ab-textarea { resize: vertical; min-height: 96px; }

.ab-form__label {
  display: block;
  font-size: var(--ab-fs-body-s);
  font-weight: 500;
  color: var(--ab-text-soft);
  margin-bottom: 6px;
}
.ab-form__error {
  display: block;
  font-size: var(--ab-fs-caption);
  color: #DC2626;
  margin-top: 6px;
}
.ab-form__hint {
  display: block;
  font-size: var(--ab-fs-caption);
  color: var(--ab-muted);
  margin-top: 6px;
}

/* Honeypot — скрытое поле для антиспама (НИКОГДА не показывать) */
.ab-form__honey {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   10. Утилиты
   ========================================================================== */

.ab-divider {
  width: 56px;
  height: 2px;
  background: var(--ab-accent);
  border-radius: 1px;
}
.ab-divider--full {
  width: 100%;
  height: 1px;
  background: var(--ab-border);
}

.ab-text-muted { color: var(--ab-muted); }
.ab-text-accent { color: var(--ab-accent-dark); }
.ab-text-center { text-align: center; }
.ab-mono { font-family: var(--ab-font-mono); }

/* Большая фоновая цифра (для нумерованных карточек 01/02/03) */
.ab-bignum {
  position: absolute;
  top: 16px;
  right: 22px;
  font-size: 96px;
  font-weight: 800;
  line-height: .9;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(var(--ab-primary-rgb),.08);
  pointer-events: none;
  user-select: none;
  font-family: var(--ab-font);
}
.ab-card--dark .ab-bignum { -webkit-text-stroke-color: rgba(255,255,255,.10); }

/* ==========================================================================
   11. Адаптив
   ========================================================================== */

@media (max-width: 900px) {
  :root {
    --ab-section-py: var(--ab-section-py-tab);
    --ab-fs-h1: 38px;
    --ab-fs-h2: 30px;
  }
  .ab-container {
    padding-left: var(--ab-pad-tab);
    padding-right: var(--ab-pad-tab);
  }
}

@media (max-width: 600px) {
  :root {
    --ab-section-py: var(--ab-section-py-mob);
    --ab-fs-h1: 32px;
    --ab-fs-h2: 26px;
    --ab-fs-h3: 19px;
    --ab-fs-body-l: 16px;
  }
  .ab-container {
    padding-left: var(--ab-pad-mob);
    padding-right: var(--ab-pad-mob);
  }
  .ab-section__head { margin-bottom: var(--ab-s-8); }
  .ab-bignum { font-size: 72px; }
  .ab-btn { padding: 14px 24px; }
  .ab-btn--lg { padding: 18px 32px; font-size: var(--ab-fs-body); }
}

/* Уменьшаем анимации если пользователь предпочитает reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .ab-chip__dot { animation: none; }
}

/* ==========================================================================
   ACCESSIBILITY — focus-visible и touch-action на всех ab-* кнопках и линках
   Применяется глобально к нашим компонентам — обеспечивает keyboard navigation
   и убирает 300мс задержку на iOS при тапе.
   ========================================================================== */
[class*="ab-"][class*="__cta"]:focus-visible,
[class*="ab-"][class*="__submit"]:focus-visible,
[class*="ab-"][class*="__form-submit"]:focus-visible,
.ab-btn:focus-visible,
.ab-card__cta:focus-visible {
  outline: 2px solid var(--ab-accent);
  outline-offset: 3px;
}
[class*="ab-"] button,
[class*="ab-"] a[href],
[class*="ab-"] input[type="submit"],
[class*="ab-"] input[type="button"] {
  touch-action: manipulation;
}
[class*="ab-"] input,
[class*="ab-"] textarea,
[class*="ab-"] select {
  font-family: inherit;
}

/* ==========================================================================
   ЗАЩИТА ОТ ПЕРЕОПРЕДЕЛЕНИЯ ТИЛЬДОЙ
   Tilda агрессивно перебивает стили кнопок (background, color) на свой акцент
   через .t-btn, .t-submit и т.п. Эти правила насильно возвращают наши цвета.
   Применяется к классам с префиксом .ab-* — Tilda-блоки не трогает.
   ========================================================================== */

/* CTA-кнопки и primary-кнопки во всех наших блоках (substring-match чтобы пробивать Tilda-обёртки).
   ВАЖНО: substring "__cta-" с тире, чтобы не ловить контейнеры типа .ab-product-hero__cta (без суффикса). */
[class*="ab-"][class*="__cta-"]:not([class*="__cta-row"]):not([class*="__cta-wrap"]):not([class*="__cta-phone"]):not([class*="__cta-secondary"]):not([class*="__cta-ghost"]),
[class*="ab-"][class*="__submit"],
[class*="ab-"][class*="__form-submit"],
.ab-btn-primary,
.ab-btn--primary,
.ab-product-hero__cta-primary,
.ab-product-calc__cta,
.ab-quiz__start-cta,
.ab-quiz__form-submit,
.ab-kc__submit,
.ab-kc__banks-cta,
.ab-leadform__submit,
.ab-tradein-form__submit,
.ab-card__cta,
.ab-thanks .ab-thanks__cta,
.ab-contacts__cta,
a.ab-contacts__cta {
  background: var(--ab-accent) !important;
  color: #fff !important;
  border: 0 !important;
}
[class*="ab-"][class*="__cta-"]:not([class*="__cta-row"]):not([class*="__cta-wrap"]):not([class*="__cta-phone"]):not([class*="__cta-secondary"]):not([class*="__cta-ghost"]):hover,
[class*="ab-"][class*="__submit"]:hover,
[class*="ab-"][class*="__form-submit"]:hover,
.ab-btn-primary:hover,
.ab-btn--primary:hover,
.ab-card__cta:hover {
  background: var(--ab-accent-dark) !important;
  color: #fff !important;
}

/* Secondary/ghost/phone кнопки — прозрачный фон с границей */
.ab-thanks__cta-secondary,
.ab-product-hero__cta-phone,
[class*="ab-"][class*="__cta-phone"],
[class*="ab-"][class*="__cta-secondary"],
[class*="ab-"][class*="__cta-ghost"] {
  background: transparent !important;
  color: var(--ab-text) !important;
  border: 1.5px solid var(--ab-border) !important;
}
[class*="ab-"][class*="__cta-phone"]:hover,
[class*="ab-"][class*="__cta-secondary"]:hover,
[class*="ab-"][class*="__cta-ghost"]:hover {
  border-color: var(--ab-accent) !important;
  color: var(--ab-accent-dark) !important;
}

/* Зелёные текст-ссылки на светлом фоне (Открыть на карте, привезём под заказ, и т.п.) */
.ab-contacts__card-link,
.ab-contacts__row-link,
.ab-brands__foot-link,
[class*="ab-"][class*="__card-link"],
[class*="ab-"][class*="__row-link"],
[class*="ab-"][class*="__foot-link"] {
  color: var(--ab-accent-dark) !important;
}
.ab-contacts__card-link:hover,
.ab-brands__foot-link:hover,
[class*="ab-"][class*="__card-link"]:hover,
[class*="ab-"][class*="__foot-link"]:hover {
  color: var(--ab-accent) !important;
}

/* «Смотреть все авто» — это кнопка с зелёным фоном, текст должен быть белый */
.ab-catalog__more-btn,
[class*="ab-"][class*="__more-btn"] {
  background: var(--ab-accent) !important;
  color: #fff !important;
}
.ab-catalog__more-btn:hover,
[class*="ab-"][class*="__more-btn"]:hover {
  background: var(--ab-accent-dark) !important;
  color: #fff !important;
}

/* Промо-карточки CTA — повышенная специфичность чтобы Tilda не перебивала */
.ab-promo .ab-promo__card-cta,
.ab-promo__card .ab-promo__card-cta,
button.ab-promo__card-cta {
  background: var(--ab-accent) !important;
  color: #fff !important;
  border: 0 !important;
}
.ab-promo__card:hover .ab-promo__card-cta,
.ab-promo .ab-promo__card-cta:hover {
  background: var(--ab-accent-dark) !important;
  color: #fff !important;
}

/* Заголовки на тёмном фоне (hero, форма) — белый текст */
.ab-hero,
.ab-kredit-hero,
.ab-tradein-hero,
.ab-thanks,
.ab-about-hero,
.ab-leadform--compact .ab-leadform__card,
.ab-tradein-form {
  color: #fff;
}
.ab-hero h1, .ab-hero h2, .ab-hero h3,
.ab-kredit-hero h1, .ab-kredit-hero h2,
.ab-tradein-hero h1, .ab-tradein-hero h2,
.ab-thanks h1, .ab-thanks h2,
.ab-about-hero h1, .ab-about-hero h2,
.ab-leadform--compact .ab-leadform__card h2,
.ab-tradein-form .ab-tradein-form__title {
  color: #fff !important;
}

/* Заголовки на светлом фоне — наш --ab-text (графит) */
.ab-catalog h1, .ab-catalog h2, .ab-catalog h3,
.ab-banks h2, .ab-banks h3,
.ab-why h2, .ab-why__card-title,
.ab-quiz h2, .ab-quiz h3,
.ab-contacts h2, .ab-contacts h3,
.ab-tradein h2, .ab-tradein__steps-title,
.ab-tf h2, .ab-tf__card-title,
.ab-kabout h3,
.ab-kc h2, .ab-kc__banks-title,
.ab-product-specs h2,
.ab-product-calc h2,
.ab-product-banks h2,
.ab-product-hero__title,
.ab-leadform--vertical .ab-leadform__pitch-title,
.ab-leadform--product .ab-leadform__pitch-title,
.ab-selection__name,
.ab-card__title {
  color: var(--ab-text) !important;
}

/* Ссылки внутри наших блоков не должны хватать Tilda-цвет */
.ab-block a:not([class*="cta"]):not([class*="btn"]):not([class*="link"]) {
  color: inherit;
}

/* Телефон в hero-блоках на тёмном фоне — белый, при hover зелёный */
.ab-hero .ab-hero__phone,
.ab-kredit-hero .ab-kredit-hero__phone,
.ab-tradein-hero .ab-tradein-hero__phone,
.ab-about-hero .ab-about-hero__phone,
.ab-thanks .ab-thanks__phone {
  color: #fff !important;
}
.ab-hero .ab-hero__phone strong,
.ab-kredit-hero .ab-kredit-hero__phone strong,
.ab-tradein-hero .ab-tradein-hero__phone strong,
.ab-about-hero .ab-about-hero__phone strong {
  color: #fff !important;
}
.ab-hero .ab-hero__phone:hover,
.ab-hero .ab-hero__phone:hover strong,
.ab-kredit-hero .ab-kredit-hero__phone:hover,
.ab-kredit-hero .ab-kredit-hero__phone:hover strong,
.ab-tradein-hero .ab-tradein-hero__phone:hover,
.ab-tradein-hero .ab-tradein-hero__phone:hover strong,
.ab-about-hero .ab-about-hero__phone:hover,
.ab-about-hero .ab-about-hero__phone:hover strong {
  color: var(--ab-accent) !important;
}

/* Подзаголовки в hero — приглушённый белый */
.ab-hero .ab-hero__sub,
.ab-kredit-hero .ab-kredit-hero__sub,
.ab-tradein-hero .ab-tradein-hero__sub,
.ab-about-hero .ab-about-hero__sub,
.ab-thanks .ab-thanks__sub {
  color: rgba(255,255,255,.75) !important;
}
