/*
 * «В паре» — оформление сайтов в стиле лендингов v-pare.ru (версия 2.0).
 *
 * Подключается ПОСЛЕ brendbook.css отдельным файлом: убрать файл — вернётся
 * прежний вид, тема не тронута.
 *
 * Правило работы: меняем ТОЛЬКО оформление. Ни одного изменения текста,
 * состава и порядка блоков, адресов. Все размеры, цвета и скругления взяты
 * из styles.css лендинга v-pare.ru (те же переменные бренда).
 */

:root {
  --vp-green:        #003C37;
  --vp-green-deep:   #002A26;
  --vp-green-border: #12463F;
  --vp-cream:        #F4F1E8;
  --vp-cream-alt:    #E8E5DE;
  --vp-amber:        #C8943C;
  --vp-amber-dark:   #B8862E;
  --vp-amber-soft:   rgba(200,148,60,.14);
  --vp-mint:         #3FB780;
  --vp-text:         #0F2A1F;
  --vp-muted:        #636058;  /* контраст 5,6 на кремовом; прежний #7A7770 давал 4,0 */
  --vp-on-dark:      #F4F1E8;
  --vp-on-dark-mut:  rgba(244,241,232,.78);  /* контраст 6.8 на зелёном */
  --vp-border:       #D5D2CB;

  --vp-r-lg: 28px;
  --vp-r-md: 18px;
  --vp-r-sm: 12px;
  --vp-r-pill: 999px;

  --vp-shadow: 0 1px 2px rgba(15,42,31,.04), 0 8px 24px rgba(15,42,31,.06);
  --vp-shadow-lift: 0 4px 12px rgba(15,42,31,.08), 0 18px 40px rgba(15,42,31,.10);
}

/* ====================== 1. Основа ====================================== */
body {
  background: var(--vp-cream);
  color: var(--vp-text);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* серые подложки темы — в кремовый и «блочный» кремовый */
.gradient-gray,
.maintext_white,
.bg-light,
.bg-gray,
.main-advantages,
#advantages {
  background-image: none !important;
  background-color: var(--vp-cream-alt) !important;
}
.main-advantages, #advantages, .maintext_white { background-color: var(--vp-cream) !important; }
/* «Читать дальше»: плавное затухание в кремовый, а не в белый */
.read_more { background: linear-gradient(rgba(244,241,232,0), var(--vp-cream) 70%) !important; }

/* ====================== 2. Ритм секций ================================= */
.rating-to-services,
.maintext,
.main-advantages,
.directions,
.why-we,
.form_container,
.teachers,
.reviews,
.university,
.galeruImg,
.accordion,
#map .maintext { padding-top: 88px; padding-bottom: 88px; }

/* ====================== 3. Типографика ================================= */
h1, h2, h3, h4, .h2, .h3,
.accordion_title, .contact_h2 {
  font-family: 'Manrope', system-ui, sans-serif;
  letter-spacing: -0.02em;
}

.h2, h2, .accordion_title, .contact_h2 {
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.14;
  font-weight: 800;
  color: var(--vp-green) !important;
  margin-bottom: 44px;
}

/* заголовки на тёмных подложках */
.why-we .h2, .why-we h2,
.reviews .h2, .reviews h2,
.galeruImg .h2, .galeruImg h2,
.offer--row h1, .offer--row .offer--h1 { color: var(--vp-on-dark) !important; }

.main-advantages__title,
.title_benefits,
.card-title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--vp-green) !important;
}

.main-advantages__text,
.why-we__item-text p,
.card-review,
.maintext p { color: var(--vp-muted); font-size: 16px; line-height: 1.6; }

.maintext .content p { color: var(--vp-text); }

/* ====================== 4. Кнопки ====================================== */
.button--default,
.button--default--mini,
.input-button,
.sale.input-button,
input[type="submit"],
.cookie_accept {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 30px !important;
  border: 1px solid transparent !important;
  border-radius: var(--vp-r-pill) !important;
  background: var(--vp-amber) !important;
  color: #2A1C05 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: none !important;
  letter-spacing: 0;
  box-shadow: 0 6px 18px rgba(200,148,60,.28) !important;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.button--default:hover,
.button--default--mini:hover,
.input-button:hover,
input[type="submit"]:hover,
.cookie_accept:hover {
  background: var(--vp-amber-dark) !important;
  transform: translateY(-1px);
}
.button--default--mini { padding: 11px 22px !important; font-size: 15px !important; }

/* второстепенные кнопки — «призрачные», как на лендинге */
.read_more_link,
.all_teachers a,
.btn-outline-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-pill);
  background: #fff;
  color: var(--vp-green);
  font-weight: 700;
  box-shadow: none;
}
.read_more_link:hover,
.all_teachers a:hover { border-color: var(--vp-green); color: var(--vp-green); }

/* ====================== 5. Шапка ======================================= */
.header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--vp-green) !important;
  border-bottom: 1px solid rgba(244,241,232,.08);
}
.header--row { min-height: 76px; }
.header--logo img { height: auto !important; width: auto !important; max-height: 34px; max-width: 100%; }

/* пункты меню — простыми ссылками, без «таблеток» */
.header--menu > li > a,
.header--menu .dropdown > a,
.menu--item > a {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(244,241,232,.86) !important;
  font-size: 15px;
  font-weight: 500;
  padding: 10px 0 !important;
  transition: color .18s ease;
}
.header--menu > li > a:hover,
.menu--item > a:hover { color: var(--vp-amber) !important; }

.header--phone a,
.header--location--city { color: var(--vp-on-dark) !important; }
.header--location--change { color: var(--vp-amber) !important; }

/* ====================== 6. Первый экран ================================ */
.offer { background: transparent !important; padding: 28px 0 0 !important; }
.offer .header--container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}
.offer--row {
  position: relative;
  overflow: hidden;
  background: var(--vp-green);
  border-radius: var(--vp-r-lg);
  padding: 56px 56px 48px !important;
  color: var(--vp-on-dark);
}
/* фирменная точечная сетка, как на лендинге */
.offer--row::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(244,241,232,.10) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}
.offer--row > * { position: relative; }
.offer--h1 {
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.offer--list li { color: rgba(244,241,232,.88); font-size: clamp(16px,1.3vw,19px); }
.offer--button--info { color: var(--vp-on-dark-mut); font-size: 14px; }

/* ====================== 7. Карточки и сетки ============================= */
.main-advantages .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  margin: 0;
}
.main-advantages .row > [class*="col-"] {
  max-width: none;
  flex: none;
  width: auto;
  background: #fff;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
  padding: 30px 28px !important;
  transition: box-shadow .18s ease, transform .18s ease;
}
.main-advantages .row > [class*="col-"]:hover { box-shadow: var(--vp-shadow-lift); transform: translateY(-2px); }
.main-advantages .row img { margin: 0 0 18px; max-height: 56px; width: auto; }

.directions .row { gap: 20px; }
.directions__item {
  background: #fff;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
  padding: 24px 16px !important;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.directions__item:hover { box-shadow: var(--vp-shadow-lift); transform: translateY(-2px); border-color: var(--vp-amber); }
.directions__item span { color: var(--vp-green); font-weight: 700; letter-spacing: -0.01em; }

/* блок «Почему стоит выбрать нас» — тёмный, как акцентные блоки лендинга */
.why-we { background: var(--vp-green) !important; }
.why-we .container { max-width: 1320px; }
.why-we__item {
  background: rgba(244,241,232,.05);
  border: 1px solid var(--vp-green-border);
  border-radius: var(--vp-r-md);
  padding: 26px !important;
}
.why-we__item .title_benefits { color: var(--vp-on-dark) !important; }
.why-we__item-text p { color: var(--vp-on-dark-mut) !important; }
.why-we__item-icon img { filter: brightness(0) invert(1); opacity: .9; }

/* преподаватели, отзывы, вузы */
.teachers .card,
.reviews .card,
.card-review {
  background: #fff !important;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
}

/* ====================== 8. Расписание ================================== */
.table--schedule thead th,
.table--schedule th {
  background: var(--vp-green) !important;
  color: var(--vp-on-dark) !important;
  border-color: var(--vp-green) !important;
  font-weight: 700;
}
.table--schedule,
.table--schedule td { border-color: var(--vp-border) !important; }
.rate_name--table_schedule { color: var(--vp-green) !important; font-weight: 700; }

/* ====================== 9. Вопросы-ответы ============================== */
.accordion_btn {
  background: #fff !important;
  color: var(--vp-green) !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-r-md) !important;
  font-weight: 700;
  padding: 20px 24px !important;
  box-shadow: var(--vp-shadow);
}
.accordion_btn:not(.collapsed) {
  background: var(--vp-green) !important;
  color: var(--vp-on-dark) !important;
  border-color: var(--vp-green) !important;
}
.accordion .card { background: transparent !important; border: 0 !important; margin-bottom: 14px; }
.accordion .card-body { background: #fff; border: 1px solid var(--vp-border); border-top: 0; border-radius: 0 0 var(--vp-r-md) var(--vp-r-md); padding: 22px 24px; color: var(--vp-muted); }

/* ====================== 10. Подвал ===================================== */
.footer {
  background: var(--vp-green-deep) !important;
  color: var(--vp-on-dark) !important;
  padding-top: 56px;
  padding-bottom: 36px;
}
.footer a { color: rgba(244,241,232,.86) !important; }
.footer a:hover { color: var(--vp-amber) !important; }
.footer__info_yellow { color: var(--vp-amber) !important; }
.footer__logo { max-height: 34px; width: auto; }
.footer__small-text { color: rgba(244,241,232,.45) !important; font-size: 13px; }

/* ====================== 11. Телефон ==================================== */
@media (max-width: 991px) {
  .main-advantages .row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .offer--row { padding: 36px 24px !important; border-radius: 22px; }
}
@media (max-width: 600px) {
  .rating-to-services, .maintext, .main-advantages, .directions, .why-we,
  .form_container, .teachers, .reviews, .university, .galeruImg,
  .accordion, #map .maintext { padding-top: 52px; padding-bottom: 52px; }
  .main-advantages .row { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .h2, h2, .accordion_title, .contact_h2 { margin-bottom: 28px; }
  .offer { padding-top: 16px !important; }
  .button--default, .input-button, input[type="submit"] { min-height: 52px; width: auto; }
}

/* ====================== 12. Точечные правки по живой вёрстке ============ */
/* Селекторы сняты с готовой страницы (см. probe.py): здесь остатки старой
   бирюзовой и серой палитры, которых нет в брендбуке. */

/* шапка: прежний цвет 40,66,62 и «таблетки» пунктов меню */
.header.fixed { background: var(--vp-green) !important; }
header a[class=""],
.header--menu a,
.header--row a.dropdown-toggle,
header .dropdown > a {
  background: transparent !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 18px !important;
}
header .dropdown > a:hover { color: var(--vp-amber) !important; }

/* расписание: шапка таблицы была бирюзовой (30,162,185 / 38,126,140) */
#time_table th,
#time_table thead tr,
#time_table tr.d-flex,
.table--schedule th { background: var(--vp-green) !important; color: var(--vp-on-dark) !important; }
#time_table th { border-color: rgba(244,241,232,.15) !important; font-weight: 700; }
#time_table table { border-radius: var(--vp-r-md); overflow: hidden; box-shadow: var(--vp-shadow); }

/* поля ввода и выпадающие списки */
.nice-select.select_form,
select.select_form,
input.name, input.phone, input[type="text"], input[type="tel"], input[type="email"] {
  background: #fff !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-r-sm) !important;
  min-height: 52px;
  font-size: 16px;
}

/* бирюзовые подписи и ссылки */
p.h2, .tutorname, a.link, .contact_h2, .link {
  color: var(--vp-green) !important;
}
a.link:hover, .link:hover { color: var(--vp-amber-dark) !important; }

/* видео-блок: фон и отступы у темы свои, меняем только цвет */
.video.lazy { background-color: var(--vp-cream-alt) !important; }

/* аккордеон вопросов: подложка карточки и «Задать вопрос» */
.accordion.gradient-gray { background-color: var(--vp-cream-alt) !important; }
.card-accordion { background: transparent !important; }
a.what {
  background: var(--vp-green) !important;
  color: var(--vp-on-dark) !important;
  border-radius: var(--vp-r-pill) !important;
  padding: 14px 28px !important;
  font-weight: 700;
}
a.what:hover { background: var(--vp-green-deep) !important; color: var(--vp-on-dark) !important; }

/* синие ссылки в окне выбора города */
.cities .link, .cities b, .modal .link { color: var(--vp-green) !important; }

/* «Почему стоит выбрать нас» — тёмный блок со скруглением, как на лендинге */
.why-we { background: transparent !important; padding: 44px 0 !important; }
.why-we > .container {
  background: var(--vp-green);
  border-radius: var(--vp-r-lg);
  padding: 64px 48px !important;
  max-width: 1320px;
}
@media (max-width: 600px) {
  .why-we > .container { padding: 40px 20px !important; border-radius: 20px; }
}

/* ====================== 13. Доводка по второй проверке ================== */
/* пункты меню в шапке были «таблетками» из полупрозрачного белого */
header a:not(.logo):not(.button--default) { background-color: transparent !important; }

/* белая подложка вводного текста и «Читать дальше» */
.inside__read_more,
.maintext .content,
.maintext .read_more { background-color: var(--vp-cream) !important; }
.maintext.gradient-gray .inside__read_more,
.maintext.gradient-gray .content { background-color: var(--vp-cream-alt) !important; }

/* полосатые строки расписания */
#time_table tbody tr { background-color: var(--vp-panel) !important; }
#time_table tbody tr:nth-child(even) { background-color: var(--vp-cream) !important; }
#time_table tr:not(.d-flex) th { background: var(--vp-green) !important; }
/* строка-обёртка шапки таблицы оставалась бирюзовой (30,162,185) */
#time_table thead tr, #time_table tr { border-color: var(--vp-border) !important; }

/* подпись «Ура! Время еще свободно…» была бирюзовой */
.form_container p { color: var(--vp-text); }
.form_container p[style], .form_container .free_time { color: var(--vp-green) !important; }

/* видеоблок: фон-макет ноутбука у темы — оставляем, меняем только цвет подложки */
.video.lazy { background-color: var(--vp-cream-alt) !important; }

/* карточки отзывов и преподавателей */
.card-review { border-radius: var(--vp-r-md); border: 1px solid var(--vp-border); box-shadow: var(--vp-shadow); }

/* ====================== 14. Сетка направлений и мелочи ================= */
/* «Выберите направление подготовки»: раскладка сеткой — те же карточки,
   тот же порядок, но с равными промежутками и без разъезда на телефоне. */
.directions .row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 20px;
  margin: 0;
}
.directions .row > .directions__item { width: auto; max-width: none; flex: none; }
@media (max-width: 1199px) { .directions .row { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 767px)  { .directions .row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; } }

/* белая «рваная бумага» под оценками — остаток прежнего оформления,
   на кремовом фоне читается как артефакт */
.bg_rating { display: none !important; }

/* блок «Почему стоит выбрать нас»: две колонки с равным промежутком */
.why-we .row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; margin: 0; }
.why-we .row > .why-we__item { width: auto; max-width: none; flex: none; }
@media (max-width: 767px) { .why-we .row { grid-template-columns: minmax(0,1fr); } }

/* ====================== 15. Блок цен (страницы курсов) ================= */
/* Было: три бирюзовых плитки (58,196,192 / 33,163,157 / 19,117,127) с ярко-жёлтыми
   кнопками. Ни бирюзового, ни жёлтого в брендбуке нет. */
