/*
 * The academy pages: the catalogue, a course and a lesson.
 * Loaded on those three pages only, inside .rt-acad, so the cards and panels
 * elsewhere on the site keep their own look. Colours come from the site's
 * tokens, so the light and dark themes both follow.
 */

.rt-acad {
  --ac-radius: 18px;
  --ac-radius-sm: 12px;
  --ac-green: #15604a;
  --ac-green-deep: #0d3f30;
  --ac-gold: #cba658;
  --ac-gold-deep: #a8832f;
  --ac-shadow: 0 1px 2px rgba(16, 40, 31, 0.05), 0 8px 24px rgba(16, 40, 31, 0.06);
  --ac-shadow-lift: 0 2px 6px rgba(16, 40, 31, 0.06), 0 22px 48px rgba(16, 40, 31, 0.14);
}

/* shared: the panels and the buttons */

[data-rt] .rt-acad .rt-curriculum,
[data-rt] .rt-acad .rt-index,
[data-rt] .rt-acad .rt-sheet {
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow);
  overflow: hidden;
}
[data-rt] .rt-acad .rt-curriculum__head {
  gap: var(--rt-s3);
  padding: var(--rt-s4) var(--rt-s5);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ac-green) 5%, transparent), transparent);
  border-bottom: 1px solid var(--rt-rule-soft);
}
[data-rt] .rt-acad .rt-curriculum__head .rt-rosette {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px !important;
  height: 36px !important;
  padding: 9px;
  border-radius: 10px;
  background: linear-gradient(150deg, #1a7457, var(--ac-green-deep));
  color: #e9d3a0;
  box-shadow: 0 6px 14px rgba(13, 63, 48, 0.18);
}
[data-rt] .rt-acad .rt-curriculum__head h2 {
  font-size: clamp(1.35rem, 0.8vw + 1.05rem, 1.7rem);
  letter-spacing: 0;
}

[data-rt] .rt-acad .rt-btn--gold {
  border-radius: 999px;
  background: linear-gradient(180deg, #1a7457, var(--ac-green));
  border-color: var(--ac-green);
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(21, 96, 74, 0.24);
  transition: transform 0.2s var(--rt-ease), box-shadow 0.2s var(--rt-ease), background 0.2s var(--rt-ease);
}
[data-rt] .rt-acad .rt-btn--gold:hover {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #1f8262, #176a52);
  box-shadow: 0 10px 22px rgba(21, 96, 74, 0.3);
  color: #ffffff;
}
[data-rt] .rt-acad .rt-btn--ghost { border-radius: 999px; }

/* ==========================================================================
   The catalogue
   ========================================================================== */

/* search */
[data-rt] .rt-acad--catalogue #searchWrapper { position: relative; max-width: 40rem; }
[data-rt] .rt-acad--catalogue #searchWrapper .rt-search input {
  width: 100%;
  height: 58px;
  padding: 0 1.4rem 0 3.4rem;
  border: 1px solid var(--rt-rule);
  border-radius: 999px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2315604a' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6'/%3E%3C/svg%3E") no-repeat 1.3rem 50% / 20px,
    var(--rt-surface);
  box-shadow: var(--ac-shadow);
  font-size: var(--rt-t-md);
  color: var(--rt-text);
  transition: border-color 0.2s var(--rt-ease), box-shadow 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--catalogue #searchWrapper .rt-search input:focus {
  outline: 0;
  border-color: var(--ac-green);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ac-green) 15%, transparent), var(--ac-shadow);
}
[data-rt] .rt-acad--catalogue .rt-search::before,
[data-rt] .rt-acad--catalogue .rt-search::after { display: none; }
[data-rt] .rt-acad--catalogue .rt-suggest__list {
  border-radius: var(--ac-radius-sm);
  box-shadow: var(--ac-shadow-lift);
  overflow: hidden;
}

/* the type chips */
[data-rt] .rt-acad--catalogue .rt-toolbar {
  align-items: center;
  gap: var(--rt-s3);
  margin-bottom: var(--rt-s6);
  padding: 0.45rem;
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  border-radius: 999px;
  box-shadow: var(--ac-shadow);
}
[data-rt] .rt-acad--catalogue .rt-filters { gap: 0.35rem; }
[data-rt] .rt-acad--catalogue .rt-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 42px;
  padding: 0 1.05rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rt-text-dim);
  font-size: var(--rt-t-sm);
  font-weight: 600;
  box-shadow: none;
  transition: background 0.2s var(--rt-ease), color 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--catalogue .rt-chip:hover { background: var(--rt-ink-3); color: var(--rt-text); }
