/**
 * Типографика учебных материалов (статьи, вебинары, админ-preview)
 *
 * Подключается только на внутренних страницах материалов.
 * Скоуп .academy-article-block .text-decs — юридические страницы
 * (.legal-page-content.text-decs) не затрагиваются.
 *
 * Специфичность должна быть выше наследия из style.min.css
 * (.descriptionBlock h1/h2, ul li:before и т.д.).
 *
 * --header-font-family в сайте нет: локальный алиас на --title-fonts (Montserrat).
 */

.academy-article-block {
    --header-font-family: var(--title-fonts);
    --lm-content-gap: 20px;
}

/* ## Единая контентная колонка: все блоки на одну ширину, без «скачков» */
.academy-article-block .text-decs,
.academy-article-block .titleBlock,
.academy-article-block .descriptionBlock,
.academy-article-block .simpleImageBlock,
.academy-article-block .markedImageBlock,
.academy-article-block .noteBlock,
.academy-article-block .fileBlock,
.academy-article-block .videoBlock,
.academy-article-block .testBlock,
.academy-article-block .emptyBlock,
.academy-article-block .lm-split,
.academy-article-block .article-updated {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* ## Сброс bootstrap gutter у блоков конструктора — иначе левый/правый край «пляшет» */
.academy-article-block .oneBlock.row,
.academy-article-block .lm-split.row,
.academy-article-block .videoBlock.row,
.academy-article-block .titleBlock.row,
.academy-article-block .descriptionBlock.row,
.academy-article-block .simpleImageBlock.row,
.academy-article-block .markedImageBlock.row,
.academy-article-block .noteBlock.row,
.academy-article-block .fileBlock.row,
.academy-article-block .testBlock.row,
.academy-article-block .emptyBlock.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-left: 0;
    margin-right: 0;
}

.academy-article-block .oneBlock > [class*="col-"],
.academy-article-block .lm-split > [class*="col-"],
.academy-article-block .videoBlock > [class*="col-"],
.academy-article-block .titleBlock > [class*="col-"],
.academy-article-block .descriptionBlock > [class*="col-"],
.academy-article-block .simpleImageBlock > [class*="col-"],
.academy-article-block .markedImageBlock > [class*="col-"],
.academy-article-block .noteBlock > [class*="col-"],
.academy-article-block .fileBlock > [class*="col-"],
.academy-article-block .testBlock > [class*="col-"],
.academy-article-block .emptyBlock > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

/* ## Контейнер прозы (блок type=2) */
.academy-article-block .text-decs {
    --header-font-family: var(--title-fonts);
    --learning-list-marker: var(--blue);
    --learning-list-ol-size: 28px;
}

.academy-article-block .text-decs > *:first-child {
}

.academy-article-block .text-decs > *:last-child {
}

/* ## h1 одинаковы в «Заголовке», «Тексте» и любом HTML материала.
   Вертикаль — padding, не margin: иначе два h1 в одном .text-decs схлопываются,
   а h1 из соседних блоков конструктора — нет. */
.academy-article-block .article-content h1,
.academy-article-block.article-content h1,
.academy-article-block .webinar-content h1,
.academy-article-block .text-decs h1,
.academy-article-block .lm-split__title {
    font: 600 32px / 130% var(--header-font-family);
    text-transform: none;
    letter-spacing: 0;
    color: var(--dark-grey);
    margin: 0;
    padding: 0 0 12px;
}

.academy-article-block .text-decs h1 {
    font-size: 36px;
    text-transform: uppercase;
    padding: 24px 0 16px;
}

.academy-article-block .text-decs h2,
.academy-article-block .lm-split__title {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0;
    padding: 0 0 12px;
    color: var(--dark-grey);
}

.academy-article-block .text-decs h3 {
    margin-top: 24px;
    margin-bottom: 8px;
    font-size: 22px;
    font-weight: 700;
    color: var(--dark-grey);
}

.academy-article-block .text-decs h4 {
}

.academy-article-block .text-decs h5 {
}

.academy-article-block .text-decs h6 {
}

/* ## Абзацы и инлайн — единый ритм во всех текстовых блоках */
.academy-article-block .text-decs p,
.academy-article-block .lm-split__text p {
    font-size: 18px;
    line-height: 165%;
    color: var(--dark-grey);
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 0;
    font-family: var(--title-fonts);
}

