

/* =========================================================
   Гильдия роста - безопасная учебная тема GetCourse
   Работает только на body.gr-edu-theme
   Не затрагивает входящие, поддержку, ответы учеников и служебные страницы
   ========================================================= */

:root {
  --gr-bg: #f3f9ff;
  --gr-bg-soft: #eaf7ff;
  --gr-white: #ffffff;

  --gr-blue: #1789e8;
  --gr-blue-light: #24c8ff;
  --gr-blue-dark: #071b3a;
  --gr-blue-text: #0d6fbd;

  --gr-text: #071b3a;
  --gr-muted: #4b6482;
  --gr-muted-2: #6b7c90;

  --gr-border: rgba(23, 137, 232, 0.15);
  --gr-border-strong: rgba(23, 137, 232, 0.26);

  --gr-shadow: 0 22px 70px rgba(23, 98, 177, 0.12);
  --gr-shadow-soft: 0 14px 40px rgba(23, 98, 177, 0.08);
  --gr-shadow-mini: 0 8px 24px rgba(23, 98, 177, 0.07);

  --gr-radius-xl: 30px;
  --gr-radius-lg: 24px;
  --gr-radius-md: 18px;
  --gr-radius-sm: 14px;

  --gr-font: Arial, sans-serif;
}

/* =========================================================
   1. База только для учебных страниц
   ========================================================= */

body.gr-edu-theme {
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.18), transparent 34%),
    radial-gradient(circle at top left, rgba(23, 137, 232, 0.10), transparent 32%),
    var(--gr-bg) !important;
  color: var(--gr-text);
}

body.gr-edu-theme,
body.gr-edu-theme * {
  box-sizing: border-box;
}

body.gr-edu-theme .gc-main-content,
body.gr-edu-theme .standard-page-content,
body.gr-edu-theme .container,
body.gr-edu-theme .xdget-root,
body.gr-edu-theme .lt-lesson,
body.gr-edu-theme .lesson-content,
body.gr-edu-theme .lesson-content-value {
  font-family: var(--gr-font) !important;
}

body.gr-edu-theme .gc-main-content,
body.gr-edu-theme .standard-page-content,
body.gr-edu-theme .xdget-root,
body.gr-edu-theme .lt-page,
body.gr-edu-theme .lt-lesson {
  background: transparent !important;
}

body.gr-edu-theme .container {
  max-width: 1180px !important;
}

/* =========================================================
   2. Хлебные крошки и вкладки
   ========================================================= */

