

/* Start:/local/templates/escalada/components/bitrix/breadcrumb/.default/style.css?17838568046764*/
/* Хлебные крошки — рендерятся ВНУТРИ сетки страницы (per-page):
   грид наследуется от .wrap страницы, вертикальный клиренс шапки даёт
   сама страница, поэтому здесь — только отступ до контента и оформление. */
.breadcrumbs {
    margin: 0 0 20px;
    font-family: 'Open Sans', 'Arial', sans-serif;
    font-size: 13px;
    position: relative;
    z-index: 5;
}
.breadcrumbs__list {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 9px 20px;
    background: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 24px;
}
.breadcrumbs__item { display: flex; align-items: center; color: rgba(255,255,255,0.6); }
.breadcrumbs__item + .breadcrumbs__item::before { content: "›"; margin-right: 8px; color: rgba(255,255,255,0.4); }
.breadcrumbs__link { color: rgba(255,255,255,0.85); text-decoration: none; transition: color .2s ease; }
.breadcrumbs__link:hover { color: #4a9eff; text-decoration: underline; }
.breadcrumbs__current { color: #fff; font-weight: 500; }
@media (max-width: 740px) { .breadcrumbs { font-size: 12px; } .breadcrumbs__list { padding: 7px 14px; } }

/* На страницах с гридом .container (cards/schedule/3d-tur/events) контент без обёртки .wrap,
   поэтому у .wrap крошек убираем боковой padding (иначе пилюля уезжает ~70px вправо). */
.container .breadcrumbs .wrap { padding-left: 0; padding-right: 0; }

/* events: контент тесно к шапке — даём крошкам воздух. */
.events-page .breadcrumbs { padding-top: 24px; }

/* lesson: герой полноэкранный с центрированным контентом — крошки выносим
   абсолютом ПОВЕРХ героя, по левому краю страничной сетки (.wrap). */
.lesson-banner { position: relative; }
.lesson-banner > .breadcrumbs { position: absolute; top: 140px; left: 0; right: 0; margin: 0; z-index: 6; }
@media (max-width: 1260px) { .lesson-banner > .breadcrumbs { top: 88px; } }
@media (max-width: 1024px) { .lesson-banner > .breadcrumbs { top: 84px; } }

/* lesson: баннер relative (якорь крошек) красился бы поверх контента, который
   дизайн надвигает на низ героя — возвращаем контент-секции выше баннера. */
.lesson-list { position: relative; }
.lesson-content, .lesson-video { position: relative; z-index: 1; }

/* === Нормализация зазора «шапка→крошки» к ~23px (клиренс = высота шапки + 23). ===
   Высота .header: 119px (>=1261), 68px (1025-1260), 64px (<=1024). Простые .xxx-page. */
@media (min-width: 1261px) {
  .trainers-page, .vacancies-page, .rules-page, .privacy-page,
  .loyality-page, .loyalty-program-page, .contacts-page { padding-top: 142px !important; }
}
@media (min-width: 1025px) and (max-width: 1260px) {
  .trainers-page, .vacancies-page, .rules-page, .privacy-page,
  .loyality-page, .loyalty-program-page, .contacts-page { padding-top: 91px !important; }
}
@media (max-width: 1024px) {
  .trainers-page, .vacancies-page, .rules-page, .privacy-page,
  .loyality-page, .loyalty-program-page, .contacts-page { padding-top: 87px !important; }
}

/* container-страницы (schedule/3d-tur): крошки в intro внутри .container.
   bc = page-spacer(20) + .container padding + intro(40). Цель bc = 142/91/87. */
@media (min-width: 1261px) { .schedule-page .container, .page-3d-tur .container { padding-top: 82px !important; } }
@media (min-width: 1025px) and (max-width: 1260px) { .schedule-page .container, .page-3d-tur .container { padding-top: 31px !important; } }
@media (max-width: 1024px) { .schedule-page .container, .page-3d-tur .container { padding-top: 27px !important; } }

/* cards: клиренс на intro padding-top (= позиция крошек). Цель 142/91/87. */
@media (min-width: 1261px) { .cards-page__intro { padding-top: 142px !important; } }
@media (min-width: 1025px) and (max-width: 1260px) { .cards-page__intro { padding-top: 91px !important; } }
@media (max-width: 1024px) { .cards-page__intro { padding-top: 87px !important; } }

/* lesson (≤575): короткий баннер flex-центрирует контент — крошки-абсолют перекрывали
   заголовок. Топ-выравниваем контент героя, опускаем ниже крошек; height:auto+min-height,
   чтобы деталка (с кнопкой) не переполнялась. */
@media (max-width: 575px) {
  /* list: контент flex-центрирован — топ-выравниваем ниже крошек */
  .lesson-banner:not(.lesson-banner--detail) { align-items: flex-start; padding-top: 140px; padding-bottom: 75px; height: auto; min-height: 220px; }
  /* detail: контент bottom-aligned (align-items:flex-end), пилюля 2 строки (низ ~158) —
     увеличиваем высоту баннера, чтобы нижний контент опустился ниже крошек */
  .lesson-banner.lesson-banner--detail { height: 330px !important; }
}

/* Фикс: явный line-height, чтобы высота пилюли не зависела от line-height страницы
   (на cards наследовался 15.6px → пилюля ниже). Приводим к общей (~44px). */
.breadcrumbs__list, .breadcrumbs__item, .breadcrumbs__link, .breadcrumbs__current { line-height: 26px; }

/* events (мобилка): клиренс шапки даёт .events-page margin-top (фикс. 100px), а он НЕ ужимался
   под меньшую шапку → зазор раздувался (~70px на телефоне вместо ~23px). Нормализуем как у .xxx-page.
   pill top = page-spacer + .events-page margin-top + .breadcrumbs padding-top(24).
   page-spacer: 20px, но 10px при <=768. Цель pill top = 91 (1025-1260) / 87 (<=1024). Десктоп (>=1261) не трогаем. */
@media (min-width: 1025px) and (max-width: 1260px) { .events-page { margin-top: 47px !important; } } /* 20+47+24=91 */
@media (min-width: 769px)  and (max-width: 1024px) { .events-page { margin-top: 43px !important; } } /* 20+43+24=87 */
@media (max-width: 768px)                          { .events-page { margin-top: 53px !important; } } /* 10+53+24=87 */

/* End */


/* Start:/local/templates/escalada/components/bitrix/news.list/events_grid/style.css?17838568043903*/
/* ========================================
   Component: bitrix:news.list / events_grid
   Шаблон: components/bitrix/news.list/events_grid/template.php
   ----------------------------------------
   Стили компонента «Клубная жизнь» — сетка карточек событий.
   Рендерится на /academicheskaya/events/ и /kommunarka/events/.
   Вынесено из css/pages/events.css (Фаза 2.1c рефакторинга).
   Подключается по конвенции Bitrix (style.css рядом с template.php).
   ======================================== */

/* ========================================
   Контейнер секции
   ======================================== */
.club-life-grid {
    color: #fff;
    margin-bottom: 60px;
}

/* ========================================
   Шапка: заголовок + описание
   ======================================== */
.club-life-grid__head {
    text-align: center;
    margin-bottom: 40px;
}

/* Специфичность 0,2,0 — перебивает глобальный .h2 { margin: 0 0 30px }
   (на stage этот класс гасился порядком в общем бандле; в компонентном
   style.css правило грузится раньше template-бандла, поэтому повышаем вес) */
.club-life-grid .club-life-grid__title {
    text-align: center;
    margin: 0;
}

.club-life-grid__descr {
    margin: 18px auto 0;
    max-width: 820px;
    padding: 0 16px;
    color: #FFFFFF;
    opacity: 0.7;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 100;
}

/* ========================================
   Сетка карточек
   ======================================== */
.club-life-grid__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.club-life-grid__card {
    display: block;
    text-decoration: none;
    color: #fff;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.04);
    transition: transform 0.4s ease, background 0.4s ease;
}
.club-life-grid__card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.07);
}

.club-life-grid__card-img {
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position: center;
}

.club-life-grid__card-info {
    padding: 18px 20px 22px;
}

.club-life-grid__card-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
}
.club-life-grid__card-date::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #3C8CDD;
    flex-shrink: 0;
}

.club-life-grid__card-title {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ========================================
   Адаптив
   ======================================== */
@media (min-width: 1600px) {
    .club-life-grid__descr {
        font-size: 18px;
        line-height: 30px;
    }
}

@media (max-width: 1023px) {
    .club-life-grid__items {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .club-life-grid__head {
        text-align: left;
        margin-bottom: 32px;
    }
    .club-life-grid__descr {
        text-align: left;
        margin: 12px 0 0;
        padding: 0;
    }
}

@media (max-width: 575px) {
    .club-life-grid__items {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .club-life-grid__card-info {
        padding: 14px 16px 18px;
    }
}

/* End */
/* /local/templates/escalada/components/bitrix/breadcrumb/.default/style.css?17838568046764 */
/* /local/templates/escalada/components/bitrix/news.list/events_grid/style.css?17838568043903 */