.academy-article-block .text-decs a {
}

.academy-article-block .text-decs strong,
.academy-article-block .text-decs b,
.academy-article-block .lm-split__text strong,
.academy-article-block .lm-split__text b {
    font-weight: 700;
}

.academy-article-block .text-decs em,
.academy-article-block .text-decs i {
}

/* ## Списки
   Маркеры — --blue. Кружок и текст в grid с align-items: center:
   иначе top в em считался от font-size: 14px у ::before и уезжал вверх. */
.academy-article-block .text-decs ul,
.academy-article-block .text-decs ol {
    margin: 0;
    padding: 16px 0;
    list-style: none;
}

.academy-article-block .text-decs ol {
    counter-reset: text-decs-ol;
}

.academy-article-block .text-decs ul li,
.academy-article-block .text-decs ol li {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 12px;
    position: relative;
    font-size: 18px;
    font-weight: 400;
    line-height: 165%;
    color: var(--dark-grey);
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 0;
    margin: 0;
}

.academy-article-block .text-decs ul li:first-child,
.academy-article-block .text-decs ol li:first-child {
    padding-top: 0;
}

.academy-article-block .text-decs ul li:last-child,
.academy-article-block .text-decs ol li:last-child {
    padding-bottom: 0;
}

.academy-article-block .text-decs li > ul,
.academy-article-block .text-decs li > ol {
    grid-column: 1 / -1;
    padding-top: 8px;
    padding-bottom: 0;
}

.academy-article-block .text-decs ul li:before,
.academy-article-block .text-decs ol li:before {
    grid-column: 1;
    grid-row: 1;
    position: static;
    margin: 0;
    bottom: auto;
    top: auto;
    left: auto;
    background-image: none;
    box-sizing: border-box;
}

.academy-article-block .text-decs ul li:before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--learning-list-marker);
}

.academy-article-block .text-decs ol li:before {
    content: counter(text-decs-ol);
    counter-increment: text-decs-ol;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--learning-list-ol-size);
    height: var(--learning-list-ol-size);
    border-radius: 50%;
    background: var(--learning-list-marker);
    color: var(--white, #fff);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.academy-article-block .text-decs li p {
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 165%;
    color: var(--dark-grey);
}

.academy-article-block .text-decs li p + p {
    margin-top: 0.5em;
}

/* ## Картинки и медиа внутри текста */
.academy-article-block .text-decs img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 25px;
}

.academy-article-block .text-decs > img {
    margin-bottom: 40px;
}

.academy-article-block .text-decs figure {
}

.academy-article-block .text-decs figcaption {
}

.academy-article-block .text-decs iframe,
.academy-article-block .text-decs video {
}

/* ## Таблицы */
.academy-article-block .text-decs table {
}

.academy-article-block .text-decs th,
.academy-article-block .text-decs td {
}

/* ## Цитаты, разделители, код */
.academy-article-block .text-decs blockquote {
    margin: 16px 0;
    padding: 4px 0 4px 20px;
    border-left: 3px solid var(--dark-grey);
    font-size: 18px;
    font-style: italic;
    line-height: 165%;
    color: var(--dark-grey);
}

.academy-article-block .text-decs blockquote p {
    padding-top: 0;
    padding-bottom: 0;
}

.academy-article-block .text-decs hr {
}

.academy-article-block .text-decs pre,
.academy-article-block .text-decs code {
}

/* ## Артефакты вставки из Word */
.academy-article-block .text-decs .MsoNormal {
}

/* ## Адаптив */
@media (max-width: 991px) {
    .academy-article-block .text-decs {
    }
}

@media (max-width: 767px) {
    .academy-article-block .text-decs {
    }

    .academy-article-block .text-decs h1,
    .academy-article-block .text-decs h2,
    .academy-article-block .text-decs h3 {
    }
}

/* ## Сброс вертикальных отступов блоков конструктора
   Ритм страницы задаёт контент внутри блоков, а не padding у .row */