body.gr-edu-theme .breadcrumb,
body.gr-edu-theme .breadcrumbs {
  color: var(--gr-muted) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.gr-edu-theme .breadcrumb a,
body.gr-edu-theme .breadcrumbs a {
  color: var(--gr-blue-text) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.gr-edu-theme .nav-tabs,
body.gr-edu-theme ul.nav {
  border-bottom: 1px solid rgba(23, 137, 232, 0.18) !important;
  margin-bottom: 28px !important;
}

body.gr-edu-theme .nav-tabs > li > a,
body.gr-edu-theme ul.nav > li > a {
  color: #1377c9 !important;
  border-radius: 14px 14px 0 0 !important;
  border: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 12px 18px !important;
}

body.gr-edu-theme .nav-tabs > li > a:hover,
body.gr-edu-theme ul.nav > li > a:hover {
  background: rgba(23, 137, 232, 0.08) !important;
  color: var(--gr-blue-dark) !important;
}

body.gr-edu-theme .nav-tabs > li.active > a,
body.gr-edu-theme ul.nav > li.active > a {
  background: linear-gradient(135deg, #e9f7ff 0%, #ffffff 100%) !important;
  color: var(--gr-blue-dark) !important;
  border: 1px solid rgba(23, 137, 232, 0.16) !important;
  border-bottom-color: #ffffff !important;
  font-weight: 900 !important;
}

/* =========================================================
   3. Шапка тренинга и урока
   ========================================================= */

body.gr-edu-theme .page-header {
  margin: 22px 0 28px !important;
  padding: 30px 34px !important;
  border-radius: var(--gr-radius-xl) !important;
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.18), transparent 42%),
    linear-gradient(135deg, #ffffff 0%, #eff9ff 100%) !important;
  border: 1px solid rgba(23, 137, 232, 0.16) !important;
  box-shadow: var(--gr-shadow-soft) !important;
}

body.gr-edu-theme h1,
body.gr-edu-theme .page-header h1 {
  color: #2d72ad !important;
  font-size: 40px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  margin: 0 !important;
}

body.gr-edu-theme h2 {
  color: var(--gr-blue-dark) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
}

body.gr-edu-theme h3 {
  color: var(--gr-blue-dark) !important;
  font-weight: 900 !important;
}

/* Не создаем искусственные плашки через before */

body.gr-edu-theme .page-header:before,
body.gr-edu-theme .lesson-header-block:before,
body.gr-edu-theme .lesson-header:before,
body.gr-edu-theme .lesson-content:before,
body.gr-edu-theme .lesson-content-value:before,
body.gr-edu-theme .lt-lesson:before,
body.gr-edu-theme .lesson-main:before,
body.gr-edu-theme .main-page-block:before {
  content: none !important;
  display: none !important;
}

/* =========================================================
   4. Кнопки на учебных страницах
   ========================================================= */

body.gr-edu-theme .btn-success,
body.gr-edu-theme .btn-primary,
body.gr-edu-theme button.btn-success,
body.gr-edu-theme button.btn-primary,
body.gr-edu-theme input[type="submit"] {
  background: linear-gradient(135deg, var(--gr-blue) 0%, var(--gr-blue-light) 100%) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(23, 137, 232, 0.24) !important;
}

body.gr-edu-theme .btn-default,
body.gr-edu-theme .dropdown-toggle {
  background: #ffffff !important;
  border: 1px solid rgba(23, 137, 232, 0.16) !important;
  border-radius: 999px !important;
  color: var(--gr-blue-dark) !important;
  font-weight: 850 !important;
  box-shadow: 0 10px 24px rgba(23, 98, 177, 0.08) !important;
}

body.gr-edu-theme .page-header .btn,
body.gr-edu-theme .page-header .btn-primary,
body.gr-edu-theme .page-header .btn-success,
body.gr-edu-theme .page-header .dropdown-toggle {
  background: rgba(255, 255, 255, 0.90) !important;
  border: 1px solid rgba(23, 137, 232, 0.18) !important;
  color: #0b6dbc !important;
  box-shadow: 0 10px 24px rgba(23, 98, 177, 0.10) !important;
}

/* =========================================================
   5. Список тренингов и подтренингов
   Не меняем display table/tr/td
   ========================================================= */

body.gr-edu-theme .stream-table,
body.gr-edu-theme .xdget-trainingList .stream-table {
  width: 100% !important;
  padding: 18px !important;
  border-radius: var(--gr-radius-xl) !important;
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.14), transparent 38%),
    linear-gradient(135deg, #edf8ff 0%, #f8fcff 100%) !important;
  border: 1px solid rgba(23, 137, 232, 0.14) !important;
  box-shadow: var(--gr-shadow-soft) !important;
  border-collapse: separate !important;
  border-spacing: 0 14px !important;
}

body.gr-edu-theme .stream-table tr {
  background: transparent !important;
}

body.gr-edu-theme .stream-table td {
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.10), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fcff 100%) !important;
  border: 1px solid rgba(23, 137, 232, 0.12) !important;
  border-radius: 24px !important;
  padding: 24px 28px !important;
  box-shadow: var(--gr-shadow-mini) !important;
}

body.gr-edu-theme .stream-table a {
  color: var(--gr-blue-text) !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}