[data-rt] .rt-acad--catalogue .rt-chip[aria-pressed="true"] {
  background: linear-gradient(180deg, #1a7457, var(--ac-green));
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(21, 96, 74, 0.25);
}
[data-rt] .rt-acad--catalogue .rt-chip__n {
  display: inline-grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: var(--rt-ink-3);
  color: var(--rt-text-dim);
  font-size: 0.7rem;
  font-weight: 700;
}
[data-rt] .rt-acad--catalogue .rt-chip[aria-pressed="true"] .rt-chip__n { background: rgba(255, 255, 255, 0.2); color: #ffffff; }
[data-rt] .rt-acad--catalogue .rt-toolbar__count {
  margin-inline: auto var(--rt-s4);
  font-size: var(--rt-t-xs);
  color: var(--rt-text-dim);
}
@media (max-width: 48rem) {
  [data-rt] .rt-acad--catalogue .rt-toolbar { flex-direction: column; align-items: stretch; border-radius: var(--ac-radius); }
  [data-rt] .rt-acad--catalogue .rt-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  [data-rt] .rt-acad--catalogue .rt-filters::-webkit-scrollbar { display: none; }
  [data-rt] .rt-acad--catalogue .rt-chip { flex: none; white-space: nowrap; }
  [data-rt] .rt-acad--catalogue .rt-filters { min-width: 0; max-width: 100%; }
  [data-rt] .rt-acad--catalogue .rt-toolbar__count { align-self: flex-start; width: auto; max-width: 100%; margin: 0 var(--rt-s3) var(--rt-s2); }
}

/* a block per course type */
[data-rt] .rt-acad--catalogue .rt-coursegroups { gap: var(--rt-s8); }
[data-rt] .rt-acad--catalogue .rt-coursegroup__head {
  align-items: center;
  margin-bottom: var(--rt-s5);
  padding-bottom: var(--rt-s4);
  border-bottom: 1px solid var(--rt-rule-soft);
}
[data-rt] .rt-acad--catalogue .rt-coursegroup__title {
  padding-inline-start: 1.1rem;
  font-size: clamp(1.6rem, 1.2vw + 1.1rem, 2.1rem);
}
[data-rt] .rt-acad--catalogue .rt-coursegroup__title::before {
  width: 5px;
  border-radius: 5px;
  background: linear-gradient(180deg, var(--ac-gold), var(--ac-green));
}
[data-rt] .rt-acad--catalogue .rt-coursegroup__n {
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ac-green) 9%, transparent);
  color: var(--ac-green);
  font-weight: 700;
}