.price-block .wrap {
  background: #fff !important;
  color: var(--vp-text) !important;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
  overflow: hidden;
}
.price-block.best .wrap { border: 2px solid var(--vp-amber); box-shadow: var(--vp-shadow-lift); }
.price-block__name {
  background: var(--vp-green);
  color: var(--vp-on-dark) !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  padding: 16px 20px !important;
}
.price-block.best .price-block__name { background: var(--vp-green); }
.price-block__info,
.price-block__info p,
.price-block__bottom,
.price-block__price { color: var(--vp-text) !important; }
.price-block__info p b { color: var(--vp-green) !important; }
.price-block .price { color: var(--vp-green) !important; font-weight: 800; }
.price-block .pricedif, .price-block .pricefull { color: var(--vp-muted) !important; }
.price-block__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--vp-amber) !important;
  color: #2A1C05 !important;
  border: 0 !important;
  border-radius: var(--vp-r-pill) !important;
  padding: 14px 26px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: 0 6px 18px rgba(200,148,60,.28);
}
.price-block__btn:hover { background: var(--vp-amber-dark) !important; color: #2A1C05 !important; }
/* строка выбора скидки внутри карточки цены */
.price-checkboxes .label__price {
  color: var(--vp-text) !important;
  background: var(--vp-cream-alt) !important;
  border-radius: var(--vp-r-sm);
  padding: 8px 12px !important;
  display: inline-block;
}
.price-checkboxes .label__price.selected { background: var(--vp-amber-soft) !important; color: var(--vp-green) !important; font-weight: 600; }
.price-checkboxes, .price-checkboxes * { color: var(--vp-text) !important; }
/* Лента «Выбор клиентов» — картинка темы (жёлтая). Перекрасим файл на шаге
   с картинками: адрес файла при этом не меняется. */

/* кнопка теста-квиза */
.quizle-button {
  background: var(--vp-amber) !important;
  color: #2A1C05 !important;
  border-radius: var(--vp-r-pill) !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  border: 0 !important;
}
.quizle-button:hover { background: var(--vp-amber-dark) !important; }

/* карточки предметов на страницах курсов */
.disciplines__list > [class*="col-"] > a {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--vp-border);
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
  padding: 14px 16px;
  color: var(--vp-green);
  font-weight: 600;
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
.disciplines__list > [class*="col-"] > a:hover {
  box-shadow: var(--vp-shadow-lift); border-color: var(--vp-amber); transform: translateY(-2px);
}
.disciplines__list > [class*="col-"] { margin-bottom: 16px; }
.disciplines__list > [class*="col-"] > a p { margin: 0; }

/* ====================== 16. Логотип ==================================== */
/* Логотип заменён на актуальный с лендингов v-pare.ru. Файлы лежат по ПРЕЖНИМ
   адресам (logo-h.png, logo-f.png) — адреса картинок не меняются, прежние
   копии сохранены на сервере. Здесь только размеры под новую пропорцию. */
.header--logo img, .logo img { max-height: 34px; height: auto !important; width: auto !important; }
.footer__logo { max-height: 32px; height: auto !important; width: auto !important; margin-bottom: 18px; }
@media (max-width: 600px) {
  .header--logo img, .logo img { max-height: 26px; }
}

/* Лента «Выбор клиентов» перекрашена в самом файле best_offer.png
   (адрес картинки не менялся), поэтому подмены в стилях больше не нужно. */

/* ====================== 17. Баннер о cookies на телефоне =============== */
@media (max-width: 600px) {
  #cookie_note { padding: 10px 12px !important; font-size: 13px !important; line-height: 1.35; }
  #cookie_note .cookie_accept, #cookie_note button {
    padding: 10px 22px !important;
    min-height: 44px;
    font-size: 15px !important;
    width: auto !important;
    box-shadow: none !important;
  }
}

/* ====================== 18. Первый экран: не уезжает под шапку ========= */
/* В теме блок .offer поднят отрицательным отступом (-150px) под прежнюю
   «плавающую» шапку. Со скруглённым блоком это срезало верх картинки. */
.offer { margin-top: 0 !important; }
@media (max-width: 767px) { .offer { padding-top: 12px !important; } }

/* ======================================================================== */
/* 19. ДОВОДКА ПОСЛЕ СПЛОШНОЙ ПРОВЕРКИ                                      */
/*                                                                          */
/* Общая причина почти всех дефектов: старая вёрстка темы рассчитана на      */
/* Open Sans и на тёмный фон во всю ширину. Manrope шире и выше, фон стал    */
/* кремовым, первый экран — блоком со скруглением. Отсюда три семейства     */
/* дефектов: жёсткие высоты блоков (текст вылезает), светлый текст, который  */
/* раньше лежал на тёмном, а теперь на кремовом, и белые заливки/градиенты   */
/* темы, которые на кремовом читаются как «белые пятна».                    */
/* ======================================================================== */