body.gr-edu-theme .stream-title,
body.gr-edu-theme .stream-table .stream-title,
body.gr-edu-theme .stream-table tr a .stream-title {
  color: var(--gr-blue-text) !important;
  font-size: 23px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

body.gr-edu-theme .stream-title + div,
body.gr-edu-theme .stream-table tr a > div:not(.stream-title) {
  margin-top: 8px !important;
  color: var(--gr-muted) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

/* =========================================================
   6. Список уроков внутри тренинга
   Не трогаем table/tr/td
   ========================================================= */

body.gr-edu-theme .lesson-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 22px !important;
  border-radius: var(--gr-radius-xl) !important;
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.14), transparent 38%),
    linear-gradient(135deg, #edf8ff 0%, #f7fcff 100%) !important;
  border: 1px solid rgba(23, 137, 232, 0.14) !important;
  box-shadow: var(--gr-shadow-soft) !important;
  list-style: none !important;
}

body.gr-edu-theme .lesson-list li {
  position: relative !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(23, 137, 232, 0.12) !important;
  box-shadow: var(--gr-shadow-mini) !important;
}

body.gr-edu-theme .lesson-list li .info {
  position: relative !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 22px 28px !important;
  border-left: 6px solid var(--gr-blue) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.08), transparent 38%),
    linear-gradient(135deg, #ffffff 0%, #f8fcff 100%) !important;
}

