/**
 * Новый стиль — переключатель на всех страницах (ModxLayout + design-toggle.js).
 * По умолчанию у посетителей старый вид, пока не выбран data-design="new".
 * Правила только главной (hero-бейдж, скрытие слайдера специалистов)
 * завязаны на body.page-home. Появление блоков при скролле и зазор под
 * меню — на всех страницах нового вида.
 *
 * v2 (2026-08-27): блок плиток направлений больше не "переодевает" старую
 * нерегулярную UIkit-сетку (разные ширины колонок → рвано выглядело с новым
 * паддингом/иконкой). Вместо этого — отдельный новый блок .nd-directions
 * с единой сеткой 3×3 (реальные 9 направлений, реальные ссылки), старый
 * блок .tile.display-animation скрывается целиком при новом стиле.
 *
 * v3 (2026-08-28): вторая волна полировки хедера/футера (были открытым
 * вопросом в бэклоге) — десктопная строка "Направления и методики" стала
 * белой вместо серой (та же логика, что и белый body), поиск в хедере —
 * pill-инпут с фокус-рингом, футер получил градиентный "шов" сверху,
 * hover-микроанимацию на ссылках меню и белую карточку под виджет
 * Яндекс-рейтинга. Контент/структура не менялись, только косметика.
 *
 * Всё остальное (хедер, hero-текст, кнопки, промо-баннер) — переоформление
 * существующей реальной разметки, без подмены контента.
 *
 * Откат: убрать extraCss/extraJs/headScript в src/pages/index.astro
 * и .nd-directions блок из src/partials/modx/home-body.html.
 */

html[data-design='new'] {
  --nd-radius-lg: 24px;
  --nd-radius-md: 16px;
  --nd-shadow: 0 20px 48px -18px rgba(46, 37, 96, 0.28);
  --nd-text-muted: #6b6478;
  --viz-violet: #875FDD;
  --viz-magenta: #ad39a0;
  --viz-blue: #5eb3f7;
  --viz-orange: #f17933;
  --viz-bg: #f6f3fb;
}

/* body в старом стиле #F7F8F7 (чуть серый) — секции стоят почти впритык
   друг к другу, зазор незаметен. В новом стиле у секций появились свои
   margin/отступы (карточки, скругления) — в этих зазорах вылезает серый
   body и выглядит как случайная серая полоса между блоками (например между
   .advantage и .main-teacher). Белый body убирает "полосы" — просто белое
   пространство, карточки и так видны по своей тени/фону. */
html[data-design='new'] body {
  background-color: #fff;
}

/* ---------- Хедер / навигация (переоформление, структура и ссылки те же) ---------- */

html[data-design='new'] .header,
html[data-design='new'] .header-top,
html[data-design='new'] .header-bottom {
  background: #F3F0F8;
  border-bottom: none;
  box-shadow: none;
}

/* .top-menu__list сидит на z-index 1040, а UIkit-модалка — на 1010.
   Из-за этого «Новости / Контакты» рисуются поверх окна записи. */
html[data-design='new'] .uk-modal {
  z-index: 1200;
}

