.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=3) 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=3) 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=3) 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; }