body.gr-edu-theme .lesson-list li .title,
body.gr-edu-theme .lesson-list li .link,
body.gr-edu-theme .lesson-list li .item-title,
body.gr-edu-theme .lesson-list li .lesson-title,
body.gr-edu-theme .lesson-list li .info > a,
body.gr-edu-theme .lesson-list li .info b,
body.gr-edu-theme .lesson-list li .info strong {
  color: var(--gr-blue-text) !important;
  font-size: 23px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.gr-edu-theme .lesson-list li .info a {
  color: var(--gr-blue-text) !important;
  text-decoration: none !important;
}

body.gr-edu-theme .lesson-list li .description,
body.gr-edu-theme .lesson-list li .descr,
body.gr-edu-theme .lesson-list li .info p,
body.gr-edu-theme .lesson-list li small {
  color: var(--gr-muted) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
}

body.gr-edu-theme .lesson-list li:before,
body.gr-edu-theme .lesson-list li:after {
  content: none !important;
  display: none !important;
}

body.gr-edu-theme .lesson-list li.user-state-not_reached {
  opacity: 0.72 !important;
  background: #f8fbff !important;
}

body.gr-edu-theme .lesson-list li.user-state-not_reached .info {
  border-left-color: #b9c8d8 !important;
}

/* =========================================================
   7. Контент урока
   Не используем .comments, .answers, .answer, .comment
   ========================================================= */

body.gr-edu-lesson .lesson-content,
body.gr-edu-lesson .lesson-content-value,
body.gr-edu-lesson .lt-lesson,
body.gr-edu-lesson .lesson-main,
body.gr-edu-lesson .main-page-block {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.gr-edu-lesson .lesson-content .lt-block,
body.gr-edu-lesson .lesson-content-value .lt-block {
  margin-bottom: 20px !important;
  border-radius: var(--gr-radius-lg) !important;
}

/* =========================================================
   8. Текст в уроках
   ========================================================= */

body.gr-edu-lesson .f-text,
body.gr-edu-lesson .lesson-text,
body.gr-edu-lesson .lesson-content .text,
body.gr-edu-lesson .lesson-content-value {
  color: var(--gr-text) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}

body.gr-edu-lesson .f-text p,
body.gr-edu-lesson .lesson-text p,
body.gr-edu-lesson .lesson-content p,
body.gr-edu-lesson .lesson-content-value p {
  color: var(--gr-text) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  margin: 0 0 16px !important;
}

body.gr-edu-lesson .lesson-content a,
body.gr-edu-lesson .lesson-content-value a,
body.gr-edu-lesson .f-text a {
  color: var(--gr-blue-text) !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

/* =========================================================
   9. Видео и iframe
   Безопасно: не трогаем внутреннюю структуру плеера
   ========================================================= */

body.gr-edu-lesson .lesson-content iframe,
body.gr-edu-lesson .lesson-content-value iframe,
body.gr-edu-lesson .f-text iframe,
body.gr-edu-lesson .lesson-content video,
body.gr-edu-lesson .lesson-content-value video,
body.gr-edu-lesson .f-text video {
  max-width: 100% !important;
  border-radius: var(--gr-radius-lg) !important;
  border: 0 !important;
}

body.gr-edu-lesson .lt-video,
body.gr-edu-lesson .video,
body.gr-edu-lesson .video-wrapper,
body.gr-edu-lesson .vhi-root,
body.gr-edu-lesson .gc-video,
body.gr-edu-lesson .embed-responsive,
body.gr-edu-lesson .responsive-video {
  max-width: 100% !important;
}

/* =========================================================
   10. Картинки, таблицы, формы
   ========================================================= */

body.gr-edu-lesson .lesson-content img,
body.gr-edu-lesson .lesson-content-value img,
body.gr-edu-lesson .f-text img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: var(--gr-radius-md) !important;
}

body.gr-edu-lesson .lesson-content table:not(.stream-table),
body.gr-edu-lesson .lesson-content-value table:not(.stream-table),
body.gr-edu-lesson .f-text table:not(.stream-table) {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border-radius: var(--gr-radius-md) !important;
  background: #ffffff !important;
  border: 1px solid rgba(23, 137, 232, 0.14) !important;
  box-shadow: var(--gr-shadow-mini) !important;
}

body.gr-edu-theme input[type="text"],
body.gr-edu-theme input[type="email"],
body.gr-edu-theme input[type="password"],
body.gr-edu-theme input[type="tel"],
body.gr-edu-theme input[type="number"],
body.gr-edu-theme input[type="search"],
body.gr-edu-theme textarea,
body.gr-edu-theme select {
  border-radius: var(--gr-radius-sm) !important;
  border: 1px solid rgba(23, 137, 232, 0.22) !important;
  background: #f8fcff !important;
  color: var(--gr-text) !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

/* =========================================================
   11. Домашние задания и формы ответа только внутри урока
   ========================================================= */

body.gr-edu-lesson .lesson-mission-wrapper,
body.gr-edu-lesson .lesson-mission,
body.gr-edu-lesson .mission,
body.gr-edu-lesson .mission-block,
body.gr-edu-lesson .task,
body.gr-edu-lesson .assignment {
  margin: 28px 0 !important;
  padding: 28px !important;
  border-radius: var(--gr-radius-xl) !important;
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.14), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #eaf7ff 100%) !important;
  border: 1px solid var(--gr-border-strong) !important;
  box-shadow: var(--gr-shadow-soft) !important;
}

body.gr-edu-lesson .answer-form,
body.gr-edu-lesson .user-answer-form,
body.gr-edu-lesson .new-answer,
body.gr-edu-lesson .add-answer-form {
  margin: 24px 0 !important;
  padding: 24px !important;
  border-radius: var(--gr-radius-lg) !important;
  background: #ffffff !important;
  border: 1px solid rgba(23, 137, 232, 0.14) !important;
  box-shadow: var(--gr-shadow-soft) !important;
}

/* =========================================================
   12. Плашка ближайшей встречи
   ========================================================= */

body.gr-edu-theme #discipline-next-meeting {
  padding: 0 !important;
}

body.gr-edu-theme #discipline-next-meeting .dnm-card {
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.26), transparent 38%),
    linear-gradient(160deg, #ffffff 0%, #eef8ff 52%, #dff3ff 100%) !important;
  border: 1px solid rgba(23, 137, 232, 0.22) !important;
  box-shadow: 0 22px 70px rgba(23, 98, 177, 0.18) !important;
}

/* =========================================================
   13. Библиотека шаблонных блоков уроков
   Безопасна: работает только там, где есть классы grl-*
   ========================================================= */

.grl-hero,
.grl-video-card,
.grl-text-card,
.grl-note-card,
.grl-task-card,
.grl-files-card,
.grl-divider,
.grl-button-row,
.grl-form-card {
  box-sizing: border-box;
  max-width: 100%;
  font-family: var(--gr-font);
}

