.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;
    }
}

/* === Кнопки под заданиями: одна форма, мягкие углы (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; }
}
