/* ==========================================================================
   Точечные правки поверх раскладки из Tilda (blocks.css генерируется,
   поэтому всё, что правим руками в старых блоках, — здесь).
   ========================================================================== */

/* Первый экран: фото при прокрутке увеличивается от нижнего края,
   чтобы низ фото не вылезал из-под тёмного градиента */
#b02 .e1703115132203 .atom-anim { transform-origin: 50% 100%; }

/* Блок автора: плашки «Автор и создатель…», «Преподаю 10 лет», «900+ учеников»
   по ширине текста с одинаковыми отступами */
#b16 .e1707387246877,
#b16 .e1707387287282,
#b16 .e1707387308466 { width: auto; }
#b16 .e1707387246877 .btn__content,
#b16 .e1707387287282 .btn__content,
#b16 .e1707387308466 .btn__content { padding: 0 12px; }
#b16 .e1707387308466 { left: 595px; }            /* сразу за «Преподаю 10 лет» + 10px */
@media (max-width: 959px) {
  #b16 .e1707387308466 { left: 146px; }
}

/* ---------------------------------------------------------------- тарифы (b42)
   Продажи закрыты: в карточках одна кнопка «Предзапись», под ней подпись
   и счётчик мест этого тарифа (js/seats.js). */
#b42 .e1733925862565 .atom,
#b42 .e1733925862572 .atom {
  --border-width: 0;
  --bg-color: #ddd3b2;
  --bg-hover-color: #c4bda5;
  background-color: var(--bg-color);
  color: #2b2923;
}
@media (hover) {
  #b42 .e1733925862565 .atom:hover,
  #b42 .e1733925862572 .atom:hover { background-color: var(--bg-hover-color); }
}
#b42 .e1733925862565 .atom .btn__text,
#b42 .e1733925862572 .atom .btn__text { color: #2b2923; }

#b42 .tariff-note { width: 260px; z-index: 3; }
#b42 .tariff-note .atom {
  color: #fff;
  font-size: 12px;
  line-height: 14px;
  letter-spacing: -0.4px;
  text-align: center;
}
#b42 .tariff-note--1 { left: 300px; top: 1222px; }
#b42 .tariff-note--2 { left: 640px; top: 1430px; }

#b42 .seats {
  display: flex;
  flex-direction: column; /* «Занято мест N/лимит» сверху, пояснение под ним */
  align-items: flex-start;
  gap: 6px;
  width: 260px;
  padding: 14px 16px;
  border-radius: 10px;
  background-color: #2b2f33; /* как поле «После тренинга» в кейсах */
  z-index: 3;
}
#b42 .seats--1 { left: 300px; top: 1284px; }
#b42 .seats--2 { left: 640px; top: 1492px; }
.seats__count {
  display: flex;
  flex: none;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 16px;
  line-height: 19px;
  font-weight: 600;
  letter-spacing: -0.6px;
  white-space: nowrap;
}
.seats__value {
  color: #ddd3b2;
  font-variant-numeric: tabular-nums;
}
.seats__dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #4cd964;
  box-shadow: 0 0 0 0 rgba(76, 217, 100, .6);
  animation: seats-pulse 2s infinite;
}
@keyframes seats-pulse {
  70%  { box-shadow: 0 0 0 8px rgba(76, 217, 100, 0); }
  100% { box-shadow: 0 0 0 0 rgba(76, 217, 100, 0); }
}
.seats__note {
  color: rgba(245, 245, 245, .6);
  font-size: 10px;
  line-height: 12px;
  letter-spacing: -0.3px;
}

@media (max-width: 959px) {
  #b42 .tariff-note .atom { font-size: 10px; line-height: 12px; }
  #b42 .tariff-note--1 { left: 30px; top: 1126px; }
  #b42 .tariff-note--2 { left: 30px; top: 2350px; }
  #b42 .seats--1 { left: 30px; top: 1166px; }
  #b42 .seats--2 { left: 30px; top: 2390px; }
  .seats__count { font-size: 14px; line-height: 17px; }
  .seats__note { font-size: 9px; line-height: 11px; }
}

