.help-block-error, .help-block-success{display: block;}
.lesson-content__video {position: relative;width: 100%;height: 0;padding-bottom: 56.25%;}
.lesson-content__video iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.select-teacher .mCSB_inside>.mCSB_container{margin-right:11px}
.select-teacher .selectize-input{line-height:57px;border:1px solid #dfe0eb;font-size:14px;letter-spacing:.2px;color:#000;mix-blend-mode:normal;padding:0 30px;border-radius:8px}
.select-teacher.selectize-control{position:relative;height:57px}
.select-city.up-top .selectize-dropdown{bottom:58px;top:auto!important}
.input-group-addon{padding: 20px 31px 0 18px;}
.fa-calendar-alt:before {content: "\f073"; }
.fa-times:before {content: "\f00d"; }
.fa-arrow-alt-circle-left:before {content: "\f359";}
.fa-arrow-alt-circle-right:before {content: "\f35a";}
.fa-plus:before {content: "\f067";}
.input-group-prepend .input-group-text{height: 57px;}
.input-group-prepend .input-group-text i{font-style: normal;}
.menu__profile-photo, .header-st__profile-photo{text-align: center;overflow: hidden;}
.menu__profile-photo img, .header-st__profile-photo img{max-height: 44px; max-width: 44px;}
.student-header__photo{text-align: center;}
.student-header__photo .photo {max-width: 120px;max-height: 120px;}
.header-st__profile:before {display: none;}
.selectize-control.plugin-remove_button [data-value] .remove{font-size: 24px;}
.selectize-input:after {position: absolute;top: 19px;}
#read-more-button{font-size: 14px;line-height: 16px;letter-spacing: .2px;color: #000;border-bottom: 1px dashed;}
.read-more-content{display: none;}
@media (max-width: 567px) {.payment__info {justify-content: space-between;}}
.check__header-item .check__tab .menu__list-num{position: relative;padding-left: 7px;padding-right: 7px;}
.header-auth__link, .header-auth__link:hover{background: #3751FF;color: #fff;}
.courses-header__checkbox{margin-right:40px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center}
.courses-header__lang, .courses-header__sort {display: -ms-flexbox;display: flex;-ms-flex-align: center;align-items: center;-ms-flex-order: -1;order: -1;}
.courses-header__lang-title, .courses-header__sort-title {min-width: 95px;font-size: 14px;line-height: 16px;letter-spacing: .2px;color: #9fa2b4;position: relative;padding: 0 5px 0 0;cursor: pointer;}
.courses-header__lang-lang, .courses-header__lang-list, .courses-header__sort-lang, .courses-header__sort-list {width: 200px;margin-right: 40px;}
.courses-header__lang-select, .courses-header__sort-select {font-size: 14px;line-height: 16px;letter-spacing: .2px;color: #000;}
@media (max-width: 567px) {.course-filter-teacher{margin-bottom: 15px;}}
.progress-c__modal-box{text-align: center;}
.menu__logo__custom {height: 205px;display: block;}
@media (max-width: 991px) {
    .menu__logo__custom {
        height: 260px;
    }
}

/* === Фон страниц входа и регистрации: туманные горы (12.08.2026) === */
body#page {
    background: url(/images/bg-auth.jpg?v=1) center / cover no-repeat;
    min-height: 100vh;
}
/* шапка и форма прозрачные — белыми остаются только поля и кнопки */
body#page .header-auth,
main.login-registration,
main.login-registration .login-registration__form,
main.login-registration .login-registration__item {
    background: transparent;
    box-shadow: none;
}
main.login-registration .login-registration__form-input {
    background: #fff;
    border: 1px solid rgba(90, 70, 40, 0.25);
}
/* чётче: подписи, ссылки, вход через Google */
main.login-registration .login-registration__form-text,
main.login-registration .login-registration__form-policy-nocheck,
main.login-registration .login-registration__social-title {
    color: #4a3a1c;
}
main.login-registration .login-registration__form-help,
main.login-registration .login-registration__form-policy-nocheck a {
    color: #2743d6;
}
main.login-registration .login-registration__social-item {
    background: #fff;
    border: 1px solid rgba(90, 70, 40, 0.25);
    border-radius: 10px;
    color: #222;
}
main.login-registration .login-registration__form-submit {
    border: 1px solid rgba(90, 70, 40, 0.3);
}

/* === Фон страниц курсов: хрустальный будда (12.08.2026) ===
   Закреплён на весь экран (не скроллится), приглушён белой вуалью. */
main.student-wrap:has(.courses-header) {
    background: linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
                url(/images/bg-courses.jpg?v=1) center / cover no-repeat fixed;
}

/* === Левое меню кабинета: шире, текст не обрезается, тонкий скролл (12.08.2026) === */
@media (min-width: 992px) {
    .menu {
        width: 220px;
        scrollbar-width: thin;
        scrollbar-color: #d5d7e0 transparent;
    }
    .menu__list,
    .menu__logo {
        width: 220px;
    }
    .menu__list a {
        padding: 0 18px;
    }
    .menu__list-num {
        right: 18px;
    }
    .content-wrap {
        width: calc(100% - 220px);
        margin-left: 220px;
    }
    /* свёрнутое меню оставляем как было */
    .menu.js-open {
        width: 46px;
    }
    .content-wrap.js-menu-open {
        width: calc(100% - 46px);
        margin-left: 46px;
    }
}


/* === Затенение при открытом меню профиля (17.08.2026) ===
   Родное — белёсое пятно ниже шапки, на фоне гор смотрелось грязно.
   Теперь: лёгкая тёмная пелена на всю контентную часть. */
.content-wrap:before {
    top: 0;
    height: 100%;
    background: rgba(24, 34, 58, 0.3);
}

/* дополнение: пелена на весь экран правее меню (без зазоров) */
.content-wrap:before {
    position: fixed;
    top: 0; bottom: 0; left: 220px; right: 0;
    width: auto; height: auto;
}
.content-wrap.js-menu-open:before { left: 46px; }
@media (max-width: 991px) {
    .content-wrap:before { left: 0; }
}

/* меню всегда поверх пелены профиля (у пелены z-index 3) */
.menu { z-index: 4; }


/* === Меню в стиле Krea (18.08.2026): вплотную влево, цветные иконки === */
@media (min-width: 992px) {
    .menu {
        left: 0;
        top: 0;
        border-right: 1px solid rgba(15, 23, 42, 0.07);
    }
    main.student-wrap > .container {
        max-width: 100%;
    }
}
/* пункты — скруглённые строки, старая красная полоса убрана */
.menu__list li { margin: 2px 10px; }
.menu__list a {
    height: 46px;
    padding: 0 8px;
    border-radius: 10px;
    font-weight: 500;
}
.menu__list a:hover { background: #F2F4F8; }
.menu__list li.active a { background: #ECEFF5; font-weight: 600; }
.menu__list a:before { display: none; }
.menu__list-num { right: 10px; }
/* иконки — белые линии в цветных квадратиках */
.menu__list-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    background: #94A3B8;
}
.menu__list-icon svg,
.menu__list-icon img {
    width: 17px;
    height: 17px;
}
.menu__list-icon svg path,
.menu__list-icon svg rect,
.menu__list-icon svg circle {
    fill: none;
    stroke: #fff;
}
.menu__list li.active .menu__list-icon svg path {
    fill: none;
    stroke: #fff;
}
/* свёрнутое меню (46px): иконки остаются видимыми по центру */
.menu.js-open .menu__list li { margin: 2px 4px; }
.menu.js-open .menu__list a { padding: 0 4px; }


/* === Доводка меню (18.08.2026): стекло, компактнее иконки, ярче актив === */
@media (min-width: 992px) {
    .menu {
        background: rgba(255, 255, 255, 0.72);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }
}
.menu__list-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 7px;
}
.menu__list-icon svg,
.menu__list-icon img {
    width: 15px;
    height: 15px;
}
.menu__list li.active a {
    background: #1E2A44;
    color: #fff;
}

/* === Доводка меню-2 (18.08.2026): заметнее hover, актив чуть светлее === */
.menu__list a:hover { background: rgba(30, 42, 68, 0.12); }
.menu__list li.active a { background: #3A4A6B; }

/* === Доводка меню-3: подложка прозрачнее, горы видно === */
@media (min-width: 992px) {
    .menu {
        background: rgba(255, 255, 255, 0.4);
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px);
    }
}


/* === Доводка меню-4 (18.08.2026): лого крупнее и левее, карточки выезжают снизу === */
.menu__logo .logo {
    transform: translateX(-10px) scale(1.18);
    transform-origin: center;
}

/* карточки курсов появляются каскадом снизу вверх */
@keyframes vyezd-kartochki {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
.courses-square__item { animation: vyezd-kartochki 0.55s ease-out backwards; }
.courses-square__item:nth-child(1) { animation-delay: 0.05s; }
.courses-square__item:nth-child(2) { animation-delay: 0.12s; }
.courses-square__item:nth-child(3) { animation-delay: 0.19s; }
.courses-square__item:nth-child(4) { animation-delay: 0.26s; }
.courses-square__item:nth-child(5) { animation-delay: 0.33s; }
.courses-square__item:nth-child(6) { animation-delay: 0.40s; }
.courses-square__item:nth-child(7) { animation-delay: 0.47s; }
.courses-square__item:nth-child(8) { animation-delay: 0.54s; }
.courses-square__item:nth-child(9) { animation-delay: 0.61s; }
.courses-square__item:nth-child(n+10) { animation-delay: 0.68s; }


/* === Доводка-5 (18.08.2026): карточки выезжают при прокрутке (IntersectionObserver) ===
   Перекрывает каскад «при загрузке» из блока выше: прячем и анимируем только
   при живом скрипте (html.js-anim из /js/reveal-cards.js). */
.courses-square__item { animation: none; }
html.js-anim .courses-square__item {
    opacity: 0;
}
html.js-anim .courses-square__item.js-reveal {
    animation: vyezd-kartochki 0.55s ease-out backwards;
    opacity: 1;
}

/* === Линия под шапкой чётче (18.08.2026) === */
.header-st { border-bottom: 1px solid rgba(30, 42, 68, 0.35); }

/* === Фото курсов без обрезки (18.08.2026, замечание Инны) ===
   Родное фото 180px высоты при резиновой ширине кропило картинку на широких
   экранах и малом зуме. Теперь высота следует ширине: почти все обложки 16:9. */
@supports (aspect-ratio: 16 / 9) {
    .courses-square__photo {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}
/* дополнение: flex-колонка карточки сжимала фото — запрет сжатия */
@supports (aspect-ratio: 16 / 9) {
    .courses-square__photo { flex-shrink: 0; }
}

/* === Адаптивная сетка курсов (18.08.2026): на широких вьюпортах и мелком зуме — больше колонок === */
@media (min-width: 1750px) {
    .courses-square__item { width: calc((100% - 120px) / 4); }
}
@media (min-width: 2300px) {
    .courses-square__item { width: calc((100% - 150px) / 5); }
}
@media (min-width: 2900px) {
    .courses-square__item { width: calc((100% - 180px) / 6); }
}
@media (min-width: 3600px) {
    .courses-square__item { width: calc((100% - 210px) / 7); }
}


/* === Приветственный баннер АКМ (18.08.2026) === */
.welcome-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 20, 35, 0.55);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.45s ease;
}
.welcome-overlay.is-visible { opacity: 1; }
.welcome-overlay__card {
    position: relative;
    max-width: min(620px, 90vw);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
    transform: translateY(16px) scale(0.97);
    transition: transform 0.45s ease;
}
.welcome-overlay.is-visible .welcome-overlay__card { transform: none; }
.welcome-overlay__card img {
    display: block;
    width: 100%;
    height: auto;
}
.welcome-overlay__btn {
    position: absolute;
    left: 50%;
    bottom: 6%;
    transform: translateX(-50%);
    border: none;
    cursor: pointer;
    background: #232B66;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 13px 42px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(20, 25, 60, 0.35);
    transition: background 0.2s ease, transform 0.2s ease;
}
.welcome-overlay__btn:hover {
    background: #33408f;
    transform: translateX(-50%) translateY(-1px);
}

/* === Кнопка «Сайт Академии» внизу меню (18.08.2026) === */
.menu__site {
    display: flex;
    align-items: center;
    margin: 2px 10px 10px;
    padding: 0 8px;
    height: 46px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: #000;
    white-space: nowrap;
}
.menu__site:hover { background: rgba(30, 42, 68, 0.12); color: #000; }
.menu.js-open .menu__site { font-size: 0; margin: 2px 4px 10px; padding: 0 4px; }

/* растровые иконки меню (без класса svg) — на весь квадратик */
.menu__list-icon { overflow: hidden; }
.menu__list-icon img:not(.svg) { width: 26px; height: 26px; border-radius: 7px; object-fit: cover; }

/* === Фон страницы «Проверка»: блокнот с ручкой (18.08.2026) === */
main.student-wrap:has(.check) {
    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
                url(/images/bg-check.jpg?v=1) center / cover no-repeat fixed;
}

/* === Фон страницы «Достижения»: медали и кубки (18.08.2026) === */
main.student-wrap:has(.progress-c__header) {
    background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),
                url(/images/bg-achievements.jpg?v=1) center / cover no-repeat fixed;
}

/* === Фон страницы «Профиль»: шестерёнки (18.08.2026) === */
main.student-wrap:has(.student-wrap-page) {
    background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),
                url(/images/bg-profile.jpg?v=1) center / cover no-repeat fixed;
}

/* профиль: форма без белой подложки, поля белыми остаются */
.student-wrap-page {
    background: transparent;
    border: none;
}

/* профиль: чёткие рамки полей и значки соцсетей по размеру */
.student-wrap-page .login-registration__form-input { border: 1px solid rgba(30, 42, 68, 0.35); background: #fff; }
.login-registration__form-authentication-icon img { width: 24px; height: 24px; }

/* === Фон страницы «108 000 Арий»: бриллианты, без вуали (18.08.2026) === */
main.student-wrap:has(.page-aryas) {
    background: linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
                url(/images/bg-aryas.jpg?v=1) center / cover no-repeat fixed;
}

/* === Страница «6-разовый дневник»: радужный фон, без белой карточки (18.08.2026) === */
main.student-wrap:has(.page-GluckBook) {
    background: linear-gradient(115deg, #ffe9f2, #e8f4ff 30%, #fef6e0 55%, #eaffef 75%, #f3e8ff) fixed;
}
main.student-wrap:has(.page-GluckBook) .lesson-content {
    background: transparent;
    border: none;
}

/* фильтры курсов: перенос строк с воздухом (18.08.2026) */
.courses-header__checkbox { row-gap: 12px; }
.courses-header__checkbox .course-filter-teacher { margin-bottom: 0; }

/* фильтры курсов: воздух для переключателей, скруглённые селекты (18.08.2026) */
.courses-header__checkbox .checkbox { margin-top: 16px; }
.courses-header select.select-city,
.courses-header .selectize-input,
.courses-header__sort-list select {
    border-radius: 14px;
}

/* === Гостевая витрина курсов (20.08.2026, задача Инны) === */
.vitrina-wrap { background: linear-gradient(rgba(255,255,255,0.55), rgba(255,255,255,0.55)),
                url(/images/bg-courses.jpg?v=1) center / cover no-repeat fixed; min-height: 100vh; }
.vitrina-wrap > .container { max-width: 1400px; margin: 0 auto; padding: 0 24px 40px; }
.vitrina-shapka {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 0 24px; flex-wrap: wrap; gap: 12px;
}
.vitrina-logo img { height: 34px; }
.vitrina-knopki { display: flex; gap: 10px; }
.vitrina-btn {
    display: inline-block; padding: 10px 24px; border-radius: 10px;
    font-size: 14px; font-weight: 600; letter-spacing: .2px;
}
.vitrina-btn-vhod { background: #fff; color: #1c2333; border: 1px solid rgba(30,42,68,.25); }
.vitrina-btn-reg { background: #3751FF; color: #fff; }
.vitrina-btn-reg:hover { background: #2a41d8; color: #fff; }
.vitrina-nazad { margin: 4px 0 18px; font-size: 14px; }
.vitrina-nazad a { color: #3751FF; }
/* карточкам витрины прогресс не нужен */
.vitrina-wrap .courses-square__step { display: none; }
/* страница курса */
.vitrina-kurs { max-width: 860px; margin: 0 auto; background: #fff; border-radius: 14px;
    padding: 30px 34px 36px; border: 1px solid rgba(30,42,68,.08); }
.vitrina-kurs__foto img { width: 100%; border-radius: 10px; }
.vitrina-kurs__title { margin: 20px 0 10px; font-size: 27px; text-align: center; }
.vitrina-kurs__preview { color: #4a5268; margin-bottom: 18px; text-align: center; }
.vitrina-kurs__opisanie { line-height: 1.55; }
.vitrina-kurs__opisanie img { max-width: 100%; }
.vitrina-kurs__cta { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(30,42,68,.12); text-align: center; }
.vitrina-kurs__cta p { margin-bottom: 14px; color: #4a5268; }
.vitrina-cta-btn { display: inline-block; background: #3751FF; color: #fff; font-weight: 600;
    font-size: 16px; padding: 14px 44px; border-radius: 12px; }
.vitrina-cta-btn:hover { background: #2a41d8; color: #fff; }
.vitrina-cta-vhod { display: block; margin-top: 12px; font-size: 14px; color: #3751FF; }


/* === Подменю «Мои курсы»: завершённые / в процессе / не начатые (20.08.2026) === */
.menu__list-sub { display: block !important; }
body.podmenu-zakryto .menu__list-sub { display: none !important; }
.menu__list-sub a {
    height: 34px;
    padding-left: 46px;
    font-size: 13px;
    font-weight: 500;
    color: #4a5268;
}
.menu__list-sub a:before {
    content: "";
    position: absolute;
    left: 26px; top: 50%;
    width: 5px; height: 5px;
    margin-top: -2px;
    border-radius: 50%;
    background: rgba(30, 42, 68, 0.35);
    opacity: 1;
}
.menu__list-sub.active a { background: #ECEFF5; color: #1c2333; font-weight: 600; }
.menu__list-sub.active a:before { background: #3751FF; }
.menu.js-open .menu__list-sub { display: none !important; }


/* === Раскрытие подменю «Мои курсы» (20.08.2026) === */
.menu__list-parent { position: relative; }
.podmenu-strelka {
    position: absolute;
    right: 6px; top: 6px;
    width: 34px; height: 34px;
    cursor: pointer;
    z-index: 2;
}
/* стрелку подменю рисует scripts/podmenu.js */



/* цвета подменю «Мои курсы»: готово — зелёный, в работе — жёлтый, не начато — серый */
.menu__list-sub.sub-done .menu__list-num    { background: #2FA85C; }
.menu__list-sub.sub-process .menu__list-num { background: #F0A92B; }
.menu__list-sub.sub-new .menu__list-num     { background: #98A2B3; }
.menu__list-sub.sub-done a:before    { background: #2FA85C; }
.menu__list-sub.sub-process a:before { background: #F0A92B; }
.menu__list-sub.sub-new a:before     { background: #98A2B3; }


/* повторная проверка после доработки (2026-08-21) */
.recheck-panel { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 18px 0; padding: 14px 18px; background: #FFF7E8; border: 1px solid #F0C36D; border-radius: 12px; }
.recheck-panel__badge { background: #F0A92B; color: #fff; font-weight: 600; border-radius: 8px; padding: 4px 10px; margin-right: 10px; white-space: nowrap; }
.recheck-panel__stat { color: #4a5268; margin-right: 10px; }
.recheck-panel__hint { color: #8a90a0; font-size: 13px; }
.recheck-panel__copy { border: none; background: #3751FF; color: #fff; border-radius: 9px; padding: 9px 16px; font-weight: 600; cursor: pointer; }
.recheck-panel__copy:hover { background: #2a41d8; }
.recheck-panel__copy:disabled { background: #98A2B3; cursor: default; }
.otvet-status-line { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; }
.otvet-metka { font-size: 13px; font-weight: 600; border-radius: 7px; padding: 3px 9px; }
.otvet-metka--izmenen { background: #FFE9C9; color: #9a6b12; }
.otvet-metka--ne-izmenen { background: #E9EDF3; color: #6b7280; }
.otvet-razvernut { border: none; background: none; color: #3751FF; cursor: pointer; font-size: 13px; padding: 2px 6px; }
.check-courses-detail__items.otvet-svyornut { display: none; }
.proshlaya-proverka { margin-top: 12px; padding: 12px 14px; background: #F1F3F8; border-left: 3px solid #98A2B3; border-radius: 8px; font-size: 14px; }
.proshlaya-proverka__title { font-weight: 700; color: #4a5268; margin-bottom: 6px; }
.proshlaya-proverka__meta { color: #8a90a0; font-size: 13px; margin-bottom: 0; }
.proshlaya-ocenka.green { color: #2FA85C; font-weight: 700; }
.proshlaya-ocenka.orange { color: #F0A92B; font-weight: 700; }
.proshlaya-ocenka.red { color: #c02424; font-weight: 700; }
.proshlaya-spisano { color: #c02424; font-size: 13px; margin-left: 8px; }
mark.novoe-slovo { background: #D9F5E4; color: inherit; border-radius: 3px; padding: 0 2px; }
.recheck-badge { display: inline-block; background: #F0A92B; color: #fff; font-size: 12px; font-weight: 600; border-radius: 7px; padding: 2px 8px; margin-left: 8px; vertical-align: middle; }


/* описание категории курсов (задача Алёны, 2026-08-21) */
.kategoriya-opisanie {
    margin: 14px 0 6px;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.72);
    border-left: 3px solid #3751FF;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.55;
    color: #2a3245;
    max-width: 900px;
}
.kategoriya-opisanie a { color: #3751FF; font-weight: 600; }


/* плашка «Скачать приложение» всегда поверх контента (22.08.2026) */
.header-st__app.app { z-index: 60; }


/* связка таймера медитации с домашками (22.08.2026) */
.timer-svyazka {
    display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
    margin: 4px 0 22px; padding: 13px 18px;
    background: linear-gradient(120deg, rgba(139, 92, 246, 0.10), rgba(236, 72, 153, 0.08));
    border: 1px solid rgba(139, 92, 246, 0.35); border-radius: 12px;
    font-size: 14.5px; color: #4c3fd4;
}
.timer-svyazka__btn {
    display: inline-block; background: linear-gradient(120deg, #8a2be2, #ff2d87);
    color: #fff !important; font-weight: 600; font-size: 13.5px;
    padding: 8px 18px; border-radius: 999px; text-decoration: none;
    box-shadow: 0 4px 14px rgba(160, 60, 200, 0.35);
}
.timer-svyazka__btn:hover { opacity: 0.9; }
.timer-import-btn {
    display: inline-block; margin-top: 10px; border: 1px solid rgba(139, 92, 246, 0.5);
    background: rgba(139, 92, 246, 0.08); color: #6d28d9; font-weight: 600; font-size: 13px;
    padding: 7px 16px; border-radius: 999px; cursor: pointer; font-family: inherit;
}
.timer-import-btn:hover { background: rgba(139, 92, 246, 0.16); }
.timer-import-btn:disabled { opacity: 0.5; cursor: default; }
.timer-import-btn.gotovo { border-color: #2FA85C; color: #1f7a42; background: rgba(47, 168, 92, 0.1); }

/* кнопка импорта из таймера — по центру, своей строкой (24.08.2026) */
.timer-import-wrap { width: 100%; flex-basis: 100%; text-align: center; margin-bottom: 26px; }

/* === polya-otvetov-glow: поля ответов в заданиях (24.08.2026) === */
.lesson-content__form-textarea,
.lesson-content__form-input {
    border: 1.5px solid rgba(124, 108, 240, 0.35);
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.lesson-content__form-textarea:hover,
.lesson-content__form-input:hover {
    border-color: rgba(124, 108, 240, 0.6);
}
.lesson-content__form-textarea:focus,
.lesson-content__form-input:focus {
    outline: none;
    border-color: #7c6cf0;
    box-shadow: 0 0 0 3px rgba(124, 108, 240, 0.14), 0 0 18px rgba(139, 92, 246, 0.28);
}
.lesson-content__form-textarea::placeholder,
.lesson-content__form-input::placeholder {
    color: #a9adce;
}

/* === материалы урока — карточки-кнопки (24.08.2026) === */
.material-knopka {
    display: flex; align-items: center; gap: 16px;
    margin: 10px 0; padding: 15px 20px;
    background: #fff;
    border: 1.5px solid rgba(124, 108, 240, 0.28);
    border-radius: 14px;
    text-decoration: none;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}
.material-knopka:hover {
    border-color: #7c6cf0;
    box-shadow: 0 6px 22px rgba(124, 108, 240, 0.22);
    transform: translateY(-2px);
}
.material-knopka__ikonka {
    flex: 0 0 46px; width: 46px; height: 46px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px; color: #fff;
    background: linear-gradient(135deg, #8a2be2, #ff2d87);
    box-shadow: 0 4px 12px rgba(160, 60, 200, 0.3);
}
.material-knopka__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.material-knopka__nazvanie {
    font-weight: 600; font-size: 15.5px; color: #1c2333; line-height: 1.3;
    overflow-wrap: anywhere;
}
.material-knopka__razmer { font-size: 12.5px; color: #8a90a0; letter-spacing: 0.3px; }
.material-knopka__strelka { flex: 0 0 auto; color: #a9adce; transition: color 0.22s ease, transform 0.22s ease; }
.material-knopka:hover .material-knopka__strelka { color: #7c6cf0; transform: translate(2px, -2px); }

/* === Фон страницы «Техподдержка»: облачка сообщений вокруг белой карточки (25.08.2026) === */
main.student-wrap:has(.page-contacts) {
    background: linear-gradient(rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.35)),
                url(/images/bg-support.jpg?v=2) center / cover no-repeat fixed;
}

/* «Удалить из моих курсов» — не начатый курс (задача Инны №57) */
.kurs-udalit-forma { display: inline-block; margin-left: 8px; }
.kurs-udalit-btn { background: transparent !important; border: 1px solid #E0533D !important; color: #E0533D !important; font: inherit; cursor: pointer; }
.kurs-udalit-btn:hover { background: #E0533D !important; color: #fff !important; }
.kurs-udalit-toast { position: fixed; right: 20px; bottom: 20px; z-index: 9999; background: #1FA971; color: #fff; padding: 12px 18px;
    border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.25); font-size: 15px; max-width: 420px; transition: opacity .4s; }
.kurs-udalit-toast.oshibka { background: #E0533D; }
.kurs-udalit-toast.skryt { opacity: 0; }

/* «Помоги нам стать лучше» — длиннее ширины меню: переносим на две строки */
.menu__predlozhenie { white-space: normal; line-height: 1.15; }
.menu.js-open .menu__predlozhenie { line-height: 0; }

/* === Карточки курсов: перламутровая подложка, подсветка при наведении (задача Инны, 28.08.2026) === */
.courses-square__item, .courses-list__item {
    background: linear-gradient(135deg, #ffffff 0%, #fff8fb 28%, #f6f4ff 58%, #f0f9ff 82%, #f7fff9 100%);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.courses-square__item:hover, .courses-list__item:hover {
    transform: translateY(-4px); border-color: #c8c3ff;
    box-shadow: 0 16px 36px rgba(55, 81, 255, .16), 0 2px 8px rgba(190, 24, 93, .06);
}
.courses-square__btn:hover, .courses-list__btn:hover { background: #3751FF; color: #fff; }
.courses-square__step-title.green { color: #1FA971; font-weight: 600; }
.sr-kartochka-knopki { flex: 0 0 100%; width: 100%; display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.sr-kartochka-btn { display: block; text-align: center; padding: 11px 14px; border-radius: 10px; font-size: 14px; font-weight: 600;
    text-decoration: none !important; transition: transform .15s, box-shadow .15s, background .2s; }
.sr-kartochka-btn:hover { transform: translateY(-1px); }
.sr-kartochka-sert { background: linear-gradient(135deg, #ffb347 0%, #ff7a59 50%, #ff5e8e 100%); color: #fff !important;
    box-shadow: 0 8px 18px rgba(255, 110, 120, .35); }
.sr-kartochka-otzyv { background: rgba(124, 58, 237, .08); color: #6d28d9 !important; border: 1.5px solid rgba(124, 58, 237, .35); }
.sr-kartochka-otzyv:hover { background: rgba(124, 58, 237, .16); }
.courses-list__item .sr-kartochka-knopki { margin-top: 8px; }
.courses-square__btns, .courses-list__btns { flex-wrap: wrap; row-gap: 6px; }
/* карточки без кнопок сертификата не тянутся до высоты соседей */
.courses-square { align-items: flex-start; }

/* баннер без картинки (медленный канал): текст вместо неё, кнопка на виду */
.welcome-overlay__tekst { display: none; padding: 34px 28px 10px; text-align: center; font-size: 22px; line-height: 1.4; color: #1b1f3b; }
.welcome-overlay__tekst strong { font-size: 26px; color: #2a2560; }
.welcome-overlay.bez-kartinki .welcome-overlay__tekst { display: block; }
.welcome-overlay.bez-kartinki img { display: none; }
.welcome-overlay.bez-kartinki .welcome-overlay__card { min-width: 320px; }
.welcome-overlay.bez-kartinki .welcome-overlay__card { background: #fff; }
.welcome-overlay.bez-kartinki .welcome-overlay__btn { position: static; transform: none; display: block; margin: 14px auto 28px; }

/* list-title-full-width */
/* Вид «списком»: в теме заголовок строки был 47px под короткий номер — длинные названия ломались по слову.
   Теперь название на всю ширину колонки, описание под ним, как на плитках. */
.courses-list__col:first-child { flex-wrap: wrap; align-content: center; }
.courses-list__title { width: 100%; min-width: 0; margin: 0; }
.courses-list__title + .courses-list__desc { padding-left: 0; }
.courses-list__desc { width: 100%; margin: 4px 0 0; font-weight: 400; color: #5A5C6E; }


/* === Сворачивание левого меню (01.09.2026, предложение Марьяны Савицкой через «Бот идей») ===
   На страницах курса/урока меню уезжает влево целиком (body.menu-svernuto), контент на всю ширину.
   Язычок .menu-yazychok — слева по центру экрана: у края меню, когда оно открыто, у края окна — когда свёрнуто.
   Класс ставится inline-скриптом в layout до отрисовки, переключение — scripts/menu-svernut.js. Только десктоп. */
@media (min-width: 992px) {
    .menu { transition: transform .28s ease, width .3s ease; }
    .content-wrap { transition: width .28s ease, margin-left .28s ease; }
    body.menu-svernuto .menu { transform: translateX(-102%); box-shadow: none; }
    body.menu-svernuto .content-wrap,
    body.menu-svernuto .content-wrap.js-menu-open { width: 100%; margin-left: 0; }
    body.menu-svernuto .content-wrap:before { left: 0; }

    .menu-yazychok {
        position: fixed; left: 220px; top: 50%; z-index: 5;
        width: 22px; height: 68px; margin-top: -34px; padding: 0; border: 1px solid rgba(15, 23, 42, .12); border-left: 0;
        border-radius: 0 10px 10px 0; background: rgba(255, 255, 255, .92); color: #3A4A6B; cursor: pointer;
        display: flex; align-items: center; justify-content: center;
        box-shadow: 2px 0 10px rgba(15, 23, 42, .08);
        transition: left .28s ease, background .15s ease, color .15s ease;
    }
    .menu-yazychok:hover { background: #fff; color: #1E2A44; width: 26px; }
    .menu-yazychok:focus { outline: none; box-shadow: 0 0 0 3px rgba(58, 74, 107, .25); }
    .menu-yazychok svg { transition: transform .28s ease; }
    .menu.js-open ~ .menu-yazychok { left: 46px; }             /* родной узкий режим (46px) — язычок у его края */
    body.menu-svernuto .menu-yazychok { left: 0; }
    body.menu-svernuto .menu-yazychok svg { transform: rotate(180deg); }
}
@media (max-width: 991px) {
    .menu-yazychok { display: none; }
}


/* === Меню по разделам (09.09.2026, ТЗ Инны): «Моё обучение», «Практики и инструменты», «Проекты АКМ», «Помощь»;
   кнопка «Благодарность» с золотым свечением; футер «Мы в соцсетях». Разделы сворачиваются (scripts/menu-gruppy.js). === */
.menu__gruppa { margin-top: 6px; }
.menu__gruppa:first-child { margin-top: 0; }
.menu__gruppa-zag {
    display: flex; align-items: center; justify-content: space-between; width: calc(100% - 20px);
    margin: 4px 10px 2px; padding: 8px 8px 6px; border: 0; background: transparent; cursor: pointer; font-family: inherit;
    font-size: 11px; font-weight: 700; letter-spacing: .9px; text-transform: uppercase; color: #6B7A99; text-align: left;
    border-radius: 8px; transition: background .15s, color .15s;
}
.menu__gruppa-zag:hover { background: rgba(30, 42, 68, 0.08); color: #1E2A44; }
.menu__gruppa-zag:focus { outline: none; }
.menu__gruppa-zag:focus-visible { box-shadow: 0 0 0 2px rgba(58, 74, 107, .35); }
.menu__gruppa-strelka { flex: none; margin-left: 6px; transition: transform .25s ease; }
.menu__gruppa--zakryta .menu__gruppa-strelka { transform: rotate(-90deg); }
.menu__gruppa--zakryta .menu__list { display: none; }
/* до отработки скрипта разделы не прыгают: показываем всё */
/* узкий режим темы (46px): заголовки прячем, все пункты видны иконками */
.menu.js-open .menu__gruppa-zag { display: none; }
.menu.js-open .menu__gruppa--zakryta .menu__list { display: block; }
.menu.js-open .menu__gruppa { margin-top: 2px; }

/* длинные подписи («Карма-клуб пассивного дохода», «Помоги нам стать лучше») — в две строки, не обрезаем */
.menu__list li.menu__dlinnyj a { white-space: normal; line-height: 1.15; height: auto; min-height: 46px; padding-top: 6px; padding-bottom: 6px; }
.menu.js-open .menu__list li.menu__dlinnyj a { line-height: 0; }

/* кнопка «Благодарность»: отдельно, внизу, мягкое золотое свечение с редким «дыханием» */
.menu__blagodarnost {
    position: relative; display: flex; align-items: center; gap: 10px; margin: 10px 10px 6px; padding: 0 10px; height: 46px;
    border-radius: 12px; font-size: 13px; font-weight: 700; letter-spacing: .8px; color: #5a3d00 !important; text-decoration: none !important;
    background: linear-gradient(135deg, #fff6d6 0%, #ffe9a8 55%, #ffd977 100%);
    border: 1px solid rgba(201, 151, 28, .45);
    box-shadow: 0 0 0 0 rgba(255, 196, 61, .0), 0 4px 14px rgba(201, 151, 28, .18);
    animation: bl-dyhanie 6s ease-in-out infinite;
    transition: transform .15s, box-shadow .15s;
}
.menu__blagodarnost:hover { transform: translateY(-1px); box-shadow: 0 0 0 4px rgba(255, 196, 61, .28), 0 8px 22px rgba(201, 151, 28, .35); animation: none; }
.menu__blagodarnost.active { background: linear-gradient(135deg, #ffe08a 0%, #f7c948 60%, #eab308 100%); }
.menu__blagodarnost-ikonka { display: flex; align-items: center; justify-content: center; width: 26px; min-width: 26px; height: 26px;
    border-radius: 7px; background: rgba(255, 255, 255, .55); font-size: 15px; line-height: 1; }
.menu__blagodarnost-tekst { white-space: nowrap; }
@keyframes bl-dyhanie {
    0%, 55%, 100% { box-shadow: 0 0 0 0 rgba(255, 196, 61, 0), 0 4px 14px rgba(201, 151, 28, .18); }
    70%           { box-shadow: 0 0 0 6px rgba(255, 196, 61, .22), 0 6px 22px rgba(201, 151, 28, .38); }
    85%           { box-shadow: 0 0 0 2px rgba(255, 196, 61, .1), 0 4px 16px rgba(201, 151, 28, .22); }
}
@media (prefers-reduced-motion: reduce) { .menu__blagodarnost { animation: none; } }
.menu.js-open .menu__blagodarnost { margin: 6px 4px; padding: 0 4px; justify-content: center; }
.menu.js-open .menu__blagodarnost-tekst { display: none; }

/* футер меню: соцсети, сайт Академии, выход */
.menu__futer { margin: 4px 10px 10px; padding-top: 10px; border-top: 1px solid rgba(30, 42, 68, .12); }
.menu__futer-zag { font-size: 10.5px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: #8A94AD; margin: 0 8px 6px; }
.menu__soc { display: flex; gap: 6px; padding: 0 6px; }
.menu__soc-ssylka { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px;
    background: rgba(30, 42, 68, .08); color: #3A4A6B; transition: background .15s, color .15s, transform .15s; }
.menu__soc-ssylka svg { width: 17px; height: 17px; }
.menu__soc-ssylka:hover { color: #fff; transform: translateY(-1px); }
.menu__soc-ssylka--instagram:hover { background: linear-gradient(135deg, #f58529, #dd2a7b 60%, #8134af); }
.menu__soc-ssylka--telegram:hover  { background: #229ED9; }
.menu__soc-ssylka--youtube:hover   { background: #FF0000; }
.menu__soc-ssylka--tiktok:hover    { background: #111; }
.menu__futer-ssylki { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 10px 8px 0; font-size: 12px; color: #8A94AD; }
.menu__futer-ssylki a { color: #6B7A99; }
.menu__futer-ssylki a:hover { color: #1E2A44; text-decoration: underline; }
.menu.js-open .menu__futer { display: none; }

/* подписка на рассылку бота (виджет BotHelp) на странице «Мои курсы» — компактная полоса, а не карточка на пол-экрана */
.bot-podpiska { margin: 26px 0 10px; padding: 0; background: transparent; border: 0; }
.bot-podpiska__tekst { display: none; }   /* у виджета свой заголовок и описание */
.bot-podpiska .bh-widget-subscription { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 14px 18px !important;
    border-radius: 12px !important; background: rgba(255, 255, 255, .8) !important; border: 1px solid rgba(30, 42, 68, .1) !important; box-shadow: none !important; }
.bot-podpiska .bh-widget-subscription__content { display: grid !important; grid-template-columns: 1fr auto; column-gap: 22px; row-gap: 2px; align-items: center; text-align: left !important; padding: 0 !important; max-width: none !important; }
.bot-podpiska .bh-w-title { grid-column: 1; margin: 0 !important; font-size: 16px !important; line-height: 1.3 !important; color: #1E2A44 !important; }
.bot-podpiska .bh-w-description { grid-column: 1; margin: 0 !important; font-size: 13px !important; line-height: 1.4 !important; color: #4a5268 !important; }
.bot-podpiska .bh-w-button-list { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; }
.bot-podpiska .bh-w-consent { grid-column: 1 / -1; margin: 6px 0 0 !important; }
.bot-podpiska .bh-w-consent__text { font-size: 10.5px !important; line-height: 1.35 !important; color: #8A94AD !important; font-weight: 400 !important; text-align: left !important; }
.bot-podpiska .bh-w-powered-by { grid-column: 1 / -1; display: flex !important; gap: 4px; margin: 2px 0 0 !important; font-size: 10px !important; color: #b0b7c8 !important; }
.bot-podpiska .bh-w-powered-by a { color: #b0b7c8 !important; }
@media (max-width: 640px) {
    .bot-podpiska .bh-widget-subscription__content { grid-template-columns: 1fr; }
    .bot-podpiska .bh-w-button-list { grid-column: 1; grid-row: auto; margin-top: 8px !important; }
}

/* страница «Расписание групп»: фон — группа за учёбой с видом на горы (сгенерирован 09.09.2026), лёгкая вуаль */
main.student-wrap:has(.page-groups) {
    background: linear-gradient(rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.42)),
                url(/images/bg-groups.jpg?v=1) center / cover no-repeat fixed;
}
main.student-wrap:has(.page-groups) .lesson-content {
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 10px 34px rgba(30, 42, 68, 0.14);
}
main.student-wrap:has(.page-groups) .lesson-content__desc { color: #17203a; }
main.student-wrap:has(.page-groups) .vitrina-cta-btn { font-size: 15px; padding: 13px 34px; }

/* страница «Клуб Медитации»: фон — зал, где люди сидят в медитации (сгенерирован 09.09.2026) */
main.student-wrap:has(.page-meditaion_club) {
    background: linear-gradient(rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.42)),
                url(/images/bg-medclub.jpg?v=1) center / cover no-repeat fixed;
}
main.student-wrap:has(.page-meditaion_club) .lesson-content {
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 10px 34px rgba(30, 42, 68, 0.14);
}
main.student-wrap:has(.page-meditaion_club) .lesson-content__desc { color: #17203a; }

/* страница «Стать волонтёром»: фон — ладони со светящимся сердцем, из которого улетают семена (в тему «семян служения») */
main.student-wrap:has(.page-volunteer) {
    background: #1a120a url(/images/bg-volunteer.jpg?v=1) center / cover no-repeat fixed;
}
main.student-wrap:has(.page-volunteer) .lesson-content {
    background: rgba(255, 255, 255, 0.62);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}
main.student-wrap:has(.page-volunteer) .lesson-content__desc { color: #17203a; }
/* на тёмном фоне заголовок и крошки — светлые */
main.student-wrap:has(.page-volunteer) h1,
main.student-wrap:has(.page-volunteer) .breadcrumb-item,
main.student-wrap:has(.page-volunteer) .breadcrumb-item a { color: #fdf3e3 !important; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55); }
main.student-wrap:has(.page-volunteer) .courses-lessons-header { border-color: rgba(255, 255, 255, 0.25); }

/* страница «Частые вопросы»: спокойный градиент без картинок, в тон бирюзовой иконке раздела */
main.student-wrap:has(.page-faq) {
    background: linear-gradient(135deg, #eafaf7 0%, #e6f3fb 32%, #f2f0fc 62%, #fdf4ec 100%) fixed;
}
main.student-wrap:has(.page-faq) .lesson-content {
    background: rgba(255, 255, 255, 0.62);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 10px 30px rgba(30, 42, 68, 0.08);
}

/* на страницах с фото-фоном хлебные крошки теряются на светлых участках — притеняем текст */
main.student-wrap:has(.page-groups) .breadcrumb-item,
main.student-wrap:has(.page-groups) .breadcrumb-item a,
main.student-wrap:has(.page-meditaion_club) .breadcrumb-item,
main.student-wrap:has(.page-meditaion_club) .breadcrumb-item a {
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.8);
    font-weight: 600;
}

/* тёмные страницы (таймер медитации, «Стать волонтёром»): меню на просвет становилось нечитаемым —
   даём ему плотную светлую подложку, а имени в шапке — тень */
main.student-wrap:has(.med-scena) .menu,
main.student-wrap:has(.page-volunteer) .menu { background: rgba(255, 255, 255, .96) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
main.student-wrap:has(.page-volunteer) .header-st__profile-name { color: #fdf3e3; text-shadow: 0 2px 10px rgba(0, 0, 0, .55); }


/* === Енот-маскот (09.09.2026, задача Кости): холст справа снизу, облачко над ним === */
.enot-obertka {
    position: fixed;
    right: 18px;
    bottom: 0;
    width: 300px;
    height: 360px;
    z-index: 9998;
    pointer-events: none;
    transform: translateY(105%);
    opacity: 0;
    transition: transform .65s cubic-bezier(.22, 1, .3, 1), opacity .45s ease;
}
.enot-obertka.viden { transform: translateY(0); opacity: 1; }
/* уход — растворяется на месте (кроссфейд), без отъезда вниз */
.enot-obertka.taet { opacity: 0; transition: opacity .5s ease; }
.enot-holst { display: block; width: 300px; height: 360px; position: relative; z-index: 1; pointer-events: auto; cursor: pointer; }
/* мягкая тень под лапами — енот не «висит» в воздухе */
.enot-obertka:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 59px;
    width: 128px;
    height: 24px;
    margin-left: -58px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(30, 42, 68, .28) 0%, rgba(30, 42, 68, .12) 45%, rgba(30, 42, 68, 0) 72%);
}

.enot-oblachko {
    position: absolute;
    left: 50%;
    top: 126px;
    transform: translateX(-50%) translateY(8px) scale(.94);
    max-width: 236px;
    text-align: center;
    padding: 11px 16px;
    background: #fff;
    color: #1E2A44;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(30, 42, 68, .22);
    opacity: 0;
    transform: translateY(8px) scale(.94);
    transform-origin: center bottom;
    transition: opacity .3s ease, transform .3s cubic-bezier(.22, 1, .3, 1);
}
.enot-oblachko.viden { opacity: 1; transform: translateX(-50%); }
.enot-oblachko:after {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -8px;
    bottom: -8px;
    border: 8px solid transparent;
    border-top-color: #fff;
    border-bottom: 0;
    filter: drop-shadow(0 3px 2px rgba(30, 42, 68, .1));
}

@media (max-width: 700px) { .enot-obertka { display: none; } }
@media (prefers-reduced-motion: reduce) { .enot-obertka { transition: opacity .3s ease; transform: none; } }

/* === Фон страницы «Живые курсы ACI: расписание»: календарь на столе (11.09.2026) === */
main.student-wrap:has(.page-schedule) {
    background: linear-gradient(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.45)),
                url(/images/bg-schedule.jpg?v=2) center / cover no-repeat fixed;
}

/* === Кнопки под заданиями: одна форма, мягкие углы (17.09.2026) === */
.lesson-content__form-btns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}
.lesson-content__form-btns .lesson-content__form-submit {
    margin: 0;
    height: 56px;
    min-width: 210px;
    padding: 0 34px;
    border: 0;
    border-radius: 28px;           /* скруглённые, как кнопки в карточках курсов */
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(37, 39, 51, .12);
}
.lesson-content__form-btns .lesson-content__form-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(37, 39, 51, .18);
}
.lesson-content__form-btns .lesson-content__form-submit.btn-red {
    box-shadow: 0 6px 18px rgba(214, 0, 24, .28);
}
.lesson-content__form-btns .lesson-content__form-submit.btn-red:hover {
    box-shadow: 0 10px 24px rgba(214, 0, 24, .36);
}
.lesson-content__form-hint {
    flex: 1 1 260px;
    min-width: 240px;
}
@media (max-width: 575px) {
    .lesson-content__form-btns .lesson-content__form-submit {
        width: 100%;
        min-width: 0;
        padding: 0 20px;
    }
}

/* === Шкала прогресса проверки: крупный процент, полоса с насечками, медалька-цель (18.09.2026) === */
.check__item .progress-akm {
    width: 100%;
    min-width: 220px;
    padding-right: 22px;           /* место под медальку, выступающую за край полосы */
}
.progress-akm__head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
}
.progress-akm__percent {
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.5px;
    color: #252733;
    font-variant-numeric: tabular-nums;
}
.progress-akm__text {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
    color: #7b7f92;
}
.progress-akm__bar {
    position: relative;
    height: 22px;
    border-radius: 12px;
    background: #eef0f7;
    box-shadow: inset 0 1px 3px rgba(37, 39, 51, .10);
}
.progress-akm__fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(90deg, #3751ff 0%, #5b8cff 60%, #38c6d8 100%);
    box-shadow: 0 2px 8px rgba(55, 81, 255, .35);
    animation: progress-akm-rost .9s cubic-bezier(.2, .8, .2, 1) both;
}
.progress-akm.is-started .progress-akm__fill { min-width: 22px; }   /* даже 1 % виден */
.progress-akm__fill:after {                                          /* блик, пробегающий по заливке */
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .38) 50%, transparent 70%);
    transform: translateX(-100%);
    animation: progress-akm-blesk 2.2s ease-in-out 1s 2;
}
.progress-akm__tick {                                                /* насечки по четвертям */
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: 2px;
    margin-left: -1px;
    border-radius: 1px;
    background: rgba(37, 39, 51, .12);
    z-index: 1;
}
.progress-akm__goal {                                                /* медалька-цель в конце полосы */
    position: absolute;
    right: -22px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #dfe0eb;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(37, 39, 51, .12);
    z-index: 2;
    transition: border-color .3s ease, transform .3s ease;
}
.progress-akm__goal img {
    width: 14px;
    height: 20px;
    filter: grayscale(1);
    opacity: .5;
    transition: filter .3s ease, opacity .3s ease;
}
.progress-akm.is-done .progress-akm__fill { background: linear-gradient(90deg, #1fb978, #38d9a9); box-shadow: 0 2px 8px rgba(31, 185, 120, .35); }
.progress-akm.is-done .progress-akm__percent { color: #1fb978; }
.progress-akm.is-done .progress-akm__goal { border-color: #1fb978; transform: translateY(-50%) scale(1.08); }
.progress-akm.is-done .progress-akm__goal img { filter: none; opacity: 1; }
@keyframes progress-akm-rost { from { width: 0; } }
@keyframes progress-akm-blesk { to { transform: translateX(100%); } }
@media (max-width: 575px) {
    .progress-akm__percent { font-size: 22px; }
}

/* === Кнопки на странице «Проверка»: скруглённые, синяя — с подсветкой (18.09.2026) === */
.check__item-btn {
    border-radius: 28px;
    padding: 12px 26px;
    font-weight: 600;
    transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.check__item-btn.blue {
    background: #3751ff;
    box-shadow: 0 6px 18px rgba(55, 81, 255, .38);
}
.check__item-btn.blue:hover {
    background: #2b44f0;
    color: #fff;
    box-shadow: 0 10px 26px rgba(55, 81, 255, .48);
    transform: translateY(-1px);
}
.check__item-btn.disabled {
    box-shadow: none;
    transform: none;
}

/* Суммарные оценки на странице перекрёстной проверки (задача Инны №122, 21.09.2026).
   Ширины колонок строки заданы в main.css по номерам (38/25/37 и свои на каждом брейкпоинте),
   поэтому для строки с баллом (класс s-ocenkoy) они переопределены под четыре колонки. */
.check-courses__ball { font-weight: 700; white-space: nowrap; }
.check-courses__ball.red { color: #E0533D; }
.check-courses__items.s-ocenkoy .check-courses__item:first-child { width: 34%; }
/* подпись «Домашняя работа» — под названием занятия, а не в подбор к нему */
.check-courses__items.s-ocenkoy .check-courses__item:first-child strong { display: block; }
.check-courses__items.s-ocenkoy .check-courses__item:nth-child(2) { width: 17%; }
.check-courses__items.s-ocenkoy .check-courses__item:nth-child(3) { width: 17%; text-align: right; }
.check-courses__items.s-ocenkoy .check-courses__item:nth-child(4) { width: 32%; text-align: right; }
@media (max-width: 1199px) {
    .check-courses__items.s-ocenkoy .check-courses__item:first-child { width: 54%; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(2) { width: 23%; text-align: right; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(3) { width: 23%; text-align: right; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(4) { width: 100%; margin-top: 15px; display: flex; justify-content: center; }
}
@media (max-width: 767px) {
    .check-courses__items.s-ocenkoy .check-courses__item:first-child { width: 100%; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(2) { width: auto; text-align: left; padding-right: 14px; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(3) { width: auto; text-align: left; }
}
@media (max-width: 567px) {
    .check-courses__items.s-ocenkoy .check-courses__item:first-child { width: 100%; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(2) { width: 50%; text-align: left; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(3) { width: 50%; text-align: right; }
    .check-courses__items.s-ocenkoy .check-courses__item:nth-child(4) { width: 100%; }
}
.check-courses-header__grades { flex-wrap: wrap; gap: 4px 18px; }
.check-courses-header__grades span { white-space: nowrap; }

/* spisok-kartinki: картинка курса в режиме списка (18.10.2026) */
.courses-list__col:first-child { flex-wrap: nowrap; }
.courses-list__photo { flex: 0 0 96px; width: 96px; height: 54px; border-radius: 8px; overflow: hidden; margin-right: 16px; background: #eef0f6; display: block; }
.courses-list__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.courses-list__text { flex: 1 1 auto; min-width: 0; }
.courses-list__text .courses-list__title { width: auto; min-width: 0; margin: 0; }
.courses-list__text .courses-list__title + .courses-list__desc { padding-left: 0; }
@media (max-width: 767px) {
    .courses-list__photo { flex-basis: 72px; width: 72px; height: 40px; margin-right: 12px; }
}