.academy-article-block .oneBlock,
.academy-article-block .titleBlock,
.academy-article-block .descriptionBlock,
.academy-article-block .simpleImageBlock,
.academy-article-block .markedImageBlock,
.academy-article-block .noteBlock,
.academy-article-block .videoBlock,
.academy-article-block .fileBlock,
.academy-article-block .testBlock,
.academy-article-block .emptyBlock,
.academy-article-block .left-description,
.academy-article-block .right-description,
.academy-article-block .lm-split {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 28px;
}

.academy-article-block .descriptionBlock {
    min-height: 0;
}

/* ## Старт страницы: компактный отступ до первого блока */
.academy-article-block .article-content > :first-child,
.academy-article-block.article-content > :first-child,
.academy-article-block .webinar-content > :first-child {
    margin-top: 8px;
}

.academy-article-block .article-content > :first-child .text-decs > h1:first-child,
.academy-article-block.article-content > :first-child .text-decs > h1:first-child,
.academy-article-block .webinar-content > :first-child .text-decs > h1:first-child {
    padding-top: 0;
}

.academy-article-block .article-content > :first-child .text-decs > p:first-child,
.academy-article-block.article-content > :first-child .text-decs > p:first-child,
.academy-article-block .webinar-content > :first-child .text-decs > p:first-child {
    padding-top: 0;
}

/* ## Блок «Изображение с текстом»: сетка 1fr/1fr, gap 20px */
.academy-article-block .lm-split {
    width: 100%;
}

.academy-article-block .lm-split > .col-12 {
    padding-left: 0;
    padding-right: 0;
}

.academy-article-block .lm-split__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--lm-content-gap, 20px);
    align-items: start;
}

.academy-article-block .lm-split--image-top .lm-split__grid,
.academy-article-block .lm-split--image-bottom .lm-split__grid {
    grid-template-columns: 1fr;
}

.academy-article-block .lm-split__text {
    min-width: 0;
}

.academy-article-block .lm-split__text .text-decs {
    max-width: none;
    margin: 0;
}

.academy-article-block .lm-split__media {
    min-width: 0;
}

.academy-article-block .lm-split__media .lm-media-frame {
    min-height: 200px;
    max-height: min(52vh, 420px);
    border-radius: 16px;
}

.academy-article-block .lm-split--image-top .lm-split__media .lm-media-frame,
.academy-article-block .lm-split--image-bottom .lm-split__media .lm-media-frame {
    max-height: min(48vh, 360px);
    min-height: 160px;
}

.academy-article-block .lm-split__media .lm-media-frame img {
    max-height: min(52vh, 420px);
}

.academy-article-block .lm-split--image-top .lm-split__media .lm-media-frame img,
.academy-article-block .lm-split--image-bottom .lm-split__media .lm-media-frame img {
    max-height: min(48vh, 360px);
}

@media (max-width: 767.98px) {
    .academy-article-block .lm-split__grid {
        grid-template-columns: 1fr;
        gap: var(--lm-content-gap, 20px);
    }

    .academy-article-block .lm-split--image-right .lm-split__media {
        order: -1;
    }
}

/* ## Полноширинные блоки-картинки (не split с текстом) */
.academy-article-block .simpleImageBlock {
    width: 100%;
}

/* ## Дата правки: та же колонка, что и контент */
.academy-article-block .article-updated {
    width: 100%;
    margin: 40px 0 0;
    font-size: 14px;
    line-height: 150%;
    color: var(--normal-grey);
}

.academy-article-block .simpleImageBlock > .col-12 {
    padding-left: 0;
    padding-right: 0;
}

.academy-article-block .lm-image-stack {
    width: 100%;
}

/* ## Фиксированный адаптивный контейнер: вертикальные/горизонтальные без раздувания высоты */
.academy-article-block .lm-media-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #eef3f9;
    border: 1px solid rgba(15, 36, 73, 0.08);
    max-height: min(62vh, 480px);
    min-height: 180px;
}

.academy-article-block .learning-material-zoom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    max-height: inherit;
    cursor: pointer;
    text-decoration: none;
    overflow: hidden;
}

.academy-article-block .lm-media-frame img,
.academy-article-block .learning-material-zoom img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: min(62vh, 480px);
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    cursor: pointer;
}

/* ## Сетка при нескольких изображениях */
.academy-article-block .lm-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.academy-article-block .lm-gallery .lm-media-frame {
    aspect-ratio: 1;
    max-height: none;
    min-height: 0;
}

