/* EnterTrade LMS — Single Course preview
   Scoped under .et-single. Colors come from Plugin Design CSS custom properties
   (--et-primary/secondary/tertiary/text/bg/link) set on the wrapper. The Theme
   (light|dark) is reflected by .et-single--theme-light / .et-single--theme-dark
   and by data-bs-theme (so Bootstrap components adapt automatically). */

.et-single {
  color: var(--et-text, #1a1a1a);
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.et-single .lms-single__header {
  margin-bottom: .5rem;
}

/* Live Now badge — base styles live in styles.css (shared across the front-end) */

.et-single .lms-single__title {
  font-weight: 800;
  line-height: 1.15;
  margin: .25rem 0 .5rem;
}

.et-single .lms-single__terms {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.et-single .lms-single__terms .badge {
  border-radius: 50rem;
  padding: .4em .8em;
  font-weight: 500;
}

.et-single .lms-single__instructor {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .95rem;
  opacity: .9;
}

.et-single .lms-single__avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--et-primary, #1a3a6b);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* ── Rating ──────────────────────────────────────────────────────────────── */
.et-single .lms-rating {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}

.et-single .lms-stars {
  color: var(--et-primary, #1a3a6b);
  letter-spacing: .05em;
}

.et-single .lms-rating__value {
  font-weight: 700;
}

.et-single .lms-rating__count {
  opacity: .7;
  font-size: .9rem;
}

/* ── Section titles (Course Info / Curriculum) ───────────────────────────── */
.et-single .lms-single__section-title {
  position: relative;
  font-weight: 700;
  padding-bottom: .4rem;
  margin-bottom: 1rem;
}

.et-single .lms-single__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2.5rem;
  height: 3px;
  border-radius: 3px;
  background: var(--et-primary, #1a3a6b);
}

/* ── Content ─────────────────────────────────────────────────────────────── */
.et-single .lms-single__video {
  border-radius: .75rem;
  overflow: hidden;
}

.et-single .course-content {
  line-height: 1.7;
}

.et-single .course-content a {
  color: var(--et-link, #1a3a6b);
}

/* ── Curriculum accordion ────────────────────────────────────────────────── */
.et-single .lms-single__curriculum {
  --bs-accordion-bg: transparent;
  --bs-accordion-color: var(--et-text, #1a1a1a);
  --bs-accordion-border-color: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
}

.et-single .lms-single__curriculum .accordion-item {
  border: none;
  border-radius: .75rem;
  padding: .5rem;
  margin-bottom: 1rem;
}

/* Subtle grouping box only while a module is expanded */
.et-single .lms-single__curriculum .accordion-item:has(.accordion-button:not(.collapsed)) {
  border: 1px solid color-mix(in srgb, var(--et-text, #1a1a1a) 15%, transparent);
}

.et-single .lms-single__curriculum .accordion-header {
  border-radius: .5rem;
}

/* Header states — driven by Plugin Design colors (override theme/Elementor defaults).
   Rest: primary border · Active: primary background · Hover: secondary background. */
.et-single .lms-single__curriculum .accordion-button {
  padding: 1rem 1.25rem;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: .5rem;
  text-align: left;
  background: transparent !important;
  color: var(--et-text, #1a1a1a) !important;
  border: 2px solid var(--et-primary, #1a3a6b) !important;
  box-shadow: none !important;
}

/* Long module titles wrap instead of pushing "N lessons" past the border */
.et-single .lms-single__curriculum .accordion-button {
  flex-wrap: wrap;
  white-space: normal !important;
}

.et-single .lms-single__curriculum .accordion-button > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.et-single .lms-single__curriculum .accordion-button small {
  flex-shrink: 0;
  margin-left: .5rem;
  white-space: nowrap;
}

.et-single .lms-single__curriculum .accordion-button:not(.collapsed) {
  background: var(--et-primary, #1a3a6b) !important;
  color: #fff !important;
  border-color: var(--et-primary, #1a3a6b) !important;
}

.et-single .lms-single__curriculum .accordion-button:hover {
  background: var(--et-secondary, #2c5f8a) !important;
  color: #fff !important;
  border-color: var(--et-secondary, #2c5f8a) !important;
}

/* "N lessons" — muted at rest, light on filled (active/hover) states */
.et-single .lms-single__curriculum .accordion-button small {
  color: color-mix(in srgb, var(--et-text, #1a1a1a) 60%, transparent) !important;
}

.et-single .lms-single__curriculum .accordion-button:not(.collapsed) small,
.et-single .lms-single__curriculum .accordion-button:hover small {
  color: rgba(255, 255, 255, .85) !important;
}

/* Chevron — theme-adaptive at rest, forced white on filled states */
.et-single .lms-single__curriculum .accordion-button:not(.collapsed)::after,
.et-single .lms-single__curriculum .accordion-button:hover::after {
  filter: brightness(0) invert(1);
}

.et-single .lms-single__curriculum .accordion-body {
  padding: 0;
}

.et-single .lms-single__curriculum .list-group-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1.25rem;
  background: transparent;
  color: var(--et-text, #1a1a1a);
  border-color: color-mix(in srgb, var(--et-text, #1a1a1a) 12%, transparent);
  transition: background .15s ease;
}

.et-single .lms-single__curriculum .list-group-item:hover {
  background: color-mix(in srgb, var(--et-primary, #1a3a6b) 9%, transparent);
}

.et-single .lms-single__curriculum .list-group-item .fa-file-lines {
  color: color-mix(in srgb, var(--et-text, #1a1a1a) 55%, transparent);
}

.et-single .lms-single__curriculum .list-group-item .fa-circle-check {
  color: #198754;
}

.et-single .lms-single__curriculum .list-group-item .fa-lock {
  color: color-mix(in srgb, var(--et-text, #1a1a1a) 45%, transparent);
}

.et-single .lms-single__curriculum .list-group-item a,
.et-single .lms-single__curriculum .list-group-item span {
  color: var(--et-text, #1a1a1a);
  text-decoration: none;
}

.et-single .lms-single__curriculum .list-group-item a:hover {
  color: var(--et-link, #1a3a6b);
}

/* ── Notes button (opens Bootbox popup) ──────────────────────────────────── */
.et-single .lms-notes-btn {
  display: inline-flex;
  align-items: center;
  padding: .55rem 1.1rem;
  border: 1px solid var(--et-primary, #1a3a6b);
  border-radius: .6rem;
  background: transparent;
  color: var(--et-primary, #1a3a6b);
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.et-single .lms-notes-btn:hover {
  background: var(--et-primary, #1a3a6b);
  color: #fff;
}

/* ── Sidebar ─────────────────────────────────────────────────────────────── */
@media (min-width: 992px) {
  .et-single .lms-single__sticky {
    position: sticky;
    top: 1rem;
  }

  /* Breathing room between content (left) and sidebar (right) — desktop only */
  .et-single .lms-single__content {
    padding-right: 1.5rem;
  }

  .et-single .lms-single__sidebar {
    padding-left: 1.5rem;
  }
}

.et-single .lms-single__image {
  width: 100%;
  border-radius: .75rem;
  margin-bottom: .85rem;
  object-fit: cover;
}

.et-single .lms-single__level {
  font-size: .9rem;
  opacity: .85;
  margin-bottom: 1rem;
}

.et-single .lms-single__level strong {
  color: var(--et-primary, #1a3a6b);
}

/* ── Access / enrollment card ────────────────────────────────────────────── */
.et-single .lms-access-card {
  background: var(--et-bg, #fff);
  color: var(--et-text, #1a1a1a);
  border-radius: 1rem;
  padding: 1.5rem;
}

.et-single .lms-access-card__badge {
  display: inline-block;
  border: 1px solid var(--et-primary, #1a3a6b);
  color: var(--et-primary, #1a3a6b);
  border-radius: 50rem;
  padding: .25em .9em;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: .75rem;
}

.et-single .lms-access-card__title {
  font-weight: 800;
  font-size: 1.6rem;
  line-height: 1.15;
  margin: 0 0 .5rem;
}

.et-single .lms-access-card__subtitle {
  opacity: .8;
  font-size: .95rem;
  margin-bottom: 1rem;
}

.et-single .lms-access-card__benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
}

.et-single .lms-access-card__benefits li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-bottom: .55rem;
  font-size: .9rem;
}

.et-single .lms-access-card__benefits i {
  color: var(--et-primary, #1a3a6b);
  margin-top: .2rem;
}

.et-single .lms-access-card__actions {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.et-single .lms-access-card__cta {
  display: block;
  width: 100%;
  padding: .75rem 1rem;
  border: none;
  border-radius: .6rem;
  background: var(--et-primary, #1a3a6b);
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: filter .15s ease;
}

.et-single .lms-access-card__cta:hover {
  filter: brightness(1.08);
  color: #fff;
}

.et-single .lms-access-card__cta--secondary {
  background: transparent;
  border: 1px solid var(--et-primary, #1a3a6b);
  color: var(--et-primary, #1a3a6b);
}

.et-single .lms-access-card__cta--secondary:hover {
  background: var(--et-primary, #1a3a6b);
  color: #fff;
}

.et-single .lms-access-card__notes {
  margin: 1rem 0 0;
  font-size: .82rem;
  opacity: .7;
  text-align: center;
}

.et-single .lms-access-card__login {
  margin: .75rem 0 0;
  font-size: .85rem;
  text-align: center;
}

.et-single .lms-access-card__login a {
  color: var(--et-link, #1a3a6b);
  font-weight: 600;
}

.et-single .lms-access-card__hint {
  margin: 0;
  font-size: .85rem;
  opacity: .8;
  text-align: center;
}

/* ── Progress / dates / contact / misc ───────────────────────────────────── */
.et-single .lms-single__progress {
  margin-top: 1rem;
}

.et-single .lms-single__meta-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  font-size: .9rem;
}

.et-single .lms-single__meta-list li {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .4rem;
}

.et-single .lms-single__meta-list i {
  color: var(--et-primary, #1a3a6b);
}

.et-single .lms-single__contact {
  margin-top: 1.1rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(128, 128, 128, .25);
}

.et-single .lms-single__contact-title {
  font-weight: 700;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  opacity: .7;
  margin-bottom: .6rem;
}

.et-single .lms-single__contact-link {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .5rem .75rem;
  margin-bottom: .4rem;
  border-radius: .5rem;
  background: color-mix(in srgb, var(--et-primary, #1a3a6b) 12%, transparent);
  color: var(--et-text, #1a1a1a);
  text-decoration: none;
  font-size: .9rem;
  transition: background .15s ease;
}

.et-single .lms-single__contact-link:hover {
  background: color-mix(in srgb, var(--et-primary, #1a3a6b) 22%, transparent);
  color: var(--et-text, #1a1a1a);
}

.et-single .lms-single__contact-link i {
  color: var(--et-primary, #1a3a6b);
  width: 1.1rem;
  text-align: center;
}

.et-single .lms-single__collab {
  margin-top: 1rem;
  font-size: .82rem;
  opacity: .7;
}

.et-single .lms-single__back {
  display: inline-block;
  margin-top: 1rem;
  color: var(--et-link, #1a3a6b);
  text-decoration: none;
  font-size: .9rem;
}

.et-single .lms-single__back:hover {
  text-decoration: underline;
}

/* ── Theme: Light ────────────────────────────────────────────────────────── */
.et-single--theme-light .lms-access-card {
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .08);
}

.et-single--theme-light .lms-single__image {
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .10);
}

/* ── Theme: Dark ─────────────────────────────────────────────────────────── */
.et-single--theme-dark .lms-access-card {
  border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .45);
}

.et-single--theme-dark .lms-single__image {
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .5);
}