/* the course cards */
[data-rt] .rt-acad--catalogue .rt-grid { gap: var(--rt-s5); }
[data-rt] .rt-acad .rt-course {
  position: relative;
  border: 1px solid var(--rt-rule-soft);
  border-radius: var(--ac-radius);
  background: var(--rt-surface);
  box-shadow: var(--ac-shadow);
  transition: transform 0.3s var(--rt-ease), box-shadow 0.3s var(--rt-ease), border-color 0.3s var(--rt-ease);
}
[data-rt] .rt-acad .rt-course:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--ac-green) 22%, transparent);
  box-shadow: var(--ac-shadow-lift);
}
[data-rt] .rt-acad .rt-course__art { aspect-ratio: 16 / 10; }
[data-rt] .rt-acad .rt-course__art img { transition: transform 0.6s var(--rt-ease); }
[data-rt] .rt-acad .rt-course:hover .rt-course__art img { transform: scale(1.06); }
[data-rt] .rt-acad .rt-course__art::after {
  background: linear-gradient(180deg, rgba(7, 19, 16, 0) 50%, rgba(7, 19, 16, 0.55) 100%);
}
[data-rt] .rt-acad .rt-course__tag {
  position: absolute;
  left: var(--rt-s3);
  bottom: var(--rt-s3);
  top: auto;
  z-index: 1;
  padding: 0.32rem 0.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--ac-green-deep);
  font-family: var(--rt-body);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(4px);
}
[data-rt] .rt-acad .rt-course__state {
  border-radius: 999px;
  padding: 0.3rem 0.7rem;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
[data-rt] .rt-acad .rt-course__body { padding: var(--rt-s5) var(--rt-s5) var(--rt-s4); gap: var(--rt-s2); }
[data-rt] .rt-acad .rt-course__title { font-size: 1.3rem; line-height: 1.25; }
[data-rt] .rt-acad .rt-course__title a { color: var(--rt-text); text-decoration: none; transition: color 0.2s var(--rt-ease); }
[data-rt] .rt-acad .rt-course:hover .rt-course__title a { color: var(--ac-green); }
[data-rt] .rt-acad .rt-course__desc { line-height: 1.65; color: var(--rt-text-dim); }
[data-rt] .rt-acad .rt-course__meta span {
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: var(--rt-ink-3);
  font-size: var(--rt-t-xs);
}
[data-rt] .rt-acad .rt-course__foot {
  margin-top: auto;
  padding-top: var(--rt-s4);
  border-top: 1px dashed var(--rt-rule);
}
[data-rt] .rt-acad .rt-course__foot .rt-price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.45rem;
  font-family: var(--rt-body);
  font-size: var(--rt-t-sm);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
}
[data-rt] .rt-acad .rt-course__foot .rt-price:not(:has(strong)) {
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ac-green) 10%, transparent);
  color: var(--ac-green);
}
[data-rt] .rt-acad .rt-course__foot .rt-price__now { font-family: var(--rt-display); font-size: 1.45rem; color: var(--rt-text); }
[data-rt] .rt-acad .rt-course__foot .rt-btn--gold { padding-inline: 1.3rem 1.1rem; gap: 0.45rem; }
[data-rt] .rt-acad .rt-course__foot .rt-btn--gold::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s var(--rt-ease);
}
[data-rt] .rt-acad .rt-course:hover .rt-course__foot .rt-btn--gold::after { transform: translateX(3px) rotate(45deg); }

/* the steps at the end */
[data-rt] .rt-acad--catalogue .rt-steps li {
  border-radius: var(--ac-radius);
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  box-shadow: var(--ac-shadow);
}

/* ==========================================================================
   A course
   ========================================================================== */

