/* Consolidated admissions page: anchor nav + vars for reused main-page accordion */

.adm-scroll-target { scroll-margin-top: 120px; }

/* ---- Anchor navigation ---- */
.adm-anchor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 0 auto 40px;
  padding: 0 15px;
}
.adm-anchor-nav a {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  padding: 10px 22px;
  border: 1px solid #bd3738;
  border-radius: 999px;
  color: #bd3738;
  background: #fff;
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  transition: all .2s ease;
  white-space: nowrap;
}
.adm-anchor-nav a:hover {
  background: #bd3738;
  color: #fff;
}

/* ---- Accordion "Правила поступления" (reuses /kindergarten admission-rules.css) ----
   Provide the CSS variables that block expects, scoped to this page's instance. */
#policy.admission-rules {
  --page-width: 100%;
  --content-width: 100%;
  --side-padding: 0px;
  --color-white: #ffffff;
  --color-black: #1a1a1a;
  background: transparent;
  padding-top: 0;
  padding-bottom: 10px;
}
#policy .admission-rules_title {
  text-align: left;
}

/* ---- Open Day section ---- */
#openday .openday-lead {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
}
#openday .openday-programs {
  font-size: 16px;
  line-height: 1.6;
}
#openday .openday-programs p { margin: 0 0 14px; }
#openday .openday-programs ul { margin: 0 0 18px; padding-left: 22px; }
#openday .openday-programs li { margin-bottom: 6px; list-style: disc; }

/* Open Day CTA button -> main application form */
#openday .openday-cta-wrap { text-align: center; margin-top: 26px; }
#openday .openday-cta {
  display: inline-block;
  padding: 14px 34px;
  background: #bd3738;
  color: #fff;
  border-radius: 8px;
  font-size: 17px;
  line-height: 1.2;
  text-decoration: none;
  transition: background .2s ease;
}
#openday .openday-cta:hover { background: #9e2c2d; color: #fff; }


/* ---- Единый ритм секций ---- */
/* Секции приходили из разных мест со своими отступами (mb-4, pb-5, py-0, p-4),
   из-за чего расстояния между блоками скакали. Задаём один шаг для всех. */
#rules,
#policy,
#apply,
#fees,
#openday { margin-bottom: 48px; }

#rules > .mb-5,
#fees > .mb-5 { margin-bottom: 0 !important; }

/* В admission-rules.css (наследие страницы детсада) на узких экранах стоит
   padding: 32px 20px — из-за боковых 20px секция не дотягивалась до краёв контейнера. */
#policy.admission-rules { padding-left: 0; padding-right: 0; padding-bottom: 0; }
#policy .admission-rules_container { padding-top: 0; }

/* ---- Одинаковый зазор между шапкой секции и содержимым ---- */
#rules .curriculum__title,
#policy .curriculum__title,
#apply .curriculum__title,
#fees .curriculum__title,
#openday .curriculum__title { margin-bottom: 24px; }

#rules .curriculum__title h2,
#policy .curriculum__title h2,
#apply .curriculum__title h2,
#fees .curriculum__title h2,
#openday .curriculum__title h2 { margin: 0; }

/* ---- Заголовок и текст по одной линии ---- */
/* Заголовок отбит на 24px (span.p-4), а текст шёл через .p-4.bg-white, затем ещё
   .col-*.p-4 и гаттеры бутстрапа — суммарно заметно правее. Гасим лишние уровни:
   единственный отступ текста остаётся от колонки, те же 24px, что и у заголовка. */
#rules > .mb-5 > .bg-white { padding: 0 !important; }
#rules > .mb-5 > .bg-white > .row { --bs-gutter-x: 0; }

/* ---- Одинаковая ширина блоков ---- */
/* Страница уже обёрнута в .container-lg, а форма заявки и блок цен приносили
   внутри себя второй такой же контейнер. Отступы складывались, и эти два блока
   оказывались уже соседних. Снимаем вложенный контейнер. */
#apply > .container-lg,
#fees .container-lg { max-width: none; padding-left: 0; padding-right: 0; }
/* У контейнера формы стоит pb-5 (48px !important). Вместе с общим отступом секции
   получалось почти 100px до блока цен — гасим, оставляем единый шаг. */
#apply > .container-lg { padding-bottom: 0 !important; }
#fees .py-5 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Больше отступа сверху у блока «Наши кампусы» */
.adm-campuses-title { margin-top: 56px; }

@media (max-width: 767px) {
  .adm-scroll-target { scroll-margin-top: 90px; }
  /* Навигация: один ряд с горизонтальным скроллом */
  .adm-anchor-nav {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 8px;
    padding: 0 15px 6px;
    margin-bottom: 32px;
  }
  .adm-anchor-nav::-webkit-scrollbar { display: none; }
  .adm-anchor-nav a { flex: 0 0 auto; padding: 8px 16px; font-size: 14px; }
  .adm-campuses-title { margin-top: 40px; }
/* Меньше воздуха между текстовыми блоками на узких экранах */
#rules > .mb-5 > .bg-white > .row > [class*="col-"] { padding-top: 12px; padding-bottom: 12px; }
#rules .curriculum__title,
#policy .curriculum__title,
#apply .curriculum__title,
#fees .curriculum__title,
#openday .curriculum__title { margin-bottom: 16px; }

  /* Карточки кампусов в блоке цен выровнены по высоте: min-height 258px плюс
     растягивающийся адрес. В одну колонку это лишнее — под коротким адресом
     оставался пустой провал до кнопки. */
  #fees .admission-fees__item { min-height: 0; margin-bottom: 28px !important; }
  #fees .admission-fees__item .address { flex-grow: 0 !important; margin-bottom: 12px; }
}