html[data-design='new'] .main-menu__list > li > a {
  opacity: 0.92;
  transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

html[data-design='new'] .main-menu__list > li > a:hover {
  opacity: 1;
  transform: translateY(-1px);
}

html[data-design='new'] .main-menu .btn {
  border-radius: 999px;
  border: none;
  background: #ad39a0;
  color: #fff;
  font-weight: 700;
}

/* Без явного hover-правила здесь общий html[data-design='new'] .btn:hover (ниже)
   выигрывал по порядку объявления при равной специфичности — фон становился
   тёмным градиентом, а текст оставался #922c88 (магента на тёмном — нечитаемо).
   Задаём фон и цвет явно, чтобы кнопка "Записаться" в хедере оставалась
   контрастной при наведении (2026-08-27, фидбек пользователя). */
html[data-design='new'] .main-menu .btn:hover,
html[data-design='new'] .main-menu .btn:focus {
  background: #922c88;
  color: #fff;
}

/* ---------- Выпадающие меню (мега-меню "Логопедия" и т.п., верхняя строка
   "О нас"/"Статьи", попап "Наши адреса") — на десктопе у них и так светлый
   фон + тёмный текст (безопасный контраст), меняем только скругления/тени/
   акцент hover на бренд-палитру. НЕ трогать background у самого блока
   .uk-dropdown__nav / .uk-nav-dropdown тёмным цветом — уже было и ломало
   читаемость (см. историю правок, фидбек "все темное"). ---------- */

html[data-design='new'] .main-menu__list .uk-dropdown__nav,
html[data-design='new'] .top-menu__list .uk-nav-dropdown {
  border-radius: var(--nd-radius-md);
  box-shadow: var(--nd-shadow);
  overflow: hidden;
}

html[data-design='new'] .main-menu__list .uk-dropdown__nav > li,
html[data-design='new'] .top-menu__list .uk-nav-dropdown > li {
  border-bottom-color: rgba(146, 44, 136, 0.12);
}

html[data-design='new'] .main-menu__list .uk-dropdown__nav > li > a:hover,
html[data-design='new'] .main-menu__list .uk-dropdown__nav > li > a:focus,
html[data-design='new'] .top-menu__list .uk-nav-dropdown > li > a:hover,
html[data-design='new'] .top-menu__list .uk-nav-dropdown > li > a:focus {
  background-color: #f5eefb;
  color: var(--brand-magenta-600);
}

html[data-design='new'] .top-menu__list > li > a:hover,
html[data-design='new'] .top-menu__list > li > a:focus,
html[data-design='new'] .top-menu__list > li.active > a {
  color: var(--brand-magenta-600);
}

html[data-design='new'] .header-top__adress-drop-container {
  border-radius: var(--nd-radius-md);
  box-shadow: var(--nd-shadow);
}

html[data-design='new'] .header-lk__menu {
  border-radius: var(--nd-radius-md);
  box-shadow: var(--nd-shadow);
  background: #fff;
  overflow: hidden;
}

html[data-design='new'] .header-lk__menu::before {
  background: #fff;
}

html[data-design='new'] .header-lk__link:hover,
html[data-design='new'] .header-lk__link:focus {
  background: #f5eefb;
  color: var(--brand-magenta-600);
}

html[data-design='new'] .header-lk__link:hover .header-lk__link-icon,
html[data-design='new'] .header-lk__link:focus .header-lk__link-icon {
  color: var(--brand-magenta-600);
}

html[data-design='new'] .header-top__adress-link:hover {
  color: var(--brand-magenta-600);
}

/* Строка "Направления и методики" (.main-menu) на десктопе (≥960px) была
   светло-серой (#F7F8F7) — в новом стиле body уже сделан белым (см. правку
   про "серые полосы" выше), и эта серая полоса на белом фоне выглядит тем же
   артефактом. Только десктопный breakpoint — на мобильном .main-menu
   остаётся фирменной магентой (#922C88), это уже брендовый цвет, не трогаем. */
@media (min-width: 960px) {
  html[data-design='new'] .main-menu {
    background-color: #fff;
    border-top: 1px solid #ece7f5;
    border-bottom: 1px solid #ece7f5;
  }

  html[data-design='new'] .main-menu.scrolled {
    background-color: #fff;
    border-top: 1px solid #ece7f5;
    border-bottom: 1px solid #ece7f5;
    box-shadow: none;
  }

  /* style.css с 768px обнуляет .tile { margin-top }, и цветные карточки
     стоят впритык к линии под меню. Снизу у .tile остаётся margin-bottom: 30px
     плюс 12px у последней строки — двойной зазор. Внешний низ убираем. */
  html[data-design='new'] .tile.display-animation {
    margin-top: 32px;
    margin-bottom: 0;
  }

  /* Тот же воздух под линией меню, что у мозаики на главной.
     На .main-menu его не вешаем: .scrolled обнуляет margin и контент прыгает.
     У .inner-page свой padding-top: 30px — не складываем с этим зазором. */
  html[data-design='new'] .main-menu ~ .migrated-modx-body,
  html[data-design='new'] .main-menu ~ .inner-page {
    margin-top: 32px;
  }

  html[data-design='new'] .inner-page {
    padding-top: 0;
  }
}

html[data-design='new'] .header-search__input {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html[data-design='new'] .header-search__input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  outline: none;
}

/* ---------- Hero (реальный H1 + абзацы + статистика, без каких-либо фото) ---------- */

html[data-design='new'] .main-about {
  margin: 40px 0 56px;
}

html[data-design='new'] .main-about .main-about__content {
  border-radius: var(--nd-radius-lg);
  padding: 48px 32px;
  box-shadow: var(--nd-shadow);
  text-align: center;
}

/* Второй блок .main-about (длинный SEO-текст внизу страницы, заголовок h2) —
   центрированный длинный текст читается хуже, чем hero-абзацы покороче.
   Заголовок остаётся по центру (у него свой класс uk-text-center),
   текст — по левому краю. */
html[data-design='new'] .main-about .main-about__content:has(> h2) {
  text-align: left;
}

html[data-design='new'] .main-about .main-about__content:has(> h2) p {
  text-align: left;
}

html[data-design='new'] body.page-home .main-about h1.lined-title::before {
  content: 'с 1,5 до 11 лет';
  display: block;
  width: fit-content;
  background: #f3effa;
  color: var(--brand-magenta-600);
  font-family: "GothamPro", sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 999px;
  margin: 0 auto 20px;
}

html[data-design='new'] .main-about h1.lined-title {
  font-family: "GothamPro", sans-serif;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 700;
  color: var(--brand-indigo-900);
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}

html[data-design='new'] .main-about h1.lined-title:after {
  background: linear-gradient(135deg, var(--brand-magenta-600), var(--brand-pink-500));
  height: 3px;
  width: 90px;
}

html[data-design='new'] .main-about p {
  color: var(--nd-text-muted);
  font-size: 16px;
  line-height: 1.7;
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}

html[data-design='new'] .hero-accent {
  color: var(--brand-magenta-600);
  font-family: inherit;
  font-weight: inherit;
  -webkit-text-fill-color: currentColor;
}

/* защитно скрываем декоративное фото hero, если оно когда-нибудь появится */
html[data-design='new'] .main-about__content-image {
  display: none !important;
}

html[data-design='new'] .main-about .list-center {
  display: flex;
  gap: 28px;
  justify-content: center;
  margin-top: 28px;
  flex-wrap: wrap;
}

html[data-design='new'] .main-about .list-center > li {
  margin: 0;
}

html[data-design='new'] .main-about .list-center__item {
  display: flex;
  align-items: center;
  gap: 10px;
}

html[data-design='new'] .main-about .big-num {
  font-size: 28px;
  font-weight: 700;
  margin: 0;
  color: var(--brand-magenta-600);
}

html[data-design='new'] .main-about .list-center > li p {
  font-size: 13px;
  color: var(--nd-text-muted);
  text-align: left;
  margin: 0;
}

/* ---------- Направления — новый блок с единой сеткой 3×3 ---------- */
/* Старая нерегулярная сетка (.tile.display-animation) скрывается целиком,
   вместо неё показывается новый блок .nd-directions (вставлен в home-body.html). */

/* Мозаика направлений — как на исходном сайте: разные ширины колонок.
   Равномерная сетка .nd-directions в новом стиле не показывается.
   Оформление плиток — пастель ниже (не заливки brand-palette.css). */
html[data-design='new'] .nd-directions {
  display: none !important;
}

/* Плитки видны сразу: scale(0) до body.loaded оставлял пустой экран.
   transform без !important, иначе hover-подъём не перебивается. */
html[data-design='new'] .display-animation__item {
  transform: none;
  animation: none !important;
}

/* Пастель: свой цвет плитки остаётся в значке и круге, фон мягкий, текст тёмный.
   Раскладка мозаики не меняется. Номера 01–09 в значок не выводятся. */
html[data-design='new'] .tile__item.item-01 { --c:#392C70; --bg1:#dfdde8; --bg2:#efeef4; --bd:#bab5cd; --tx:#281f50; }
html[data-design='new'] .tile__item.item-02 { --c:#ad39a0; --bg1:#f2dff0; --bg2:#f8eff7; --bd:#e2bade; --tx:#68276a; }
html[data-design='new'] .tile__item.item-03 { --c:#af98e1; --bg1:#f2effa; --bg2:#f9f7fd; --bd:#e3dbf4; --tx:#4f4275; }
html[data-design='new'] .tile__item.item-04 { --c:#5eb3f7; --bg1:#e5f3fe; --bg2:#f2f9fe; --bd:#c7e4fc; --tx:#3d6a9a; }
html[data-design='new'] .tile__item.item-05 { --c:#f17933; --bg1:#fdeade; --bg2:#fef4ef; --bd:#fad0b8; --tx:#8e4a2e; }
html[data-design='new'] .tile__item.item-06 { --c:#d4d140; --bg1:#f8f8e0; --bg2:#fcfbf0; --bd:#f0efbc; --tx:#5c5a1f; }
html[data-design='new'] .tile__item.item-07 { --c:#3498db; --bg1:#dfeff9; --bg2:#eff7fc; --bd:#b8dbf2; --tx:#265b8a; }
html[data-design='new'] .tile__item.item-08 { --c:#875FDD; --bg1:#ece5fa; --bg2:#f5f2fc; --bd:#d5c7f3; --tx:#533b8c; }
html[data-design='new'] .tile__item.item-09 { --c:#F27A34; --bg1:#fdeadf; --bg2:#fef4ef; --bd:#fad0b8; --tx:#8e4a2f; }

html[data-design='new'] .tile__item {
  --mx: 0px;
  --my: 0px;
  height: auto;
  min-height: 150px;
  box-sizing: border-box;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  background: linear-gradient(135deg, var(--bg1), var(--bg2));
  border: none;
  box-shadow: none;
  filter: none;
  transition: transform .16s cubic-bezier(.2, .8, .2, 1), box-shadow .16s ease;
  overflow: hidden;
  color: var(--tx);
}

@media (min-width: 1220px) {
  /* Одна высота у всех: длинный заголовок иначе выталкивает правую колонку ниже. */
  html[data-design='new'] .tile__item {
    height: 188px;
    min-height: 188px;
  }
}

html[data-design='new'] .tile__item .tile__item-img { display: none; }

html[data-design='new'] .tile__item .tile__item-title {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  margin: 0;
  color: var(--tx);
  font-weight: 700;
  text-shadow: none;
  z-index: 1;
}

html[data-design='new'] a.tile__item .tile__item-title::after,
html[data-design='new'] a.tile__item:hover .tile__item-title::after,
html[data-design='new'] a.tile__item:focus .tile__item-title::after,
html[data-design='new'] a.tile__item:focus-visible .tile__item-title::after {
  content: none;
  display: none;
}

html[data-design='new'] a.tile__item::before {
  content: "→";
  position: relative;
  inset: auto;
  display: block;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  margin: 0 0 10px;
  border-radius: 50%;
  background: var(--c);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
  z-index: 1;
  pointer-events: none;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}

html[data-design='new'] a.tile__item::after {
  content: "";
  position: absolute;
  inset: auto;
  top: auto;
  left: auto;
  width: 110px;
  height: 110px;
  right: -34px;
  bottom: -34px;
  margin: 0;
  border-radius: 50%;
  background: var(--c);
  opacity: 0.18;
  z-index: 0;
  pointer-events: none;
  transform: translate(var(--mx), var(--my));
  transition: transform .08s linear, opacity .16s;
}

@media (hover: hover) and (pointer: fine) {
  html[data-design='new'] a.tile__item:hover,
  html[data-design='new'] a.tile__item:focus-visible {
    transform: translateY(-6px);
    box-shadow: none;
    filter: none;
    text-decoration: none;
  }

  html[data-design='new'] a.tile__item:hover::before,
  html[data-design='new'] a.tile__item:focus-visible::before {
    transform: translateX(4px);
  }

  html[data-design='new'] a.tile__item:hover::after,
  html[data-design='new'] a.tile__item:focus-visible::after {
    opacity: 0.28;
    transform: translate(var(--mx), var(--my));
  }

  html[data-design='new'] a.tile__item:hover .tile__item-title,
  html[data-design='new'] a.tile__item:focus-visible .tile__item-title {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-design='new'] .tile__item,
  html[data-design='new'] a.tile__item::before,
  html[data-design='new'] a.tile__item::after {
    transition: none !important;
  }

  html[data-design='new'] a.tile__item:hover,
  html[data-design='new'] a.tile__item:hover::before,
  html[data-design='new'] a.tile__item:hover::after {
    transform: none !important;
  }

  html[data-design='new'] a.tile__item:hover::after { opacity: 0.18 !important; }
}

.nd-directions {
  display: none;
}

html[data-design='new'] .nd-directions {
  display: none !important;
}

.nd-directions__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.nd-directions__head h2 {
  margin: 0;
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 700;
  color: var(--brand-indigo-900);
}

.nd-directions__head a {
  font-weight: 700;
  font-size: 14px;
  color: var(--brand-magenta-600);
  white-space: nowrap;
  text-decoration: none;
}

.nd-directions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.nd-tile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
  border-radius: 22px;
  padding: 28px 22px 20px;
  color: var(--brand-indigo-900, #2e2560);
  text-decoration: none;
  background: #fff;
  border: 1px solid #efeaf3;
  box-shadow: 0 12px 28px -18px rgba(46, 37, 96, 0.18);
  position: relative;
  overflow: hidden;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.nd-tile::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: var(--brand-magenta-600, #922c88);
}

.nd-tile:hover,
.nd-tile:focus {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 18px 36px -18px rgba(46, 37, 96, 0.28);
  color: var(--brand-indigo-900, #2e2560);
  text-decoration: none;
}

.nd-tile:active {
  transform: translateY(-1px) scale(0.985);
  transition-duration: 0.15s;
}

.nd-tile__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.nd-tile__arrow {
  align-self: flex-end;
  font-size: 20px;
  margin-top: 16px;
  color: var(--brand-magenta-600, #922c88);
}

.nd-tile.item-01::before { background: #922c88; }
.nd-tile.item-02::before { background: #c938bb; }
.nd-tile.item-03::before { background: #72308d; }
.nd-tile.item-04::before { background: #5b3591; }
.nd-tile.item-05::before { background: #aa96c6; }
.nd-tile.item-06::before { background: #a6339c; }
.nd-tile.item-07::before { background: #392c70; }
.nd-tile.item-08::before { background: #8f7ac0; }
.nd-tile.item-09::before { background: #d46bc8; }

.nd-tile.item-01 .nd-tile__arrow { color: #922c88; }
.nd-tile.item-02 .nd-tile__arrow { color: #c938bb; }
.nd-tile.item-03 .nd-tile__arrow { color: #72308d; }
.nd-tile.item-04 .nd-tile__arrow { color: #5b3591; }
.nd-tile.item-05 .nd-tile__arrow { color: #aa96c6; }
.nd-tile.item-06 .nd-tile__arrow { color: #a6339c; }
.nd-tile.item-07 .nd-tile__arrow { color: #392c70; }
.nd-tile.item-08 .nd-tile__arrow { color: #8f7ac0; }
.nd-tile.item-09 .nd-tile__arrow { color: #d46bc8; }

@media (max-width: 900px) {
  .nd-directions__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .nd-directions__grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Общие заголовки секций и ссылки "Все ..." (единый акцент) ---------- */

html[data-design='new'] section h2,
html[data-design='new'] .main-about h2 {
  color: var(--brand-indigo-900);
}

html[data-design='new'] .lined-title:after {
  background: linear-gradient(135deg, var(--brand-magenta-600), var(--brand-pink-500));
  height: 3px;
  border-radius: 2px;
}

html[data-design='new'] .section-head-group a,
html[data-design='new'] .review-slider__rates-links a {
  font-weight: 700;
  color: var(--brand-magenta-600);
  text-decoration: none;
}

html[data-design='new'] .section-head-group a:hover,
html[data-design='new'] .review-slider__rates-links a:hover {
  color: var(--brand-plum-600);
}

/* ---------- "Нарушения, с которыми мы работаем" (list-1) ---------- */

html[data-design='new'] .list-1__list-item {
  background: #fff;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 30px -18px rgba(46, 37, 96, 0.25);
  padding: 24px;
  height: 100%;
}

html[data-design='new'] .list-1__list-item > h3 {
  color: var(--brand-plum-600);
  font-size: 17px;
  margin-top: 0;
  margin-bottom: 14px;
}

html[data-design='new'] .list-1__list-item > ul > li > a > p {
  position: relative;
  padding-left: 14px;
}

html[data-design='new'] .list-1__list-item > ul > li > a > p::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand-pink-500);
}

/* ---------- "Почему Центр патологии речи Анны Семкиной?" (advantage) ---------- */

html[data-design='new'] .advantage__list.uk-grid {
  align-items: stretch;
}

html[data-design='new'] .advantage__list .advantage__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 30px -18px rgba(46, 37, 96, 0.25);
  padding: 20px 18px 16px;
  height: 100%;
  margin: 0;
  text-align: center;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

html[data-design='new'] .advantage__list .advantage__item p {
  margin: 8px 0 0;
}

html[data-design='new'] .advantage__list .advantage__item:hover {
  transform: translateY(-4px);
}

html[data-design='new'] .advantage__list .advantage__item-img {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f3effc, #ece0f8);
  display: flex;
  align-items: center;
  justify-content: center;
}

html[data-design='new'] .advantage__list .advantage__item-img > img {
  max-width: 34px;
  max-height: 34px;
  width: auto;
  height: auto;
}

html[data-design='new'] .advantage__list .advantage__item h3 {
  font-size: 16px;
  color: var(--brand-indigo-900);
  margin-top: 0;
}

/* ---------- "Специалисты центра" — статичная сетка-тизер вместо JS-слайдера
   (см. .nd-specialists в home-body.html). Старый Slick-слайдер (.teacher-slider)
   скрывается целиком при новом стиле — так же, как .tile.display-animation ---------- */

/* В новом виде везде сетка из 8 карточек. Старый Slick-слайдер прячем. */
html[data-design='new'] .teacher-slider {
  display: none !important;
}

.nd-specialists {
  display: none;
}

html[data-design='new'] .nd-specialists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 8px;
}

.nd-spec-card {
  background: #fff;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 30px -18px rgba(46, 37, 96, 0.25);
  padding: 24px 16px;
  text-align: center;
  text-decoration: none;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.nd-spec-card:hover,
.nd-spec-card:focus {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -18px rgba(46, 37, 96, 0.35);
  text-decoration: none;
}

.nd-spec-card img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 14px;
  border: 3px solid #ece0f8;
  display: block;
}

.nd-spec-card h4 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--brand-indigo-900);
}

.nd-spec-card span {
  font-size: 12px;
  color: var(--nd-text-muted);
  line-height: 1.4;
}

@media (max-width: 900px) {
  html[data-design='new'] .nd-specialists {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---------- "Отзывы о нас" — JS-слайдер (Slick), только косметика ---------- */

html[data-design='new'] .slider-2__item-container {
  border-radius: var(--nd-radius-md);
  box-shadow: 0 14px 34px -20px rgba(46, 37, 96, 0.3);
}

/* ---------- "Часто задаваемые вопросы" (FAQ-аккордеон) ---------- */

/* Легаси-разделитель секций из site-enhancements.css (border-top у .articles)
   даёт серую линию под FAQ / над новостями — в новом стиле карточки сами
   задают ритм, линия лишняя. У соседних .articles градиент ещё и
   «перезапускается» (белый → снова фиолетовый тон) — выглядит как линия;
   у второго и далее блоков фон делаем белым, без скачка. */
html[data-design='new'] .articles {
  border-top: none;
}

/* На /o-nas/ и похожих внутренних страницах секции галереи и новостей
   сидят внутри .inner-page, где у них обнулён паддинг главной.
   Без своего зазора фото галереи прилипают к заголовку новостей. */
html[data-design='new'] .inner-page .gallery + .articles {
  margin-top: 56px;
}

/* Звёзды отзыва. .inner-page li даёт line-height 1.7 и padding-bottom,
   список и дата — margin-bottom 15px. В flex-строке глиф оказывается
   ниже даты и «Общей оценки». Имя не растягиваем matchHeight: иначе
   короткие имена оставляют пустоту, и звёзды уезжают вниз. */
html[data-design='new'] .slider-2__item > .uk-h4 {
  height: auto !important;
  margin-bottom: 6px;
}

html[data-design='new'] .review-slider__group,
html[data-design='new'] .review-slider__rates {
  align-items: center;
}

html[data-design='new'] .review-slider__rate-list,
html[data-design='new'] .review-slider__rate-list.all {
  margin-top: 0;
  margin-bottom: 0;
  align-items: center;
}

html[data-design='new'] .review-slider__rate-list > li {
  padding: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
}

html[data-design='new'] .review-slider__time > p,
html[data-design='new'] .review-slider__rates > p,
html[data-design='new'] .review-slider__rates p {
  margin: 0;
  line-height: 1;
}

/* Страница отзывов: пустые li рисуются фоном старого клипарта,
   а форма — пиксельным спрайтом. Та же ровная звезда, что в карточках. */
html[data-design='new'] .review-stars {
  gap: 4px;
}

html[data-design='new'] .review-stars > li {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23e8a317' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

html[data-design='new'] .review-page__comment-item > .uk-h4 {
  height: auto !important;
  margin-bottom: 6px;
}

html[data-design='new'] .comment-2__container .rating-container {
  display: flex;
  align-items: center;
  padding-top: 0;
}

html[data-design='new'] .rateit-big .rateit-range,
html[data-design='new'] .rateit-big .rateit-selected,
html[data-design='new'] .rateit-big .rateit-hover {
  background-repeat: no-repeat;
  background-size: 130px 22px;
  background-position: left center;
}

html[data-design='new'] .rateit-big .rateit-range {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 22'%3E%3Cg fill='%23ead89a'%3E%3Cpath transform='translate(4 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(30 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(56 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(82 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(108 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3C/g%3E%3C/svg%3E");
}

html[data-design='new'] .rateit-big .rateit-selected,
html[data-design='new'] .rateit-big .rateit-hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 22'%3E%3Cg fill='%23e8a317'%3E%3Cpath transform='translate(4 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(30 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(56 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(82 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3Cpath transform='translate(108 2) scale(.9)' d='M9.61 2.68Q10 1.6 10.39 2.68L11.69 6.25Q12.09 7.33 13.24 7.37L17.03 7.5Q18.18 7.54 17.27 8.25L14.28 10.59Q13.38 11.3 13.69 12.4L14.74 16.05Q15.05 17.16 14.1 16.51L10.95 14.39Q10 13.75 9.05 14.39L5.9 16.51Q4.95 17.16 5.26 16.05L6.31 12.4Q6.62 11.3 5.72 10.59L2.73 8.25Q1.82 7.54 2.97 7.5L6.76 7.37Q7.91 7.33 8.31 6.25Z'/%3E%3C/g%3E%3C/svg%3E");
}

html[data-design='new'] .articles + .articles {
  background: #fff;
}

/* Аккордеон прайса и FAQ — одни и те же карточки на главной и на
   «Услуги и цены». Легаси-линии .uk-accordion на карточках не нужны. */
html[data-design='new'] .uk-accordion:has(.price-item) {
  border-top: none;
  border-bottom: none;
  padding: 0;
  margin: 0 0 12px;
}

html[data-design='new'] .price-item {
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  padding: 4px 22px;
  margin: 0;
}

html[data-design='new'] .price-item .uk-accordion-title {
  color: var(--brand-indigo-900);
  font-weight: 600;
}

html[data-design='new'] .uk-accordion-content .desc:empty {
  display: none;
  margin: 0;
}

/* Акционная цена и пометка «скидка за наличные» — красные специально,
   чтобы отличаться от обычной цены и от фиолетовых ссылок.
   Оттенок мягче чистого #f00. */
html[data-design='new'] .call-action__table font[color='red'],
html[data-design='new'] .price-item font[color='red'] {
  color: #c5343a;
  font-weight: 700;
}

/* Пустая последняя колонка есть только там, где нет кнопки «Записаться».
   На страницах услуг кнопка остаётся. */
html[data-design='new'] .call-action__table:not(:has(.btn)) th:last-child,
html[data-design='new'] .call-action__table:not(:has(.btn)) td:last-child {
  display: none;
}

html[data-design='new'] .call-action__table th:nth-child(2) {
  white-space: nowrap;
}

/* Кнопка в строке прайса — компактная. Общий .btn на десктопе
   даёт padding 13px 37px, в таблице это слишком крупно. */
html[data-design='new'] .call-action__table .btn {
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

/* На «Услуги и цены» пояснение про возраст вложено вторым .inner-page
   и прилипает к последней карточке прайса. */
html[data-design='new'] .inner-page .inner-page {
  margin-top: 56px;
}

html[data-design='new'] .inner-page .inner-page > .uk-container {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

html[data-design='new'] .inner-page h2,
html[data-design='new'] .inner-page h3 {
  color: var(--brand-indigo-900);
}

/* ---------- Новости / статьи — карточки .news-item__* (обычная CSS-сетка, без JS-карусели) ---------- */

html[data-design='new'] .news-item__item {
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 30px -18px rgba(46, 37, 96, 0.25);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

html[data-design='new'] .news-item__link:hover .news-item__item {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -18px rgba(46, 37, 96, 0.35);
}

html[data-design='new'] .news-item__item-image-tags {
  background: var(--brand-magenta-600);
}

html[data-design='new'] .news-item__item-info-date {
  color: var(--brand-magenta-600) !important;
}

/* "Полезные статьи" — тест без превью-картинок (много визуального шума на
   странице), только текстовые карточки. Не трогает блок "Последние новости
   центра" выше — там своя разметка с тем же .news-item__*, но другая секция. */
html[data-design='new'] .articles--useful .news-item__item-image2 {
  display: none;
}

html[data-design='new'] .articles--useful .news-item__item-content {
  padding: 20px 22px 24px;
}

html[data-design='new'] .articles--useful .news-item__item-text {
  padding: 0;
}

html[data-design='new'] .articles--useful .news-item__item-info {
  padding-bottom: 12px;
  border-bottom: 1px solid #ece7f5;
  margin-bottom: 12px;
}

/* ---------- Запись (#appointment): одна карточка на ширину контейнера.
   Слева — заголовок и телефон, справа — форма. Старое фото formbg.jpg
   и узкая карточка 500px больше не используются. ---------- */
html[data-design='new'] .appointment {
  background-image: none !important;
  background-color: #f6f3f8 !important;
  background: #f6f3f8 !important;
  color: #3a3450;
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 28px 0 36px;
}

html[data-design='new'] .appointment::before,
html[data-design='new'] .appointment::after {
  content: none;
}

/* Блок иногда лежит внутри .uk-container внутренней страницы.
   Вытягиваем полосу на всю ширину окна, карточку центрирует свой контейнер. */
html[data-design='new'] .inner-page .appointment {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

html[data-design='new'] .appointment .uk-container {
  position: relative;
  z-index: 1;
}

html[data-design='new'] .appointment .appointment__content {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 28px 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: center;
  background: #fff;
  border: 1px solid #efeaf3;
  border-radius: var(--nd-radius-lg);
  box-shadow: 0 16px 40px -24px rgba(46, 37, 96, 0.28);
  color: #3a3450;
}

@media (min-width: 880px) {
  html[data-design='new'] .appointment .appointment__content {
    grid-template-columns: minmax(240px, 0.85fr) minmax(300px, 1.15fr);
    gap: 28px 48px;
    padding: 36px 40px;
  }
}

html[data-design='new'] .appointment h1,
html[data-design='new'] .appointment .uk-h1 {
  color: var(--brand-indigo-900);
  margin: 0 0 12px;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.15;
  font-weight: 700;
}

html[data-design='new'] .appointment__lead {
  margin: 0 0 18px;
  max-width: 22em;
  color: #5c5670;
  font-size: 17px;
  line-height: 1.45;
}

html[data-design='new'] .appointment__phone {
  margin: 0;
  color: #5c5670;
  font-size: 15px;
}

html[data-design='new'] .appointment__phone a {
  display: inline-block;
  margin-left: 6px;
  color: var(--brand-magenta-600);
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

html[data-design='new'] .appointment__phone a:hover {
  color: var(--brand-indigo-900);
}

html[data-design='new'] .appointment .line-form {
  max-width: none;
  margin: 0;
}

html[data-design='new'] .appointment .line-form .form-row + .form-row {
  margin-top: 14px;
}

html[data-design='new'] .appointment .line-form .form-row:last-child {
  margin-top: 18px;
}

html[data-design='new'] .appointment .line-form input[type="text"],
html[data-design='new'] .appointment .line-form input[type="email"],
html[data-design='new'] .appointment .line-form input[type="tel"] {
  color: var(--brand-indigo-900);
  border-bottom-color: #e4dcea;
}

html[data-design='new'] .appointment .line-form input:focus {
  border-bottom-color: var(--brand-magenta-600);
}

html[data-design='new'] .appointment .line-form input::-webkit-input-placeholder { color: #8a8298; }
html[data-design='new'] .appointment .line-form input:-moz-placeholder { color: #8a8298; }
html[data-design='new'] .appointment .line-form input::-moz-placeholder { color: #8a8298; }
html[data-design='new'] .appointment .line-form input:-ms-input-placeholder { color: #8a8298; }

html[data-design='new'] .appointment .custom-checkbox2 + label > span,
html[data-design='new'] .appointment .custom-checkbox2 + label > p {
  color: #5c5670;
}

html[data-design='new'] .appointment .custom-checkbox2 + label a {
  color: var(--brand-magenta-600) !important;
}

html[data-design='new'] .appointment .btn {
  border-radius: 999px;
  padding: 12px 28px;
  min-width: 168px;
}

html[data-design='new'] .appointment .error.white,
html[data-design='new'] .appointment .white .error {
  color: var(--brand-magenta-600) !important;
}

/* ---------- Галерея — JS-слайдер (Slick), только косметика ---------- */

html[data-design='new'] .slider-3__item-container {
  border-radius: var(--nd-radius-md);
  overflow: hidden;
}

html[data-design='new'] .slider-3__item img {
  border-radius: var(--nd-radius-md);
}

/* ---------- Контакты ---------- */

html[data-design='new'] .contacts-section .adress-group {
  border-bottom-color: rgba(146, 44, 136, 0.15);
}

html[data-design='new'] .contacts-section .link a {
  font-weight: 700;
  color: var(--brand-magenta-600);
}

/* Карточка только у самой карты. Если скруглять .main-map целиком,
   внутрь попадает левый gutter сетки (40px) — белая пустая плашка. */
html[data-design='new'] .main-map {
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  background: transparent;
}

html[data-design='new'] .main-map iframe,
html[data-design='new'] .main-map > div {
  display: block;
  width: 100%;
  border: 0;
  border-radius: var(--nd-radius-md);
  overflow: hidden;
  box-shadow: 0 14px 34px -20px rgba(46, 37, 96, 0.25);
}

/* ---------- Промо-баннер "Поможем заговорить, даже если сложно!" ---------- */

html[data-design='new'] .banner-info__wrapper {
  background: #faf8fb;
  border: 1px solid #efeaf3;
  border-radius: var(--nd-radius-lg);
  box-shadow: 0 12px 32px -22px rgba(46, 37, 96, 0.2);
}

html[data-design='new'] .banner-info__content h2 {
  color: var(--brand-indigo-900);
}

/* ---------- Внутренние страницы ----------
   Серый фон .inner-page (#F7F8F7) на белом body выглядит чужой полосой.
   Карточка hero с главной внутрь .inner-page не переносится: там свой текст,
   большой padding и центр дают двойной отступ. */
html[data-design='new'] .inner-page {
  background-color: #fff;
}

html[data-design='new'] .inner-page .main-about {
  margin: 0;
}

html[data-design='new'] .inner-page .main-about .main-about__content {
  padding: 0;
  box-shadow: none;
  border-radius: 0;
  text-align: inherit;
}

html[data-design='new'] .inner-page h1 {
  color: var(--brand-indigo-900);
}

/* Вакансии: условия и должности карточками, а не сплошным текстом. */
html[data-design='new'] .jobs__facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 28px 0 36px;
}

@media (min-width: 800px) {
  html[data-design='new'] .jobs__facts {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

html[data-design='new'] .jobs__card,
html[data-design='new'] .jobs__role {
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 14px 34px -22px rgba(46, 37, 96, 0.28);
}

html[data-design='new'] .jobs__card {
  padding: 24px 28px 12px;
}

html[data-design='new'] .jobs__role {
  padding: 24px 28px 0;
  overflow: hidden;
}

html[data-design='new'] .jobs__card h2,
html[data-design='new'] .jobs__role h3 {
  margin-top: 0;
  margin-bottom: 14px;
  color: var(--brand-indigo-900);
  font-weight: 700;
}

html[data-design='new'] .jobs__card h2 {
  font-size: 22px;
}

html[data-design='new'] .jobs__heading {
  margin-bottom: 18px;
}

html[data-design='new'] .jobs__role + .jobs__role {
  margin-top: 16px;
}

html[data-design='new'] .jobs__role h3 {
  font-size: 24px;
}

html[data-design='new'] .jobs__role h4 {
  margin: 18px 0 8px;
  color: var(--brand-indigo-900);
  font-weight: 700;
}

html[data-design='new'] .jobs__card ul,
html[data-design='new'] .jobs__role ul {
  margin-bottom: 8px;
}

html[data-design='new'] .jobs__phone {
  margin: 18px -28px 0;
  padding: 14px 28px;
  border-top: 1px solid #ece7f5;
  background: #faf8fc;
  border-radius: 0 0 var(--nd-radius-md) var(--nd-radius-md);
}

html[data-design='new'] .jobs__phone a {
  font-weight: 700;
  color: var(--brand-magenta-600);
  white-space: nowrap;
}

/* ---------- Кнопки (единый брендовый pill-стиль) ---------- */

html[data-design='new'] .btn {
  border-radius: 999px;
  background: var(--brand-magenta-600);
  color: #fff;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.2s ease, color 0.2s ease, box-shadow 0.25s ease;
}

html[data-design='new'] .btn:hover,
html[data-design='new'] .btn:focus,
html[data-design='new'] .btn:focus-visible {
  background: #7d2476;
  color: #fff;
  box-shadow: 0 10px 22px -8px rgba(135, 95, 221, 0.7);
}

@media (prefers-reduced-motion: reduce) {
  html[data-design='new'] .btn:hover,
  html[data-design='new'] .btn:focus,
  html[data-design='new'] .btn:focus-visible {
    box-shadow: none;
  }
}

/* ---------- Футер (единый брендовый тёмный фон вместо серого) ---------- */

html[data-design='new'] .footer {
  background-color: #2e2560;
  position: relative;
}

html[data-design='new'] .footer::before {
  content: none;
}

html[data-design='new'] .footer__bottom {
  border-top-color: rgba(255, 255, 255, 0.12);
}

html[data-design='new'] .footer-menu li a,
html[data-design='new'] .footer-copy a {
  transition: color 0.2s ease, transform 0.2s ease;
}

html[data-design='new'] .footer-menu li a {
  display: inline-block;
}

html[data-design='new'] .footer-menu li a:hover,
html[data-design='new'] .footer-copy a:hover {
  color: var(--brand-pink-500);
}

html[data-design='new'] .footer-menu li a:hover {
  transform: translateX(3px);
}

html[data-design='new'] .footer-contacts__link:hover {
  color: var(--brand-pink-500) !important;
}

/* Виджет рейтинга Яндекс.Справочника — непрозрачный белый iframe фикс.
   размера; без обёртки на тёмном фоне футера смотрится случайной белой
   "дыркой". Белая карточка со скруглением делает это выглядит намеренно. */
html[data-design='new'] .ya-rates {
  background: #fff;
  border-radius: var(--nd-radius-md);
  padding: 4px 10px;
  width: fit-content;
  margin-top: 16px;
}

/* Юридический блок — тонкая полоса в самом низу футера. */
html[data-design='new'] .footer__content {
  padding-bottom: 0;
}

html[data-design='new'] .footer-legal {
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.82);
  text-align: left;
}

html[data-design='new'] .footer-legal p {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
}

html[data-design='new'] .footer-legal__links,
html[data-design='new'] .footer-legal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}

html[data-design='new'] .footer-legal__links {
  margin-bottom: 6px;
}

html[data-design='new'] .footer-legal a {
  color: #fff;
  text-decoration: none;
}

html[data-design='new'] .footer-legal a:hover {
  color: var(--brand-pink-500);
}

html[data-design='new'] .footer-legal__credit {
  color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 959px) {
  html[data-design='new'] .footer-legal {
    text-align: center;
  }

  html[data-design='new'] .footer-legal__links,
  html[data-design='new'] .footer-legal__meta {
    justify-content: center;
  }

  html[data-design='new'] .footer-social + .ya-rates,
  html[data-design='new'] .ya-rates {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---------- Кнопка-переключатель стиля (видна всегда, независимо от режима) ---------- */

.ps-design-toggle {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 700;
  font-family: 'GothamPro', sans-serif;
  color: #fff;
  background: linear-gradient(135deg, #922c88, #392c70);
  box-shadow: 0 12px 28px -10px rgba(46, 37, 96, 0.5);
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ps-design-toggle:hover {
  transform: translateY(-2px);
}

.ps-design-toggle:active {
  transform: translateY(0) scale(0.96);
  transition-duration: 0.12s;
}

@media (max-width: 600px) {
  .ps-design-toggle {
    right: 10px;
    bottom: 10px;
    padding: 10px 14px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-design-toggle,
  .nd-tile,
  .nd-spec-card {
    transition: none !important;
  }

  .nd-tile:hover,
  .nd-spec-card:hover {
    transform: none !important;
  }
}

/* ---------- Мягкая scroll-анимация появления блоков (design-toggle.js,
   initScrollReveal). Класс sr-hidden ставится только из JS перед стартом
   наблюдения — без JS блоки остаются в обычном видимом состоянии. ---------- */

html[data-design='new'] .sr-hidden {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

html[data-design='new'] .sr-hidden.sr-visible {
  opacity: 1;
  transform: none;
}

/* ---------- Заболевания: поле поиска и карточки букв ---------- */

html[data-design='new'] .diseases-cover__content h1 {
  color: var(--brand-indigo-900);
}

html[data-design='new'] .diseases-cover__content p {
  color: #4a4458;
}

html[data-design='new'] .diseases-cover__search {
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  padding: 18px 20px 16px;
}

html[data-design='new'] .diseases-cover__search .form-search {
  max-width: none;
  height: 46px;
  margin-bottom: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

html[data-design='new'] .diseases-cover__search .form-search:focus-within {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
}

html[data-design='new'] .diseases-cover__search .form-search input {
  max-width: none;
  color: var(--brand-indigo-900);
  font-size: 15px;
}

html[data-design='new'] .diseases-cover__search .form-search input::placeholder {
  color: #9a94a8;
}

html[data-design='new'] .diseases-cover__search .form-search button {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
}

html[data-design='new'] .diseases-cover__search-list ul {
  gap: 8px;
}

html[data-design='new'] .diseases-cover__search-list ul li {
  justify-content: center;
  align-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #ece7f5;
  background: #fff;
  color: var(--brand-indigo-900);
  font-weight: 600;
}

html[data-design='new'] .diseases-cover__search-list ul li.active,
html[data-design='new'] .diseases-cover__search-list ul li:hover {
  background: var(--brand-magenta-600);
  border-color: var(--brand-magenta-600);
  color: #fff;
}

html[data-design='new'] .diseases-cover__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 48px;
}

html[data-design='new'] .diseases-cover__list .item {
  width: auto;
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  padding: 16px 18px 18px;
}

html[data-design='new'] .diseases-cover__list .item .head {
  color: var(--brand-indigo-900);
  font-weight: 700;
  font-size: 22px;
  border-bottom: 1px solid #ece7f5;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

html[data-design='new'] .diseases-cover__list .item .body li a {
  color: var(--brand-indigo-900);
}

html[data-design='new'] .diseases-cover__list .item .body li a:hover {
  color: var(--brand-magenta-600);
}

@media (max-width: 1024px) {
  html[data-design='new'] .diseases-cover__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  html[data-design='new'] .diseases-cover__list {
    grid-template-columns: 1fr;
  }
}

/* ---------- Сведения об организации: текст и таблицы ---------- */

html[data-design='new'] .org-info > p {
  color: #3d3654;
  line-height: 1.7;
  margin: 0 0 14px;
}

html[data-design='new'] .org-info h3 {
  margin: 28px 0 12px;
  color: var(--brand-indigo-900);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}

html[data-design='new'] .org-info > p > strong {
  display: block;
  margin-top: 8px;
  color: var(--brand-indigo-900);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

html[data-design='new'] .org-info div[dir='ltr'] {
  overflow-x: auto;
  margin: 8px 0 28px;
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
}

html[data-design='new'] .org-info table {
  width: 100%;
  min-width: 100%;
  margin: 0;
  border: none;
  border-collapse: separate;
  border-spacing: 0;
}

html[data-design='new'] .org-info col {
  width: auto !important;
}

html[data-design='new'] .org-info td {
  border: none;
  border-bottom: 1px solid #ece7f5;
  padding: 14px 18px;
  vertical-align: top;
  color: var(--brand-indigo-900);
  background: #fff;
  line-height: 1.5;
}

html[data-design='new'] .org-info tr:last-child td {
  border-bottom: none;
}

html[data-design='new'] .org-info td p {
  margin: 0 0 4px;
}

html[data-design='new'] .org-info td p:last-child {
  margin-bottom: 0;
}

html[data-design='new'] .org-info td a {
  white-space: nowrap;
}

html[data-design='new'] .org-sections {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 28px 0 8px;
  padding: 0;
}

@media (min-width: 800px) {
  html[data-design='new'] .org-sections {
    grid-template-columns: 1fr 1fr;
  }
}

html[data-design='new'] .org-sections li {
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

html[data-design='new'] .org-sections li::before {
  content: none !important;
  display: none;
}

html[data-design='new'] .org-sections a {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  padding: 16px 18px;
  color: var(--brand-indigo-900);
  font-weight: 600;
  text-decoration: none;
}

html[data-design='new'] .org-sections a:hover {
  color: var(--brand-magenta-600);
}

html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) td:first-child {
  width: 46%;
  background: #faf8fc;
  font-weight: 600;
}

html[data-design='new'] .org-info table:has(td:nth-child(3)) tr:first-child td,
html[data-design='new'] .org-info table tr:first-child:has(td[colspan]) + tr td {
  background: #faf8fc;
  font-weight: 600;
}

html[data-design='new'] .org-info td[colspan] {
  background: #f7f4fb;
  font-weight: 700;
}

html[data-design='new'] .org-info table:has(td:nth-child(5)) {
  min-width: 920px;
}

@media (max-width: 700px) {
  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))),
  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) tbody,
  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) tr,
  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) td {
    display: block;
    width: 100% !important;
  }

  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) td:first-child {
    border-bottom: none;
    padding-bottom: 4px;
  }

  html[data-design='new'] .org-info table:not(:has(td:nth-child(3))) td:last-child {
    padding-top: 0;
  }
}

/* Каталог услуг: кадр 4:3 занимает место до загрузки файла,
   текст в ряду выравнивает flex. Без этого фото без width/height
   дорастают по одному, а jquery-match-height на load ещё раз
   переписывает height — карточки долго «подгоняются». */
html[data-design='new'] .catalog--heroes .uk-grid > * {
  display: flex;
}

html[data-design='new'] .catalog--heroes .catalog__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1 1 auto;
}

html[data-design='new'] .catalog--heroes .catalog__item-img {
  position: relative;
  aspect-ratio: 4 / 3;
  height: auto;
  max-height: none;
  overflow: hidden;
  flex: 0 0 auto;
  background: #f6f3f8;
}

html[data-design='new'] .catalog--heroes .catalog__item-img a,
html[data-design='new'] .catalog--heroes .catalog__item-img img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}

html[data-design='new'] .catalog--heroes .catalog__item-img img {
  object-fit: contain;
  object-position: center;
  font-family: inherit;
}

html[data-design='new'] .catalog--heroes .catalog__item-content {
  flex: 1 1 auto;
  height: auto !important;
}

/* Вкладки разделов на /stati/: те же плашки, что буквы на заболеваниях. */
html[data-design='new'] .parents-menu-articles {
  margin: 0 0 22px;
}

html[data-design='new'] .parents-menu-articles ul.hr {
  gap: 10px;
  margin: 0;
}

html[data-design='new'] .parents-menu-articles ul.hr li {
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

html[data-design='new'] .parents-menu-articles ul.hr li::before {
  content: none !important;
  display: none;
}

html[data-design='new'] .parents-menu-articles ul.hr li > a {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid #ece7f5;
  background: #fff;
  color: var(--brand-indigo-900);
  font-weight: 600;
  line-height: 1.3;
  box-shadow: none;
  transform: none;
}

html[data-design='new'] .parents-menu-articles ul.hr li.active > a,
html[data-design='new'] .parents-menu-articles ul.hr li.active a {
  background: var(--brand-magenta-600);
  border-color: var(--brand-magenta-600);
  color: #fff;
  box-shadow: none;
}

html[data-design='new'] .parents-menu-articles ul.hr li:not(.active) > a:hover {
  background: #f7f4fb;
  color: var(--brand-magenta-600);
  transform: none;
  box-shadow: none;
}

/* ---------- Политика и оферта: документ карточкой, без смены текста ---------- */
html[data-design='new'] .legal-doc {
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-lg);
  box-shadow: 0 14px 34px -22px rgba(46, 37, 96, 0.22);
  padding: 28px 22px 12px;
  color: #3a3450;
}

@media (min-width: 800px) {
  html[data-design='new'] .legal-doc {
    padding: 36px 40px 16px;
  }
}

html[data-design='new'] .legal-doc h2 {
  margin: 28px 0 12px;
  color: var(--brand-indigo-900);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}

html[data-design='new'] .legal-doc h2:first-child {
  margin-top: 0;
}

html[data-design='new'] .legal-doc p,
html[data-design='new'] .legal-doc li {
  font-size: 16px;
  line-height: 1.65;
  color: #3a3450;
}

html[data-design='new'] .legal-doc p {
  margin: 0 0 12px;
}

html[data-design='new'] .legal-doc a {
  font-size: inherit;
  font-weight: 600;
}

html[data-design='new'] .legal-doc ul {
  margin: 4px 0 16px;
}

/* ---------- Карта сайта: разделы карточками, без точек и больших отступов ---------- */
html[data-design='new'] .sitemap-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

html[data-design='new'] .sitemap-list ul,
html[data-design='new'] .sitemap-list .uk-margin {
  margin: 8px 0 4px;
  padding: 0 0 0 14px;
  border-left: 2px solid #ece7f5;
  list-style: none;
}

html[data-design='new'] .sitemap-list > li {
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  margin: 0 0 12px;
  padding: 14px 18px 10px;
}

html[data-design='new'] .sitemap-list li {
  padding-bottom: 2px;
  padding-left: 0;
  list-style: none;
}

html[data-design='new'] .sitemap-list li::before {
  content: none !important;
  display: none;
}

html[data-design='new'] .sitemap-list a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--brand-indigo-900);
}

html[data-design='new'] .sitemap-list > li > a {
  font-size: 18px;
  font-weight: 700;
}

html[data-design='new'] .sitemap-list a:hover {
  color: var(--brand-magenta-600);
}

/* ---------- Текст под прайсом: каждый раздел своей карточкой ---------- */
html[data-design='new'] .price-notes {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

html[data-design='new'] .price-notes__block {
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
  padding: 22px 22px 8px;
}

html[data-design='new'] .price-notes__block h2 {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}

html[data-design='new'] .price-notes__block h3 {
  margin: 22px 0 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

html[data-design='new'] .price-notes__block p,
html[data-design='new'] .price-notes__block li {
  font-size: 16px;
  line-height: 1.6;
  color: #3a3450;
}

html[data-design='new'] .price-notes__block a {
  font-size: inherit;
}

html[data-design='new'] .price-notes__block ol {
  list-style: none;
  margin: 8px 0 16px;
  padding: 0;
  counter-reset: price-note;
}

html[data-design='new'] .price-notes__block ol > li {
  position: relative;
  list-style: none;
  margin: 0 0 12px;
  padding: 2px 0 0 40px;
}

html[data-design='new'] .price-notes__block ol > li::before {
  content: counter(price-note);
  counter-increment: price-note;
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f3effa;
  color: var(--brand-magenta-600);
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
}

/* ---------- FAQ: заголовок в одну строку со ссылкой, плюс не наезжает на текст ---------- */
html[data-design='new'] .articles:has(.uk-accordion) > .uk-container {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  column-gap: 16px;
}

html[data-design='new'] .articles:has(.uk-accordion) > .uk-container > h2 {
  margin: 0 0 8px;
  color: var(--brand-indigo-900);
}

html[data-design='new'] .articles:has(.uk-accordion) > .uk-container > .section-head-group {
  margin: 0 0 16px;
}

html[data-design='new'] .articles:has(.uk-accordion) > .uk-container > .uk-accordion {
  grid-column: 1 / -1;
}

@media (min-width: 720px) {
  html[data-design='new'] .articles:has(.uk-accordion) > .uk-container {
    grid-template-columns: 1fr auto;
  }

  html[data-design='new'] .articles:has(.uk-accordion) > .uk-container > h2 {
    grid-column: 1;
    text-align: left !important;
    margin-bottom: 18px;
  }

  html[data-design='new'] .articles:has(.uk-accordion) > .uk-container > .section-head-group {
    grid-column: 2;
    margin-bottom: 18px;
  }
}

html[data-design='new'] .price-item .uk-accordion-title {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 14px 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

html[data-design='new'] .price-item .uk-accordion-title::before {
  flex: 0 0 36px;
  width: 36px !important;
  height: 36px !important;
  margin: 0;
  float: none;
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
}

html[data-design='new'] .price-item .uk-accordion-content {
  padding-bottom: 8px;
  max-width: none;
}

/* Форма «Задать вопрос» на странице специалиста.
   Поля те же, вид как у остальных карточек: мягкая рамка, не чёрная обводка. */
html[data-design='new'] .coach-form {
  margin-top: 8px;
  padding: 20px 18px 18px;
  background: #fff;
  border: 1px solid #ece7f5;
  border-radius: var(--nd-radius-md);
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.22);
}

html[data-design='new'] .coach-form form.uk-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
  margin: 0;
}

html[data-design='new'] .coach-form form.uk-grid > * {
  width: auto !important;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}

html[data-design='new'] .coach-form form.uk-grid > .uk-width-1-1 {
  grid-column: 1 / -1;
}

html[data-design='new'] .coach-form input[type='text'],
html[data-design='new'] .coach-form input[type='tel'],
html[data-design='new'] .coach-form input[type='email'],
html[data-design='new'] .coach-form textarea {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0;
  margin: 0;
  padding: 10px 0;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid #e4dcea !important;
  border-radius: 0 !important;
  color: var(--brand-indigo-900);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: none !important;
  outline: none;
  appearance: none;
}

html[data-design='new'] .coach-form textarea {
  min-height: 96px;
  resize: vertical;
}

html[data-design='new'] .coach-form input:focus,
html[data-design='new'] .coach-form textarea:focus {
  outline: none;
  background: transparent !important;
  border-bottom-color: var(--brand-magenta-600) !important;
}

html[data-design='new'] .coach-form input::placeholder,
html[data-design='new'] .coach-form textarea::placeholder {
  color: #8a8298;
}

html[data-design='new'] .coach-form input[name='sur__name'] {
  position: absolute;
  left: -9999px;
  width: 1px !important;
  height: 1px;
  min-height: 0;
  padding: 0;
  border: 0 !important;
}

html[data-design='new'] .coach-form .coach-form__hint {
  margin: 0;
  color: #5c5670;
  font-size: 14px;
  line-height: 1.45;
}

html[data-design='new'] .coach-form .checkbox {
  margin: 0 0 10px;
}

html[data-design='new'] .coach-form .custom-checkbox + label,
html[data-design='new'] .coach-form .custom-checkbox + label > span {
  color: #5c5670;
  font-size: 15px;
  line-height: 1.45;
}

html[data-design='new'] .coach-form .custom-checkbox + label a {
  color: var(--brand-magenta-600) !important;
  font-size: 15px !important;
}

html[data-design='new'] .coach-form .custom-checkbox + label::before {
  border-color: #c9bdd4;
  border-radius: 6px;
}

html[data-design='new'] .coach-form .btn {
  border-radius: 999px;
  padding: 12px 28px;
  min-width: 168px;
}

@media (max-width: 640px) {
  html[data-design='new'] .coach-form form.uk-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Мобильная вёрстка (телефон и узкий планшет) ---------- */

@media (max-width: 720px) {
  /* Прайс: строка не влезает в экран, цена и «Записаться» были за горизонтальным скроллом. */
  html[data-design='new'] .uk-overflow-auto:has(.call-action__table) {
    overflow: visible;
  }

  html[data-design='new'] .call-action__table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-spacing: 0;
  }

  html[data-design='new'] .call-action__table thead {
    display: none;
  }

  html[data-design='new'] .call-action__table tbody {
    display: block;
    width: 100%;
  }

  html[data-design='new'] .call-action__table tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    width: auto;
    margin: 0 0 12px;
    padding: 16px 16px 14px;
    background: #fff;
    border: 1px solid #efe8f6;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(57, 44, 112, 0.06);
  }

  html[data-design='new'] .call-action__table td {
    display: block;
    width: auto !important;
    padding: 0;
    border: 0;
    text-align: left;
    vertical-align: top;
  }

  html[data-design='new'] .call-action__table td:nth-child(1) {
    flex: 1 1 100%;
  }

  html[data-design='new'] .call-action__table td:nth-child(2),
  html[data-design='new'] .call-action__table td:nth-child(3) {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    color: #2e2560;
  }

  html[data-design='new'] .call-action__table td:nth-child(2)::before {
    content: "Посещений: ";
    font-weight: 500;
    color: #6b6580;
  }

  html[data-design='new'] .call-action__table td:nth-child(3) {
    margin-left: auto;
    font-size: 18px;
    white-space: normal;
  }

  html[data-design='new'] .call-action__table td:nth-child(4):has(.btn) {
    flex: 1 1 100%;
    margin-top: 4px;
  }

  html[data-design='new'] .call-action__table td:nth-child(4) .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    font-size: 15px;
  }

  /* Карточка специалиста: фиксированные 400px раздвигали страницу. */
  html[data-design='new'] .specialist-crm-page__top.uk-grid {
    display: block;
    margin-left: 0;
  }

  html[data-design='new'] .specialist-crm-page__top.uk-grid > * {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    margin-left: 0;
  }

  html[data-design='new'] .coach-inner__wrapper,
  html[data-design='new'] .coach-inner__img {
    width: 100%;
    max-width: 100%;
  }

  html[data-design='new'] .coach-inner__img img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  html[data-design='new'] .specialist-crm-page__top {
    padding-top: 8px;
  }

  /* Полоса записи на внутренних страницах: 100vw давал лишние ~15px скролла. */
  html[data-design='new'] .inner-page .appointment {
    width: auto;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  html[data-design='new'] .appointment .appointment__content {
    padding: 22px 16px;
    min-width: 0;
  }

  /* Направления: две колонки, высота по тексту, без пустых плашек. */
  html[data-design='new'] .tile {
    margin: 8px 0 12px;
  }

  html[data-design='new'] .tile .uk-grid {
    margin-left: 0 !important;
    width: 100%;
  }

  html[data-design='new'] .tile .uk-grid > * {
    padding-left: 0 !important;
  }

  html[data-design='new'] .tile .uk-container > .uk-grid > * {
    width: 100% !important;
    max-width: none;
  }

  html[data-design='new'] .tile .uk-grid .uk-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  html[data-design='new'] .tile .uk-grid .uk-grid > * {
    box-sizing: border-box;
    display: flex;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px);
    flex: 0 0 calc(50% - 4px);
    margin: 0;
  }

  html[data-design='new'] .tile .uk-grid .uk-grid > *:last-child:nth-child(odd) {
    width: 100% !important;
    max-width: 100%;
    flex-basis: 100%;
  }

  html[data-design='new'] .tile__item {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 12px;
    border-radius: 14px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    flex: 1;
    overflow: hidden;
  }

  html[data-design='new'] .tile__item .tile__item-title {
    position: relative;
    top: auto;
    left: auto;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: break-word;
  }

  html[data-design='new'] .tile__item-title br {
    display: none;
  }

  /* «Почему центр»: иконка слева, текст справа, без высокой карточки. */
  html[data-design='new'] .advantage__list.uk-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-left: 0;
  }

  html[data-design='new'] .advantage__list.uk-grid > li {
    width: auto !important;
    max-width: none;
    padding-left: 0;
    margin: 0;
  }

  html[data-design='new'] .advantage__list .advantage__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    max-width: none;
    margin: 0;
    padding: 12px 14px;
    text-align: left;
  }

  html[data-design='new'] .advantage__list .advantage__item-img {
    width: 40px;
    height: 40px;
    margin: 0;
    grid-row: 1 / span 2;
    border-radius: 12px;
  }

  html[data-design='new'] .advantage__list .advantage__item-img > img {
    max-width: 22px;
    max-height: 22px;
  }

  html[data-design='new'] .advantage__list .advantage__item h3 {
    font-size: 15px;
    margin: 0;
    line-height: 1.25;
  }

  html[data-design='new'] .advantage__list .advantage__item p {
    margin: 0;
    font-size: 13px;
    line-height: 1.35;
  }

  html[data-design='new'] .main-map {
    height: 280px;
    margin-top: 16px;
    overflow: hidden;
    border-radius: 16px;
  }
}

@media (max-width: 520px) {
  html[data-design='new'] .uk-modal-dialog {
    width: auto;
    max-width: calc(100vw - 16px);
    margin-left: auto;
    margin-right: auto;
    padding: 16px 14px;
    box-sizing: border-box;
  }

  html[data-design='new'] .modal-order__content {
    width: 100%;
    max-width: 100%;
    padding: 12px 4px 4px;
    box-sizing: border-box;
  }
}

@media (max-width: 400px) {
  html[data-design='new'] .main-about .main-about__content {
    padding-left: 20px;
    padding-right: 20px;
  }

  html[data-design='new'] .main-about h1.lined-title,
  html[data-design='new'] .main-about p {
    overflow-wrap: break-word;
  }
}

@media (max-width: 380px) {
  html[data-design='new'] .header-top .uk-container > .uk-grid {
    flex-wrap: nowrap;
    align-items: center;
    margin-left: 0;
  }

  html[data-design='new'] .header-top .uk-container > .uk-grid > * {
    padding-left: 8px;
  }

  html[data-design='new'] .header-top .uk-container > .uk-grid > *:first-child {
    padding-left: 0;
  }

  html[data-design='new'] .header-top .logo {
    float: none;
    min-width: 0;
  }

  html[data-design='new'] .header-top .logo__link img {
    width: 132px;
    height: auto;
  }

  html[data-design='new'] .open-top-menu-btn {
    margin-left: 0;
    padding: 4px;
    font-size: 28px;
  }

  html[data-design='new'] .open-main-menu-btn {
    margin-right: 8px;
    padding: 8px 0;
    font-size: 13px;
    letter-spacing: 0.3px;
  }
}

/* «Почему центр» — линия в круге, без тени. Цифры 2 / 17 / 31 — мини-карточки. */
html[data-design='new'] body.page-home .advantage__list .advantage__item {
  background: transparent;
  box-shadow: none;
  border: none;
}

html[data-design='new'] body.page-home .advantage__list .advantage__item:hover {
  box-shadow: none;
}

html[data-design='new'] body.page-home .advantage__list .advantage__item-img {
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-design='new'] body.page-home .advantage__list .advantage__item-img img {
  width: 80px;
  height: 80px;
  max-width: none;
  max-height: none;
  display: block;
  object-fit: contain;
}

html[data-design='new'] body.page-home .ps-about-stats {
  background: #F3F0F8;
  margin: 0;
  padding: 28px 0 12px;
}

html[data-design='new'] body.page-home .ps-about-stats .main-about__content {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 12px 0 20px;
}

html[data-design='new'] body.page-home .ps-about-stats .ps-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 840px;
  margin: 28px auto 0;
  padding: 0;
}

html[data-design='new'] body.page-home .ps-about-stats .ps-stats > li {
  display: block;
  margin: 0;
  min-width: 0;
}

html[data-design='new'] body.page-home .ps-about-stats .list-center__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  height: 100%;
  background: #fff;
  border-radius: 16px;
  padding: 22px 12px 18px;
  box-shadow: none;
}

html[data-design='new'] body.page-home .ps-about-stats .ps-stats__icon {
  display: block;
  width: 80px;
  height: 80px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-design='new'] body.page-home .ps-about-stats .ps-stats__icon img {
  width: 80px;
  height: 80px;
  max-width: none;
  max-height: none;
  display: block;
}

html[data-design='new'] body.page-home .ps-about-stats .big-num {
  font-size: clamp(36px, 4vw, 48px);
  font-weight: 700;
  line-height: 1;
  color: #875FDD;
  margin: 4px 0 0;
}

html[data-design='new'] body.page-home .ps-about-stats .ps-stats > li p {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.35;
  color: #6b6578;
}

@media (max-width: 720px) {
  html[data-design='new'] body.page-home .advantage__list .advantage__item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  html[data-design='new'] body.page-home .advantage__list .advantage__item-img,
  html[data-design='new'] body.page-home .advantage__list .advantage__item-img img {
    width: 64px;
    height: 64px;
    margin: 0;
    border: none;
    border-radius: 0;
  }
}

@media (max-width: 560px) {
  html[data-design='new'] body.page-home .ps-about-stats .ps-stats {
    grid-template-columns: 1fr;
    max-width: 280px;
  }
}

/* Мессенджеры в шапке: мягкая лавандовая подложка вместо тяжёлого серого */
html[data-design='new'] .header-bottom .header-social__item circle {
  fill: #efe9fa;
}
html[data-design='new'] .header-bottom .header-social__item path {
  fill: #875fdd;
  transition: fill 0.2s linear;
}
html[data-design='new'] .header-bottom .header-social__item:hover circle {
  fill: #922c88;
}
html[data-design='new'] .header-bottom .header-social__item:hover path {
  fill: #fff;
}

/* Шапка: мессенджеры чуть крупнее */
html[data-design='new'] .header-bottom .header-social__item svg {
  width: 34px;
  height: 34px;
}

/* Подвал (тёмный фон): полупрозрачный круг и белая иконка вместо белого пятна */
html[data-design='new'] .footer-social__item circle {
  fill: rgba(255, 255, 255, 0.14);
}
html[data-design='new'] .footer-social__item path {
  fill: #fff;
}
html[data-design='new'] .footer-social__item svg:hover circle {
  fill: #942c88 !important;
}

/* Мессенджеры: лаванда в покое, фирменный цвет при наведении (WhatsApp / Telegram / MAX) */
html[data-design='new'] .header-social__item:nth-child(1):hover circle,
html[data-design='new'] .footer-social__item:nth-child(1) svg:hover circle { fill: #25d366 !important; }
html[data-design='new'] .header-social__item:nth-child(2):hover circle,
html[data-design='new'] .footer-social__item:nth-child(2) svg:hover circle { fill: #229ed9 !important; }
html[data-design='new'] .header-social__item:nth-child(3):hover circle { fill: url(#maxg-h) !important; }
html[data-design='new'] .footer-social__item:nth-child(3) svg:hover circle { fill: url(#maxg-f) !important; }

/* Плитки: стрелка «оживает» при наведении, нажатие чувствуется на тачскринах */
html[data-design='new'] a.tile__item::before {
  transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease;
}
@media (hover: hover) and (pointer: fine) {
  html[data-design='new'] a.tile__item:hover::before,
  html[data-design='new'] a.tile__item:focus-visible::before {
    transform: translateX(5px) scale(1.14);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--c) 20%, transparent);
  }
}
html[data-design='new'] a.tile__item:active {
  transform: scale(0.97);
  transition-duration: .08s;
}

/* ---------- Единый заголовок секции: слева заголовок, справа «Все …» на одной линии ---------- */
@media (min-width: 720px) {
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: baseline;
  }
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group)::before,
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group)::after {
    display: none;
  }
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group) > h2 {
    grid-column: 1;
    text-align: left !important;
    margin: 0 0 24px !important;
  }
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group) > .section-head-group {
    grid-column: 2;
    margin: 0 0 24px !important;
  }
  html[data-design='new'] .uk-container:has(> h2 + .section-head-group) > :not(h2):not(.section-head-group) {
    grid-column: 1 / -1;
  }
}

/* ---------- Отзывы: тот же ритм и стиль карточки, что у остальных секций ---------- */
html[data-design='new'] .main-review {
  margin: 0;
  padding: 24px 0 48px;
}
html[data-design='new'] .main-review > .uk-container > h2 {
  text-align: left !important;
  margin: 0 0 20px !important;
}
html[data-design='new'] .main-review .review-slider__rates.uk-flex-between {
  margin-bottom: 20px;
}
@media (min-width: 720px) {
  /* «Все отзывы» — в строке заголовка, бейдж рейтинга под ним */
  html[data-design='new'] .main-review > .uk-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: baseline;
  }
  html[data-design='new'] .main-review > .uk-container::before,
  html[data-design='new'] .main-review > .uk-container::after {
    display: none;
  }
  html[data-design='new'] .main-review > .uk-container > h2 {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 24px !important;
  }
  html[data-design='new'] .main-review > .uk-container > .review-slider__rates.uk-flex-between {
    display: contents;
  }
  html[data-design='new'] .main-review > .uk-container > .review-slider__rates.uk-flex-between > .review-slider__rates-links {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 24px;
  }
  html[data-design='new'] .main-review > .uk-container > .review-slider__rates.uk-flex-between > .review-slider__rates:not(.review-slider__rates-links) {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    justify-content: flex-start;
    margin: 0 0 20px;
  }
  html[data-design='new'] .main-review > .uk-container > :not(h2):not(.review-slider__rates) {
    grid-column: 1 / -1;
  }
}
html[data-design='new'] .main-review .slider-2__item-container {
  border: 1px solid #ece7f5;
  box-shadow: 0 10px 26px -18px rgba(46, 37, 96, 0.28);
}
html[data-design='new'] .main-review .slider-2__item > .uk-h4 {
  color: var(--brand-indigo-900, #2e2560);
  font-weight: 600;
}
html[data-design='new'] .main-review .review-slider__text p {
  color: #4a4a4a;
  line-height: 1.55;
}

/* Подписи в первом блоке не оставляют «осиротевших» слов */
html[data-design='new'] body.page-home .ps-home-hero__fact {
  text-wrap: balance;
}