/* Первый экран: заголовок «Запись на …», плашки «Длительность» / «Старт тренинга» и кнопка
   «Хочу записаться» — по одной левой линии; плашки вплотную (8px между ними), кнопка — ровно
   на ширину ряда плашек (обёртка .hero-cta по ширине содержимого). */
#b02 .e175983807040812770 { left: 743px; right: auto; }
#b02 .hero-cta {
  left: 743px;
  bottom: 20px;
  display: grid;
  grid-template-columns: max-content;
  row-gap: 20px;
  z-index: 3;
}
#b02 .hero-cta__pills { display: flex; gap: 8px; }
#b02 .hero-cta .el { position: relative; inset: auto; }
#b02 .hero-cta .e1707378041202 { width: 100%; height: 70px; }
@media (max-width: 959px) {
  #b02 .e175983807040812770 { left: 10px; }
  #b02 .hero-cta { left: 10px; bottom: 60px; }
  #b02 .hero-cta__pills { gap: 6px; }
  #b02 .hero-cta .e1707378041202 { height: 60px; }
  #b02 .e1707378369026 .atom .btn__content,
  #b02 .e1707378486355 .atom .btn__content { padding-left: 10px; padding-right: 10px; }
}

/* Блок «Ты понял на каком уровне находишься» (b14): затемнение поверх ленты фото —
   на всю ширину экрана (а не только колонки макета) и на всю высоту блока */
#b14 .e1718273590653 {
  left: calc(50% - 50vw / var(--zoom-ab, var(--zoom)));
  top: 0;
  width: calc(100vw / var(--zoom-ab, var(--zoom)));
  height: 100%;
}

/* Программа на мобильном: подсказка «( наведи на модули )» не нужна (на телефоне нет
   наведения), от заголовка до карточек — 30px */
@media (max-width: 959px) {
  #b34 .e1716345240286 { display: none; }
  #b34 { --h: 204px; } /* низ заголовка 174 + 30 до карточек модулей */
}

/* Попапы кейсов на мобильной раскладке: панель — во всю ширину экрана (и на планшете,
   где сама раскладка — колонка ≤560px по центру); контент остаётся в колонке. */
@media (max-width: 959px) {
  #b06 .e1733111344866,
  #b07 .e1733114127064,
  #b08 .e1733111894203,
  #b09 .e1733106648958,
  #b10 .e1733106423979,
  #b11 .e1733111520323,
  #b12 .e1733087579947,
  #b13 .e1733108021360,
  #b24 .e1733111685247,
  #b25 .e1733109650012,
  #b26 .e1733111168572,
  #b27 .e1733112589146,
  #b28 .e1733113405494,
  #b29 .e1733111168572,
  #b30 .e1733113728602,
  #b31 .e1733113920576,
  #b32 .e1733114351032 {
    left: calc(50% - 50vw / var(--zoom));
    width: calc(100vw / var(--zoom));
  }
}

/* b04 (видео под размытием) на мобильной раскладке: видео и размытие — во всю ширину
   экрана, и на планшете/широком окне, где сама раскладка — колонка ≤560px по центру. */
@media (max-width: 959px) {
  #b04 .e1716597238659,
  #b04 .e1716433889708 {
    left: calc(50% - 50vw / var(--zoom));
    width: calc(100vw / var(--zoom));
  }
}

/* b34 мобильный: значок-слайдер справа — низом по низу заголовка (низ заголовка 174, значок 24) */
@media (max-width: 959px) {
  #b34 .e1716318583221 { top: 150px; }
}

/* ---------------------------------------------------------------- b04: полное видео прямо в блоке
   (js/b04-video.js). Плеер лежит под обложкой; по Play обложка (фоновая нарезка, размытие,
   подписи, кнопка) плавно прячется, по паузе — возвращается. */