/* ---- 19.1. Жёсткие высоты: текст обязан задавать высоту сам ------------ */
.why-we__item,
.why-we__item-text,
.main-advantages .row > [class*="col-"],
.directions__item,
.price-block__info,
.footer__phtext,
.footer__info_yellow,
#tabsprices,
.tabsprices,
.form_select,
.form_seleckted,
.nice-select.select_form,
.col_inside--levels,
.card-review,
.maintext .content p,
.title_benefits {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
/* у блока «почему мы» вместо жёстких 160px — минимальная высота */
.why-we__item { min-height: 132px !important; }

/* ---- 19.2. «Читать дальше»: белая полоса и белая кнопка на кремовом ---- */
/* .inside__read_more — это ОБЁРТКА ТЕКСТА, а не кнопка (моя ошибка в
   предыдущей версии: блок получал скругление 999px, и текст выходил за
   получившийся контур). Возвращаем ему обычный вид. */
.inside__read_more {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}
/* затухание текста: было в белый, стало в цвет фона секции */
.read_more_link-wrap {
  background: linear-gradient(rgba(244,241,232,0) 0%, var(--vp-cream) 55%) !important;
}
.gradient-gray .read_more_link-wrap,
.maintext_white .read_more_link-wrap {
  background: linear-gradient(rgba(232,229,222,0) 0%, var(--vp-cream-alt) 55%) !important;
}
.read_more { overflow: hidden !important; }
.read_more_link {
  background: var(--vp-cream) !important;
  border: 1px solid var(--vp-green) !important;
  color: var(--vp-green) !important;
}
.read_more_link:hover { background: var(--vp-green) !important; color: var(--vp-on-dark) !important; }

/* ---- 19.3. Баннер о cookies: текст был почти чёрным на тёмно-зелёном --- */
#cookie_note,
#cookie_note p,
#cookie_note span,
#cookie_note div { color: var(--vp-on-dark) !important; }
#cookie_note a { color: var(--vp-amber) !important; text-decoration: underline; }

/* ---- 19.4. Хлебные крошки: белый текст остался на кремовом фоне -------- */
.breadcrumbs,
.breadcrumbs *,
.breadcrumbs__link,
.breadcrumbs .divider { color: var(--vp-green) !important; }
.breadcrumbs .current { color: var(--vp-muted) !important; }
.breadcrumbs__link:hover { color: var(--vp-amber-dark) !important; text-decoration: underline; }

/* ---- 19.5. Остатки бирюзовой палитры ---------------------------------- */
.line__col--levels { background: var(--vp-green) !important; color: var(--vp-on-dark) !important; }
.col_inside--levels {
  background: #fff !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-r-md);
  box-shadow: var(--vp-shadow);
  overflow: hidden;
}
#dropdownMenuButton,
.dropdown-toggle.btn {
  color: var(--vp-green) !important;
  border-color: var(--vp-border) !important;
  background: #fff !important;
  border-radius: var(--vp-r-pill) !important;
}

/* ---- 19.6. Мелкий серый текст: подписи шкал, списки, подвал ------------ */
.card-review span,
.ball-slider span,
.ball-slider { color: var(--vp-muted) !important; }
.nice-select .option,
.nice-select .list li { color: var(--vp-text) !important; }
.nice-select .option:hover,
.nice-select .option.selected { background: var(--vp-cream) !important; color: var(--vp-green) !important; }
.footer__small-text { color: rgba(244,241,232,.72) !important; }
.on-dark .muted,
.why-we__item-text p,
.reviews p,
.university p { color: var(--vp-on-dark-mut) !important; }

/* ---- 19.7. Переполнения по ширине ------------------------------------- */
.offer--icon,
.offer--icon img,
.offer--column--right img { max-width: 100% !important; height: auto !important; }
.list-menu-wrap,
.menu-header,
.menu-header ul { max-width: 100% !important; padding-left: 0 !important; }
.inside__preview_video { overflow: hidden; border-radius: var(--vp-r-md); }
.preview__img { max-width: 100% !important; height: auto !important; }
/* карусели темы: содержимое шире контейнера — это нормально, но обрезаем */
.b-carousel, .h-carousel-wrapper, .reviews__slider, .university__slider,
.teachers .container, .reviews .container, .university .container { overflow: hidden; }

/* ---- 19.8. Ничто не должно давать горизонтальную прокрутку ------------- */
html, body { overflow-x: hidden; max-width: 100%; }

/* ---- 19.9. Белые карточки внутри тёмных секций ------------------------- */
/* Правило «светлый текст в тёмной секции» из 19.6 задевало и белые карточки
   отзывов и преподавателей, которые лежат внутри тех же секций. Возвращаем
   им тёмный текст явно. */
.card-review,
.card-review p,
.card-review span,
.card-review div,
.teachers .card,
.teachers .card p,
.reviews .card-review *,
.university .card * { color: var(--vp-text) !important; }
.card-review .card-title,
.card-review .subject,
.tutorname { color: var(--vp-green) !important; }
.card-review .ball-slider,
.card-review .ball-slider span { color: var(--vp-muted) !important; }

/* ---- 19.10. Высоты, проставленные скриптами темы ----------------------- */
/* Скрипт выравнивания карточек считает высоту до подгрузки шрифта, поэтому
   с Manrope содержимое оказывалось на 20px выше расчётной высоты. */
#tabsprices, .tabsprices, .price-blocks, .price-block, .price-block .wrap,
.form_select, .form_seleckted, form.form_select, .nice-select.select_form,
.footer__phtext, .why-we__item-text {
  height: auto !important;
  min-height: 0 !important;
}
.price-blocks { display: flex; flex-wrap: wrap; align-items: stretch; }
.price-block { display: flex; }
.price-block .wrap { display: flex; flex-direction: column; width: 100%; }
.price-block__bottom { margin-top: auto; }
.price-checkboxes, .price-checkboxes__item { max-width: 100%; }
.price-checkboxes .label__price { white-space: normal; }

/* поле «Выберите день»: серый placeholder читался как выключенное поле */
.nice-select .current, .nice-select.select_form .current { color: var(--vp-text) !important; }

/* меню в шапке на узких экранах вылезало на 9px */
.list-menu-wrap ul, .menu-header ul, #menu-novoe-menyu { margin: 0 !important; }

/* ---- 19.11. Блок «92% поступают на бюджет» ----------------------------- */
/* У секции .university фон светлый (не тёмный, как у отзывов), поэтому
   светлый заголовок на ней становился невидимым. */
.university .h2, .university h2, .university p.h2,
.university .h2 span, .university h2 span { color: var(--vp-green) !important; }
.university p, .university span { color: var(--vp-muted) !important; }

/* ---- 19.12. Меню на телефоне ------------------------------------------ */
/* Выпадающая панель бургер-меню белая, а пункты унаследовали белый цвет от
   тёмной шапки — на телефоне пункты были нечитаемы. */
@media (max-width: 991px) {
  .list-menu-wrap,
  .list-menu-wrap.open { background: var(--vp-cream) !important; }
  .list-menu-wrap a,
  .list-menu-wrap .menu-item > a,
  .list-menu-wrap .sub-menu a,
  .list-menu-wrap li > a { color: var(--vp-green) !important; }
  .list-menu-wrap .menu-item > a:hover { color: var(--vp-amber-dark) !important; }
  .list-menu-wrap svg path { fill: #003C37 !important; }
  .list-menu-wrap .menu-item { border-bottom: 1px solid var(--vp-border); }
}

/* тёмная плашка с городом и телефоном внутри мобильного меню — текст светлый */
@media (max-width: 991px) {
  .list-menu-wrap .mob_info,
  .list-menu-wrap .mob_info *,
  .mob_info, .mob_info a, .mob_info div, .mob_info span { color: var(--vp-on-dark) !important; }
  .mob_info .header--location--change,
  .list-menu-wrap .mob_info .header--location--change { color: var(--vp-amber) !important; }
  .mob_info .button--default, .mob_info .button--default--mini { color: #2A1C05 !important; }
  .mob_info svg path { fill: #F4F1E8 !important; }
}

/* ======================================================================== */
/* 20. СПЛОШНОЙ ПРОХОД: 14 типов страниц × 10 ширин                         */
/* ======================================================================== */

/* ---- 20.1. «Белый текст» темы на посветлевших страницах ---------------- */
/* Классы вида color_white тема ставила на блоки, которые лежали на тёмном
   фоне. Фон стал кремовым — текст исчез (страницы «Оплата», «Отзывы»). */
.color_white,
.content.color_white,
.text_color_white,
.reviews__text_color_white,
.info-container,
.info-container p,
.info-container .card-title,
.info-container .subject,
h1.offer--h1,
h4, .modal h4 { color: var(--vp-text) !important; }

h1.offer--h1, h4 { color: var(--vp-green) !important; }

/* внутри действительно тёмных блоков светлый текст остаётся светлым */
.offer--row .offer--h1,
.offer--row h1, .offer--row h2, .offer--row h4,
.offer--row p, .offer--row li,
.why-we .color_white, .why-we h4,
.galeruImg .color_white, .galeruImg p, .galeruImg h2, .galeruImg h4,
#reviews.reviews > .container > p,
#reviews.reviews > .container .reviews__text_color_white,
.footer .color_white, .footer h4,
.mob_info .color_white { color: var(--vp-on-dark) !important; }

/* ---- 20.2. Лента новостей и блога ------------------------------------- */
.ab__date { color: var(--vp-muted) !important; }
.ab__text, .ab__info_column, .ab__inside_column { min-width: 0; overflow-wrap: anywhere; }
.relpost-block-single {
  background: #fff !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-r-md) !important;
  box-shadow: var(--vp-shadow);
  color: var(--vp-green) !important;
}
.relpost-block-single:hover { border-color: var(--vp-amber) !important; }
/* кнопка «Задать вопрос» под статьёй: белый текст на янтаре — 3,97 */
.expert-review-button, .js-evp-chat-button { color: #2A1C05 !important; font-weight: 700; }

/* ---- 20.3. Переполнения ------------------------------------------------ */
.header--row { flex-wrap: nowrap; }
.header--column--right { padding-right: 0 !important; max-width: 100%; }
header .dropdown > a { padding-right: 14px !important; }
.price-checkboxes { flex-wrap: wrap; }
.price-checkboxes, .price-checkboxes__item, .label__price { max-width: 100% !important; min-width: 0; }
.directions__item { min-width: 0; }
.directions__item span { overflow-wrap: break-word; }

/* ---- 20.4. Ссылки в модальных окнах ------------------------------------ */
.modal-form .privacy_text a,
.modal .privacy_text a { text-decoration: underline; }

/* ---- 20.5. Поля в модальных окнах заявки ------------------------------- */
/* Тема красила текст полей в белый (окно было тёмным) — на белом поле
   набранный телефон становился невидимым. Это форма заявки, критично. */
.modal input[type="text"],
.modal input[type="tel"],
.modal input[type="email"],
.modal input.name,
.modal input.phone,
.modal textarea,
input.name, input.phone {
  color: var(--vp-text) !important;
  background: #fff !important;
  border: 1px solid var(--vp-border) !important;
  border-radius: var(--vp-r-sm) !important;
}
.modal input::placeholder, input.name::placeholder, input.phone::placeholder {
  color: var(--vp-muted) !important;
  opacity: 1;
}
/* ссылки согласия были ярко-жёлтыми */
/* цвет ссылок согласия — одно правило для всех сайтов в vp-connect.css (возврат 25.09) */
.modal .privacy_text, .privacy_text { color: rgba(244,241,232,.9) !important; }

/* ---- 20.6. Встроенные цвета в самих страницах -------------------------- */
/* На странице «Оплата» цвета прописаны прямо в разметке (color:#fff,
   color:#ffe42a) — раньше блок лежал на тёмном. Перебиваем адресно. */
.content.color_white p,
.content.color_white li,
.content.color_white span,
.content.color_white h1,
.content.color_white h2,
.content.color_white h3,
.content.color_white h4,
.content.color_white div:not([data-name]) { color: var(--vp-text) !important; }
.content.color_white a,
a.link.color_white,
.content.color_white a[style] { color: var(--vp-green) !important; text-decoration: underline; }
.content.color_white a:hover { color: var(--vp-amber-dark) !important; }

/* ---- 20.7. Светло-серые ссылки на светлом ------------------------------ */
/* «Курсы ЕГЭ и ОГЭ В ПАРЕ», «… на карте Москвы» — подписи карты. */
.map_link, .yandex-map a, .contacts a[href*="yandex"],
a[href*="yandex.ru/maps"], a[href*="maps.google"] { color: var(--vp-muted) !important; }
.footer a[href*="yandex"] { color: rgba(244,241,232,.72) !important; }

/* «Смотреть ещё» на странице отзывов — кнопка сливалась с фоном */
.reviews-more, .more-reviews, .load-more, a.redmoree, button.redmoree, .redmoree {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff !important;
  border: 1px solid var(--vp-green) !important;
  border-radius: var(--vp-r-pill) !important;
  color: var(--vp-green) !important;
  padding: 12px 24px !important;
  font-weight: 700;
  white-space: normal;
  max-width: 100%;
}

/* кнопка «Задать вопрос» под статьёй: контраст 4,17 — добираем до 5,5 */
.expert-review-button, .js-evp-chat-button { color: #1E1403 !important; }

/* ---- 20.8. Остатки переполнений --------------------------------------- */
.price-checkboxes__item { width: 100%; }
.table_wrap_schedule { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
#time_table .container, .form_container_and_table .container { max-width: 100%; }
.buttons { flex-wrap: wrap; gap: 12px; }
.buttons .btn, .buttons a, .buttons button { max-width: 100%; }

/* ---- 20.9. Последние находки прохода ----------------------------------- */
/* «Смотреть ещё» на странице отзывов — жёлтая плашка без рамки */
.reviews_button a, .reviews_button button {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--vp-amber) !important;
  color: #2A1C05 !important;
  border-radius: var(--vp-r-pill) !important;
  padding: 13px 26px !important;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(200,148,60,.28);
}
.reviews_button a:hover { background: var(--vp-amber-dark) !important; }

/* страница «Оплата»: бутстраповская строка вылезала на 12px */
.content.color_white .row,
#paymentForm .row { margin-left: 0 !important; margin-right: 0 !important; }
#paymentForm, .content.color_white { max-width: 100%; }

/* длинные тексты и вложенные таблицы/картинки не шире экрана */
.text, .text-container, .maintext .content, .ab__text {
  max-width: 100%; overflow-wrap: anywhere;
}
.text img, .text iframe, .text table,
.maintext img, .maintext iframe, .maintext table,
.entry-content img, .entry-content iframe, .entry-content table { max-width: 100% !important; height: auto; }

/* карточка эксперта в статье блога */
.expert-review-expert-bio { flex-wrap: wrap; max-width: 100%; }
.expert-review-expert-bio__button { max-width: 100%; margin-top: 10px; }

/* ---- 20.10. Вставки с фиксированной шириной внутри текста -------------- */
/* В тексте страниц встречаются вставки с шириной 700px (видео ВКонтакте) —
   на телефоне они распирали блок. */
.text iframe, .maintext iframe, .entry-content iframe,
.text embed, .text object, .text video { max-width: 100% !important; }
.text div[style*="width"], .maintext div[style*="width"] { max-width: 100% !important; width: auto !important; }
.text a, .maintext a { white-space: normal !important; overflow-wrap: anywhere; }

/* карточка эксперта под статьёй на телефоне */
.expert-review-expert-bio { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.expert-review-expert-bio__body { flex: 1 1 180px; min-width: 0; }
.expert-review-expert-bio__button { flex: 1 1 100%; }

/* серая подложка страницы отзывов — в кремовый тон блока */
.gray { background-color: var(--vp-cream-alt) !important; }

/* ---- 20.11. Мелкие переполнения по ширине ------------------------------ */
/* строка «Скидка 25%» с подсказкой «?» вылезала на 10px */
.price-checkboxes__item { position: relative; padding-right: 26px; }
.price-checkboxes .hint { right: 0; }
.price-checkboxes .hint__text { max-width: 220px; }

/* кнопки под вопросами-ответами на планшете */
.buttons { max-width: 100%; }
.buttons .redmoree, .buttons .what, button.redmoree {
  max-width: 100%; white-space: normal; text-align: center;
}

/* очень узкие экраны (320px): длинные слова переносим */
@media (max-width: 360px) {
  .why-we__item-text, .title_benefits, .main-advantages__title,
  .card-title, .directions__item span, .h2, h2 { overflow-wrap: break-word; }
  .why-we__item { padding: 20px !important; }
}

/* ---- 20.12. Длинные слова и подсказка в строке скидки ------------------ */
/* Русские слова длиннее колонки («Профессиональные», «Обществознание»)
   на узких экранах распирали блок. Переносим их по слогам. */
body, p, li, a, span, div, h1, h2, h3, h4, .h2, .h3,
.title_benefits, .card-title, .main-advantages__title { overflow-wrap: break-word; }

.price-checkboxes__item { padding-right: 0; }
.price-checkboxes .hint {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
}
.price-checkboxes .label__price { padding-right: 26px !important; }

/* ---- 20.13. Последние 10 пикселей ------------------------------------- */
.price-checkboxes .hint { right: 0 !important; left: auto !important; }
.disciplines__list a { min-width: 0; }
.disciplines__list a img { flex: 0 0 auto; }
.disciplines__list a p { min-width: 0; flex: 1 1 auto; }
.buttons .redmoree, button.redmoree { padding-left: 16px !important; padding-right: 16px !important; }
.buttons { display: flex; flex-wrap: wrap; justify-content: center; }
.buttons .redmoree, button.redmoree, .redmoree {
  white-space: normal !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ======================================================================== */
/* 21. ЗАГОЛОВКИ КАПСОМ                                                     */
/* Часть заголовков набрана обычными буквами, а капс им делал стиль темы    */
/* (text-transform). Это чистое оформление — снимаем.                       */
/* ======================================================================== */
.h2, p.h2, .h3, p.h3,
.accordion_title, .contact_h2,
.rating-to-services .text-uppercase,
.section-title, .block-title { text-transform: none !important; }

/* подписи плиток направлений тема набирала капсом стилем — по брендбуку
   капс только для коротких акцентов, поэтому возвращаем обычный регистр */
.directions__item span,
.disciplines__list a p,
.tutorname { text-transform: none !important; }

/* карта филиала (встроенная карта Яндекса шириной 523px) и карточка отзыва */
.contact-map, .contact-map iframe, .contact-map ymaps,
.offer--icon.m-0, .offer--icon.m-0 iframe, .offer--icon.m-0 img { max-width: 100% !important; }
.contact-map iframe { width: 100% !important; }
.card_item.card_item_review { max-width: 100%; }
.reviews .card_item { min-width: 0; }
.card_item_box { max-width: 100% !important; width: 100% !important; box-sizing: border-box; }
.card_item.card_item_review { min-width: 0; }
.card-title, .info-container, .card_item_box .subject {
  white-space: normal !important;
  overflow-wrap: anywhere;
  min-width: 0;
}

/* ======================================================================== */
/* 22. ПРАВКИ ПО СПИСКУ ВЛАДЕЛЬЦА ОТ 17 СЕНТЯБРЯ                            */
/* ======================================================================== */

/* --- п.5 и п.11: серая плашка под текстом «Варианты обучения…» и
       «Курсы подготовки В ПАРЕ…». Затухание текста уходило в серый цвет
       прежней темы — уводим в цвет самой секции. ------------------------- */
.maintext .read_more,
.maintext.gradient-gray .read_more,
.maintext .inside__read_more,
.maintext.gradient-gray .inside__read_more { background: transparent !important; }
.read_more_link-wrap,
.gradient-gray .read_more_link-wrap,
.maintext_white .read_more_link-wrap {
  background: linear-gradient(rgba(244,241,232,0) 0%, var(--vp-cream) 60%) !important;
}
.maintext, .maintext.gradient-gray, .maintext.maintext_white { background-color: var(--vp-cream) !important; }

/* --- п.6: таблица расписания шире остальных блоков ---------------------- */
#time_table .container { max-width: 1355px; }
.table_wrap_schedule { max-width: 1331px; margin-left: auto; margin-right: auto; }

/* --- п.7: кривая стрелка у списка «Выберите день» ----------------------- */
.nice-select { position: relative; }
.nice-select::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -6px;
  border-right: 2px solid var(--vp-green);
  border-bottom: 2px solid var(--vp-green);
  border-radius: 1px;
  transform: rotate(45deg);
  background: none !important;
  transition: transform .2s ease;
}
.nice-select.open::after { transform: rotate(-135deg); margin-top: -2px; }

/* --- п.9: надпись «Смотреть отзыв» сливалась с кнопкой ------------------ */
.watch-video-btn {
  color: var(--vp-on-dark) !important;
  font-weight: 700;
  text-shadow: none;
}

/* --- п.10: белая подложка под логотипами вузов -------------------------- */
/* Логотипы — чужие файлы с белым фоном; умножение убирает белое, не трогая
   сам логотип и не меняя адрес картинки. */
.university__slider img,
.university img {
  mix-blend-mode: multiply;
  background: transparent !important;
}

/* --- п.13: слишком крупный шрифт на кнопках вопросов -------------------- */
a.what, button.redmoree, .buttons .redmoree {
  font-size: 16px !important;
  line-height: 1.2;
  padding: 14px 26px !important;
}

/* --- п.18 и жёлтые кружки: жёлтого в брендбуке нет вовсе ---------------- */
/* кнопка онлайн-чата в правом нижнем углу */
button[style*="255, 228, 42"],
.evp-chat-button, .js-evp-chat-open, [class*="chat"][class*="button"] {
  background-color: var(--vp-amber) !important;
  color: #2A1C05 !important;
}
/* номера шагов в форме расписания */
.num, span.num {
  background-color: var(--vp-amber) !important;
  color: #2A1C05 !important;
}

/* --- п.8 и п.12: фон блоков «Наши ученики…» и «Занимайтесь в классах» --- */
/* Был серо-зелёный радиальный градиент прежней темы — ставим фирменный
   тёмно-зелёный с точечной сеткой, как на лендингах. */
#reviews.reviews, .reviews, .galeruImg {
  background-color: var(--vp-green) !important;
  background-image: radial-gradient(rgba(244,241,232,.08) 1px, transparent 1px) !important;
  background-size: 22px 22px !important;
}

/* п.9 (уточнение): надпись на кнопке «Смотреть отзыв» перебивалась общим
   правилом тёмного текста внутри карточки отзыва. */
.card-review .watch-video-btn,
.reviews .card-review .watch-video-btn,
.watch-video-btn { color: var(--vp-on-dark) !important; font-weight: 700; }

/* п.7 (уточнение): стрелка списка была картинкой-треугольником из прежней
   темы. Рисуем аккуратную «галочку» и даём полю нормальную высоту. */
.nice-select.select_form,
.nice-select {
  height: auto !important;
  min-height: 48px;
  display: flex !important;
  align-items: center;
  padding: 10px 44px 10px 18px !important;
  border-radius: var(--vp-r-pill) !important;
  border: 1px solid var(--vp-border) !important;
  background: #fff !important;
}
.nice-select::after {
  content: "" !important;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -6px;
  border-right: 2px solid var(--vp-green) !important;
  border-bottom: 2px solid var(--vp-green) !important;
  border-radius: 1px;
  transform: rotate(45deg) !important;
  transform-origin: center;
  background: none !important;
}
.nice-select.open::after { transform: rotate(-135deg) !important; margin-top: -2px; }
.nice-select .current { color: var(--vp-text) !important; }
.nice-select .list { border-radius: var(--vp-r-md); border: 1px solid var(--vp-border); }

/* ======================================================================== */
/* 23. ИКОНКИ ПО БРЕНДБУКУ (п.2, п.3, п.4 списка владельца)                  */
/* Иконки перерисованы линейными, в один цвет: тёмно-зелёные на светлом,     */
/* кремовые на тёмном (брендбук, раздел 8.2). Файлы лежат по прежним         */
/* адресам, поэтому в разметке ничего не менялось.                          */
/* ======================================================================== */

/* иконки блока «Почему стоит выбрать нас» теперь сами кремовые —
   прежнее осветление фильтром больше не нужно */
.why-we__item-icon img { filter: none !important; opacity: 1 !important; }
.why-we__item-icon { flex: 0 0 auto; width: 64px; }
.why-we__item-icon img { width: 56px; height: 56px; object-fit: contain; }

/* п.4: карточка «Многолетний опыт» была уже соседних — тема задавала ей
   ширину в пикселях */
.why-we .row > .why-we__item { width: 100% !important; max-width: none !important; }

/* п.2: иконки преимуществ — ровный размер и отступ */
.main-advantages .row img { max-height: 64px !important; width: auto; margin-bottom: 16px; }

/* п.3: плитки направлений — рисованные иконки на кремовом круге
   (фотографии в роли иконок брендбук запрещает) */
.directions__item img {
  border-radius: 50%;
  background: var(--vp-cream-alt);
  padding: 0;
}

/* подписи плиток не должны рваться посередине слова */
.directions__item span, .directions__item p {
  overflow-wrap: normal !important;
  hyphens: none !important;
  word-break: normal !important;
  font-size: 15px;
  line-height: 1.25;
}
@media (max-width: 1199px) { .directions__item span { font-size: 14px; } }

/* иконки преимуществ — чуть крупнее, чтобы читались как акцент блока */
.main-advantages .row img { max-height: 76px !important; }

/* п.9 (окончательно): у кнопки «Смотреть отзыв» фон — картинка, которая
   подгружается лениво. Пока её нет, кремовая надпись висела на белом.
   Даём кнопке собственный фирменный фон — читается всегда. */
.watch-video-btn, .card-review .watch-video-btn {
  background-color: var(--vp-green) !important;
  color: var(--vp-on-dark) !important;
  border-radius: var(--vp-r-pill) !important;
  border: 0 !important;
}

/* п.16: значки соцсетей — один размер, одна форма, фирменный цвет */
.footer__social-links a { display: inline-flex; }
.footer__social-links .icon-social {
  width: 40px; height: 40px;
  color: var(--vp-on-dark);
  transition: color .18s ease, transform .18s ease;
}
.footer__social-links a:hover .icon-social { color: var(--vp-amber); transform: translateY(-1px); }

/* п.17: значки платёжных систем — одна высота и ровный ряд */
.footer__payments { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; margin-top: 14px; }
.footer__payments img { height: 26px !important; width: auto; opacity: .95; }

/* п.18: кнопка онлайн-чата в виджете (виджет приходит из кабинета,
   lk.egevpare.ru/widget.js) была жёлтой — жёлтый брендбук запрещает.
   Перекрашиваем в янтарный на стороне сайта; кнопки мессенджеров
   оставляем в их узнаваемых цветах. */
.egevpare-widget-item--chat {
  background-image: linear-gradient(135deg, #C8943C 0%, #B8862E 100%) !important;
  color: #2A1C05 !important;
}
.egevpare-widget-item--chat svg { color: #2A1C05 !important; }

/* ======================================================================== */
/* 24. ПРОХОД ПО ОСТАЛЬНЫМ СТРАНИЦАМ                                        */
/* ======================================================================== */

/* Одна ширина содержимого на всех блоках: часть контейнеров была уже
   остальных на 35 пикселей, из-за этого блоки «гуляли» по краю. */
.container, .header--container { max-width: 1340px !important; }
.why-we > .container { max-width: 1340px !important; }
#time_table .container, .form_container_and_table .container { max-width: 1340px !important; }
.table_wrap_schedule { max-width: 100%; }

/* Вопросы в блоке «Часто задаваемые вопросы» — это кнопки, 24px слишком
   крупно для строки вопроса. */
.accordion_btn, .accordion_btn.collapsed {
  font-size: 17px !important;
  line-height: 1.35;
  padding: 18px 22px !important;
}
@media (max-width: 600px) { .accordion_btn { font-size: 16px !important; padding: 14px 16px !important; } }

/* подпись «Курсы программирования» не помещалась в плитку на 4 пикселя */
.directions__item span { font-size: 14px; }
.directions__item { padding-left: 12px !important; padding-right: 12px !important; }

/* блок «Наши контакты» на странице контактов — фон прежней темы был серым */
.requisites { background: var(--vp-cream-alt) !important; }
.requisites .container { padding-top: 8px; padding-bottom: 8px; }
.requisites__payments { justify-content: flex-start; }

/* ========================================================================== */
/* 25. ВОЗВРАТ ОТ 17 СЕНТЯБРЯ: ТО, ЧТО НЕ ДОЕХАЛО ДО СТРАНИЦЫ                 */
/* ========================================================================== */

:root { --vp-panel: #FAF8F3; }   /* тёплая светлая подложка вместо белой */

/* п.18. Круглая кнопка виджета приходит из кабинета и класса не имеет —
   берём её как единственную кнопку — прямого потомка корня виджета. */
#egevpare-widget-root > button {
  background: var(--vp-amber) !important;
  color: #2A1C05 !important;
  box-shadow: 0 6px 18px rgba(200,148,60,.35) !important;
}
#egevpare-widget-root > button svg,
#egevpare-widget-root > button svg path { stroke: #2A1C05 !important; color: #2A1C05 !important; }
#egevpare-widget-greeting {
  background: var(--vp-panel) !important;
  color: var(--vp-text) !important;
  border: 1px solid var(--vp-border) !important;
}

/* п.10. Белые прямоугольники под логотипами вузов. Слайдер двигает дорожку
   через transform, а это создаёт отдельный слой: наложение multiply у картинок
   смешивается с фоном СЛОЯ, а слой прозрачный — белое так и остаётся белым.
   Лечится фоном у самой дорожки. */
.university .slick-track,
.university__slider .slick-track { background: var(--vp-cream) !important; }

/* Серый фон блока вопросов — та же беда, что в пп. 5 и 11 */
.accordion.gradient-gray { background: var(--vp-cream) !important; }
/* Стрелка в вопросе: цвет зашит прямо в картинку, перебиваем свойством fill */
.target_acc svg path { fill: var(--vp-green) !important; }

/* Белый фон брендбук запрещает: светлые подложки — тёплые кремовые */
.directions__item, .card-review, .accordion_btn, .accordion_btn.collapsed,
.nice-select, .nice-select.select_form, .main-advantages .row > div,
button.redmoree, .accordion_type .card,
.card-accordion, .accordion_type .card-body {
  background-color: var(--vp-panel) !important;
}
.nice-select .list { background-color: var(--vp-panel) !important; }

/* Платёжные значки: один размер, одна подложка (см. assets/img/tpl/*.png) */
.footer__payments img, .requisites .footer__payments img { height: 28px !important; width: auto !important; }

/* Полоски баллов в отзывах: цифра на тёмной заливке должна читаться,
   а «0» и «100» — стоять по краям полосы, а не переноситься под неё. */
.ball-slider { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; }
.ball-slider p { flex: 0 0 100%; margin-bottom: 4px !important; }
.ball-slider .slider { flex: 1 1 0; min-width: 0; border-radius: var(--vp-r-pill) !important;
  padding: 3px 0 !important; text-align: center; }
.ball-slider.good .slider { color: var(--vp-on-dark) !important; font-weight: 700; }
.ball-slider.bad  .slider { color: var(--vp-text) !important; font-weight: 700; }

/* ========================================================================== */
/* 26. ПЛИТКИ НАПРАВЛЕНИЙ: ЗНАЧКИ И ПОВЕДЕНИЕ ПРИ НАВЕДЕНИИ И НАЖАТИИ         */
/* ========================================================================== */

.directions__item img {
  background: #F1EDE2 !important;      /* тот же кремовый, что запечён в значке */
  transition: transform .18s ease, box-shadow .18s ease;
}
.directions__item {
  transition: box-shadow .18s ease, transform .18s ease,
              border-color .18s ease, background-color .18s ease !important;
}

/* Наведение — ТОЛЬКО там, где есть настоящая мышь. На телефоне правило
   :hover «залипает» после нажатия, поэтому его туда не пускаем. */
@media (hover: hover) and (pointer: fine) {
  .directions__item:hover {
    box-shadow: var(--vp-shadow-lift) !important;
    transform: translateY(-3px) !important;
    border-color: var(--vp-amber) !important;
    background-color: #FFFDF8 !important;
  }
  .directions__item:hover img {
    transform: scale(1.06);
    box-shadow: 0 0 0 6px var(--vp-amber-soft);
  }
  .directions__item:hover span { color: var(--vp-green) !important; }
}

/* Нажатие (в том числе пальцем) — короткое утапливание, без остаточного вида */
.directions__item:active {
  transform: translateY(0) scale(.985) !important;
  box-shadow: var(--vp-shadow) !important;
  border-color: var(--vp-amber) !important;
}
.directions__item:focus-visible {
  outline: 3px solid var(--vp-amber) !important;
  outline-offset: 3px;
}
.directions__item { -webkit-tap-highlight-color: rgba(200,148,60,.18); }

/* Обруч вокруг значка при наведении тема рисует сама, но бирюзовым
   (style.css: .directions__item:hover img { border-color: rgb(30,162,185) }) —
   бирюзовый не цвет бренда. Меняем на янтарный, толщину оставляем тему. */
.directions__item img { border: 10px solid transparent !important; border-radius: 50% !important; }
@media (hover: hover) and (pointer: fine) {
  .directions__item:hover img {
    border-color: var(--vp-amber) !important;
    box-shadow: none !important;
    transform: scale(1.03);
  }
}

/* ========================================================================== */
/* 27. ФИЛИАЛЫ: СПИСОК СТАНЦИЙ ВМЕСТО СХЕМЫ МЕТРО                             */
/* ========================================================================== */

.stancii {
  list-style: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
}
.stancii__item { margin: 0 !important; padding: 0 !important; }
.stancii__item::before, .stancii__item::marker { content: none !important; }
.stancii__link {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 20px;
  border-radius: var(--vp-r-pill);
  background: var(--vp-panel);
  border: 1px solid var(--vp-border);
  color: var(--vp-green) !important;
  font-weight: 600; font-size: 16px; line-height: 1.2;
  text-decoration: none !important;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
/* кружок-отметка станции: вместо значка на схеме */
.stancii__link::before {
  content: ""; width: 12px; height: 12px; border-radius: 50%;
  /* Цвет линии метро приходит из разметки (решение владельца, сен-2026):
     кружок красится в официальный цвет линии станции, соответствие —
     в partials/map/spisok-stanciy.php. Тонкая обводка нужна светлым линиям
     (жёлтая, светло-синяя), иначе они теряются на кремовом. */
  background: var(--tochka, var(--vp-amber));
  box-shadow: 0 0 0 1px rgba(15,42,31,.14);
  flex: 0 0 auto;
}
@media (hover: hover) and (pointer: fine) {
  .stancii__link:hover {
    border-color: var(--vp-amber);
    background: #FFFDF8;
    transform: translateY(-2px);
  }
}
.stancii__link:active { transform: translateY(0) scale(.985); border-color: var(--vp-amber); }
.stancii__link:focus-visible { outline: 3px solid var(--vp-amber); outline-offset: 3px; }
@media (max-width: 575px) {
  .stancii { gap: 10px; }
  .stancii__link { padding: 11px 16px; font-size: 15px; }
}

/* ========================================================================== */
/* 28. ОСТАЛЬНЫЕ СТРАНИЦЫ: ТЕ ЖЕ БЕДЫ, ЧТО НА ГЛАВНОЙ                        */
/* ========================================================================== */

/* Белые подложки (брендбук запрещает чистый белый фон) — тёплый светлый тон.
   Список собран сплошной проверкой всех 22 страниц, а не на глаз. */
.disciplines__list a,
.price-blocks .wrap,
.section_teacher, .teachers,
.card_item_review .card_item_box, .card_item_box,
.single-content > .container,
.relpost-block-single,
.ab__inside_column,
.col_inside--levels,
input[type="text"], input[type="tel"], input[type="email"], input[type="search"],
textarea, select {
  background-color: var(--vp-panel) !important;
}

/* Полосатость расписания держим на двух тёплых тонах, а не белый/кремовый */
.table_schedule tbody tr { background-color: var(--vp-panel) !important; }
.table_schedule tbody tr:nth-child(even) { background-color: var(--vp-cream) !important; }

/* Серый блок-обёртка на странице преподавателей */
.gray { background-color: var(--vp-cream) !important; }

/* Добито по итогам сплошной проверки цветов */
.col-lg-container-bg-white { background-color: var(--vp-panel) !important; }
.news a, .ab__inside_column a, .ab--column a { color: var(--vp-green) !important; }
.news a:hover, .ab__inside_column a:hover { color: var(--vp-amber-dark) !important; }

/* Блок «Наши ученики также занимаются» на страницах предметов: фон был
   серо-зелёным градиентом (не цвет бренда), а заголовок на нём — тёмно-зелёным
   по тёмному, то есть нечитаемым. Делаем как другие тёмные блоки. */
.similar-discipline.gradient-dark-green, .gradient-dark-green {
  background-color: var(--vp-green) !important;
  background-image: radial-gradient(rgba(244,241,232,.08) 1px, transparent 1px) !important;
  background-size: 22px 22px !important;
}
.similar-discipline .h2, .similar-discipline h2, .similar-discipline p.h2 { color: var(--vp-on-dark) !important; }
.similar-discipline a { color: var(--vp-on-dark) !important; }
@media (hover: hover) and (pointer: fine) { .similar-discipline a:hover { color: var(--vp-amber) !important; } }

/* Остатки жёлтого (брендбук вместо жёлтого предписывает янтарный):
   кнопка «Смотреть ещё» у преподавателей, кнопки «Подробнее» и постраничная
   навигация в новостях. Найдены сплошной проверкой цветов, а не на глаз. */
.teachers_button a, .teachers_button > a {
  background-color: var(--vp-amber) !important;
  color: #2A1C05 !important;
  border-radius: var(--vp-r-pill) !important;
  border-color: var(--vp-amber) !important;
}
.ab_btn {
  border-color: var(--vp-amber) !important;
  color: var(--vp-green) !important;
  border-radius: var(--vp-r-pill) !important;
}
@media (hover: hover) and (pointer: fine) {
  .teachers_button a:hover { background-color: var(--vp-amber-dark) !important; }
  .ab_btn:hover { background-color: var(--vp-amber) !important; color: #2A1C05 !important; }
}
.page-numbers {
  border-color: var(--vp-border) !important;
  background-color: var(--vp-panel) !important;
  color: var(--vp-green) !important;
}
.page-numbers.current {
  background-color: var(--vp-amber) !important;
  border-color: var(--vp-amber) !important;
  color: #2A1C05 !important;
}

/* ========================================================================== */
/* 29. ЗАМЕЧАНИЯ ВЛАДЕЛЬЦА ОТ 17 СЕНТЯБРЯ (второй разбор)                     */
/* ========================================================================== */

/* п.1. «Второй кремовый» был #E8E5DE — по сути серый, и на кремовой странице
   читался серой коробкой. Делаем его тёплым и почти неотличимым от фона, а с
   блока «Варианты обучения» убираем подложку совсем: это сплошной текст,
   коробка вокруг него не нужна. */
:root { --vp-cream-alt: #F0EBE0; }
.maintext.gradient-gray .content,
.maintext.maintext_white .content { background-color: transparent !important; }
.read_more_link-wrap {
  background: linear-gradient(rgba(244,241,232,0) 0%, var(--vp-cream) 60%) !important;
}

/* п.2. Стрелка выпадающего списка — как у списка направлений выше по странице
   (button.dropdown-toggle): сплошной треугольник из рамок, а не уголок.
   Прежний уголок был прямоугольным (26×17) и от поворота выглядел кривым. */
.nice-select::after {
  content: "" !important;
  position: absolute;
  top: 50% !important;
  right: 18px !important;
  width: 0 !important;
  height: 0 !important;
  margin-top: -3px !important;
  border: 6px solid transparent !important;
  border-top: 7px solid var(--vp-green) !important;
  border-bottom: 0 !important;
  transform: none !important;
  transition: transform .15s ease !important;
  background: none !important;
}
.nice-select.open::after { transform: rotate(180deg) !important; transform-origin: 50% 25% !important; }
/* и сама пилюля — как у образца */
.nice-select, .nice-select.select_form {
  border-radius: var(--vp-r-pill) !important;
  border: 2px solid var(--vp-border) !important;
  padding-right: 42px !important;
}

/* п.3. У кнопки «Смотреть отзыв» осталась фоновая картинка старой подложки:
   она вписывалась по ширине и торчала прямоугольником из-под пилюли. Картинку
   убираем совсем, значок «плей» рисуем сами — кружком перед надписью. */
.watch-video-btn, .card-review .watch-video-btn, .reviews .card-review .watch-video-btn {
  background-image: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 18px !important;
  /* надпись в одну строку: у кнопки фиксированная ширина от темы, и от
     появления значка «плей» текст начал переноситься */
  white-space: nowrap !important;
  width: auto !important;
  min-width: 200px;
}
.watch-video-btn::before {
  content: "";
  flex: 0 0 auto;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--vp-on-dark);
  /* треугольник «плей» внутри кружка */
  -webkit-mask: radial-gradient(circle, #000 99%, transparent 100%);
  position: relative;
}
.watch-video-btn::after {
  content: "";
  position: absolute;
  left: 29px;
  width: 0; height: 0;
  border: 5px solid transparent;
  border-left: 8px solid var(--vp-green);
  border-right: 0;
}
.watch-video-btn { position: relative; }

/* п.5. Логотипы платёжных систем внутри плит стали крупнее (перерисованы
   файлы); плиты и их размер прежние. */
.footer__payments img, .requisites img[alt="МИР"], .requisites img { image-rendering: auto; }

/* п.6 и п.7. Подвал: строка «Курсы ЕГЭ и ОГЭ» убрана из шаблона, а строки
   «Все права защищены» и «© …» уравнены по размеру со ссылками рядом. */
.footer__social .footer__rights {
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 2px 0 !important;
}

/* ========================================================================== */
/* 30. КНОПКА «СМОТРЕТЬ ОТЗЫВ»: ДВИЖЕНИЕ ПРИ НАВЕДЕНИИ                        */
/* ========================================================================== */

/* Как было раньше (тема, main.min.css): при наведении у кнопки менялся отступ
   сверху с -30px на -28px — она сдвигалась вниз на два пикселя, мгновенно.
   Повторяем тот же характер движения, но плавно и в фирменных цветах: то же
   смещение на 2px, за 0,16 с, плюс еле заметное осветление фона и подрастающий
   кружок «плей», чтобы движение читалось. */
.watch-video-btn {
  transition: transform .16s ease, background-color .16s ease !important;
}
.watch-video-btn::before { transition: transform .16s ease; }

@media (hover: hover) and (pointer: fine) {
  .watch-video-btn:hover {
    transform: translateY(2px);
    background-color: var(--vp-green-light, #0A5A50) !important;
  }
  .watch-video-btn:hover::before { transform: scale(1.12); }
}

/* На телефоне наведения нет: то же движение даём на нажатие и снимаем сразу
   после отпускания — залипшего вида не остаётся. */
.watch-video-btn:active {
  transform: translateY(2px);
  background-color: var(--vp-green-light, #0A5A50) !important;
}

/* ========================================================================== */
/* 31. РАУНД 24.09. ПОДВАЛ: ОДНА ИЕРАРХИЯ ШРИФТОВ ПО БРЕНДБУКУ                */
/* Один шрифт (Manrope) и три ступени: заголовок колонки 18/600, ссылки и     */
/* контакты 14–16, подписи и юр. текст 13. Телефон — единственный акцент.     */
/* ========================================================================== */
.footer, .footer p, .footer a, .footer small { font-family: 'Manrope', sans-serif !important; }
.footer__links { font-size: 14px !important; line-height: 1.9 !important; margin-bottom: 14px !important; }
.footer__links a { font-size: 14px !important; }
.footer__social > p:first-child {
  font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important;
  color: var(--vp-kremovyy) !important; margin-bottom: 14px !important;
}
.footer__social p.text-center { margin: 16px 0 6px !important; line-height: 1.4 !important; }
.footer__social p.text-center a { font-size: 16px !important; font-weight: 500 !important; }
.footer__social .footer__rights { color: rgba(244,241,232,.6) !important; }
.footer__phone_big { margin: 0 0 4px !important; line-height: 1.2 !important; }
.footer__phone_big a, .footer__phone_big a small {
  font-size: 26px !important; font-weight: 700 !important; line-height: 1.2 !important;
  letter-spacing: .01em; white-space: nowrap;
}
.footer__phtext {
  font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important;
  color: rgba(244,241,232,.7) !important; margin: 0 0 10px !important;
}
.footer__callback {
  display: inline-block; font-size: 16px !important; font-weight: 600 !important; line-height: 1.4 !important;
  color: var(--vp-yantar) !important; text-decoration: none !important;
  border-bottom: 1px solid rgba(200,148,60,.5); padding-bottom: 1px;
}
.footer__callback:hover { color: var(--vp-kremovyy) !important; border-bottom-color: var(--vp-kremovyy); }
.footer__phone iframe[src*="rating-badge"] { display: block; margin-left: auto; border-radius: 8px; }
.footer__small-text { font-size: 13px !important; line-height: 1.6 !important; color: rgba(244,241,232,.55) !important; }
@media (max-width: 991px) {
  .footer__links, .footer__links a { font-size: 15px !important; }
  .footer__small-text { margin-top: 22px !important; }
}

/* ========================================================================== */
/* 32. РАУНД 24.09. КВИЗ НА СТРАНИЦАХ НАПРАВЛЕНИЙ                             */
/* Квиз — одна карточка в тоне главной: светлая панель, скругление, ровные    */
/* поля. Высота плагина 600px была больше содержимого (отсюда пустоты);       */
/* вопросам нужно ~350px, приветствию — высота картинки.                      */
/* Картинка квиза — файл с широкой белой рамкой (1228×1028, сама иллюстрация  */
/* 600×400 в центре), поэтому показываем только иллюстрацию: окно 3:2 и       */
/* сдвиг картинки на размер рамки. Файл не трогаем.                           */
/* ========================================================================== */
.quizle-container { margin: 40px 0 8px; }
.quizle-container .quizle {
  --quizle-primary-color: var(--vp-green) !important;
  --quizle-background-1: var(--vp-cream) !important;
  --quizle-text-color: var(--vp-tekst, #0F2A1F) !important;
  background: var(--vp-panel) !important;
  border: 1px solid var(--vp-border);
  border-radius: 24px;
  box-shadow: var(--vp-shadow);
  padding: 32px !important;
}
@media (min-width: 768px) {
  .quizle-container .quizle--view-slides { height: 440px !important; }
  /* пока открыт приветственный экран (тело вопросов скрыто) — высота по содержимому */
  .quizle-container .quizle--view-slides:has(> .js-quizle-body[style*="none"]) { height: auto !important; }
}
/* под квизом не нужен полный нижний отступ текстового блока — иначе дыра до следующей секции */
.maintext:has(.quizle-container) { padding-bottom: 48px !important; }
@media (max-width: 767.98px) { .maintext:has(.quizle-container) { padding-bottom: 24px !important; } }
.quizle-container .quizle-image-screen { gap: 40px !important; align-items: center; }
.quizle-container .quizle-image-screen__image {
  position: relative; flex: 0 0 46% !important; max-width: 46% !important;
  aspect-ratio: 3 / 2; height: auto !important; align-self: center;
  border-radius: 16px; overflow: hidden;
}
.quizle-container .quizle-image-screen__image img {
  position: absolute; max-width: none !important; border-radius: 0 !important;
  width: 204.667% !important; height: 257% !important;
  left: -52.333%; top: -78.5%; object-fit: fill !important;
}
.quizle-container .quizle-image-screen__container { flex: 1 1 auto !important; }
.quizle-container .quizle-image-screen__body { padding: 0 !important; justify-content: center; }
.quizle-container .quizle-image-screen__title {
  font-family: 'Manrope', sans-serif !important; font-size: 30px !important; font-weight: 700 !important;
  line-height: 1.2 !important; color: var(--vp-green) !important;
}
.quizle-container .quizle-image-screen__description {
  font-size: 17px !important; line-height: 1.55 !important; margin-top: 14px !important; color: var(--vp-tekst, #0F2A1F);
}
.quizle-container .quizle-image-screen__button { margin-top: 24px !important; }
.quizle-container .quizle-question__title { font-family: 'Manrope', sans-serif !important; font-weight: 700 !important; color: var(--vp-green) !important; }
.quizle-container .quizle-answer label { border-radius: 12px !important; }
@media (max-width: 767.98px) {
  .quizle-container { margin: 28px 0 0; }
  .quizle-container .quizle { padding: 20px !important; border-radius: 20px; }
  .quizle-container .quizle-image-screen { gap: 20px !important; }
  .quizle-container .quizle-image-screen__image { flex: none !important; max-width: 100% !important; width: 100%; }
  .quizle-container .quizle-image-screen__title { font-size: 24px !important; }
  .quizle-container .quizle-image-screen__description { font-size: 16px !important; }
  /* панель «Назад / Дальше» плагин прилепляет к низу экрана, но без фона и с
     вылетом за край — делаем фон карточки и держим её целиком в экране */
  .quizle-container .quizle--view-slides .quizle-footer {
    bottom: 0 !important; margin: 0 -20px -20px !important; padding: 12px 20px 14px !important;
    background: var(--vp-panel) !important; border-top: 1px solid var(--vp-border);
    border-radius: 0 0 20px 20px;
  }
}

/* ========================================================================== */
/* 33. РАУНД 24.09. «ВЫБЕРИТЕ ПРЕДМЕТ» НА СТРАНИЦАХ НАПРАВЛЕНИЙ               */
/* Новые значки (тот же рисунок, что у направлений на главной) на кремовом    */
/* круге; плитка — светлая карточка главной. Названия не рвём посреди слова.  */
/* ========================================================================== */
.block-with-cources .col-lg-container-bg-white { padding-top: 56px !important; padding-bottom: 40px !important; border-radius: 24px; }
.disciplines__list .col-md-12.mb-5 { margin-bottom: 32px !important; }
.disciplines__list > [class*="col-"] { margin-bottom: 16px !important; }
.disciplines__list > [class*="col-"]:has(> a) { display: flex; }
.disciplines__list .col-md-12.mb-5, .disciplines__list .col-md-12.mb-5 h2 { text-align: center !important; }
.disciplines__list > [class*="col-"] > a {
  flex: 1 1 auto; min-height: 88px;
  display: flex !important; align-items: center; gap: 14px;
  background: var(--vp-panel) !important;
  border: 1px solid var(--vp-border) !important; border-radius: 16px !important;
  box-shadow: var(--vp-shadow) !important;
  padding: 12px 18px 12px 12px !important;
  text-decoration: none !important;
}
.disciplines__list > [class*="col-"] > a:hover {
  padding-left: 12px !important; border-color: var(--vp-amber) !important;
  box-shadow: var(--vp-shadow-lift, 0 12px 32px rgba(15,42,31,.10)) !important; transform: translateY(-2px);
}
.disciplines__list > [class*="col-"] > a img {
  flex: 0 0 64px; width: 64px !important; height: 64px !important; margin: 0 !important;
  padding: 4px; border-radius: 50%; background: #F1EDE2; box-sizing: border-box;
}
.disciplines__list > [class*="col-"] > a p {
  margin: 0 !important; padding: 0 !important;
  font-family: 'Manrope', sans-serif !important; font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.3 !important; color: var(--vp-green) !important; opacity: 1 !important;
  hyphens: manual !important; -webkit-hyphens: manual !important;
  word-break: normal !important; overflow-wrap: normal !important;
}
.disciplines__list > [class*="col-"] > a:hover p { color: var(--vp-amber-dark) !important; }
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .disciplines__list > [class*="col-"] > a { gap: 10px; padding-right: 12px !important; }
  .disciplines__list > [class*="col-"] > a img { flex-basis: 56px; width: 56px !important; height: 56px !important; }
  .disciplines__list > [class*="col-"] > a p { font-size: 15px !important; }
}
@media (max-width: 575.98px) {
  .block-with-cources .col-lg-container-bg-white { padding-top: 36px !important; padding-bottom: 24px !important; }
  .disciplines__list > [class*="col-"] { margin-bottom: 10px !important; }
  .disciplines__list > [class*="col-"] > a { min-height: 64px; padding: 8px 14px 8px 8px !important; }
  .disciplines__list > [class*="col-"] > a img { flex-basis: 48px; width: 48px !important; height: 48px !important; padding: 3px; }
}
.disciplines__list h2 { margin-top: 0 !important; }

/* ========================================================================== */
/* 34. РАУНД 24.09. «СТОИМОСТЬ КУРСОВ» — КАРТОЧКИ ТАРИФОВ В НОВОМ ДИЗАЙНЕ     */
/* Три светлые карточки главной; кнопка внутри карточки (раньше висела        */
/* на нижней кромке); лента-картинка «Выбор клиентов» заменена плашкой        */
/* с тем же текстом; заголовок — Manrope вместо Calibri/Arial.                */
/* ========================================================================== */
.prices { padding: 72px 0 56px !important; background: transparent !important; }
.prices .h2 {
  font-family: 'Manrope', sans-serif !important; font-size: 36px !important; font-weight: 700 !important;
  line-height: 1.2 !important; color: var(--vp-green) !important; text-align: center; margin-bottom: 40px !important;
}
.prices .tabsprices .price-blocks { width: 100% !important; max-width: 1200px; margin-left: auto !important; margin-right: auto !important; gap: 24px; justify-content: center; align-items: stretch !important; }
.prices .tabsprices .price-block {
  flex: 1 1 0; max-width: 380px; min-width: 0; width: auto !important;
  margin: 0 !important; padding: 0 !important;
}
.prices .tabsprices .price-block.best { margin-top: 0 !important; }
.prices .tabsprices .price-block .wrap {
  position: relative; height: auto !important; margin: 0 !important;
  display: flex; flex-direction: column;
  background: var(--vp-panel) !important; border: 1px solid var(--vp-border) !important;
  border-radius: 20px !important; box-shadow: var(--vp-shadow) !important;
  padding: 28px 26px 26px !important; overflow: visible;
}
.prices .tabsprices .price-block.best .wrap { border: 2px solid var(--vp-amber) !important; box-shadow: var(--vp-shadow-lift) !important; }
/* плашка вместо картинки-ленты */
.prices .tabsprices .price-block.best .wrap::before {
  content: "Выбор клиентов" !important; background: var(--vp-amber) !important; background-image: none !important;
  position: absolute !important; top: -15px !important; left: 50% !important; transform: translateX(-50%);
  width: auto !important; height: auto !important; margin: 0 !important; padding: 5px 14px !important; border-radius: 999px;
  font: 700 13px/1.3 'Manrope', sans-serif; letter-spacing: .02em; color: #2A1C05; white-space: nowrap; z-index: 2;
}
.prices .price-block__name {
  background: none !important; padding: 0 !important; margin: 0 0 14px !important; width: auto !important;
  font-family: 'Manrope', sans-serif !important; font-size: 26px !important; font-weight: 800 !important;
  line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important;
  color: var(--vp-green) !important; text-align: left !important;
}
.prices .price-block.best .price-block__name { background: none !important; }
.prices .price-block__info { padding: 0 !important; margin: 0 0 18px !important; }
.prices .price-block__info p {
  position: relative; margin: 0 0 9px !important; padding-left: 26px !important;
  font-size: 15px !important; line-height: 1.45 !important; text-align: left !important;
}
.prices .price-block__info p::before {
  content: ""; position: absolute; left: 2px; top: 5px; width: 13px; height: 7px;
  border-left: 2px solid var(--vp-amber); border-bottom: 2px solid var(--vp-amber); transform: rotate(-45deg);
}
/* первая строка — формат занятий: подзаголовок карточки, без галочки */
.prices .price-block__info p:first-child {
  padding: 0 0 14px !important; margin-bottom: 14px !important; border-bottom: 1px solid var(--vp-border);
}
.prices .price-block__info p:first-child::before { display: none; }
.prices .price-block__info p:first-child b { font-size: 15px; font-weight: 700; }
/* скидка — аккуратная отметка вместо старой картинки-флажка */
.prices .price-checkboxes { margin: 0 0 18px !important; padding: 0 !important; }
.prices .price-checkboxes__item { padding-right: 30px !important; }
.prices .price-checkboxes .label__price {
  display: flex !important; align-items: center; gap: 10px; min-height: 40px;
  padding: 8px 12px !important; border-radius: 12px !important;
  background: var(--vp-amber-soft) !important; font-size: 15px !important; font-weight: 600 !important;
  color: var(--vp-green) !important; cursor: pointer; text-align: left !important;
}
.prices .price-checkboxes .label__price::before {
  content: "" !important; position: static !important; flex: 0 0 20px; width: 20px !important; height: 20px !important;
  background: #fff !important; background-image: none !important;
  border: 2px solid var(--vp-amber); border-radius: 5px; box-sizing: border-box;
}
.prices .price-checkboxes .label__price.selected::before {
  background: var(--vp-amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat !important;
}
.prices .price-checkboxes .hint { top: 50% !important; transform: translateY(-50%); }
.prices .price-block__bottom { position: static !important; height: auto !important; min-height: 0 !important; margin-top: auto !important; padding: 0 !important; }
.prices .price-block__price { height: auto !important; min-height: 0 !important; margin: 0 0 16px !important; padding: 0 !important; text-align: left !important; }
.prices .price-block .price {
  font-family: 'Manrope', sans-serif !important; font-size: 28px !important; font-weight: 800 !important;
  line-height: 1.2 !important; margin: 0 0 6px !important;
}
.prices .price-block .pricedif, .prices .price-block .pricefull { font-size: 14px !important; line-height: 1.5 !important; }
.prices .price-block .pricefull { color: var(--vp-text) !important; font-weight: 600; }
.prices .price-block__btn {
  position: static !important; display: block !important; width: 100% !important; margin: 0 !important;
  padding: 14px 18px !important; border-radius: 12px !important; text-align: center; line-height: 1.3 !important; height: auto !important;
  font-family: 'Manrope', sans-serif !important; font-size: 16px !important; font-weight: 700 !important;
}
@media (max-width: 991.98px) {
  .prices .tabsprices .price-blocks { display: flex !important; flex-direction: column; align-items: center !important; gap: 28px; }
  .prices .price-block .price[aria-hidden="true"] { display: none !important; }
  .prices .tabsprices .price-block { width: 100% !important; max-width: 460px; flex: none; }
}
@media (max-width: 575.98px) {
  .prices { padding: 48px 0 36px !important; }
  .prices .h2 { font-size: 28px !important; margin-bottom: 32px !important; }
  .prices .tabsprices .price-block .wrap { padding: 24px 20px 20px !important; }
}
/* значок подсказки: был белым кружком из старого спрайта — на светлой карточке не виден */
.prices .price-checkboxes .hint {
  width: 20px !important; height: 20px !important; border-radius: 50%;
  background: none !important; border: 1.5px solid var(--vp-amber) !important; cursor: help;
  display: flex !important; align-items: center; justify-content: center;
}
.prices .price-checkboxes .hint::before {
  content: "?"; font: 700 12px/1 'Manrope', sans-serif; color: var(--vp-amber-dark);
}

/* ========================================================================== */
/* 35. РАУНД 24.09. ЗАГОЛОВКИ СЕКЦИЙ — ОДИН ШРИФТ И РАЗМЕР (БРЕНДБУК H2)      */
/* Было: Open Sans 28–30, Calibri 30 («галерея», «вопросы»), Manrope 36–42 в  */
/* новых блоках. Стало: Manrope 700, 34px (26px на телефоне) во всех          */
/* повторяющихся блоках главной. Теги и тексты заголовков не меняются.        */
/* ========================================================================== */
.wrapper p.h2, .wrapper .accordion_title, .wrapper .galeruImg_title,
.disciplines__list h2, .prices .h2, .time_table h2, .table_schedule h2, #time_table .container > h2:not(:has(.font-light)),
.wrapper .h2.contact_h2 {
  font-family: 'Manrope', sans-serif !important;
  font-size: 34px !important; font-weight: 700 !important; line-height: 1.25 !important;
  letter-spacing: -0.01em;
}
/* «Нет нужного времени? Не беда! …» — тоже h2, но это пояснение к форме,
   а не заголовок секции: сохраняем ему прежнюю лёгкость и меньший кегль */
#time_table .container > h2:has(.font-light) {
  font-family: 'Manrope', sans-serif !important; font-size: 24px !important; font-weight: 400 !important; line-height: 1.35 !important;
}
@media (max-width: 767.98px) {
  .wrapper p.h2, .wrapper .accordion_title, .wrapper .galeruImg_title,
  .disciplines__list h2, .prices .h2, .time_table h2, .table_schedule h2, #time_table .container > h2:not(:has(.font-light)),
  .wrapper .h2.contact_h2 { font-size: 26px !important; }
  #time_table .container > h2:has(.font-light) { font-size: 20px !important; }
}

/* ========================================================================== */
/* 36. РАУНД 24.09. «КОНТАКТЫ»: РЕКВИЗИТЫ ТЕКСТОМ ИЗ ОФЕРТЫ                   */
/* ========================================================================== */
.requis--oferta {
  background: var(--vp-panel); border: 1px solid var(--vp-border); border-radius: 20px;
  box-shadow: var(--vp-shadow); padding: 24px 26px;
}
.requis--oferta .requis_h2 {
  font-family: 'Manrope', sans-serif !important; font-size: 20px !important; font-weight: 700 !important;
  color: var(--vp-green) !important; text-align: left !important; margin: 0 0 12px !important;
}
.requis--oferta .requis__nazvanie { font-size: 16px; font-weight: 600; color: var(--vp-tekst); margin: 0 0 14px; }
.requis--oferta .requis__spisok { margin: 0; }
.requis--oferta .requis__stroka {
  display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 7px 0;
  border-top: 1px solid var(--vp-border); font-size: 15px; line-height: 1.45;
}
.requis--oferta dt { font-weight: 400; color: var(--vp-seryy, #7A7770); margin: 0; }
.requis--oferta dd { margin: 0; color: var(--vp-tekst); font-weight: 600; font-variant-numeric: tabular-nums; word-break: break-word; }
@media (max-width: 575.98px) {
  .requis--oferta { padding: 20px 18px; }
  .requis--oferta .requis__stroka { grid-template-columns: 1fr; gap: 2px; }
}
/* секция «Наши контакты» целиком — один шрифт бренда, ровные отступы */
.requisites h2 {
  font-family: 'Manrope', sans-serif !important; font-size: 34px !important; font-weight: 700 !important;
  line-height: 1.25 !important; margin-bottom: 28px !important;
}
.requisites .requisites__info, .requisites .requisites__info p, .requisites .requisites__info strong, .requisites .requisites__info a {
  font-family: 'Manrope', sans-serif !important;
}
.requisites .requisites__info p { font-size: 18px !important; line-height: 1.5 !important; margin: 0 0 10px !important; }
.requisites .requisites__info strong { font-weight: 700 !important; }
.requisites .row > div > .requis_h2 {
  font-family: 'Manrope', sans-serif !important; font-size: 20px !important; font-weight: 700 !important;
  color: var(--vp-green) !important; text-align: left !important; margin: 24px 0 12px !important;
}
.requisites .requisites__payments { justify-content: flex-start !important; }
@media (max-width: 767.98px) {
  .requisites h2 { font-size: 26px !important; }
  .requisites .requisites__info p { font-size: 16px !important; }
}

/* ========================================================================== */
/* 37. РАУНД 24.09. БЛОГ: СПИСОК СТАТЕЙ И СТАТЬЯ В НОВОМ ДИЗАЙНЕ              */
/* ========================================================================== */
/* --- список (шаблон blog.php; в нём свои встроенные стили — перебиваем) --- */
.ab_maintext { background: var(--vp-kremovyy) !important; }
.ab_maintext .ab__row { background: transparent !important; }
.ab_maintext h1 {
  font-family: 'Manrope', sans-serif !important; font-size: 40px !important; font-weight: 800 !important;
  line-height: 1.2 !important; color: var(--vp-green) !important; margin: 32px 0 16px !important;
}
.ab_maintext .content--seo { max-width: 920px; margin: 0 auto; font-size: 16px; line-height: 1.65; }
.ab_maintext .content--seo h2, .ab_maintext .content--seo .h2 {
  font-family: 'Manrope', sans-serif !important; font-size: 28px !important; font-weight: 700 !important;
  color: var(--vp-green) !important; text-align: center; margin: 8px 0 20px !important;
}
.ab_maintext .ab__row { padding-top: 40px !important; row-gap: 24px; }
.ab_maintext .ab--column { margin-bottom: 0 !important; }
.ab_maintext .ab__inside_column {
  max-width: none !important; width: 100%; padding: 0 !important; overflow: hidden;
  background: var(--vp-panel) !important; border: 1px solid var(--vp-border); border-radius: 20px !important;
  box-shadow: var(--vp-shadow) !important; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease !important;
}
.ab_maintext .ab__inside_column:hover { box-shadow: var(--vp-shadow-lift) !important; transform: translateY(-2px); border-color: var(--vp-amber); }
.ab_maintext .ab__img_column { margin: 0 !important; aspect-ratio: 16 / 10; overflow: hidden; background: #fff; }
.ab_maintext .ab__img_column img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ab_maintext .ab__info_column { padding: 18px 22px 0; flex: 1 1 auto; display: flex; flex-direction: column; }
.ab_maintext .ab__date { font-size: 13px !important; color: var(--vp-seryy, #7A7770) !important; margin: 0 0 8px !important; }
.ab_maintext .ab__title, .ab_maintext .ab__title a {
  font-family: 'Manrope', sans-serif !important; font-size: 18px !important; font-weight: 700 !important;
  line-height: 1.35 !important; color: var(--vp-green) !important; text-decoration: none !important;
}
.ab_maintext .ab__title::after { display: none !important; }
.ab_maintext .ab__inside_column:hover .ab__title a { color: var(--vp-yantar-navod, #B8862E) !important; }
.ab_maintext .ab__text { margin-top: 10px; }
.ab_maintext .ab__text, .ab_maintext .ab__text a, .ab_maintext .ab__text p {
  font-size: 15px !important; line-height: 1.55 !important; color: var(--vp-tekst) !important; text-decoration: none !important;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0 !important;
}
.ab_maintext .ab__wrap_btn { padding: 16px 22px 22px !important; margin-top: auto; }
.ab_maintext .ab_btn {
  display: inline-block; padding: 9px 20px !important; border-radius: 999px !important;
  border: 1.5px solid var(--vp-amber) !important; background: transparent !important;
  font-size: 14px !important; font-weight: 600 !important; color: var(--vp-green) !important; text-decoration: none !important;
}
.ab_maintext .ab__inside_column:hover .ab_btn { background: var(--vp-amber) !important; color: #2A1C05 !important; }
/* пагинация */
.ab_maintext .pagination { gap: 6px; justify-content: center; margin: 32px 0 56px; }
.ab_maintext .pagination .page-link {
  min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 12px !important; border: 1px solid var(--vp-border) !important; background: var(--vp-panel) !important;
  color: var(--vp-green) !important; font-weight: 600; box-shadow: none !important;
}
.ab_maintext .pagination .active .page-link, .ab_maintext .pagination .page-link[aria-current] {
  background: var(--vp-green) !important; border-color: var(--vp-green) !important; color: var(--vp-kremovyy) !important;
}

/* --- статья (single.php) --- */
.single-content { padding: 24px 0 56px; }
.single-content > .container {
  background: var(--vp-panel) !important; border: 1px solid var(--vp-border); border-radius: 24px;
  box-shadow: var(--vp-shadow); padding: 40px 48px !important;
}
.single-content > .container > * { max-width: 800px; margin-left: auto !important; margin-right: auto !important; }
.single-content h1 {
  font-family: 'Manrope', sans-serif !important; font-size: 38px !important; font-weight: 800 !important;
  line-height: 1.2 !important; color: var(--vp-green) !important; margin: 0 0 8px !important;
}
.single-content .date-single__news { font-size: 14px; color: var(--vp-seryy, #7A7770); margin-bottom: 20px !important; }
.single-content .blog-item__image { float: none !important; margin-top: 0 !important; margin-bottom: 24px !important; }
.single-content .blog-item__image img { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: 16px; display: block; }
.single-content, .single-content p, .single-content li { font-size: 17px; line-height: 1.7; color: var(--vp-tekst); }
.single-content p { margin: 0 0 16px; }
.single-content h2:not(.relpost_card_title) {
  font-family: 'Manrope', sans-serif !important; font-size: 28px !important; font-weight: 700 !important;
  line-height: 1.3 !important; color: var(--vp-green) !important; margin-top: 40px !important; margin-bottom: 16px !important; text-align: left !important;
}
.single-content h3 { font-family: 'Manrope', sans-serif !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.35 !important; color: var(--vp-green) !important; margin-top: 32px !important; margin-bottom: 12px !important; }
.single-content h4, .single-content h5 { font-family: 'Manrope', sans-serif !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.4 !important; color: var(--vp-green) !important; margin-top: 28px !important; margin-bottom: 12px !important; }
.single-content a:not(.relpost-block-single):not(.ez-toc-link) { color: var(--vp-green); text-decoration: underline; text-decoration-color: rgba(200,148,60,.6); text-underline-offset: 3px; }
.single-content a:not(.relpost-block-single):hover { color: var(--vp-yantar-navod, #B8862E); }
/* картинки внутри текста — по центру, скруглённые, не шире колонки */
.single-content img:not(.blog-item__image img):not(.expert-review img) {
  max-width: 100% !important; height: auto !important; border-radius: 14px; display: block; margin: 24px auto;
}
.single-content .wp-caption { max-width: 100% !important; margin: 24px auto; }
.single-content .wp-caption-text, .single-content figcaption { font-size: 14px; color: var(--vp-seryy, #7A7770); text-align: center; margin-top: 8px; }
/* списки */
.single-content ul:not(.ez-toc-list):not(.ez-toc-list-level-3):not(.pagination), .single-content ol:not(.ez-toc-list) { padding-left: 0; margin: 0 0 20px; list-style: none; }
.single-content ul:not(.ez-toc-list):not(.ez-toc-list-level-3):not(.pagination) > li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.single-content ul:not(.ez-toc-list):not(.ez-toc-list-level-3):not(.pagination) > li::before {
  content: ""; position: absolute; left: 6px; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--vp-amber);
}
.single-content ol:not(.ez-toc-list) { counter-reset: evp; }
.single-content ol:not(.ez-toc-list) > li { position: relative; padding-left: 34px; margin-bottom: 8px; counter-increment: evp; }
.single-content ol:not(.ez-toc-list) > li::before {
  content: counter(evp); position: absolute; left: 0; top: .2em; width: 24px; height: 24px; border-radius: 50%;
  background: var(--vp-amber-soft); color: var(--vp-green); font: 700 13px/24px 'Manrope', sans-serif; text-align: center;
}
/* таблицы: рамка, полосы, прокрутка на узком экране вместо вылезания */
.single-content table {
  display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-top: 24px; margin-bottom: 24px;
  border: 1px solid var(--vp-border); border-radius: 14px; font-size: 15px; width: auto !important; height: auto !important;
}
.single-content table td, .single-content table th { padding: 10px 14px; border: 1px solid var(--vp-border) !important; vertical-align: top; line-height: 1.5; }
.single-content table tr:first-child td, .single-content table th { background: var(--vp-green); color: var(--vp-kremovyy); font-weight: 700; }
.single-content table tr:first-child td *, .single-content table th * { color: var(--vp-kremovyy) !important; }
.single-content table tr:nth-child(even) td { background: var(--vp-kremovyy); }
.single-content blockquote {
  margin: 24px 0; padding: 18px 22px; border-left: 4px solid var(--vp-amber); background: var(--vp-amber-soft); border-radius: 0 14px 14px 0;
}
/* оглавление: свои маркеры списка ему не нужны */
.single-content #ez-toc-container ul, .single-content #ez-toc-container li { list-style: none !important; }
.single-content #ez-toc-container li { padding-left: 0 !important; margin-bottom: 2px !important; }
.single-content #ez-toc-container li::before { display: none !important; }
.single-content #ez-toc-container ul ul { padding-left: 18px !important; margin: 2px 0 !important; }
/* оглавление */
.single-content #ez-toc-container {
  width: 100% !important; max-width: 800px; float: none !important; display: block;
  background: #fff !important; border: 1px solid var(--vp-border) !important; border-radius: 16px; box-shadow: none !important;
  padding: 18px 22px !important; margin: 0 auto 28px !important;
}
.single-content #ez-toc-container .ez-toc-title { font: 700 18px 'Manrope', sans-serif !important; color: var(--vp-green) !important; }
.single-content #ez-toc-container a { font-size: 15px !important; color: var(--vp-green) !important; text-decoration: none !important; line-height: 1.6; }
.single-content #ez-toc-container a:hover { color: var(--vp-yantar-navod, #B8862E) !important; }
/* кнопка «Хочу пробный урок» под текстом статьи — раньше была пустой (причина
   найдена и исправлена в данных: настройка плагина Header-Footer «after»
   содержала буквально вставленный PHP-код вместо текста; см. отчёт п.9) */
.single-content .header--button { margin: 16px 0 28px; }
.single-content .header--button button { min-width: 220px; min-height: 46px; padding: 12px 24px !important; font: 700 16px/1.2 'Manrope', sans-serif; }
/* «Остались вопросы? Задайте их эксперту!» — в тонах бренда вместо зелёной темы плагина */
.single-content .expert-review {
  background: #fff !important; border: 1px solid var(--vp-border) !important; border-radius: 20px !important;
  padding: 24px 26px !important; margin: 36px auto !important;
}
.single-content .expert-review-expert-header { font: 700 20px 'Manrope', sans-serif !important; color: var(--vp-green) !important; margin-bottom: 14px !important; }
.single-content .expert-review-expert-bio-name, .single-content .expert-review-expert-bio-name a { font-weight: 700 !important; color: var(--vp-green) !important; text-decoration: none !important; }
.single-content .expert-review-expert-bio-description { color: var(--vp-seryy, #7A7770) !important; font-size: 14px !important; }
.single-content .expert-review-button {
  background: var(--vp-amber) !important; color: #2A1C05 !important; border-radius: 999px !important;
  padding: 10px 22px !important; font: 700 15px 'Manrope', sans-serif !important; border: 0 !important;
}
.single-content .expert-review-button:hover { background: var(--vp-yantar-navod, #B8862E) !important; }
.single-content .expert-review-expert-text { font-size: 15px !important; line-height: 1.6 !important; color: var(--vp-tekst) !important; }
/* «Читайте также» — карточки как в списке блога */
.single-content .relpost-thumb-wrapper, .single-content .relpost-thumb-container { max-width: 800px; margin: 0 auto; }
.single-content .relpost-thumb-container h3, .single-content .relpost-thumb-container > h4 { margin-top: 40px !important; }
.single-content .relpost-block-container { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.single-content a.relpost-block-single {
  width: auto !important; height: auto !important; margin: 0 !important; text-decoration: none !important;
  background: #fff !important; border: 1px solid var(--vp-border) !important; border-radius: 16px; overflow: hidden;
  box-shadow: var(--vp-shadow); transition: box-shadow .18s ease, transform .18s ease;
}
.single-content a.relpost-block-single:hover { box-shadow: var(--vp-shadow-lift); transform: translateY(-2px); }
.single-content .relpost-custom-block-single { width: 100% !important; height: auto !important; }
.single-content .relpost-block-single-image { width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; background-size: cover !important; background-position: center !important; }
.single-content .relpost-block-single-text { height: auto !important; padding: 12px 14px 14px !important; }
.single-content .relpost_card_title, .single-content .relpost-block-single-text h2 { display: block !important;
  font-family: 'Manrope', sans-serif !important; font-size: 15px !important; font-weight: 700 !important;
  line-height: 1.35 !important; letter-spacing: 0 !important; word-spacing: normal !important; text-transform: none !important;
  color: var(--vp-green) !important; margin: 0 !important; text-align: left !important;
}
@media (max-width: 991.98px) {
  .single-content > .container { padding: 28px 24px !important; border-radius: 20px; }
  .single-content .relpost-block-container { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .ab_maintext h1 { font-size: 28px !important; }
  .single-content { padding: 12px 0 32px; }
  .single-content > .container { padding: 22px 16px !important; border-radius: 16px; }
  .single-content h1 { font-size: 27px !important; }
  .single-content h2:not(.relpost_card_title) { font-size: 23px !important; margin-top: 32px !important; }
  .single-content h3 { font-size: 20px !important; }
  .single-content, .single-content p, .single-content li { font-size: 16px; }
  .single-content .relpost-block-container { grid-template-columns: 1fr 1fr; gap: 10px; }
}

/* ========================================================================== */
/* 38. РАУНД 2 (24.09): ЗАГЛУШКА ОТЗЫВА, ФОН И ШИРИНА БЛОГА, «ПОДРОБНЕЕ»      */
/* ========================================================================== */
/* Отзывы: фото приходят миниатюрой 173×173 и показываются в натуральный размер;
   заглушка нарисована вдвое крупнее (для чёткости на телефоне) и раздувалась
   до ширины колонки. Задаём всем кружкам один размер. */
.reviews .card-review .image-container img {
  width: 173px !important; height: 173px !important; max-width: 173px !important;
  object-fit: cover; flex: none;
}

/* Блог: один фон у полосы с хлебными крошками и у страницы. Шаблон blog.php
   красит свой блок встроенным стилем (#f4f7f6) — перебиваем бóльшим весом. */
body .content .ab_maintext, body .content .ab_maintext .ab__row { background: transparent !important; }

/* Главная блога: вводный текст — во всю ширину блока, а не узкой колонкой. */
body .ab_maintext .content--seo { max-width: none !important; }
body .ab_maintext .content--seo ul, body .ab_maintext .content--seo ol { padding-left: 24px !important; }

/* «Подробнее»: подпись ровно по центру кнопки, кнопка — как остальные кнопки сайта. */
body .ab_maintext .ab_btn {
  display: inline-flex !important; align-items: center; justify-content: center;
  height: 42px; padding: 0 24px !important; line-height: 1 !important; white-space: nowrap;
  border-radius: 999px !important; border: 0 !important;
  background: var(--vp-amber) !important; color: #2A1C05 !important;
  font: 700 15px/1 'Manrope', sans-serif !important; text-decoration: none !important;
  transition: background-color .18s ease;
}
body .ab_maintext .ab__inside_column:hover .ab_btn, body .ab_maintext .ab_btn:hover { background: var(--vp-amber-dark, #B8862E) !important; color: #2A1C05 !important; }

/* Статья: текст во всю ширину блока; блок — того же фона, что крошки и страница. */
body .single-content > .container {
  background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0;
  padding: 8px 12px 0 !important;
}
body .single-content > .container > * { max-width: none !important; }
body .single-content #ez-toc-container { max-width: none !important; }
@media (max-width: 767.98px) {
  body .single-content > .container { padding: 0 16px !important; }
}
/* «Читайте также» — тоже во всю ширину статьи: 6 карточек в ряд на компьютере */
body .single-content .relpost-thumb-wrapper, body .single-content .relpost-thumb-container { max-width: none !important; }
body .single-content .relpost-block-container { grid-template-columns: repeat(6, 1fr) !important; }
@media (max-width: 1199.98px) { body .single-content .relpost-block-container { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 767.98px) { body .single-content .relpost-block-container { grid-template-columns: repeat(2, 1fr) !important; } }

/* ========================================================================== */
/* 39. РАУНД 3: ВИДЕО О НАС — РОВНО В ЭКРАН НОУТБУКА НА ЛЮБОЙ ШИРИНЕ          */
/* Раньше ноутбук был фоном всей секции (по центру, натуральный размер), а    */
/* видео стояло своим блоком 549×309 со сдвигом −11px — они совпадали только  */
/* случайно и расходились. Теперь ноутбук — фон самого блока видео, блок      */
/* держит пропорции картинки (760×524), а видео стоит в процентах от неё:      */
/* экран на картинке — x 109…641, y 114…427.                                 */
/* ========================================================================== */
@media (min-width: 768px) {
  .video.lazy { background-image: none !important; }
  .video .video_container { position: relative; }
  .video .video_container > .h2 { position: absolute; top: 0; left: 0; right: 0; z-index: 2; margin: 0 !important; }
  /* рамка — родитель видео; класс preview__video скрипт снимает при запуске, поэтому по :has */
  .video .video_container > div:has(> .inside__preview_video) {
    position: relative; width: 100%; max-width: 760px; aspect-ratio: 760 / 524;
    margin: 5px auto 0 !important;
    background: url("/wp-content/themes/egevpare/assets/img/tpl/about-bg3.png") no-repeat 0 0 / 100% 100%;
  }
  .video .inside__preview_video {
    position: absolute !important; margin: 0 !important;
    left: 14.342%; top: 21.756%; width: 70%; height: 59.733%;
    border-radius: 2px !important; background: #000;
  }
  .video .inside__preview_video .preview__img {
    width: 100% !important; height: 100% !important; max-width: none !important;
    margin: 0 !important; object-fit: cover; display: block;
  }
  .video .inside__preview_video iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; border: 0; }
  .video .inside__preview_video .play__video { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); }
}

/* ========================================================================== */
/* 40. РАУНД 3: СТАТЬЯ, «ТАКЖЕ ЗАНИМАЮТСЯ», СТРАНИЦА «ОТЗЫВЫ», КНОПКА АНКЕТЫ */
/* ========================================================================== */
/* Статья, компьютер: картинка слева, оглавление справа от неё в одном ряду.
   Только если сразу за картинкой идёт оглавление; дальше текст — во всю ширину. */
@media (min-width: 992px) {
  body .single-content > .container > .blog-item__image:has(+ #ez-toc-container) {
    float: left !important; width: calc(50% - 14px) !important; margin: 0 28px 28px 0 !important;
  }
  body .single-content > .container > .blog-item__image:has(+ #ez-toc-container) img { max-height: 420px; object-fit: cover; }
  body .single-content > .container > .blog-item__image + #ez-toc-container {
    display: flow-root !important; width: auto !important; margin: 0 0 28px !important;
  }
  body .single-content > .container > .blog-item__image + #ez-toc-container ~ * { clear: both; }
}

/* Страницы предметов, «Наши ученики также занимаются»: мельче и аккуратнее. */
.wrapper .similar-discipline .h2, .similar-discipline p.h2 { font-size: 26px !important; line-height: 1.3 !important; margin-bottom: 22px !important; }
.similar-discipline .page-list { row-gap: 10px; }
.similar-discipline .page-list a {
  font-family: 'Manrope', sans-serif !important; font-size: 16px !important; font-weight: 600 !important;
  line-height: 1.4 !important;
}
@media (max-width: 767.98px) {
  .wrapper .similar-discipline .h2, .similar-discipline p.h2 { font-size: 22px !important; }
  .similar-discipline .page-list a { font-size: 15px !important; }
}

/* Страница «Отзывы»: заглушка того же размера, что фото (150×150);
   внутренний блок — светлый фон нового дизайна вместо тёмно-зелёного. */
.gray .card_item_review .image-container img { width: 150px !important; height: 150px !important; object-fit: cover; }
.gray .reviews {
  background: var(--vp-cream-alt, #EDE7DA) !important; background-image: none !important;
  border-radius: 24px; border: 1px solid var(--vp-border);
}
/* Виджет отзывов Яндекса: по ширине текста. Сам Яндекс рисует содержимое не
   шире 760px (ограничение внутри его рамки), поэтому рамка по ширине текста
   давала пустое поле справа — ставим виджет в карточку по центру без пустоты. */
.content--seo div:has(> iframe[src*="maps-reviews-widget"]) {
  width: 100% !important; max-width: 760px !important; height: 1100px !important; margin: 28px auto !important;
}
.content--seo iframe[src*="maps-reviews-widget"] { border-radius: 16px !important; }

/* Кнопка «Заполнить анкету» (и другие кнопки .link-style в текстах) — как кнопки сайта. */
.link-style {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--vp-amber) !important; color: #2A1C05 !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
  font: 700 17px/1.2 'Manrope', sans-serif !important; padding: 15px 34px !important; text-decoration: none !important;
  transition: background-color .18s ease;
}
.link-style:hover { background: var(--vp-amber-dark, #B8862E) !important; color: #2A1C05 !important; }

/* ========================================================================== */
/* 41. РАУНД 4 (25.09): ОТЗЫВЫ, ПРЕПОДАВАТЕЛИ, ОПЛАТА, МОБИЛЬНАЯ АДАПТАЦИЯ    */
/* ========================================================================== */
/* п.2 Треугольник «Смотреть отзыв»: был отдельным ::after с отступами в px и
   не попадал в центр кружка. Рисуем значок целиком в ::before — круг и
   треугольник одной картинкой, поэтому съехать им не с чего. */
.watch-video-btn::after { display: none !important; }
.watch-video-btn::before {
  content: "" !important; flex: none; width: 20px !important; height: 20px !important;
  border: 0 !important; border-radius: 50% !important; position: relative !important; left: 0 !important; top: 0 !important;
  background: #F4F1E8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8 6.2v7.6l6-3.8z' fill='%23003C37'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
}

/* п.3 «Все преподаватели»: светлая подложка списка отличалась от фона под крошками. */
.gray .section_teacher { background: transparent !important; }

/* п.4 Фото отзывов: снимки квадратные с белыми углами — обрезаем кругом, углы
   берут цвет карточки. */
.reviews .card-review .image-container img,
.gray .card_item_review .image-container img { clip-path: circle(49.5% at 50% 50%); border-radius: 50%; }

/* п.5 Оплата: поле «Сумма» было браузерным по умолчанию — делаем как остальные. */
input[name="sum"], input[name="clientid"], input[name="client_email"] {
  background: #FAF8F3 !important; border: 1px solid #D5D2CB !important; border-radius: 12px !important;
  height: 52px !important; padding: 10px 16px !important; font: 400 16px/1.3 'Manrope', sans-serif !important;
  color: var(--vp-tekst, #0F2A1F) !important; box-shadow: none !important; width: 100%;
}
input[name="sum"]:focus, input[name="clientid"]:focus, input[name="client_email"]:focus {
  outline: none; border-color: var(--vp-amber, #C8943C) !important;
}

/* ---------------------------- мобильные ------------------------------------ */
@media (max-width: 991.98px) {
  /* п.7 Cookies: компактная плашка с отступами от краёв, кнопка в строку. */
  #cookie_note.show {
    left: 10px !important; right: 10px !important; bottom: 10px !important; width: auto !important; max-width: 560px;
    margin: 0 auto; border-radius: 16px !important; padding: 12px 14px !important;
    display: flex !important; align-items: center; gap: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.25);
  }
  #cookie_note.show p { font-size: 12px !important; line-height: 1.4 !important; margin: 0 !important; flex: 1 1 auto; }
  #cookie_note.show .cookie_accept { flex: none; padding: 8px 14px !important; font-size: 14px !important; min-height: 0 !important; height: auto !important; }

  /* п.8 Расписание: на узком экране — та же таблица, что на компьютере, с
     прокруткой вбок; колонка тарифа закреплена слева. */
  .table_wrap_schedule { overflow-x: auto !important; -webkit-overflow-scrolling: touch; border-radius: 16px; }
  #time_table .table_schedule { display: table !important; width: 860px !important; min-width: 860px !important; table-layout: auto; }
  #time_table .table_schedule thead { display: table-header-group !important; }
  #time_table .table_schedule tbody { display: table-row-group !important; }
  #time_table .table_schedule tr:not(.d-none) { display: table-row !important; }
  #time_table .table_schedule th.d-lg-table-cell { display: table-cell !important; }
  #time_table .table_schedule td.w100, #time_table .table_schedule td[colspan="7"] { display: table-cell !important; width: auto !important; }

  #time_table .table_schedule .d-lg-none { display: none !important; }
  #time_table .table_schedule tr > :first-child {
    position: sticky; left: 0; z-index: 2; min-width: 180px; background: #FAF8F3; box-shadow: 1px 0 0 #D5D2CB;
  }
  #time_table .table_schedule thead tr > :first-child { background: var(--vp-green, #003C37); }
  .form_container_and_table .table_wrap_schedule::after { content: none; }

  /* п.10 Филиалы: маркеры списка сняты для всех ширин в разделе 42 (раунд 6). */

  /* п.11 Бургер: стрелка подменю — фирменная, видимая. */
  .menu-item-has-children > a::after {
    background: none !important; width: 9px !important; height: 9px !important;
    border-right: 2px solid var(--vp-green, #003C37) !important; border-bottom: 2px solid var(--vp-green, #003C37) !important;
    top: 50% !important; transform: translateY(-70%) rotate(45deg) !important;
  }
  /* Раунд 5: без отдельной белой «подложки» под стрелкой (header.css рисует её в a:before)
     — стрелка стоит прямо в строке пункта в любом состоянии; раскрытый пункт — стрелка вверх. */
  .header--list-menu > li.menu-dropdown-item > a::before { content: none !important; background: none !important; border: 0 !important; }
  .header--list-menu > li.menu-dropdown-item > a,
  .header--list-menu > li.menu-dropdown-item > a:hover,
  .header--list-menu > li.menu-dropdown-item > a:active,
  .header--list-menu > li.menu-dropdown-item > a:focus,
  .header--list-menu > li.menu-dropdown-item.active > a { background: transparent !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; }
  .header--list-menu > li.menu-dropdown-item.active > a::after { transform: translateY(-30%) rotate(-135deg) !important; }

  /* п.13–14 Шапка: без мигания; телефон — янтарный кружок того же размера, что MAX. */
  .header--phone__mobile, .header--whatsapp__mobile { animation: none !important; box-shadow: none !important; }
  /* вес селектора выше, чем у «header a:not(.logo)…» (он гасит фон ссылок шапки) */
  html body header a.header--phone__mobile.header--phone__mobile {
    width: 39px !important; height: 39px !important; border-radius: 50% !important; padding: 0 !important;
    background: var(--vp-amber, #C8943C) !important; border: 0 !important;
    display: flex !important; align-items: center; justify-content: center;
  }
  .header--phone__mobile svg { width: 18px !important; height: 18px !important; margin: 0 !important; }
  .header--phone__mobile svg path { fill: var(--vp-green, #003C37) !important; }
}

/* п.9 Видео на телефоне: 16:9 по ширине экрана, без сдвига и лишней пустоты. */
@media (max-width: 767.98px) {
  .video { min-height: 0 !important; padding-bottom: 32px !important; }
  .video .preview__video { margin: 24px 0 0 !important; display: block !important; }
  .video .inside__preview_video { position: relative !important; width: 100% !important; aspect-ratio: 16 / 9; border-radius: 16px !important; overflow: hidden; }
  .video .inside__preview_video .preview__img { width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; object-fit: cover; display: block; }
  .video .inside__preview_video .play__video { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); }
  .video .video_container iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; max-width: none !important; }
}

/* п.12 «Наши ученики также занимаются»: 4 → 3 → 2 → 1 колонка по ширине. */
.similar-discipline .page-list { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; margin: 0 !important; padding: 0 !important; }
.similar-discipline .page-list > li { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; list-style: none; }
@media (max-width: 991.98px) { .similar-discipline .page-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .similar-discipline .page-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479.98px) { .similar-discipline .page-list { grid-template-columns: 1fr; } }

/* п.8 (телефон): вместо узкой таблицы с прокруткой — карточка на тариф:
   слева тариф, справа дни (готовые подписи из разметки: «Понедельник - Пятница»…)
   и время. Все сведения видны сразу, без прокрутки. */
@media (max-width: 767.98px) {
  .table_wrap_schedule { overflow: visible !important; }
  #time_table .table_schedule { display: block !important; width: 100% !important; min-width: 0 !important; border-radius: 16px; overflow: hidden; background: #FAF8F3; border: 1px solid #D5D2CB; }
  #time_table .table_schedule thead, #time_table .table_schedule tr:has(> th.d-lg-table-cell) { display: none !important; }
  #time_table .table_schedule > tbody { display: block !important; }
  #time_table .table_schedule > tbody > tr:not(.d-none) {
    display: grid !important; grid-template-columns: 44% 1fr; align-items: center; column-gap: 12px; row-gap: 4px;
    padding: 14px 14px; border-bottom: 1px solid #E3DFD6; background: transparent !important;
  }
  #time_table .table_schedule > tbody > tr:not(.d-none):last-child { border-bottom: 0; }
  #time_table .table_schedule > tbody > tr > :first-child {
    position: static !important; grid-column: 1; grid-row: 1 / span 2; min-width: 0 !important;
    background: transparent !important; box-shadow: none !important; padding: 0 !important; text-align: left !important;
  }
  #time_table .table_schedule > tbody > tr > td.d-lg-none { display: block !important; grid-column: 2; padding: 0 !important; background: none !important; }
  #time_table .table_schedule > tbody > tr > td.d-lg-none.d-lg-none table, #time_table .table_schedule > tbody > tr > td.d-lg-none.d-lg-none tbody,
  #time_table .table_schedule > tbody > tr > td.d-lg-none.d-lg-none tr, #time_table .table_schedule > tbody > tr > td.d-lg-none.d-lg-none th {
    border-radius: 0 !important; box-shadow: none !important; min-height: 0 !important; height: auto !important;
    display: block !important; background: none !important; padding: 0 !important; margin: 0 !important; width: auto !important;
    color: var(--vp-green, #003C37) !important; font: 700 13px/1.35 'Manrope', sans-serif !important; text-align: left !important; border: 0 !important;
  }
  #time_table .table_schedule > tbody > tr > td.d-lg-none th span { display: inline !important; padding: 0 !important; }
  #time_table .table_schedule > tbody > tr > td[colspan="7"] {
    display: block !important; grid-column: 2; padding: 0 !important; text-align: left !important; background: none !important;
    font-size: 14px !important; line-height: 1.35 !important; border: 0 !important;
  }
}
@media (max-width: 767.98px) {
  /* строка заголовков (дни недели) в карточках не нужна — дни подписаны у тарифа */
  #time_table .table_schedule > tbody > tr:has(> th.d-lg-table-cell):not(.d-none),
  #time_table .table_schedule > thead > tr { display: none !important; }
}
/* п.3 (уточнение): светлым был и блок списка .teachers — фон страницы под ним тот же, что под крошками;
   сами карточки остаются светлыми панелями с рамкой. */
.gray .teachers { background: transparent !important; }
.gray .card_item_teacher .card_item_box { border: 1px solid var(--vp-border, #D5D2CB); border-radius: 20px; }

/* ==========================================================================
   42. Раунд 6 (25.09.2026)
   ========================================================================== */
/* п.1 Шапка: в исходном состоянии такая же низкая, как после прокрутки
   (.header.fixed — 10px сверху и снизу). Раньше header.css давал 30/50px
   на десктопе, 20/50 до 1199px и 14/14 на телефоне — шапка была выше на 50–60px. */
.header:not(.fixed) { padding-top: 10px !important; padding-bottom: 10px !important; }

/* п.2 Филиалы: маркеры списка сняты для ВСЕХ ширин. Раньше list-style:none стоял
   только в медиазапросе для телефона, а на десктопе точки прятал лишь
   ::marker {content:none} — Safari это свойство у ::marker не поддерживает
   и рисовал обычные чёрные точки. */
.stancii, .stancii__item { list-style: none !important; }
.stancii { padding-left: 0 !important; }

/* п.3 Значок Дзена: старый style.css темы заливает детей .dzen-social-icon
   фирменным оранжевым Дзена (#FF5317) при наведении — новая линейная иконка
   от этого заливалась целиком. Все значки соцсетей — только контур, как у VK. */
.footer__social-links .icon-social > *,
.footer__social-links a:hover .icon-social > * { fill: none !important; }

/* п.4 «Нет нужного времени?»: стрелки между шагами 1→2→3 — вместо рисованной
   бирюзовой картинки (group.png) тонкая фирменная стрелка: тёмно-зелёная
   линия 2px со скруглёнными концами, как стрелки меню и списков. */
#time_table .target::before, .target::before {
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="84" viewBox="0 0 40 84" fill="none" stroke="%23003C37" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M28 4C11 18 9 48 21 76"/><path d="M13 69l8 8 5-10"/></svg>') !important;
  top: -92px !important; left: -30px !important;
}

/* ==========================================================================
   43. Раунд 6, п.5 (25.09.2026): цвет кнопок — насыщенный жёлтый (выбор владельца)
   ========================================================================== */
/* Кнопки сливались, потому что тем же янтарём были окрашены номера шагов,
   галочки, рамки, «?» и ссылки. Теперь у кнопок свой цвет, которого больше
   нигде нет, а янтарь переведён в спокойный шалфей: переменная --vp-amber
   (из неё берут цвет ~70 правил темы) указывает на шалфей. */
:root {
  --vp-btn: #FFDE00;          /* текст #0F2A1F: 11.4:1 */
  --vp-btn-hover: #F0CC00;    /* 9.7:1 */
  --vp-btn-active: #E6C200;   /* 8.9:1 */
  --vp-btn-text: #0F2A1F;
  --vp-btn-shadow: 0 6px 18px rgba(15,42,31,.22);
  --vp-amber: #5E8A80;
  --vp-amber-dark: #4E776E;
  --vp-amber-soft: rgba(94,138,128,.14);
  --vp-sage-light: #A8C4BB;   /* текст-акцент на тёмно-зелёном */
  --vp-sage-dark: #2F6B5F;    /* текст-акцент на светлом: 5.5:1 */
}

/* Все кнопки сайта — одним правилом. id в списке :is() поднимает вес
   правила выше любого прежнего правила темы для этих кнопок. */
html body :is(#egevpare-widget-root > button, .button--default, .input-button, .price-block__btn,
  .quizle-button, .ab_btn, .cookie_accept, .link-style, .reviews_button a, .teachers_button a,
  .egevpare-widget-item--chat) {
  background: var(--vp-btn) !important;
  background-image: none !important;
  border-color: var(--vp-btn) !important;
  color: var(--vp-btn-text) !important;
  box-shadow: var(--vp-btn-shadow) !important;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
html body :is(#egevpare-widget-root > button, .egevpare-widget-item--chat) svg,
html body :is(#egevpare-widget-root > button, .egevpare-widget-item--chat) svg path {
  color: var(--vp-btn-text) !important; stroke: var(--vp-btn-text) !important;
}
html body :is(#egevpare-widget-root > button, .button--default, .input-button, .price-block__btn,
  .quizle-button, .ab_btn, .cookie_accept, .link-style, .reviews_button a, .teachers_button a,
  .egevpare-widget-item--chat):hover {
  background: var(--vp-btn-hover) !important;
  border-color: var(--vp-btn-hover) !important;
  color: var(--vp-btn-text) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15,42,31,.28) !important;
}
html body :is(#egevpare-widget-root > button, .button--default, .input-button, .price-block__btn,
  .quizle-button, .ab_btn, .cookie_accept, .link-style, .reviews_button a, .teachers_button a,
  .egevpare-widget-item--chat):active {
  background: var(--vp-btn-active) !important;
  transform: translateY(0) scale(.98);
  box-shadow: 0 3px 10px rgba(15,42,31,.22) !important;
}
html body :is(#egevpare-widget-root > button, .button--default, .input-button, .price-block__btn,
  .quizle-button, .ab_btn, .cookie_accept, .link-style, .reviews_button a, .teachers_button a,
  .egevpare-widget-item--chat):focus-visible {
  outline: 3px solid var(--vp-btn-text) !important; outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--vp-btn) !important;
}

/* Мягкая пульсация — только у главных призывов (первый экран, выделенный
   тариф, «Забронировать» в подборе времени): расходящееся кольцо раз в 5 с,
   размер и вёрстка не меняются. Остальные кнопки — только отклик на наведение. */
/* Кольцо — отдельный слой ::after, анимируются только transform и opacity
   (легко для телефонов). Через box-shadow самой кнопки нельзя: её тень задана
   с !important, а анимация !important-объявления не перебивает. */
@keyframes vp-btn-ring {
  0%   { opacity: .85; transform: scale(1, 1); }
  24%  { opacity: 0;   transform: scale(1.09, 1.47); }
  100% { opacity: 0;   transform: scale(1.09, 1.47); }
}
html body :is(#egevpare-widget-root > button, .offer--button .button--default,
  .price-block.best .price-block__btn, .form_seleckted .sale.input-button) { position: relative !important; }
html body :is(#egevpare-widget-root > button, .offer--button .button--default,
  .price-block.best .price-block__btn, .form_seleckted .sale.input-button)::after {
  content: ""; position: absolute; inset: -2px; border-radius: inherit;
  border: 2px solid var(--vp-btn); opacity: 0; pointer-events: none;
  animation: vp-btn-ring 5s ease-out 1.5s infinite;
}
html body :is(#egevpare-widget-root > button, .offer--button .button--default,
  .price-block.best .price-block__btn, .form_seleckted .sale.input-button):hover::after { animation-play-state: paused; opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  html body :is(#egevpare-widget-root > button, .button--default, .input-button, .price-block__btn,
    .quizle-button, .ab_btn, .cookie_accept, .link-style, .reviews_button a, .teachers_button a,
    .egevpare-widget-item--chat) { animation: none !important; transition: none !important; transform: none !important; }
  html body :is(#egevpare-widget-root > button, .offer--button .button--default,
    .price-block.best .price-block__btn, .form_seleckted .sale.input-button)::after { animation: none !important; opacity: 0 !important; }
}

/* Кружок телефона в мобильной шапке — цвет кнопок, без пульсации (мигание там
   убирали в раунде 4). Значок MAX рядом НЕ перекрашиваем: он остаётся в своих
   фирменных цветах (решение владельца, возврат 25.09). */
html body header a.header--phone__mobile.header--phone__mobile { background: var(--vp-btn) !important; }
.header--phone__mobile svg path { fill: var(--vp-btn-text) !important; }


/* Янтарный текст-акцент → шалфей: на тёмно-зелёном светлый, на светлом тёмный. */
.header--location--change, .list-menu-wrap .mob_info .header--location--change,
.footer__info_yellow, .footer a:hover, #cookie_note a,
.menu--item > a:hover, header .dropdown > a:hover { color: var(--vp-sage-light) !important; }
html body .footer__social-links a:hover .icon-social { color: var(--vp-sage-light) !important; }
@media (hover: hover) and (pointer: fine) { .similar-discipline a:hover { color: var(--vp-sage-dark) !important; } }
/* «Принять» в плашке cookies: прежнее правило держится на #cookie_note — перебиваем тем же id */
html body #cookie_note .cookie_accept.cookie_accept {
  background: var(--vp-btn) !important; border-color: var(--vp-btn) !important; color: var(--vp-btn-text) !important;
}
html body #cookie_note .cookie_accept.cookie_accept:hover { background: var(--vp-btn-hover) !important; border-color: var(--vp-btn-hover) !important; }
html body #cookie_note .cookie_accept.cookie_accept:active { background: var(--vp-btn-active) !important; }
html body #cookie_note a[href] { color: var(--vp-sage-light) !important; }

/* ==========================================================================
   44. Возврат 25.09: наведение в верхнем меню
   ========================================================================== */
/* Причина: старое правило темы (main.min.css)
   «.header--list-menu > li a:hover { color: var(--gray-dark) }» красило пункт
   при наведении в тёмно-серый #333 — на тёмно-зелёной шапке надпись пропадала;
   а header.css подсвечивал строку подменю старым серо-зелёным #617D77.
   Янтарь бренда — ТОЛЬКО при наведении мышью (решение владельца, возврат 25.09):
   текущая страница, посещённые и фокус остаются белыми, как раньше. Акцент (не шалфей и не жёлтый кнопок, чтобы
   пункт меню не выглядел кнопкой). Одно правило для наведения, текущей
   страницы и фокуса с клавиатуры; обычная и уменьшенная шапка — одинаково. */
:root { --vp-menu-accent: #C8943C; }   /* на #003C37 — 4.6:1 */
@media (min-width: 992px) {
  html body header .header--list-menu > li > a:hover,
  html body header .header--list-menu > li.menu-dropdown-item:hover > a {
    color: var(--vp-menu-accent) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--vp-menu-accent) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 6px;
  }
  /* фокус с клавиатуры — только обводка, цвет текста не меняется */
  html body header .header--list-menu > li > a:focus-visible { outline: 2px solid var(--vp-menu-accent) !important; outline-offset: 4px; }
}
/* Подменю (десктоп — выпадающая панель, телефон — раскрытый список в бургере):
   строка при наведении — мягкая янтарная подсветка с полосой слева, текст тёмный. */
html body header .header--list-menu .dropdown-menu li:hover,
html body header .header--list-menu > li.menu-dropdown-item:hover > .dropdown-menu li:hover,
html body header .header--list-menu > li.menu-dropdown-item.active > .dropdown-menu li:hover {
  background: rgba(200,148,60,.16) !important;
  box-shadow: inset 3px 0 0 var(--vp-menu-accent);
}
html body header .header--list-menu .dropdown-menu li:hover a,
html body header .header--list-menu > li.menu-dropdown-item:hover > .dropdown-menu li:hover a,
html body header .header--list-menu > li.menu-dropdown-item.active > .dropdown-menu li:hover a {
  color: var(--vp-text, #0F2A1F) !important;
  text-decoration: none !important;
}
html body header .header--list-menu .dropdown-menu li a:focus-visible { outline: 2px solid var(--vp-menu-accent) !important; outline-offset: -2px; }
/* Выпадающая панель подменю на десктопе была полупрозрачной белой (rgba .9):
   поверх тёмно-зелёного первого экрана её низ становился грязно-серым. */
@media (min-width: 992px) {
  html body header .header--list-menu > li.menu-dropdown-item:hover > .dropdown-menu {
    background: var(--vp-panel, #FAF8F3) !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 14px 30px rgba(15,42,31,.22) !important;
    padding-bottom: 6px;
  }
}

/* Возврат 25.09: «Смотреть все отзывы» (partials/reviews — главная, направления, предметы).
   Старая тема (main.min.css) при наведении красила ссылку бирюзовым #78D6E4 !important
   и увеличивала её на 10% — перебиваем более тяжёлым !important. Ссылка в новом шрифте,
   при наведении — янтарь, как у пунктов верхнего меню, без увеличения. */
html body .reviews .reviews__linkblock a.reviews__link,
html body .reviews__linkblock a.reviews__link {
  font-family: var(--vp-font, "Manrope", sans-serif) !important; font-size: 18px !important; font-weight: 600 !important;
  color: #F4F1E8 !important; border-top: 2px solid rgba(244,241,232,.55) !important; padding-top: 8px !important;
  text-decoration: none !important; transform: none !important;
  transition: color .18s ease, border-color .18s ease !important;
}
html body .reviews .reviews__linkblock a.reviews__link:hover,
html body .reviews__linkblock a.reviews__link:hover {
  color: var(--vp-menu-accent, #C8943C) !important; border-top-color: var(--vp-menu-accent, #C8943C) !important;
  transform: none !important; text-decoration: none !important;
}
html body .reviews__linkblock a.reviews__link:focus-visible { outline: 2px solid var(--vp-menu-accent, #C8943C) !important; outline-offset: 4px; }

/* ========================================================================== */
/* 45. РАУНД 28.09                                                            */
/* ========================================================================== */
/* «Нет нужного времени?»: шаги формы появляются анимацией (animate.css, transform) — это
   отдельный слой, и раскрытый список времени/формата оказывался ПОД заголовком
   «Посмотрите видео о нас» (у него z-index 2). Шаг с открытым списком поднимаем над
   следующими блоками; обрезки нет — у родителей overflow видимый. */
.form_seleckted { position: relative; z-index: 3; }
.form_seleckted:has(.nice-select.open) { z-index: 40 !important; }
:is(#time_table, .time_table, .form_container_and_table):has(.nice-select.open) { position: relative; z-index: 40; }
.nice-select.open { z-index: 41 !important; }
.nice-select.open .list { z-index: 42 !important; }

/* «Посмотрите видео о нас»: стрелка к ноутбуку — новая картинка (тот же ноутбук, стрелка
   янтарная, ровная, с круглыми концами вместо тонкой рукописной бирюзовой). */
@media (min-width: 768px) {
  .video .video_container > div:has(> .inside__preview_video) {
    background-image: url("/wp-content/themes/egevpare/assets/img/tpl/novye/about-bg3.png") !important;
  }
}

/* Подсказка у «Скидка 25%» в блоках цен: была квадратной рамкой с бирюзовым контуром и
   жирным старым шрифтом — теперь карточка бренда: тёмно-зелёная, кремовый текст Manrope. */
.price-checkboxes .hint__text {
  background: var(--vp-green, #003C37) !important; color: #F4F1E8 !important;
  border: 0 !important; border-radius: 12px !important; padding: 10px 14px !important;
  font-family: 'Manrope', sans-serif !important; font-size: 13px !important; font-weight: 500 !important;
  line-height: 1.45 !important; letter-spacing: 0 !important; text-align: left !important;
  box-shadow: 0 12px 28px rgba(0,30,27,.28) !important; max-width: 260px;
}
.prices .price-checkboxes .hint:hover, .prices .price-checkboxes .hint:has(+ .hint__text.active) {
  background: var(--vp-amber-soft, rgba(94,138,128,.14)) !important;
}

/* «Все преподаватели» — как «Смотреть все отзывы»: шрифт бренда, линия сверху, при наведении
   янтарь без увеличения (старая тема увеличивала ссылку и красила в бирюзу). Блок светлый,
   поэтому в покое ссылка тёмно-зелёная, а не кремовая. */
html body .teachers__link a.link {
  font-family: 'Manrope', sans-serif !important; font-size: 18px !important; font-weight: 600 !important;
  color: var(--vp-green, #003C37) !important; border-top: 2px solid rgba(0,60,55,.4) !important;
  padding-top: 8px !important; text-decoration: none !important; transform: none !important;
  transition: color .18s ease, border-color .18s ease !important;
}
html body .teachers__link a.link:hover, html body .teachers__link a.link:focus-visible {
  color: #B8862E !important; border-top-color: #B8862E !important; transform: none !important; text-decoration: none !important;
}

/* ==========================================================================
   Возврат 28.09 (сайты городов)
   ========================================================================== */
/* Список городов (online) и филиалов под картой (города с картой): вместо старого
   логотипа-значка — точка, как у филиалов Москвы и СПб. Цвет один, фирменный:
   линий метро у этих списков нет. Ссылки и порядок не меняются. */
html body .map_list a {
  background: none !important; padding-left: 22px !important; min-height: 0 !important;
  position: relative; line-height: 1.35;
}
html body .map_list a::before {
  content: ""; position: absolute; left: 0; top: calc(.675em - 6px); width: 12px; height: 12px; border-radius: 50%;
  /* цвет задан явно: на новом оформлении переменная --vp-amber местами переопределена */
  background: #C8943C; box-shadow: 0 0 0 1px rgba(15, 42, 31, .14);
}

/* Карта филиалов (города с картой): конструктор Яндекса вставляет iframe без высоты —
   браузер даёт ему 150 px, сколько бы ни было у контейнера. Растягиваем на контейнер
   (480 px на компьютере, 350 px на телефоне — задаёт contacts/<город>_map.php). */
html body section.map { width: 100%; }
html body section.map > iframe, html body section.map > ymaps { width: 100% !important; height: 100% !important; border: 0; border-radius: 18px; }
html body .map_list li::before, html body .map_list li::marker { content: none !important; }

/* Окно «Получите БЕСПЛАТНУЮ консультацию»: карточка в новом стиле, внутри —
   три кнопки связи (vp-connect.js, место popup). Заголовок прежний. */
#special-offer-modal .modal-dialog { max-width: 440px; margin: 10vh auto; padding: 0 16px; }
#special-offer-modal .modal-content {
  background: var(--vp-green, #003C37) !important; border: 0 !important; border-radius: 24px !important;
  padding: 30px 26px 26px !important; box-shadow: 0 24px 60px rgba(0, 20, 18, .45) !important; background-image: none !important;
}
#special-offer-modal .modal-header { border: 0 !important; padding: 0 !important; justify-content: center; background: none !important; }
#special-offer-modal .modal-title, #special-offer-modal .modal-title strong {
  color: #F4F1E8 !important; font-family: 'Manrope', sans-serif !important; font-size: 22px !important;
  font-weight: 800 !important; line-height: 1.25 !important; text-align: center; margin: 0 !important;
}
#special-offer-modal .modal-body { padding: 18px 0 0 !important; background: none !important; }
#special-offer-modal .vp-connect--popup { width: 100%; --connect-w: 100%; }
#special-offer-modal .vp-connect--popup > .vp-connect__panel { margin-top: 0 !important; }
html body #special-offer-modal .vp-connect__link--ghost,
html body #special-offer-modal .vp-connect__submit { background: #FFDE00 !important; border-color: #FFDE00 !important; color: #0F2A1F !important; }
html body #special-offer-modal .vp-connect__link--ghost:hover,
html body #special-offer-modal .vp-connect__submit:hover { background: #F0CC00 !important; border-color: #F0CC00 !important; }
#special-offer-modal .vp-connect__privacy, #special-offer-modal .vp-connect__done { color: #F4F1E8 !important; }
#special-offer-modal .close_modal_btn { color: #F4F1E8 !important; opacity: .9; }

/* Онлайн-сайт, список городов (возврат 28.09): тот же компонент .stancii, что у филиалов
   Москвы и СПб. Области «Московская/Ленинградская» раскрываются как раньше (collapse),
   их города встают в тот же ряд плашек. */
.evp-goroda__spisok > .clear { display: none !important; }
.evp-goroda__spisok > .collapse.show, .evp-goroda__spisok > .collapsing { display: contents !important; }
.stancii__link--oblast b { font-weight: inherit; }
.stancii__link--oblast .caret {
  display: inline-block; width: 7px; height: 7px; margin-left: 2px; border: solid currentColor; border-width: 0 2px 2px 0;
  transform: translateY(-2px) rotate(45deg); transition: transform .18s ease;
}
.stancii__link--oblast[aria-expanded="true"] { border-color: var(--vp-amber, #C8943C) !important; }
.stancii__link--oblast[aria-expanded="true"] .caret { transform: translateY(1px) rotate(-135deg); }
