/* ==========================================================================
   SINGLE COURSE PAGE
   ========================================================================== */

.course-main__inner {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--sp-6);
  align-items: start;
}

.course-hero-media {
  aspect-ratio: 16 / 9;
  margin-bottom: var(--sp-5);
}

.course-summary { margin-bottom: var(--sp-6); }
.course-summary__badges {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}
.course-summary__rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-small);
  color: var(--c-muted);
}
.course-summary__title { margin-bottom: var(--sp-2); }
.course-summary__teacher {
  font-size: var(--fs-small);
  color: var(--c-muted);
  margin-bottom: var(--sp-3);
}
.course-summary__teacher a { font-weight: 700; color: var(--c-emerald); }
.course-summary__excerpt {
  font-size: 1.0625rem;
  color: var(--c-muted);
}

/* --------------------------------------------------------------------
   Body tabs (stacked sections, not JS tabs — keeps everything
   crawlable and accessible without extra JS)
   -------------------------------------------------------------------- */
.course-tabs { border-top: 1px solid var(--c-border); padding-top: var(--sp-5); }
.course-tab-block { margin-bottom: var(--sp-7); }
.course-tab-block h2 {
  font-size: 1.375rem;
  margin-bottom: var(--sp-3);
}
.course-tab-block__content { color: var(--c-charcoal); }
.course-tab-block__content p:last-child { margin-bottom: 0; }

/* --------------------------------------------------------------------
   Curriculum accordion
   -------------------------------------------------------------------- */
.curriculum-accordion {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.curriculum-accordion__topic {
  border-bottom: 1px solid var(--c-border);
}
.curriculum-accordion__topic:last-child { border-bottom: none; }
.curriculum-accordion__topic summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-cream);
  font-weight: 700;
  font-family: var(--font-display);
  color: var(--c-emerald-dark);
}
.curriculum-accordion__topic summary::-webkit-details-marker { display: none; }
.curriculum-accordion__chevron { transition: transform var(--dur) var(--ease); flex-shrink: 0; }
.curriculum-accordion__topic[open] .curriculum-accordion__chevron { transform: rotate(180deg); }

.curriculum-accordion__lessons {
  list-style: none;
  margin: 0;
  padding: var(--sp-2) var(--sp-4) var(--sp-3);
}
.curriculum-accordion__lesson {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) 0;
  font-size: var(--fs-small);
  border-bottom: 1px solid var(--c-border);
}
.curriculum-accordion__lesson:last-child { border-bottom: none; }
.curriculum-accordion__lesson.is-unlocked svg { color: var(--c-success); }
.curriculum-accordion__lesson.is-locked {
  color: var(--c-locked-fg, var(--c-muted));
}
.curriculum-accordion__lesson.is-locked svg { color: var(--c-locked-fg, var(--c-muted)); }

/* --------------------------------------------------------------------
   Teacher mini-card
   -------------------------------------------------------------------- */
.teacher-mini-card {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  text-decoration: none;
  color: var(--c-charcoal);
  background: var(--c-cream);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-card);
  padding: var(--sp-3) var(--sp-4);
}
.teacher-mini-card img { border-radius: 50%; }
.teacher-mini-card__name {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--c-emerald-dark);
}
.teacher-mini-card__title {
  display: block;
  font-size: var(--fs-small);
  color: var(--c-muted);
}

.course-reviews-summary {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--c-muted);
  font-size: var(--fs-small);
}

/* --------------------------------------------------------------------
   Sticky sidebar
   -------------------------------------------------------------------- */
.course-sidebar-sticky {
  position: sticky;
  top: calc(var(--switcher-height) + var(--header-height) + var(--sp-4));
}
.course-sidebar-sticky__card {
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.course-sidebar-sticky__price {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-emerald);
  margin: 0;
}
.course-sidebar-sticky__wishlist svg { flex-shrink: 0; }
.course-sidebar-sticky__wishlist.is-active svg { fill: currentColor; color: var(--c-error); }

.course-sidebar-sticky__meta {
  list-style: none;
  margin: 0;
  padding: var(--sp-3) 0;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.course-sidebar-sticky__meta li {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-small);
  color: var(--c-muted);
}
.course-sidebar-sticky__meta svg { color: var(--c-gold); flex-shrink: 0; }

.course-sidebar-sticky__whatsapp {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-small);
  font-weight: 600;
  color: #1f9b4f;
  justify-content: center;
}

@media (max-width: 1024px) {
  .course-main__inner { grid-template-columns: 1fr; }
  .course-sidebar-sticky { position: static; max-width: 420px; }
}