.academy-article-block .lm-gallery .lm-media-frame img,
.academy-article-block .lm-gallery .learning-material-zoom img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

@media (min-width: 640px) {
    .academy-article-block .lm-gallery:has(> :nth-child(3)) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .academy-article-block .lm-media-frame {
        max-height: min(55vh, 360px);
        min-height: 140px;
        border-radius: 12px;
    }

    .academy-article-block .lm-media-frame img,
    .academy-article-block .learning-material-zoom img {
        max-height: min(55vh, 360px);
    }

    .academy-article-block .lm-gallery {
        gap: 8px;
    }
}

/* ## Карточка файла */
.academy-article-block .fileBlock {
    width: 100%;
}

.academy-article-block .fileBlock > .col-12 {
    padding-left: 0;
    padding-right: 0;
}

.academy-article-block .lm-file-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.academy-article-block .lm-file-stack.lm-file-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
    .academy-article-block .lm-file-stack.lm-file-grid {
        grid-template-columns: 1fr;
    }
}

.academy-article-block .lm-file-card {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-width: 0;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(15, 36, 73, 0.1);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 36, 73, 0.06);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.academy-article-block .lm-file-card:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 10px 28px rgba(15, 36, 73, 0.1);
    transform: translateY(-1px);
}

.academy-article-block .lm-file-card__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #eef4ff;
}

.academy-article-block .lm-file-card__icon img {
    width: 22px;
    height: 22px;
    display: block;
}

.academy-article-block .lm-file-card__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.academy-article-block .lm-file-card__title {
    font-family: var(--title-fonts);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: #0f2449;
    word-break: break-word;
}

.academy-article-block .lm-file-card__hint {
    font-family: var(--title-fonts);
    font-size: 13px;
    line-height: 1.3;
    color: #6b7a90;
}

.academy-article-block .lm-file-card__action {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #124e91;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.academy-article-block .lm-test-card {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-width: 0;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(15, 36, 73, 0.1);
    background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
    box-shadow: 0 8px 24px rgba(15, 36, 73, 0.06);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.academy-article-block .lm-test-card:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 10px 28px rgba(15, 36, 73, 0.1);
    transform: translateY(-1px);
}

.academy-article-block .lm-test-card__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #eef4ff;
    color: #124e91;
}

.academy-article-block .lm-test-card__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.academy-article-block .lm-test-card__title {
    font-size: 15px;
    font-weight: 700;
    color: #0f2449;
    line-height: 1.35;
}

.academy-article-block .lm-test-card__hint {
    font-size: 13px;
    color: #64748b;
    line-height: 1.35;
}

.academy-article-block .lm-test-card__action {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0 0.95rem;
    border-radius: 0.65rem;
    background: #124e91;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

/* ## Модалка увеличения картинки / галерея */
.learning-material-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    background: rgba(15, 36, 73, 0.86);
    cursor: pointer;
}

.learning-material-lightbox[hidden] {
    display: none;
}

.learning-material-lightbox__stage {
    margin: 0;
    max-width: min(1100px, calc(100vw - 120px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    cursor: default;
}

.learning-material-lightbox img {
    max-width: 100%;
    max-height: calc(100vh - 96px);
    width: auto;
    height: auto;
    border-radius: 16px;
    object-fit: contain;
    cursor: default;
}

.learning-material-lightbox__counter {
    margin: 0;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 13px;
    font-family: var(--title-fonts);
}

.learning-material-lightbox__nav,
.learning-material-lightbox__close {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.learning-material-lightbox__nav:hover,
.learning-material-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.28);
}

.learning-material-lightbox__close {
    position: absolute;
    top: 18px;
    right: 18px;
    font-size: 24px;
}

html.with-learning-lightbox {
    overflow: hidden;
}

/* ## Кнопка «Назад»: под логотипом шапки, без подложки */
.academy-article-block .article-back {
    position: sticky;
    top: 72px;
    z-index: 90;
    background: transparent;
}

.academy-article-block .article-back-inner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 16px 0 8px;
}

.academy-article-block .article-back-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--dark-grey);
    font-family: var(--title-fonts);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    transition: color .2s ease;
}

