
/* os-defcard-inline-css */

.osd-card{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;}.osd-card .osd-head{display:flex;align-items:center;gap:10px;margin:0 0 8px;flex-wrap:wrap;}.osd-card .osd-ico{font-size:20px;flex:none;}.osd-card .osd-title{margin:0;font-size:18px;font-weight:800;color:#101828;min-width:0;flex:1 1 auto;line-height:1.25;}.osd-card b{overflow-wrap:anywhere;}@media(max-width:560px){.osd-card{padding:14px 14px;}.osd-card .osd-title{font-size:16.5px;}}
/*# sourceURL=os-defcard-inline-css */

/* os-mobile-guard-inline-css */


@media(max-width:640px){
	/* 1) ничто из наших блоков не шире экрана */
	[class^="os-"],[class*=" os-"],[class^="osc-"],[class*=" osc-"],[class^="osd-"],[class*=" osd-"],
	[class^="ose-"],[class*=" ose-"],[class^="osm-"],[class*=" osm-"]{max-width:100%;box-sizing:border-box;}

	/* 2) строки из иконки/подписи/кнопок переносятся, а не сжимаются в столбик.
	      min-width:0 обязателен: без него flex-ребёнок не даёт себя ужать и ломает соседей */
	[class^="os-"] > *,[class*=" os-"] > *,[class^="osc-"] > *,[class*=" osc-"] > *,
	[class^="osd-"] > *,[class*=" osd-"] > *{min-width:0;}

	/* 3) длинные слова и ссылки рвутся по границе, а не выпирают за экран */
	[class^="os-"],[class*=" os-"],[class^="osc-"],[class*=" osc-"],
	[class^="osd-"],[class*=" osd-"]{overflow-wrap:anywhere;}

	/* 4) широкие таблицы прокручиваются вбок вместе со своей обёрткой */
	[class^="os-"] table,[class*=" os-"] table,[class^="osc-"] table,[class*=" osc-"] table{display:block;overflow-x:auto;max-width:100%;}

	/* 5) наши многоколоночные сетки — в одну колонку.
	      Именно из-за этого ломалась карточка защиты в кабинете: .os-uth собран как
	      repeat(auto-fit,minmax(300px,1fr)), и на узком экране колонка всё равно
	      требовала 300px — карточку сжимало, а заголовок сыпался по букве в столбик.
	      auto-fit сам по себе не спасает: минимум в 300px он не отменяет. */
	.os-uth,[class^="os-"][style*="grid-template-columns"],[class*=" os-"][style*="grid-template-columns"]{grid-template-columns:1fr !important;}
}
/*# sourceURL=os-mobile-guard-inline-css */

/* os-diet-um-icons-inline-css */


/* значки Ultimate Member без иконочных шрифтов (см. onstudy-assets-diet-edu) */
.um i[class*="um-faicon-"],.um i[class*="um-icon-"],
i.um-faicon-times,i.um-faicon-eye,i.um-icon-eye-disabled,
i.um-icon-android-checkbox-outline-blank,
i[class*="um-faicon-angle"]{font-family:inherit !important;font-style:normal;line-height:1;}
.um-faicon-times::before{content:"\2715" !important;}
.um-icon-android-checkbox-outline-blank::before{content:"\2610" !important;}
.um-icon-android-checkbox-outline-blank.um-icon-android-checkbox-outline::before,
.um-icon-android-checkbox::before{content:"\2611" !important;}
.um-faicon-angle-left::before{content:"\2039" !important;}
.um-faicon-angle-right::before{content:"\203A" !important;}
.um-faicon-angle-double-left::before{content:"\00AB" !important;}
.um-faicon-angle-double-right::before{content:"\00BB" !important;}
.um-faicon-eye::before,.um-icon-eye-disabled::before{
	content:"" !important;display:inline-block;width:1em;height:1em;vertical-align:-.12em;
	background-repeat:no-repeat;background-position:center;background-size:contain;}
.um-faicon-eye::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1.5%2012S5%205.5%2012%205.5%2022.5%2012%2022.5%2012%2019%2018.5%2012%2018.5%201.5%2012%201.5%2012z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.2%22%2F%3E%3C%2Fsvg%3E");}
.um-icon-eye-disabled::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.9%205.7A9.9%209.9%200%200%201%2012%205.5C19%205.5%2022.5%2012%2022.5%2012a17%2017%200%200%201-3.2%204.1M6.2%207.1A17%2017%200%200%200%201.5%2012S5%2018.5%2012%2018.5c1.4%200%202.6-.2%203.7-.6%22%2F%3E%3Cpath%20d%3D%22M9.8%209.9a3.2%203.2%200%200%200%204.4%204.4%22%2F%3E%3Cpath%20d%3D%22M3%203l18%2018%22%2F%3E%3C%2Fsvg%3E");}

/*# sourceURL=os-diet-um-icons-inline-css */

/* osf-css */

/* hide Divi footer + GeneratePress default footer + slick-menu footer */
#main-footer, #footer-bottom, .et_pb_section_video_bg ~ #main-footer,
.site-footer, .generate-back-to-top, .sm-footer, .sm-footer-wrapper { display:none !important; }
/* onstudy-style footer */
.osf{--blue:#2945F2;background:#fff;border-top:1px solid #ececf2;color:#10131a;
  font-family:'Onest',-apple-system,Segoe UI,Roboto,sans-serif;}
.osf *{box-sizing:border-box;}
.osf a{color:#10131a;text-decoration:none;}
.osf a:hover{color:var(--blue);}
.osf__in{max-width:1200px;margin:0 auto;padding:46px 24px;}
.osf__top{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start;
  padding-bottom:32px;border-bottom:1px solid #ececf2;}
.osf__logo img{height:34px;display:block;margin-bottom:12px;}
.osf__descr{color:#6b7180;font-size:14px;max-width:260px;}
.osf__topr{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.osf__soc{display:flex;gap:12px;}
.osf__soc a{width:34px;height:34px;border-radius:50%;background:#f1f3f9;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#5b6172;}
.osf__phone{font-weight:700;font-size:18px;}
.osf__phone small{display:block;font-size:13px;font-weight:600;color:var(--blue);}
.osf__login{border:1px solid #d7dbe8;border-radius:24px;padding:9px 20px;font-weight:600;font-size:14px;}
.osf__cols{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:28px;padding:34px 0;}
.osf__col h4{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#9aa0b0;font-weight:700;margin:0 0 16px;}
.osf__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.osf__col li{font-size:14.5px;}
.osf__contacts li{display:flex;justify-content:space-between;gap:10px;color:#6b7180;font-size:14px;
  border-bottom:1px dotted #d3d7e2;padding-bottom:8px;}
.osf__contacts li span:first-child{color:#9aa0b0;}
.osf__contacts li span:last-child{color:#10131a;text-align:right;}
.osf__contacts a{color:#10131a;}
.osf__card{display:inline-block;margin-top:14px;color:var(--blue);font-weight:600;font-size:14px;}
.osf__bottom{border-top:1px solid #ececf2;}
.osf__bottom .osf__in{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center;padding:22px 24px;}
.osf__bottom small{color:#9aa0b0;font-size:13px;max-width:560px;}
.osf__bottom a{color:var(--blue);font-weight:600;font-size:13.5px;}
@media(max-width:900px){.osf__cols{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.osf__cols{grid-template-columns:1fr;}.osf__top{flex-direction:column;}}

/* Урок в режиме «фокус»: слева висит панель со списком уроков (position:fixed,
   350px). Контент её обходит через margin-left, а подвал лежит прямо в body —
   и уезжал под панель. Повторяем отступ контента. Ниже 769px панель не
   занимает место, там отступ не нужен. */
@media (min-width:769px){
	body.ld-in-focus-mode footer.osf{margin-left:350px;transition:margin-left .3s ease;}
	body.ld-in-focus-mode:has(.ld-focus.ld-focus-sidebar-collapsed) footer.osf{margin-left:50px;}
}

/* os-cert-notice-css */

.os-cert-notice{margin:18px auto 0;max-width:640px;background:linear-gradient(135deg,#eef3ff,#f7f9ff);border:1px solid #e1e7ff;border-radius:16px;padding:20px 22px;text-align:left;font-family:'Wix Madefor Display',-apple-system,Segoe UI,Roboto,sans-serif;}
.os-cert-notice__head{font-weight:800;font-size:17px;color:#10131a;margin:0 0 8px;line-height:1.4;}
.os-cert-notice__body{font-size:15px;color:#3a4150;margin:0;line-height:1.6;}
.os-cert-notice__alt{font-size:13px;color:#6b7280;margin:10px 0 0;line-height:1.5;}
.os-cert-notice a{color:#0037FF;font-weight:600;text-decoration:none;}
.os-cert-notice a:hover{text-decoration:underline;}

/* os-divi-btn */

.et_pb_button_module_wrapper{margin:24px 0;}
.et_pb_button_alignment_center{text-align:center;}
.et_pb_button_alignment_right{text-align:right;}
.et_pb_button,a.et_pb_button{
  display:inline-block;background:#0037FF;color:#fff !important;
  font-weight:700;font-size:16px;line-height:1.2;
  padding:14px 32px;border-radius:30px;border:0;
  text-decoration:none !important;cursor:pointer;
  transition:transform .15s,box-shadow .15s,background .15s;
}
.et_pb_button:hover,a.et_pb_button:hover{
  background:#0030e0;color:#fff !important;
  transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,55,255,.25);
}
/* лендинг бесплатного курса (14589): свой hero — прячем дублирующий заголовок темы */
body.page-id-14589 .entry-header{display:none;}

/* os-gp-brand */

:root{
  --blue:#2945F2;--blue-600:#1B33D6;--blue-700:#1426A3;--blue-soft:#E9ECFF;--blue-soft-2:#F2F4FF;
  --green:#15A06B;--green-soft:#E6F6EE;
  --ink:#101828;--ink-2:#2B3445;--muted:#5A6678;--muted-2:#8A94A6;
  --line:#E6EAF2;--line-2:#EEF1F7;--surface:#F4F7FC;--surface-2:#FBFCFE;--white:#FFFFFF;
  --radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--pill:999px;
  --shadow-sm:0 2px 8px rgba(16,24,40,.04),0 1px 2px rgba(16,24,40,.05);
  --shadow-md:0 12px 32px rgba(16,24,40,.08),0 4px 12px rgba(16,24,40,.04);
  --shadow-lg:0 28px 64px rgba(20,40,90,.14);
}
body,button,input,select,textarea,.main-navigation .main-nav ul li a{font-family:'Onest',-apple-system,Segoe UI,Roboto,sans-serif;}
body{color:var(--ink);}
/* белый фон вместо серого GP по бокам */
body,body.separate-containers,.site-content,.site{background-color:#fff!important;}
/* ширина контейнера */
.grid-container{max-width:1200px;}
/* шапка */
.site-header{background:#fff;border-bottom:1px solid #ececf2;}
.inside-header{padding:12px 0;align-items:center;}
.site-logo img,.header-image{content:url('https://edu.onstudy.org/wp-content/uploads/os-logo-onest.png')!important;height:40px!important;width:auto!important;}
.main-title,.main-title a{color:var(--ink);font-weight:800;}
.site-description{color:var(--muted);}
/* навигация */
.main-navigation,.main-navigation ul,.main-navigation .main-nav ul li a{background:transparent;}
/* как на onstudy.org: 14px / вес 400 / чёрный / letter-spacing -0.28px, ховер = opacity .7 */
.main-navigation .main-nav ul li a{font-weight:400;font-size:14px;color:#000;text-transform:none;letter-spacing:-.02em;transition:opacity .15s;}
/* убираем серую подложку GP при наведении/фокусе — как на onstudy.org (только лёгкое затемнение) */
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li.sfHover>a,
.main-navigation .main-nav ul li.current-menu-ancestor>a{color:#000 !important;opacity:.7;background:transparent !important;background-color:transparent !important;}
/* текущий пункт: как на главном — обычный (без синего), но БЕЗ серой плитки (дефолт GP) */
.main-navigation .main-nav ul li.current-menu-item>a,
.main-navigation .main-nav ul li.current_page_item>a,
.main-navigation .main-nav ul li.current-menu-item>a:hover,
.main-navigation .main-nav ul li.current_page_item>a:hover{background:transparent!important;background-color:transparent!important;color:#000!important;opacity:1!important;font-weight:400;}
.navigation-search input{color:var(--ink);}
/* бургер мобильного меню — синий квадрат, иконка белая */
.main-navigation .menu-toggle{background:var(--blue)!important;border-radius:10px!important;}
.main-navigation .menu-toggle,
.main-navigation .menu-toggle .gp-icon,
.main-navigation .menu-toggle svg,
.main-navigation .menu-toggle:before,
.main-navigation .menu-toggle .mobile-menu{color:#fff!important;}
.main-navigation .menu-toggle svg,
.main-navigation .menu-toggle svg *{fill:#fff!important;}
/* типографика */
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.01em;}
.entry-content a,.site-main a{color:var(--blue);}
/* кнопки */
.button,button:not(.menu-toggle):not(.search-submit):not(.os-ln-face):not([class*="-face"]):not([class*="emoji"]):not([class*="icon-only"]):not(.os-ann-toggle):not(.os-plain-btn),input[type=submit],input[type=button],
.wp-block-button__link,.ld-button,.learndash-wrapper .ld-button{
  background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;border-radius:10px;}
/* кнопки-смайлики/иконки виджета впечатлений — без подложки (их красило общее правило) */
.os-ln-face,.os-ln-face:hover{background:none!important;background-color:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;}
.button:hover,.wp-block-button__link:hover,.ld-button:hover{filter:brightness(.94);}
/* LearnDash акценты */
.learndash-wrapper .ld-primary-color,.learndash-wrapper .ld-primary-color-hover:hover,
.learndash-wrapper .ld-breadcrumbs a,.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover{color:var(--blue)!important;}
.learndash-wrapper .ld-primary-background,
.learndash-wrapper .ld-progress-bar .ld-progress-bar-percentage{background-color:var(--blue)!important;}
/* статус-бейдж «В прогрессе»: белый текст на синем (был серый, плохой контраст) */
.learndash-wrapper .ld-status.ld-status-progress,
.learndash-wrapper .ld-status.ld-primary-background,
.learndash-wrapper .ld-status.ld-status-progress *{color:#fff!important;}
/* «Отметить завершенным» в контенте — бренд-пилюля (в хедере красит JS) */
.learndash_mark_complete_button{background:var(--blue)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 28px!important;font-weight:700!important;text-shadow:none!important;}
.learndash_mark_complete_button[disabled],.learndash_mark_complete_button:disabled,.learndash_mark_complete_button.ld-disabled{background:#eef1f7!important;color:#9aa0b0!important;cursor:default!important;}
/* текущий урок в focus-меню: светлый фон + читаемый тёмный текст (НЕ сплошная синяя заливка) */
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading,
.learndash-wrapper .ld-table-list-item.ld-is-current-lesson .ld-lesson-item-preview-heading{background:transparent!important;}
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading,
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading a,
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading *{color:#10131a!important;}
/* ⚠️ Исключение: метка «Демо-урок» — синяя плашка с белым текстом. Правило выше красит
   ВСЁ внутри заголовка в тёмный (селектор `*`), и у выбранного урока метка становилась
   чёрной на синем, а у остальных оставалась белой (замечено юзером 16.08.2026). */
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading .ld-status,
.learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading .ld-status *,
.learndash-wrapper .ld-table-list-item.ld-is-current-lesson .ld-lesson-item-preview-heading .ld-status,
.learndash-wrapper .ld-table-list-item.ld-is-current-lesson .ld-lesson-item-preview-heading .ld-status *{color:#fff!important;}
/* подвал */
.site-footer{border-top:1px solid #ececf2;}
.site-info .inside-site-info{padding:18px 0;color:var(--muted);}
.site-info a{color:var(--blue);}
/* убрать пустую featured-image шапку GP на одиночных LMS-страницах (есть свой hero) */
.single-sfwd-courses .featured-image,.single-sfwd-lessons .featured-image,.single-sfwd-topic .featured-image,.single-sfwd-quiz .featured-image,.single .page-header-image-single{display:none!important;}
/* контент-отступы */
.site-content .content-area{padding-top:8px;}
@media(max-width:768px){.inside-header{padding:10px 0;}.site-logo img{height:38px!important;}}

/* os-ldprog-css */

/* трек */
.learndash-wrapper .ld-progress .ld-progress-bar{
	background:#e6ebf4 !important; height:10px !important; border-radius:10px !important; overflow:hidden;
}
/* заливка — фирменный синий градиент */
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage{
	background:linear-gradient(90deg,#2945F2,#5b73ff) !important;
	height:10px !important; border-radius:10px !important; transition:width .45s ease;
}
/* «0% Завершено» — синим вместо зелёного */
.learndash-wrapper .ld-progress .ld-progress-percentage,
.learndash-wrapper .ld-progress .ld-progress-percentage.ld-secondary-color{
	color:#2945F2 !important; font-weight:700 !important;
}
/* «Последняя активность …» — мягкий серый */
.learndash-wrapper .ld-progress .ld-progress-steps{
	color:#8a90a2 !important; font-weight:500 !important;
}

/* os-lsn-redesign */

/* ============ ИНКРЕМЕНТ 1: ТОП-БАР ============ */
/* вся страница урока на светлом surface (бьём белый !important от gp-brand) */
body.ld-in-focus-mode,body.ld-in-focus-mode.separate-containers,body.ld-in-focus-mode .site-content,body.ld-in-focus-mode .site{background:#EEF1F7 !important;background-color:#EEF1F7 !important;}
body.ld-in-focus-mode .ld-focus-content,
body.ld-in-focus-mode .ld-focus-content .learndash-wrapper,
body.ld-in-focus-mode .ld-focus-content .learndash,
body.ld-in-focus-mode .ld-tabs,body.ld-in-focus-mode .ld-tabs-content,body.ld-in-focus-mode .ld-tab-content{background:transparent !important;}
body.ld-in-focus-mode .ld-tabs-navigation{display:none !important;} /* верхний бар Урок/Материалы убран — материалы в нижней вкладке */

.ld-focus-header{
  height:66px !important;min-height:66px !important;
  background:rgba(255,255,255,.88) !important;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px) !important;
  border-bottom:1px solid var(--line) !important;box-shadow:none !important;
  padding:0 30px !important;display:flex !important;align-items:center !important;gap:14px !important;
}
.ld-focus-header > *{margin:0 !important;}
.ld-focus-header .ld-brand-logo{flex:0 0 auto !important;display:flex !important;align-items:center !important;}
.ld-focus-header .ld-brand-logo img{content:url('https://edu.onstudy.org/wp-content/uploads/os-logo-onest.png') !important;height:26px !important;width:auto !important;}

/* «Вернуться к программам» (инжектится JS после лого) */
.os-to-programs{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;transition:color .15s;flex:0 0 auto;}
.os-to-programs:hover{color:var(--blue);}
.os-to-programs svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}
.os-top-divider{width:1px;height:24px;background:#C3CCDB;flex:0 0 auto;}

/* прогресс курса по центру */
.ld-focus-header .ld-progress{flex:1 1 auto !important;max-width:460px !important;display:block !important;margin-left:22px !important;}
.ld-focus-header .ld-progress .os-prog-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px;white-space:nowrap;gap:14px;}
.ld-focus-header .ld-progress .os-prog-row b{font-size:13.5px;font-weight:700;color:var(--ink);}
.ld-focus-header .ld-progress .os-prog-row span{font-size:12.5px;color:var(--muted);}
.ld-focus-header .ld-progress .ld-progress-steps,
.ld-focus-header .ld-progress .ld-progress-percentage{display:none !important;}
.ld-focus-header .ld-progress .ld-progress-bar{height:7px !important;border-radius:5px !important;background:var(--line) !important;overflow:hidden !important;margin:0 !important;border:0 !important;}
.ld-focus-header .ld-progress .ld-progress-bar .ld-progress-bar-percentage{background:linear-gradient(90deg,var(--blue),#5b73ff) !important;border-radius:5px !important;height:100% !important;}

/* правый блок: действия + юзер */
.ld-focus-header .ld-content-actions{margin-left:auto !important;display:flex !important;align-items:center !important;gap:12px !important;flex:0 0 auto !important;}
/* скрыть пустые prev/next в шапке (чёрточки) — оставить только «К списку занятий» */
.ld-focus-header .ld-content-actions .ld-content-action{display:none !important;}
.ld-focus-header .ld-content-actions .ld-content-action:has(a[data-os-back]),
.ld-focus-header .ld-content-actions .ld-content-action:has(.os-back){display:flex !important;}
/* «К списку занятий» — наша back-кнопка как pill (и репурпос-ссылка LD, и созданная .os-back) */
body.ld-in-focus-mode .ld-focus-header .os-back,
body.ld-in-focus-mode .ld-focus-header .ld-content-actions a[data-os-back],
body.ld-in-focus-mode .ld-focus-header .ld-content-action a[data-os-back],
body.ld-in-focus-mode .ld-focus-header .ld-content-actions a{display:inline-flex !important;align-items:center !important;gap:8px !important;font-size:14.5px !important;font-weight:600 !important;color:var(--ink-2) !important;padding:9px 16px !important;border:1.5px solid var(--line) !important;border-radius:999px !important;background:#fff !important;transition:.15s !important;white-space:nowrap !important;box-shadow:none !important;text-decoration:none !important;}
body.ld-in-focus-mode .ld-focus-header .os-back:hover,
body.ld-in-focus-mode .ld-focus-header .ld-content-actions a:hover{border-color:var(--blue) !important;color:var(--blue) !important;background:#fff !important;}
.ld-focus-header .os-back .os-back-ar{font-size:16px !important;}
/* mark-complete пока прячем из шапки (переедет под видео в инкременте «контент») */
.ld-focus-header .sfwd-mark-complete{display:none !important;}

.ld-focus-header .ld-user-menu{flex:0 0 auto !important;display:flex !important;align-items:center !important;}
.ld-focus-header .ld-profile-avatar img,
.ld-focus-header .ld-user-menu .ld-profile-avatar img{width:38px !important;height:38px !important;border-radius:50% !important;border:0 !important;}
.ld-focus-header .ld-user-welcome-text{color:var(--ink-2) !important;font-weight:600 !important;font-size:14px !important;}

@media(max-width:1140px){.ld-focus-header .ld-progress{display:none !important;}}
@media(max-width:820px){
  .ld-focus-header{gap:12px !important;padding:0 16px !important;}
  .os-to-programs,.os-top-divider{display:none !important;}
  /* back-кнопка — это a[data-os-back] (не .os-back): прячем лейбл, оставляем стрелку ‹ */
  .ld-focus-header .os-back .lbl,
  .ld-focus-header a[data-os-back] .lbl,
  .ld-focus-header .ld-content-actions a .lbl{display:none !important;}
  .ld-focus-header a[data-os-back]{padding:9px 12px !important;}
  .ld-focus-header .ld-user-welcome-text{display:none !important;}
}
@media(max-width:600px){
  .ld-focus-header{padding:0 12px !important;gap:8px !important;}
}

/* os-umctl-css */

/* ⚠️ Опираемся ТОЛЬКО на input:checked. Класс .active, который UM вешает на подпись,
   для этого не годится: проверено кликом — он появляется при СНЯТИИ галочки. */
.um .um-field-checkbox,.um .um-field-radio{display:inline-flex !important;align-items:center;
gap:10px;cursor:pointer;user-select:none;}
.um .um-field-checkbox input[type=checkbox],.um .um-field-radio input[type=radio]{
position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;margin:0 !important;}
.um .um-field-checkbox-state,.um .um-field-radio-state{flex:none;width:20px;height:20px;
border:1.5px solid #D7DEEA;background:#fff;display:grid !important;place-items:center;
font-size:0 !important;transition:background .15s,border-color .15s;}
.um .um-field-checkbox-state{border-radius:6px;}
.um .um-field-radio-state{border-radius:50%;}
.um .um-field-checkbox-state i,.um .um-field-radio-state i{display:none !important;}

/* галочка */
.um .um-field-checkbox-state::after{content:"";width:10px;height:6px;margin-top:-2px;
border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.4);
opacity:0;transition:opacity .15s,transform .15s;}
.um .um-field-checkbox input:checked+.um-field-checkbox-state{background:#2945F2;border-color:#2945F2;}
.um .um-field-checkbox input:checked+.um-field-checkbox-state::after{opacity:1;transform:rotate(-45deg) scale(1);}

/* точка внутри radio */
.um .um-field-radio-state::after{content:"";width:8px;height:8px;border-radius:50%;
background:#fff;transform:scale(.4);opacity:0;transition:opacity .15s,transform .15s;}
.um .um-field-radio input:checked+.um-field-radio-state{background:#2945F2;border-color:#2945F2;}
.um .um-field-radio input:checked+.um-field-radio-state::after{opacity:1;transform:scale(1);}

.um .um-field-checkbox input:focus-visible+.um-field-checkbox-state,
.um .um-field-radio input:focus-visible+.um-field-radio-state{box-shadow:0 0 0 4px rgba(41,69,242,.18);}
.um .um-field-checkbox-option,.um .um-field-radio-option{font-size:14.5px;color:#2B3445;}
@media (prefers-reduced-motion:reduce){
.um .um-field-checkbox-state,.um .um-field-radio-state,
.um .um-field-checkbox-state::after,.um .um-field-radio-state::after{transition:none !important;}
}

/* os-lg-css */

.oslg{
--b:#2945F2;--b6:#1B33D6;--b7:#1426A3;--bs:#E9ECFF;--bs2:#F2F4FF;
--ink:#101828;--ink2:#2B3445;--mut:#5A6678;--mut2:#667085;
--line:#E6EAF2;--line2:#EEF1F7;--surf:#F4F7FC;--surf2:#FBFCFE;
--rxl:28px;--rlg:22px;--rmd:16px;--rsm:12px;--pill:999px;
--sh-sm:0 2px 8px rgba(16,24,40,.04),0 1px 2px rgba(16,24,40,.05);
--sh-md:0 12px 32px rgba(16,24,40,.08),0 4px 12px rgba(16,24,40,.04);
--sh-lg:0 28px 64px rgba(20,40,90,.14);
--sh-b:0 14px 30px rgba(41,69,242,.30);
}
/* Страница чисто белая.
   ⚠️ Мягкая заливка сверху из макета здесь не работает: контейнер темы (.grid-container,
   1200px) непрозрачно-белый, поэтому градиент был виден ТОЛЬКО узкими полосами по бокам
   от него — читалось как дефект. Поэтому фон ровный. */
body,body.separate-containers{background:#fff !important;background-image:none !important;}
.oslg{font-family:Onest,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
color:var(--ink);padding:20px 0 44px;-webkit-font-smoothing:antialiased;}
.oslg *,.oslg *::before,.oslg *::after{box-sizing:border-box;}
.oslg h1,.oslg h2,.oslg h3,.oslg h4{margin:0;font-weight:800;letter-spacing:-.022em;line-height:1.1;text-wrap:balance;}
.oslg p{margin:0;}

/* ---------- ВХОД: одна карточка по центру ---------- */
.oslg-solo{max-width:520px;margin:0 auto 40px;}
.oslg-intro{text-align:center;margin-bottom:18px;}
.oslg-intro .oslg-kicker{justify-content:center;}
/* На телефоне эта строка съедала место над формой, а адрес и так виден в адресной
   строке браузера. На компьютере оставляем — там места хватает. */
@media (max-width:600px){.oslg-intro .oslg-kicker{display:none;}}
.oslg-h1{font-size:clamp(24px,2.5vw,30px);letter-spacing:-.025em;margin-top:9px;}
.oslg-lead{margin-top:7px;font-size:15px;line-height:1.5;color:var(--mut);text-wrap:pretty;}

.oslg-card{background:#fff;border:1px solid var(--line);border-radius:var(--rxl);box-shadow:var(--sh-lg);
padding:24px 30px 20px;display:flex;flex-direction:column;}
.oslg-card__t{font-size:22px;}
.oslg-card__s{margin-top:5px;font-size:14px;color:var(--mut);line-height:1.45;}
.oslg-alert{margin-top:18px;background:#FEF4F3;border:1px solid #F7D4D1;border-radius:var(--rsm);
padding:12px 14px;font-size:14px;line-height:1.5;color:#B03A2E;}
.oslg-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 0 10px;padding:3px;
background:var(--surf);border-radius:var(--pill);}
.oslg-tabs button{background:transparent !important;border:0 !important;border-radius:var(--pill) !important;
padding:8px 8px !important;font:600 14.5px/1.2 inherit !important;color:var(--mut) !important;
cursor:pointer !important;box-shadow:none !important;transition:.18s;}
.oslg-tabs button.is-active{background:#fff !important;color:var(--ink) !important;box-shadow:var(--sh-sm) !important;}
.oslg-f{margin-top:11px;}
.oslg-f label{display:block;margin-bottom:4px;font-size:13.5px;font-weight:600;color:var(--ink2);}
.oslg-f input{width:100%;height:46px;border:1.5px solid var(--line) !important;border-radius:var(--rsm) !important;
background:var(--surf2) !important;padding:0 18px !important;font:400 16px/1.3 inherit !important;
color:var(--ink) !important;box-shadow:none !important;transition:.18s;}
.oslg-f input:focus{outline:none;border-color:var(--b) !important;background:#fff !important;
box-shadow:0 0 0 4px rgba(41,69,242,.12) !important;}
.oslg-code{letter-spacing:.42em;font-weight:700 !important;font-size:20px !important;text-align:center;}
.oslg-msg{margin-top:14px;background:#E6F6EE;border-radius:var(--rsm);padding:12px 14px;
font-size:14px;line-height:1.5;color:#0F7A51;font-weight:500;}
.oslg-msg.is-bad{background:#FEF4F3;color:#B03A2E;}
.oslg-go{width:100%;height:48px;margin-top:14px;background:var(--b) !important;color:#fff !important;
border:0 !important;border-radius:var(--pill) !important;font:600 16px/1.2 inherit !important;
cursor:pointer !important;box-shadow:var(--sh-b) !important;transition:.18s;}
.oslg-go:hover{background:var(--b6) !important;transform:translateY(-2px);}
.oslg-go[disabled],.oslg-alt[disabled]{opacity:.65;transform:none;cursor:default !important;}
.oslg-again{width:100%;margin-top:10px;background:transparent !important;color:var(--mut) !important;
border:0 !important;padding:8px !important;font:600 14px/1.2 inherit !important;cursor:pointer !important;
text-decoration:underline;box-shadow:none !important;}
.oslg-fine{margin-top:14px;font-size:13px;line-height:1.5;color:var(--mut2);}
.oslg-or{display:flex;align-items:center;gap:14px;margin:13px 0;font-size:13px;color:var(--mut2);}
.oslg-or::before,.oslg-or::after{content:"";flex:1;height:1px;background:var(--line);}
/* ⚠️ Была жёсткая height:44px. Подпись в две строки упиралась в края — кнопка
   выглядела сплющенной на телефоне (скриншот 01.09.2026). Теперь высота растёт
   под текст: min-height + внутренние поля + нормальный межстрочный. */
.oslg-alt{display:inline-flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:10px;
padding:12px 18px !important;text-align:center;
background:#fff !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;
border-radius:var(--pill) !important;font:600 15.5px/1.35 inherit !important;cursor:pointer !important;
box-shadow:none !important;transition:.18s;}
.oslg-alt:hover{border-color:var(--b) !important;color:var(--b) !important;}
.oslg-alt svg{width:18px;height:18px;flex:none;}
.oslg-note{margin-top:13px;padding-top:13px;border-top:1px solid var(--line2);
font-size:13.5px;color:var(--mut);text-align:center;}
.oslg-note a{font-weight:600;color:var(--b);text-decoration:none;}
.oslg-note a:hover{text-decoration:underline;}
.oslg-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:9px;
font-size:12.5px;color:var(--mut2);}
.oslg-secure svg{width:14px;height:14px;flex:none;}
/* Невысокое окно (ноутбук): карточка входа должна помещаться без прокрутки.
   Подзаголовок над карточкой — украшение, на таких экранах он уходит первым. */
@media (max-height:880px){
.oslg{padding:10px 0 28px;}
.oslg-intro{margin-bottom:12px;}
.oslg-lead{display:none;}
.oslg-h1{font-size:24px;margin-top:6px;}
.oslg-card{padding:20px 26px 16px;}
.oslg-card__s{display:none;}
.oslg-secure{display:none;}
.oslg-note{margin-top:10px;padding-top:10px;}
}


/* форма Ultimate Member внутри карточки */
.oslg-card .um{margin:0 !important;max-width:none !important;}
.oslg-card .um-form input[type=text],.oslg-card .um-form input[type=password],
.oslg-card .um-form input[type=email]{height:46px;border:1.5px solid var(--line) !important;
border-radius:var(--rsm) !important;padding:0 18px !important;font-size:16px !important;
background:var(--surf2) !important;box-shadow:none !important;}
.oslg-card .um-form input:focus{border-color:var(--b) !important;background:#fff !important;
box-shadow:0 0 0 4px rgba(41,69,242,.12) !important;}
.oslg-card .um .um-field-input .um-field-password{border:1.5px solid var(--line) !important;
border-radius:var(--rsm) !important;background:var(--surf2) !important;overflow:hidden !important;padding:0 !important;}
.oslg-card .um .um-field-input .um-field-password:focus-within{border-color:var(--b) !important;
background:#fff !important;box-shadow:0 0 0 4px rgba(41,69,242,.12) !important;}
/* Глазок у пароля. Кнопку кладём в поле абсолютом, а не флексом: разметка Ultimate
   Member — .um-field-password > .um-field-area > input, флекс там не задан.
   ⚠️ Селектор по id: onstudy-gp-brand-edu красит ЛЮБУЮ кнопку сайта в синий правилом
   с !important, и перебить его можно только большей специфичностью — то есть id. */
.oslg-card .um-field-password .um-field-area{position:relative;}
.oslg-card .um-field-password .um-field-area input{padding-right:46px !important;}
#oslgEye{position:absolute !important;right:5px;top:50%;transform:translateY(-50%);
width:36px;height:36px;display:flex !important;align-items:center;justify-content:center;
background:transparent !important;border:0 !important;border-radius:8px !important;
padding:0 !important;margin:0 !important;box-shadow:none !important;cursor:pointer !important;
color:#8A93A6 !important;transition:.15s;}
#oslgEye:hover{color:var(--ink) !important;background:rgba(16,24,40,.05) !important;}
#oslgEye:focus-visible{outline:2px solid var(--b) !important;outline-offset:1px;}
#oslgEye svg{width:19px;height:19px;display:block;pointer-events:none;}
.oslg-card .um .um-field-input .um-field-password input[type=password]{height:44px;border:0 !important;
border-radius:0 !important;box-shadow:none !important;background:transparent !important;
outline:none !important;flex:1 !important;}
.oslg-card .um .um-button,.oslg-card .um input[type=submit].um-button{background:var(--b) !important;
border:0 !important;border-radius:var(--pill) !important;width:100% !important;height:48px !important;
padding:0 !important;font-size:16px !important;font-weight:600 !important;cursor:pointer !important;
box-shadow:var(--sh-b) !important;}
.oslg-card .um .um-button:hover{background:var(--b6) !important;}
.oslg-card .um-forgot-pw a,.oslg-card a.um-link-alt{font-size:14.5px !important;font-weight:600 !important;
color:var(--b) !important;text-decoration:none !important;}
.oslg-card .um-forgot-pw a:hover,.oslg-card a.um-link-alt:hover{color:var(--b6) !important;text-decoration:underline !important;}
/* Чекбокс «Запомнить меня» рисует общий плагин onstudy-um-controls-edu.php — здесь дубля нет. */

/* ---------- ОБЩИЕ СЕКЦИИ ---------- */
.oslg-sec{margin:0 0 64px;}
.oslg-sec--surface{background:var(--surf);border-radius:var(--rxl);padding:52px 44px;}
.oslg-head{text-align:center;max-width:760px;margin:0 auto 46px;}
.oslg-kicker{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;
letter-spacing:.04em;text-transform:uppercase;color:var(--b);}
.oslg-kicker::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--b);}
.oslg-h2{font-size:clamp(28px,3.6vw,42px);margin-top:16px;}
.oslg-sub{margin-top:16px;font-size:18px;line-height:1.55;color:var(--mut);}

.oslg-help{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.oslg-hc{background:#fff;border:1px solid var(--line);border-radius:var(--rlg);padding:26px 24px;
display:flex;flex-direction:column;transition:.2s;}
.oslg-hc:hover{border-color:var(--b);box-shadow:var(--sh-md);transform:translateY(-3px);}
.oslg-hc__i{width:44px;height:44px;border-radius:13px;background:var(--bs);color:var(--b);
display:grid;place-items:center;margin-bottom:16px;}
.oslg-hc__i svg{width:21px;height:21px;}
.oslg-hc h3{font-size:18px;font-weight:700;margin-bottom:9px;line-height:1.25;}
.oslg-hc p{font-size:15px;line-height:1.5;color:var(--mut);flex:1;}
.oslg-hc a{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--b);text-decoration:none;}
.oslg-hc a:hover{text-decoration:underline;}

.oslg-inside{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.oslg-inside .oslg-h2{margin-top:14px;}
.oslg-feats{display:grid;gap:16px;margin-top:30px;}
.oslg-feat{display:flex;gap:15px;align-items:flex-start;}
.oslg-feat__n{flex:none;width:34px;height:34px;border-radius:10px;background:var(--ink);color:#fff;
display:grid;place-items:center;font-size:14px;font-weight:700;}
.oslg-feat h4{font-size:17px;font-weight:700;margin-bottom:5px;}
.oslg-feat p{font-size:15px;line-height:1.5;color:var(--mut);}

.oslg-mock{background:#fff;border:1px solid var(--line);border-radius:var(--rxl);
box-shadow:var(--sh-lg);overflow:hidden;}
.oslg-mock__bar{display:flex;align-items:center;gap:7px;padding:13px 16px;background:var(--surf2);
border-bottom:1px solid var(--line2);}
.oslg-mock__bar i{width:10px;height:10px;border-radius:50%;background:#E4E8F0;}
.oslg-mock__bar span{margin-left:10px;font-size:12.5px;color:var(--mut2);background:#fff;
border:1px solid var(--line2);border-radius:var(--pill);padding:4px 12px;}
.oslg-mock__body{padding:24px;}
.oslg-mock__hi{font-size:20px;font-weight:800;letter-spacing:-.02em;}
.oslg-mock__hi span{display:block;margin-top:3px;font-size:14px;font-weight:500;color:var(--mut2);}
.oslg-mock__lvl{margin-top:18px;display:flex;align-items:center;gap:16px;color:#fff;
background:linear-gradient(135deg,#1B2FB8,#3A56FF);border-radius:var(--rmd);padding:18px;}
.oslg-mock__lvl>b{flex:none;font-size:13px;font-weight:700;background:rgba(255,255,255,.2);
border-radius:8px;padding:6px 10px;}
.oslg-mock__lvlb{flex:1;min-width:0;}
.oslg-mock__lvlt{font-size:14px;font-weight:600;margin-bottom:8px;}
.oslg-mock__bar2{height:8px;border-radius:4px;background:rgba(255,255,255,.25);overflow:hidden;}
.oslg-mock__bar2 i{display:block;height:100%;width:0;border-radius:4px;background:#5BE3AC;
transition:width 1.4s cubic-bezier(.2,.8,.25,1);}
.oslg-mock__cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.oslg-mock__c{border:1px solid var(--line2);border-radius:var(--rsm);padding:14px;}
.oslg-mock__c b{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;}
.oslg-mock__c span{font-size:13px;color:var(--mut);}
.oslg-mock__row{margin-top:12px;display:flex;align-items:center;gap:12px;
border:1px solid var(--line2);border-radius:var(--rsm);padding:14px;}
.oslg-mock__th{flex:none;width:52px;height:38px;border-radius:8px;
background:linear-gradient(135deg,#E9ECFF,#CBD3FF);}
.oslg-mock__row>div{flex:1;min-width:0;}
.oslg-mock__row strong{display:block;font-size:14px;font-weight:700;white-space:nowrap;
overflow:hidden;text-overflow:ellipsis;}
.oslg-mock__row small{font-size:12.5px;color:var(--mut);}
.oslg-mock__go{flex:none;background:var(--b);color:#fff;font-size:12.5px;font-weight:600;
border-radius:var(--pill);padding:7px 13px;}

.oslg-faq{max-width:840px;margin:0 auto;display:grid;gap:12px;}
.oslg-q{background:#fff;border:1px solid var(--line);border-radius:var(--rmd);overflow:hidden;transition:.2s;}
.oslg-q.is-open{border-color:var(--b);box-shadow:var(--sh-sm);}
.oslg-q>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;
text-align:left;background:none !important;border:0 !important;box-shadow:none !important;
padding:22px 24px !important;font:600 18px/1.35 inherit !important;color:var(--ink) !important;cursor:pointer !important;}
.oslg-q>button svg{flex:none;width:20px;height:20px;color:var(--b);transition:transform .2s;}
.oslg-q.is-open>button svg{transform:rotate(45deg);}
.oslg-q__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
.oslg-q.is-open .oslg-q__a{grid-template-rows:1fr;}
.oslg-q__a>p{overflow:hidden;font-size:16px;line-height:1.6;color:var(--mut);padding:0 24px;max-width:680px;}
.oslg-q.is-open .oslg-q__a>p{padding-bottom:22px;}

@media (max-width:1080px){
.oslg-help{grid-template-columns:1fr 1fr;}
.oslg-inside{grid-template-columns:1fr;gap:36px;}
.oslg-sec--surface{padding:36px 26px;}
}
@media (max-width:640px){
.oslg{padding:24px 0 48px;}
.oslg-solo{margin-bottom:52px;}
.oslg-card{padding:28px 22px 24px;border-radius:var(--rlg);}
.oslg-card__t{font-size:25px;}
.oslg-help{grid-template-columns:1fr;}
.oslg-sec{margin-bottom:48px;}
}
@media (prefers-reduced-motion:reduce){
.oslg *,.oslg *::before,.oslg *::after{transition:none !important;animation:none !important;}
}

/* ⚠️ onstudy-gp-brand-edu.php красит ЛЮБУЮ кнопку сайта в фирменный синий правилом
   .button,button:not(.menu-toggle):not(.search-submit):not(...){background:var(--blue) !important}
   — пять :not() дают ему специфичность выше любого нашего .oslg-* селектора, и !important
   не спасает. Трогать тот плагин нельзя: на нём держатся кнопки всей платформы.
   Поэтому перебиваем через id — специфичность идентификатора выше в любом случае.
   Синими должны остаться только «Войти» и «Войти по коду». */
#oslgTabs button{background:transparent !important;color:var(--mut) !important;box-shadow:none !important;}
#oslgTabs button.is-active{background:#fff !important;color:var(--ink) !important;box-shadow:var(--sh-sm) !important;}
#oslgMagic{background:#fff !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;
box-shadow:none !important;}
#oslgMagic:hover{border-color:var(--b) !important;color:var(--b) !important;background:#fff !important;}
#oslgOtpAgain{background:transparent !important;color:var(--mut) !important;box-shadow:none !important;}
#oslgFaq .oslg-q>button{background:none !important;color:var(--ink) !important;box-shadow:none !important;}