.grl-hero *,
.grl-video-card *,
.grl-text-card *,
.grl-note-card *,
.grl-task-card *,
.grl-files-card *,
.grl-divider *,
.grl-button-row *,
.grl-form-card * {
  box-sizing: border-box;
}

.grl-hero,
.grl-text-card,
.grl-video-card,
.grl-task-card,
.grl-files-card,
.grl-form-card {
  margin: 24px 0;
  padding: 30px;
  border-radius: var(--gr-radius-xl);
  background:
    radial-gradient(circle at top right, rgba(36, 200, 255, 0.16), transparent 38%),
    linear-gradient(135deg, #ffffff 0%, #eef8ff 100%);
  border: 1px solid var(--gr-border);
  box-shadow: var(--gr-shadow-soft);
}

.grl-hero-title,
.grl-text-card h2,
.grl-video-title,
.grl-task-title,
.grl-files-title {
  margin: 0 0 14px;
  color: var(--gr-blue-dark);
  font-weight: 900;
  letter-spacing: -0.03em;
}

.grl-hero-title {
  font-size: 42px;
  line-height: 1.1;
}

.grl-text-card h2,
.grl-task-title {
  font-size: 30px;
  line-height: 1.15;
}

.grl-video-title,
.grl-files-title {
  font-size: 24px;
  line-height: 1.2;
}

.grl-hero-text,
.grl-text-card p,
.grl-note-text,
.grl-video-note {
  margin: 0 0 16px;
  color: var(--gr-muted);
  font-size: 18px;
  line-height: 1.6;
  font-weight: 500;
}

.grl-note-card {
  margin: 24px 0;
  padding: 24px 26px;
  border-radius: var(--gr-radius-lg);
  background: linear-gradient(135deg, #ffffff 0%, #eef8ff 100%);
  border: 1px solid var(--gr-border);
  border-left: 7px solid var(--gr-blue);
  box-shadow: var(--gr-shadow-soft);
}

.grl-button,
.grl-button-row a,
.grl-button-row .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gr-blue) 0%, var(--gr-blue-light) 100%) !important;
  border: 0 !important;
  color: #ffffff !important;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(23, 137, 232, 0.28);
}

/* =========================================================
   14. Мобильная версия
   ========================================================= */

@media (max-width: 768px) {
  body.gr-edu-theme .container {
    max-width: 100% !important;
  }

  body.gr-edu-theme h1,
  body.gr-edu-theme .page-header h1 {
    font-size: 30px !important;
    line-height: 1.13 !important;
  }

  body.gr-edu-theme .page-header {
    margin: 14px 0 18px !important;
    padding: 22px 18px !important;
    border-radius: 22px !important;
  }

  body.gr-edu-theme .nav-tabs,
  body.gr-edu-theme ul.nav {
    display: flex !important;
    overflow-x: auto !important;
    gap: 6px !important;
    padding-bottom: 8px !important;
  }

  body.gr-edu-theme .nav-tabs > li,
  body.gr-edu-theme ul.nav > li {
    flex: 0 0 auto !important;
  }

  body.gr-edu-theme .nav-tabs > li > a,
  body.gr-edu-theme ul.nav > li > a {
    padding: 10px 12px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  body.gr-edu-theme .lesson-list,
  body.gr-edu-theme .stream-table,
  body.gr-edu-theme .xdget-trainingList .stream-table {
    padding: 12px !important;
    border-radius: 22px !important;
  }

  body.gr-edu-theme .lesson-list li .info {
    min-height: 0 !important;
    padding: 20px 18px !important;
    border-radius: 18px !important;
  }

  .grl-hero,
  .grl-video-card,
  .grl-text-card,
  .grl-note-card,
  .grl-task-card,
  .grl-files-card,
  .grl-form-card {
    margin: 18px 0;
    padding: 20px;
    border-radius: 22px;
  }

  .grl-hero-title {
    font-size: 30px;
  }

  .grl-button-row,
  .grl-button-row a,
  .grl-button-row .btn,
  .grl-button {
    width: 100%;
  }
}