[data-rt] .rt-acad--course .rt-course-hero .rt-fact {
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
  color: #f3efe4;
}
[data-rt] .rt-acad--course .rt-course-hero .rt-fact i { color: #e9d3a0; }
[data-rt] .rt-acad--course .rt-course-hero .rt-backlink {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

/* the curriculum */
[data-rt] .rt-acad--course .rt-syllabus__sum {
  gap: var(--rt-s2);
  padding: var(--rt-s3) var(--rt-s5);
}
[data-rt] .rt-acad--course .rt-syllabus__sum span {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: var(--rt-ink-3);
  font-size: var(--rt-t-xs);
  font-weight: 600;
}
[data-rt] .rt-acad--course .rt-syllabus__sum span + span::before { display: none; }
[data-rt] .rt-acad--course .rt-syllabus__toggle {
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--rt-rule);
  border-radius: 999px;
  background: var(--rt-surface);
}
/* a chapter is a tinted band with a green edge; its lessons sit further in,
   on white, hung from a thin line that runs down from the chapter */
[data-rt] .rt-acad--course .rt-chap {
  --ac-indent: 2.75rem;
  --ac-line: color-mix(in srgb, var(--ac-green) 30%, transparent);
  border-top: 1px solid var(--rt-rule-soft);
}
[data-rt] .rt-acad--course .rt-chap__head {
  position: relative;
  gap: var(--rt-s3);
  min-height: 3.9rem;
  padding: var(--rt-s4) var(--rt-s5) var(--rt-s4) calc(var(--rt-s5) + 2px);
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--ac-green) 10%, var(--rt-surface)),
    color-mix(in srgb, var(--ac-green) 3%, var(--rt-surface)));
  transition: background 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap__head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--ac-green);
  opacity: 0.35;
  transition: opacity 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap[open] > .rt-chap__head::before {
  opacity: 1;
  background: linear-gradient(180deg, var(--ac-green), var(--ac-gold));
}
[data-rt] .rt-acad--course .rt-chap__head:hover {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--ac-green) 15%, var(--rt-surface)),
    color-mix(in srgb, var(--ac-green) 5%, var(--rt-surface)));
}
[data-rt] .rt-acad--course .rt-chap__head:hover::before { opacity: 1; }
[data-rt] .rt-acad--course .rt-chap__chev {
  position: relative;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: var(--rt-surface);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ac-green) 22%, transparent), 0 2px 6px rgba(13, 63, 48, 0.08);
  color: var(--ac-green);
  transform: none;
  transition: background 0.2s var(--rt-ease), color 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap__chev::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: -2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.2s var(--rt-ease), margin 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap[open] > .rt-chap__head .rt-chap__chev {
  background: var(--ac-green);
  color: #ffffff;
  transform: none;
}
[data-rt] .rt-acad--course .rt-chap[open] > .rt-chap__head .rt-chap__chev::before {
  margin: -3px 0 0;
  transform: rotate(45deg);
}
[data-rt] .rt-acad--course .rt-chap__title {
  font-size: 1.04rem;
  font-weight: 700;
  letter-spacing: -0.005em;
}
[data-rt] .rt-acad--course .rt-chap__head:hover .rt-chap__title { color: var(--ac-green); }
[data-rt] .rt-acad--course .rt-chap__meta {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background: var(--rt-surface);
  border: 1px solid color-mix(in srgb, var(--ac-green) 18%, var(--rt-rule-soft));
  color: var(--ac-green);
}
[data-rt] .rt-acad--course .rt-chap__summary {
  padding: var(--rt-s3) var(--rt-s5) var(--rt-s3) calc(var(--rt-s5) + 30px + var(--rt-s3) + 2px);
  background: color-mix(in srgb, var(--ac-green) 3%, var(--rt-surface));
  border-bottom: 1px solid var(--rt-rule-soft);
}

[data-rt] .rt-acad--course .rt-unit {
  padding: 0.85rem var(--rt-s5);
  border-top: 1px solid var(--rt-rule-soft);
  transition: background 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap > .rt-unit {
  --ac-dot: color-mix(in srgb, var(--ac-green) 45%, transparent);
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-inline-start: var(--ac-indent);
  padding: 0.8rem var(--rt-s5) 0.8rem 1.6rem;
  background: var(--rt-surface);
}
[data-rt] .rt-acad--course .rt-chap > .rt-unit:first-of-type { border-top: 0; }
[data-rt] .rt-acad--course .rt-chap > .rt-unit::before,
[data-rt] .rt-acad--course .rt-chap > .rt-unit::after {
  content: "";
  position: absolute;
  left: calc(var(--ac-indent) * -0.5);
  background: var(--ac-line);
  pointer-events: none;
}
[data-rt] .rt-acad--course .rt-chap > .rt-unit::before { top: -1px; bottom: 0; width: 2px; }
[data-rt] .rt-acad--course .rt-chap > .rt-unit:last-child::before { bottom: 50%; }
/* the branch ends in a small ring at the lesson, filled once it is done */
[data-rt] .rt-acad--course .rt-chap > .rt-unit::after {
  top: calc(50% - 5px);
  width: calc(var(--ac-indent) * 0.5 + 12px);
  height: 10px;
  background:
    radial-gradient(circle at calc(100% - 5px) 50%, var(--rt-surface) 2px, var(--ac-dot) 2.5px, var(--ac-dot) 4.2px, transparent 4.8px),
    linear-gradient(var(--ac-line), var(--ac-line)) 0 50% / calc(100% - 9px) 2px no-repeat;
}
[data-rt] .rt-acad--course .rt-chap > a.rt-unit:hover { --ac-dot: var(--ac-green); }
[data-rt] .rt-acad--course .rt-chap > .rt-unit--done { --ac-dot: var(--ac-green); }
[data-rt] .rt-acad--course .rt-chap > .rt-unit--done::after {
  background:
    radial-gradient(circle at calc(100% - 5px) 50%, var(--ac-dot) 4.2px, transparent 4.8px),
    linear-gradient(var(--ac-line), var(--ac-line)) 0 50% / calc(100% - 9px) 2px no-repeat;
}
[data-rt] .rt-acad--course a.rt-unit:hover { background: color-mix(in srgb, var(--ac-green) 5%, var(--rt-surface)); }
[data-rt] .rt-acad--course .rt-chap > .rt-unit .rt-unit__title {
  align-items: center;
  gap: 0.7rem;
  font-size: 0.97rem;
  font-weight: 500;
}
/* the lesson's kind (video or reading) on a small soft tile */
[data-rt] .rt-acad--course .rt-chap > .rt-unit .rt-unit__kind {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--ac-green) 9%, var(--rt-surface));
  color: var(--ac-green);
  font-size: 0.78rem;
  transform: none;
  transition: background 0.2s var(--rt-ease), color 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--course .rt-chap > a.rt-unit:hover .rt-unit__kind,