.academy-article-block .article-back-link__icon {
    display: block;
    flex-shrink: 0;
}

.academy-article-block .article-back-link:hover {
    color: var(--blue);
    border: 0;
    background: transparent;
    box-shadow: none;
}

.academy-article-block .article-back-link:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .academy-article-block .article-back {
        top: 64px;
    }

    .academy-article-block .article-back-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ---- Учебное видео + главы ---- */
.academy-article-block .lm-video,
.lm-video {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
    gap: var(--lm-content-gap, 20px);
    align-items: stretch;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1.5rem !important;
}

.academy-article-block .lm-video > [class*="col-"],
.lm-video > [class*="col-"] {
    width: 100%;
    max-width: none;
    flex: none;
    padding-left: 0;
    padding-right: 0;
}

.lm-video__player {
    display: block;
    width: 100%;
    max-height: min(70vh, 520px);
    background: #0f172a;
    border-radius: 0.85rem;
}

.lm-video__chapters {
    height: 100%;
    min-height: 12rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
    padding: 0.85rem 0.75rem;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.lm-video__chapters-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
    padding: 0 0.35rem;
}

.lm-video__chapters-head h3 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lm-video__chapters-hint {
    font-size: 0.72rem;
    color: #94a3b8;
}

.lm-video__chapters-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    overflow: auto;
    max-height: min(52vh, 420px);
}

.lm-video__chapter {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    text-align: left;
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 0.55rem;
    padding: 0.55rem 0.5rem;
    cursor: pointer;
    color: inherit;
}

.lm-video__chapter:hover {
    background: #eef2f7;
}

.lm-video__chapter.is-active {
    background: #e8f1fb;
}

.lm-video__chapter-time {
    font-size: 0.8rem;
    font-weight: 800;
    color: #124e91;
    font-variant-numeric: tabular-nums;
}

.lm-video__chapter-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.35;
}

.lm-video__chapter.is-active .lm-video__chapter-title {
    color: #0f172a;
}

.lm-video__empty {
    margin: 0.5rem;
    font-size: 0.85rem;
    color: #94a3b8;
}

.cab-lesson-html .lm-video,
.article-content .lm-video {
    margin-top: 0.5rem;
}

@media (max-width: 1199px) {
    .academy-article-block .lm-video,
    .lm-video {
        grid-template-columns: 1fr;
    }

    .lm-video__chapters {
        margin-top: 0;
        min-height: 0;
    }

    .lm-video__chapters-list {
        max-height: 240px;
    }
}

/* —— Встроенный тест в лонгриде: сворачивание и ответы на месте —— */
.academy-article-block .lm-test-embed,
.article-content .lm-test-embed {
    border-radius: 16px;
}

.academy-article-block .lm-test-embed > summary,
.article-content .lm-test-embed > summary {
    list-style: none;
    cursor: pointer;
}

.academy-article-block .lm-test-embed > summary::-webkit-details-marker,
.article-content .lm-test-embed > summary::-webkit-details-marker {
    display: none;
}

.academy-article-block .lm-test-embed > summary.lm-test-card {
    position: relative;
}

.academy-article-block .lm-test-embed__chevron {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-left: 6px;
    border-right: 2px solid #124e91;
    border-bottom: 2px solid #124e91;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.academy-article-block .lm-test-embed[open] .lm-test-embed__chevron {
    transform: rotate(-135deg);
}

.academy-article-block .lm-test-embed[open] > summary.lm-test-card {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    transform: none;
}

.academy-article-block .lm-test-embed__body {
    padding: 16px 18px 18px;
    border: 1px solid rgba(15, 36, 73, 0.1);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: #ffffff;
}

.academy-article-block .lm-test-embed__result {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
}

.academy-article-block .lm-test-embed__result.is-ok {
    background: #e8f7ee;
    color: #1c7c43;
}

.academy-article-block .lm-test-embed__result.is-no {
    background: #fdecec;
    color: #b02a2a;
}

.academy-article-block .lm-test-embed__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.academy-article-block .lm-test-embed__note {
    margin: 14px 0 8px;
    font-size: 13px;
    color: #64748b;
}

.academy-article-block .lm-test-embed__form .cab-q:first-child {
    margin-top: 0;
}

