/* Поправки читаемости: кнопки, подвал, поля формы, шапка над светлыми экранами.
   Файл подключается последним, поэтому перебивает стили страниц при равной специфичности.
   Проверено замером контраста по пикселям снимка, а не по разметке. */

:root {
  --accent-button: #1E5FD6;        /* белый текст на нём: контраст 5,7 при норме 4,5 */
  --accent-button-hover: #1748AE;
}

/* 1. Кнопки. Было #3A86FF — белая подпись на нём давала 3,48.
   Яркий синий остаётся для текстовых акцентов, пометок и тонких рамок. */
.btn-primary,
.nav-links .nav-cta,
.btn-cookie,
.hw-cta a,
.lead-form__submit,
.pkg-cta {
  background: var(--accent-button);
  background-color: var(--accent-button);
}

.btn-primary:hover,
.nav-links .nav-cta:hover,
.btn-cookie:hover,
.hw-cta a:hover,
.lead-form__submit:hover:not(:disabled),
.pkg-cta:hover {
  background: var(--accent-button-hover);
  background-color: var(--accent-button-hover);
}

/* 1-bis. Те же кнопки на внутренних страницах: фильтры, ссылки-кнопки в карточках,
   призывы внутренних лендингов. Макеты интерфейсов (.m-*, .mc-*, .mkt-*) не трогаем:
   там синий — часть нарисованного экрана, а не кнопка сайта. */
.filter-btn:hover,
.filter-btn.active,
.card-link,
.cta:not(.cta-secondary),
.btn:not(.btn-secondary):not(.ghost):not(.secondary),
.pkg-cta.primary,
.btn-copy,
.docfull-cta a,
nav .nav-cta,
.next-step__links a {
  background: var(--accent-button);
  background-color: var(--accent-button);
}

.filter-btn:hover:hover,
.filter-btn.active:hover,
.card-link:hover,
.cta:not(.cta-secondary):hover,
.btn:not(.btn-secondary):not(.ghost):not(.secondary):hover,
.pkg-cta.primary:hover,
.btn-copy:hover,
.docfull-cta a:hover,
nav .nav-cta:hover,
.next-step__links a:hover {
  background: var(--accent-button-hover);
  background-color: var(--accent-button-hover);
}

/* 2. Подвал. Было rgba(255,255,255,0.3–0.38) — контраст 3,6. */
.tech-stack,
.copyright {
  color: #a8a09e;
}

.footer a,
.copyright a {
  color: #c9c2bf;
}

/* 3. Поля формы: подложка светлее карточки, граница заметна, фокус виден. */
.lead-form__input {
  background: #241D1B;
  border-color: rgba(255, 255, 255, 0.28);
}

.lead-form__input::placeholder {
  color: #8a8583;
}

.lead-form__input:focus {
  border-color: #3A86FF;
  box-shadow: 0 0 0 3px rgba(58, 134, 255, 0.28);
}

/* 4. Шапка над светлым экраном светлеет вместе с ним: иначе тёмная полоса
   лежит поперёк светлой секции. Класс on-light ставит header-on-light.js. */
nav#navbar.on-light.scrolled {
  background: rgba(249, 248, 246, 0.9);
  border-bottom-color: rgba(0, 0, 0, 0.08);
}

nav#navbar.on-light.scrolled .nav-logo {
  color: #2D2421;
}

nav#navbar.on-light.scrolled .nav-links a {
  color: rgba(45, 36, 33, 0.78);
}

nav#navbar.on-light.scrolled .nav-links a:hover {
  color: #2D2421;
}

nav#navbar.on-light.scrolled .nav-links .nav-cta {
  color: #FFFFFF;
}

nav#navbar.on-light.scrolled .nav-toggle {
  color: #2D2421;
}

/* 5. Шапка на средних экранах. В меню шесть пунктов (17.10.2026 добавлены «Ролики»),
   и на ширине около 900 px имя и кнопка «Бесплатный разбор» переносились на две строки:
   шапка вырастала с 75 до 99 px. Сжимаем расстояние между пунктами и запрещаем перенос.
   :not(.open) нужен, чтобы не трогать раскрытое меню телефона: у него свои отступы. */
@media (min-width: 769px) and (max-width: 1040px) {
  .nav-links:not(.open),
  .nav-menu:not(.open) { gap: 16px; }
  .nav-logo,
  .nav-links .nav-cta,
  nav .nav-cta { white-space: nowrap; }
}