#b04 .b04-player {
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 2;
  overflow: hidden;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s, visibility .4s;
}
#b04 .b04-player__frame,
#b04 .b04-player iframe { display: block; width: 100%; height: 100%; border: 0; }
#b04 .e1716597238659,
#b04 .e1716433889708,
#b04 .e1703114498792,
#b04 .e1703401767402,
#b04 .e1716452764375 { transition: opacity .4s, visibility .4s; }
/* z-index как у остальных элементов блока: плашки соседних блоков (скруглённые «шторки» сверху
   и снизу, они ниже в разметке) остаются поверх видео — как поверх фоновой нарезки */
#b04.is-video-playing .b04-player { opacity: 1; visibility: visible; z-index: 3; }
#b04.is-video-playing .e1716597238659,
#b04.is-video-playing .e1716433889708,
#b04.is-video-playing .e1703114498792,
#b04.is-video-playing .e1703401767402,
#b04.is-video-playing .e1716452764375 { opacity: 0; visibility: hidden; }
@media (max-width: 959px) {
  #b04 .b04-player {
    left: calc(50% - 50vw / var(--zoom));
    width: calc(100vw / var(--zoom));
  }
}

/* b04: видео без скругления (и фоновая нарезка, и полное видео) */
#b04 .e1716597238659 .atom { border-radius: 0; }

/* ---------------------------------------------------------------- тарифы (b42): раскладка после правок текста
   (убраны пункты «2 живых занятий в МСК», «Доступ к базе разборов…», «Раз в неделю мастермайнд»,
   подпись под ценой — «Предзапись — 4 999 рублей», счётчик мест в две строки).
   Отступы как в макете: десктоп — 30 между секциями, мобильный — 20. */
#b42 { --h: 1589px; }
#b42 .e1703145987868 { height: 997px; }
#b42 .e1703145987891 { top: 948px; }
#b42 .e1703145987897 { top: 994px; }
#b42 .e1733925862565 { top: 1036px; }
#b42 .tariff-note--1 { top: 1112px; }
#b42 .seats--1 { top: 1174px; }
#b42 .e1703146569368 { height: 1205px; }
#b42 .e1703146640830 { top: 948px; }
#b42 .e1703146640836 { top: 972px; }
#b42 .e1703146569393 { top: 1156px; }
#b42 .e1703146569399 { top: 1202px; }
#b42 .e1733925862572 { top: 1244px; }
#b42 .tariff-note--2 { top: 1320px; }
#b42 .seats--2 { top: 1382px; }

@media (max-width: 959px) {
  #b42 { --h: 2334px; }
  #b42 .e1703145987868 { height: 902px; }
  #b42 .e1703145987891 { top: 869px; }
  #b42 .e1703145987897 { top: 910px; }
  #b42 .e1733925862565 { top: 941px; }
  #b42 .tariff-note--1 { top: 1017px; }
  #b42 .seats--1 { top: 1057px; }
  #b42 .e1703146569368 { top: 1157px; height: 1107px; }
  #b42 .e1703146569376 { top: 1177px; }
  #b42 .e1703146569383 { top: 1223px; }
  #b42 .e1703146569408 { top: 1523px; }
  #b42 .e1703146569415 { top: 1554px; }
  #b42 .e1703146640830 { top: 1798px; }
  #b42 .e1703146640836 { top: 1822px; }
  #b42 .e1703146569393 { top: 1996px; }
  #b42 .e1703146569399 { top: 2037px; }
  #b42 .e1733925862572 { top: 2068px; }
  #b42 .tariff-note--2 { top: 2144px; }
  #b42 .seats--2 { top: 2184px; }
}

/* b23 (истории ребят): у последней карточки стрелка у «Читать полную историю…» стояла выше,
   чем у остальных (так было в макете Tilda) — ставим как у всех: top 518 на десктопе */
#b23 .e1734148429573 { top: 518px; }
@media (max-width: 959px) {
  #b23 .e1734148429573 { top: 480px; }
}