@media (max-width: 767.98px) {
    .academy-article-block .lm-test-embed__actions .btn {
        width: 100%;
    }
}

/* —— Изображение с маркерами —— */
.academy-article-block .markedImageBlock {
    min-height: 0;
}

.academy-article-block .lm-marked__stage {
    position: relative;
    border-radius: 0.85rem;
    overflow: hidden;
    background: #0f2748;
}

.academy-article-block .lm-marked__image {
    display: block;
    width: 100%;
    height: auto;
}

.academy-article-block .lm-marked__pin {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 2px solid rgba(15, 23, 42, 0.85);
    border-radius: 999px;
    background: var(--lm-marker-color, #fff);
    color: var(--lm-marker-ink, #0f172a);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    transform: translate(-50%, -50%);
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.22);
}

.academy-article-block .lm-marked__pin.is-active {
    background: var(--lm-marker-color, #111827);
    color: var(--lm-marker-ink, #fff);
    border-color: #fff;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.28), 0 8px 18px rgba(15, 23, 42, 0.28);
}

.academy-article-block .lm-marked__card {
    position: absolute;
    z-index: 4;
    max-width: calc(100% - 16px);
    padding: 0.95rem 1.05rem 1rem;
    border-radius: 0.9rem;
    background: #fff;
    color: #1e293b;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.22);
}

.academy-article-block .lm-marked__card::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -8px;
    width: 14px;
    height: 14px;
    background: #fff;
    transform: translateX(-50%) rotate(45deg);
    box-shadow: -2px -2px 4px rgba(15, 23, 42, 0.04);
}

.academy-article-block .lm-marked__card--up::before {
    top: auto;
    bottom: -8px;
    box-shadow: 2px 2px 4px rgba(15, 23, 42, 0.04);
}

.academy-article-block .lm-marked__card-title {
    margin: 0 1.5rem 0.45rem 0;
    font-size: 1rem;
    font-weight: 800;
    color: #124e91;
    line-height: 1.35;
}

.academy-article-block .lm-marked__card-body {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #334155;
}

.academy-article-block .lm-marked__card-body p {
    margin: 0 0 0.55rem;
}

.academy-article-block .lm-marked__card-body p:last-child {
    margin-bottom: 0;
}

.academy-article-block .lm-marked__card-close {
    position: absolute;
    top: 0.35rem;
    right: 0.4rem;
    width: 1.7rem;
    height: 1.7rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.academy-article-block .lm-marked__card-close:hover {
    color: #0f172a;
    background: #f1f5f9;
}

/* —— Заметка —— */
.academy-article-block .noteBlock {
    min-height: 0;
}

.academy-article-block .lm-note {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.15rem;
    border: 1px solid #cfe0f5;
    border-radius: 0.95rem;
    background: #f3f7fc;
}

.academy-article-block .lm-note__icon {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #124e91;
    color: #fff;
}

.academy-article-block .lm-note__body {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.98rem;
    line-height: 1.55;
    color: #1e293b;
}

.academy-article-block .lm-note__body > :first-child {
    margin-top: 0;
}

.academy-article-block .lm-note__body > :last-child {
    margin-bottom: 0;
}

.academy-article-block .noteBlock--warning .lm-note {
    background: #fff8eb;
    border-color: #f0d9a5;
}

.academy-article-block .noteBlock--warning .lm-note__icon {
    background: #d97706;
}

.academy-article-block .noteBlock--help .lm-note {
    background: #eef6ff;
    border-color: #bfd8f7;
}

.academy-article-block .noteBlock--help .lm-note__icon {
    background: #2563eb;
}

.academy-article-block .noteBlock--success .lm-note {
    background: #edf9f1;
    border-color: #b7e4c7;
}

.academy-article-block .noteBlock--success .lm-note__icon {
    background: #059669;
}

.academy-article-block .noteBlock--error .lm-note {
    background: #fef2f2;
    border-color: #f0c2c2;
}

.academy-article-block .noteBlock--error .lm-note__icon {
    background: #dc2626;
}

.academy-article-block .noteBlock--tip .lm-note {
    background: #f5f3ff;
    border-color: #d4ccf5;
}

.academy-article-block .noteBlock--tip .lm-note__icon {
    background: #7c3aed;
}