[data-rt] .rt-acad--course .rt-chap > .rt-unit--done .rt-unit__kind { background: var(--ac-green); color: #ffffff; }
@media (max-width: 40rem) {
  [data-rt] .rt-acad--course .rt-chap { --ac-indent: 1.6rem; }
  [data-rt] .rt-acad--course .rt-chap__head { padding: var(--rt-s3) var(--rt-s4) var(--rt-s3) calc(var(--rt-s4) + 2px); }
  [data-rt] .rt-acad--course .rt-chap__meta {
    flex: none;
    flex-basis: auto;
    width: auto;
    margin-inline-start: calc(30px + var(--rt-s3));
    padding: 0.1rem 0.6rem;
  }
  [data-rt] .rt-acad--course .rt-chap__summary { padding: var(--rt-s3) var(--rt-s4) var(--rt-s3) calc(var(--rt-s4) + 30px + var(--rt-s3) + 2px); }
  [data-rt] .rt-acad--course .rt-chap > .rt-unit { padding-inline: 1.4rem var(--rt-s4); }
}
[data-rt] .rt-acad--course .rt-unit__kind { color: var(--ac-green); }
[data-rt] .rt-acad--course .rt-unit__tag {
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ac-gold) 14%, transparent);
  color: var(--rt-gold);
}
[data-rt] .rt-acad--course .rt-unit__peek {
  border-radius: 999px;
  background: var(--ac-green);
  color: #ffffff;
  border-color: var(--ac-green);
}

/* the enrolment card */
[data-rt] .rt-acad--course .rt-enrol {
  padding: var(--rt-s4);
  border: 1px solid var(--rt-rule-soft);
  border-radius: 22px;
  background: var(--rt-surface);
  box-shadow: var(--ac-shadow-lift);
}
[data-rt] .rt-acad--course .rt-enrol::before { display: none; }
[data-rt] .rt-acad--course .rt-enrol__corner { display: none; }
[data-rt] .rt-acad--course .rt-enrol__art {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(13, 63, 48, 0.18);
}
[data-rt] .rt-acad--course .rt-enrol__art img { transition: transform 0.6s var(--rt-ease); }
[data-rt] .rt-acad--course .rt-enrol__art:hover img { transform: scale(1.04); }
[data-rt] .rt-acad--course .rt-enrol__price-row { padding-inline: var(--rt-s2); }
[data-rt] .rt-acad--course .rt-enrol__save {
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  background: linear-gradient(180deg, #d8b66b, var(--ac-gold-deep));
  color: #10241c;
}
[data-rt] .rt-acad--course .rt-enrol__note,
[data-rt] .rt-acad--course .rt-enrol__hint,
[data-rt] .rt-acad--course .rt-enrol__tags,
[data-rt] .rt-acad--course .rt-enrol__offer,
[data-rt] .rt-acad--course .rt-enrol__progress { padding-inline: var(--rt-s2); }
[data-rt] .rt-acad--course .rt-enrol__action { padding-inline: var(--rt-s2); }
[data-rt] .rt-acad--course .rt-enrol__action .rt-btn { width: 100%; min-height: 52px; justify-content: center; font-size: var(--rt-t-md); }
[data-rt] .rt-acad--course .rt-enrol__progress {
  padding: var(--rt-s3);
  margin-inline: var(--rt-s2);
  border-radius: var(--ac-radius-sm);
  background: var(--rt-ink-3);
}
[data-rt] .rt-acad--course .rt-enrol__includes {
  margin: var(--rt-s4) var(--rt-s2) var(--rt-s2);
  padding: var(--rt-s4) 0 0;
  border-top: 1px solid var(--rt-rule-soft);
  gap: 0.55rem;
}
[data-rt] .rt-acad--course .rt-enrol__includes li { align-items: center; gap: 0.7rem; }
[data-rt] .rt-acad--course .rt-enrol__includes i {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--ac-green) 9%, transparent);
  color: var(--ac-green);
  font-size: 0.8rem;
}

/* ==========================================================================
   A lesson
   ========================================================================== */

[data-rt] .rt-acad--lesson .rt-classbar {
  align-items: center;
  gap: var(--rt-s4);
  margin-bottom: var(--rt-s5);
  padding: var(--rt-s4) var(--rt-s5);
  background: linear-gradient(135deg, #0b3328 0%, #0f4a39 55%, #15604a 100%);
  border: 0;
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow-lift);
  color: #eef4f0;
}
[data-rt] .rt-acad--lesson .rt-classbar .rt-backlink {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #f1e3c0;
  text-decoration: none;
}
[data-rt] .rt-acad--lesson .rt-classbar .rt-backlink:hover { background: rgba(255, 255, 255, 0.18); color: #ffffff; }
[data-rt] .rt-acad--lesson .rt-classbar__title { color: #ffffff; }
[data-rt] .rt-acad--lesson .rt-classbar__progress { color: #e9d3a0; }
[data-rt] .rt-acad--lesson .rt-classbar .rt-progress__bar { background: rgba(255, 255, 255, 0.16); height: 6px; border-radius: 6px; }
[data-rt] .rt-acad--lesson .rt-progress__fill { border-radius: 6px; background: linear-gradient(90deg, #cba658, #e9d3a0); }

/* the video */
[data-rt] .rt-acad--lesson .rt-stage {
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: #000;
  box-shadow: 0 2px 6px rgba(16, 40, 31, 0.08), 0 30px 60px rgba(16, 40, 31, 0.22);
  overflow: hidden;
}
[data-rt] .rt-acad--lesson .rt-stage::before {
  inset: 0;
  z-index: 2;
  border: 1px solid rgba(233, 211, 160, 0.35);
  border-radius: 22px;
}
[data-rt] .rt-acad--lesson .rt-stage__band,
[data-rt] .rt-acad--lesson .rt-stage__corner { display: none; }
[data-rt] .rt-acad--lesson .rt-player { border-radius: 0; }

/* the lesson's title and the way back */
[data-rt] .rt-acad--lesson .rt-nowbar {
  align-items: center;
  justify-content: space-between;
  margin-top: var(--rt-s5);
  padding: var(--rt-s4) var(--rt-s5);
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow);
}
[data-rt] .rt-acad--lesson .rt-nowbar .rt-eyebrow {
  display: inline-flex;
  padding: 0.25rem 0.7rem;
  margin-bottom: 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ac-green) 9%, transparent);
  color: var(--ac-green);
  letter-spacing: 0.12em;
}
[data-rt] .rt-acad--lesson .rt-nowbar__title { font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2rem); }

/* the notes, the assignment and the review offer */
[data-rt] .rt-acad--lesson .rt-lesson-notes { margin-top: var(--rt-s5); }
[data-rt] .rt-acad--lesson .rt-sheet { margin-top: var(--rt-s5); }
[data-rt] .rt-acad--lesson .rt-sheet__head {
  display: flex;
  align-items: center;
  gap: var(--rt-s3);
  margin: 0;
  padding: var(--rt-s4) var(--rt-s5);
  border-bottom: 1px solid var(--rt-rule-soft);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ac-green) 5%, transparent), transparent);
}
[data-rt] .rt-acad--lesson .rt-sheet__head .rt-rosette {
  width: 32px;
  height: 32px;
  padding: 8px;
  border-radius: 10px;
  background: linear-gradient(150deg, #1a7457, var(--ac-green-deep));
  color: #e9d3a0;
}
[data-rt] .rt-acad--lesson .rt-sheet__count {
  margin-inline-start: auto;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: var(--rt-ink-3);
}
[data-rt] .rt-acad--lesson .rt-sheet__body { display: grid; gap: var(--rt-s2); padding: var(--rt-s4); }
[data-rt] .rt-acad--lesson .rt-assign {
  display: flex;
  align-items: center;
  gap: var(--rt-s3);
  padding: var(--rt-s3) var(--rt-s4);
  border: 1px solid var(--rt-rule-soft);
  border-radius: var(--ac-radius-sm);
  background: var(--rt-surface);
  text-decoration: none;
  transition: border-color 0.2s var(--rt-ease), box-shadow 0.2s var(--rt-ease), transform 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--lesson .rt-assign:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--ac-green) 30%, transparent);
  box-shadow: var(--ac-shadow);
}
[data-rt] .rt-acad--lesson .rt-assign__ic {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--ac-gold) 14%, transparent);
  color: var(--rt-gold);
}
[data-rt] .rt-acad--lesson .rt-assign__label { flex: 1; font-weight: 600; color: var(--rt-text); }
[data-rt] .rt-acad--lesson .rt-assign__go {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ac-green);
  color: #ffffff;
  font-size: 0.85rem;
}

[data-rt] .rt-acad--lesson .rt-tutor {
  position: relative;
  overflow: hidden;
  margin-top: var(--rt-s5);
  padding: var(--rt-s5);
  border: 0;
  border-radius: var(--ac-radius);
  background:
    radial-gradient(circle at 92% 10%, rgba(203, 166, 88, 0.3), transparent 40%),
    linear-gradient(135deg, #0b3328, #15604a);
  box-shadow: var(--ac-shadow-lift);
  color: #eef4f0;
}
[data-rt] .rt-acad--lesson .rt-tutor__ic {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(233, 211, 160, 0.35);
  color: #e9d3a0;
}
[data-rt] .rt-acad--lesson .rt-tutor__title { color: #ffffff; }
[data-rt] .rt-acad--lesson .rt-tutor__text { color: rgba(238, 244, 240, 0.8); }
[data-rt] .rt-acad--lesson .rt-tutor .rt-btn--ghost {
  background: linear-gradient(180deg, #d8b66b, #b8933f);
  border-color: #b8933f;
  color: #10241c;
  font-weight: 700;
}
[data-rt] .rt-acad--lesson .rt-tutor .rt-btn--ghost:hover { background: #e9d3a0; color: #10241c; }

[data-rt] .rt-acad--lesson .rt-finish {
  margin-top: var(--rt-s5);
  padding: var(--rt-s4) var(--rt-s5);
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft) !important;
  border-radius: var(--ac-radius);
  box-shadow: var(--ac-shadow);
}

/* the course's lessons, at the side */
[data-rt] .rt-acad--lesson .rt-index { position: sticky; top: 96px; }
[data-rt] .rt-acad--lesson .rt-index__head {
  padding: var(--rt-s4);
  background: linear-gradient(135deg, #0b3328, #15604a);
  border-bottom: 0;
  color: #e9d3a0;
}
[data-rt] .rt-acad--lesson .rt-index__head .rt-rosette { color: #e9d3a0; }
[data-rt] .rt-acad--lesson .rt-index__list { padding: var(--rt-s2); max-height: calc(100vh - 16rem); }
[data-rt] .rt-acad--lesson .rt-index__chapter + .rt-index__chapter { border-top: 1px solid var(--rt-rule-soft); }
[data-rt] .rt-acad--lesson .rt-index__chapter > summary {
  padding: var(--rt-s3);
  border-radius: 10px;
  font-weight: 700;
  color: var(--rt-text);
}
[data-rt] .rt-acad--lesson .rt-index__chapter > summary:hover { background: var(--rt-ink-3); }
[data-rt] .rt-acad--lesson .rt-index__chapter-meta {
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: var(--rt-ink-3);
  font-size: 0.7rem;
}
[data-rt] .rt-acad--lesson .rt-step { border-radius: 10px; position: relative; }
[data-rt] .rt-acad--lesson .rt-step--current {
  background: color-mix(in srgb, var(--ac-green) 10%, transparent);
  color: var(--ac-green);
  font-weight: 700;
}
[data-rt] .rt-acad--lesson .rt-step--current::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 3px;
  border-radius: 3px;
  background: var(--ac-green);
}
[data-rt] .rt-acad--lesson .rt-step--current .rt-step__mark { color: var(--ac-green); }
[data-rt] .rt-acad--lesson .rt-index .rt-progress {
  padding: var(--rt-s4);
  border-top: 1px solid var(--rt-rule-soft);
  background: var(--rt-ink-3);
}
[data-rt] .rt-acad--lesson .rt-index .rt-progress__fill { background: linear-gradient(90deg, var(--ac-green), #2e8b6b); }
@media (max-width: 62rem) {
  [data-rt] .rt-acad--lesson .rt-index { position: static; }
  [data-rt] .rt-acad--lesson .rt-index__list { max-height: none; }
}
@media (max-width: 40rem) {
  [data-rt] .rt-acad--lesson .rt-stage,
  [data-rt] .rt-acad--lesson .rt-stage::before { border-radius: 14px; }
  [data-rt] .rt-acad--lesson .rt-classbar,
  [data-rt] .rt-acad--lesson .rt-nowbar,
  [data-rt] .rt-acad--lesson .rt-tutor { padding: var(--rt-s4); }
}

/* ==========================================================================
   The student's own links, above the catalogue
   ========================================================================== */

[data-rt] .rt-acad--catalogue .rt-studentbar {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--rt-s4) var(--rt-s5);
  padding: var(--rt-s4) var(--rt-s5);
  border: 0;
  border-radius: 20px;
  background:
    radial-gradient(circle at 96% 0%, rgba(203, 166, 88, 0.32), transparent 38%),
    radial-gradient(circle at 0% 120%, rgba(255, 255, 255, 0.08), transparent 40%),
    linear-gradient(135deg, #0b3328 0%, #0f4a39 50%, #15604a 100%);
  box-shadow: 0 2px 6px rgba(16, 40, 31, 0.08), 0 22px 44px rgba(13, 63, 48, 0.22);
}
[data-rt] .rt-acad--catalogue .rt-studentbar::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #cba658 30%, #e9d3a0 50%, #cba658 70%, transparent);
  opacity: 0.85;
}
[data-rt] .rt-acad--catalogue .rt-studentbar__lede {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0;
  border: 0;
  font-family: var(--rt-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #ffffff;
}
[data-rt] .rt-acad--catalogue .rt-studentbar__lede .rt-rosette {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 10px;
  border-radius: 12px;
  background: linear-gradient(150deg, #d8b66b, #a8832f);
  color: #10241c;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
[data-rt] .rt-acad--catalogue .rt-studentbar__links {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--rt-s2);
}
[data-rt] .rt-acad--catalogue .rt-studentbar__links a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex: 1 1 auto;
  min-height: 50px;
  padding: 0.4rem 0.95rem 0.4rem 0.4rem;
  white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
  color: #f3efe4;
  font-size: var(--rt-t-sm);
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s var(--rt-ease), background 0.2s var(--rt-ease), border-color 0.2s var(--rt-ease), box-shadow 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--catalogue .rt-studentbar__links i {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(233, 211, 160, 0.16);
  color: #e9d3a0;
  font-size: 0.9rem;
  transition: background 0.2s var(--rt-ease), color 0.2s var(--rt-ease);
}
[data-rt] .rt-acad--catalogue .rt-studentbar__links a:hover,
[data-rt] .rt-acad--catalogue .rt-studentbar__links a:focus-visible {
  transform: translateY(-2px);
  background: #ffffff;
  border-color: #ffffff;
  color: #0d3f30;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}
[data-rt] .rt-acad--catalogue .rt-studentbar__links a:hover i,
[data-rt] .rt-acad--catalogue .rt-studentbar__links a:focus-visible i {
  background: linear-gradient(150deg, #1a7457, #0d3f30);
  color: #ffffff;
}
@media (max-width: 40rem) {
  [data-rt] .rt-acad--catalogue .rt-studentbar { padding: var(--rt-s4); }
  [data-rt] .rt-acad--catalogue .rt-studentbar__lede { flex-basis: 100%; }
  [data-rt] .rt-acad--catalogue .rt-studentbar__links a { flex: 1 1 calc(50% - var(--rt-s2)); white-space: normal; }
}
