/*
 * Academy LMS — Premium Frontend Overhaul v2
 * ─────────────────────────────────────────────
 * STRATEGY:
 *   1. ALL colors via CSS custom properties only (dark-mode plugin friendly)
 *   2. NO layout/structure overrides on dashboard — only skin/typography
 *   3. Proper course-card-info tooltip
 *   4. "Orgasmic" visual polish: deep shadows, micro-animations, rich type
 */

/* ═══════════════════════════════════════════════════════
   §1  DESIGN TOKENS — All colors as custom properties
   Dark mode plugins invert these; no hardcoded colors anywhere
   ═══════════════════════════════════════════════════════ */
:root {
  --ao-ink:            #12111a;
  --ao-ink-soft:       #2a2940;
  --ao-ink-muted:      #64648a;
  --ao-ink-faint:      #9595b2;
  --ao-surface:        #f8f7f4;
  --ao-surface-warm:   #f2f0eb;
  --ao-surface-card:   #ffffff;
  --ao-border:         #e4e0d8;
  --ao-border-light:   #edeae4;
  --ao-accent:         #3d5af1;
  --ao-accent-hover:   #2b44d4;
  --ao-accent-soft:    #eceffe;
  --ao-accent-glow:    rgba(61, 90, 241, .14);
  --ao-gold:           #e8a308;
  --ao-gold-soft:      #fef6d8;
  --ao-warning:        #b45309;
  --ao-success:        #0f8a5f;
  --ao-success-soft:   #ddf5eb;
  --ao-danger:         #e8493f;

  /* Fonts */
  --ao-font-display:   'Satoshi', 'DM Sans', system-ui, sans-serif;
  --ao-font-body:      'Source Serif 4', 'Charter', Georgia, serif;
  --ao-font-ui:        'Satoshi', 'DM Sans', system-ui, sans-serif;

  /* Radii */
  --ao-r-sm:  8px;
  --ao-r-md:  14px;
  --ao-r-lg:  22px;
  --ao-r-xl:  30px;
  --ao-r-pill:999px;

  /* Shadows — multi-layered for realism */
  --ao-sh-xs:  0 1px 2px rgba(0,0,0,.04);
  --ao-sh-sm:  0 1px 3px rgba(0,0,0,.05), 0 4px 12px rgba(0,0,0,.04);
  --ao-sh-md:  0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
  --ao-sh-lg:  0 4px 8px rgba(0,0,0,.04), 0 16px 40px rgba(0,0,0,.08);
  --ao-sh-xl:  0 8px 16px rgba(0,0,0,.05), 0 24px 56px rgba(0,0,0,.10);
  --ao-sh-glow:0 0 0 4px var(--ao-accent-glow);
  --ao-sh-card-hover: 0 8px 20px rgba(0,0,0,.04), 0 24px 60px rgba(0,0,0,.10), 0 0 0 1px var(--ao-border);

  /* Easing */
  --ao-ease:   cubic-bezier(.22, 1, .36, 1);
  --ao-dur:    .3s;

  /* Bridge to plugin's own vars */
  --academy-primary-font:    var(--ao-font-ui);
  --academy-primary-color:   var(--ao-accent);
  --academy-secondary-color: var(--ao-accent-soft);
  --academy-text-color:      var(--ao-ink);
  --academy-text-color-black:var(--ao-ink);
  --academy-border-color:    var(--ao-border);
  --academy-gray-color:      var(--ao-surface-warm);
  --academy-secondary-gray-color: var(--ao-ink-muted);
  --academy-dark-gray-color: var(--ao-ink-faint);
  --academy-background-gray-color: var(--ao-surface);
}

/* ═══════════════════════════════════════════════════════
   §2  GLOBAL BASE — Backgrounds, smoothing, selection
   ═══════════════════════════════════════════════════════ */
.academy-single-course,
.academy-courses--archive {
  background: var(--ao-surface) !important;
}

body.single-course,
body.post-type-archive-course,
body.tax-course-category,
body.tax-course-tag {
  background: var(--ao-surface) !important;
}

.academy-single-course *,
.academy-courses *,
.academyFrontendDashWrap *,
.academy-course-curriculum-wrapper * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: var(--ao-accent);
  color: var(--ao-surface-card);
}


/* ═══════════════════════════════════════════════════════
   §3  COURSE CARDS (Archive page) — Layout 3 compatible
   ═══════════════════════════════════════════════════════ */

@keyframes ao-course-border-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Card shell — NO overflow:hidden here so tooltip can escape */
.academy-courses--archive .academy-course,
.academy-courses--grid .academy-course,
.academy-courses--by-instructor .academy-course {
  --ao-course-glow-border-width: 1px;
  --ao-course-glow-idle: 0.08;
  --ao-course-glow-active: 0.78;
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
  box-shadow: var(--ao-sh-sm) !important;
  position: relative !important;
  z-index: 0 !important;
  overflow: visible !important;
  isolation: isolate !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  transition: transform var(--ao-dur) var(--ao-ease), box-shadow var(--ao-dur) var(--ao-ease) !important;
}

.academy-courses--archive .academy-course::before,
.academy-courses--grid .academy-course::before,
.academy-courses--by-instructor .academy-course::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--ao-course-glow-border-width));
  padding: var(--ao-course-glow-border-width);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: var(--ao-course-glow-idle);
  transition: opacity .24s var(--ao-ease);
  background: conic-gradient(
    from 0deg,
    rgba(61, 90, 241, 0) 0deg,
    rgba(61, 90, 241, .95) 12deg,
    rgba(14, 165, 233, .92) 30deg,
    rgba(16, 185, 129, .88) 48deg,
    rgba(16, 185, 129, 0) 66deg,
    rgba(61, 90, 241, 0) 360deg
  );
  animation: ao-course-border-spin 7.8s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.academy-courses--archive .academy-course::after,
.academy-courses--grid .academy-course::after,
.academy-courses--by-instructor .academy-course::after {
  content: "";
  position: absolute;
  inset: calc(-2 * var(--ao-course-glow-border-width));
  padding: calc(var(--ao-course-glow-border-width) + 0.5px);
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: calc(var(--ao-course-glow-idle) * 0.62);
  transition: opacity .24s var(--ao-ease);
  background: conic-gradient(
    from 0deg,
    rgba(61, 90, 241, 0) 0deg,
    rgba(61, 90, 241, .42) 12deg,
    rgba(14, 165, 233, .38) 30deg,
    rgba(16, 185, 129, .34) 48deg,
    rgba(16, 185, 129, 0) 66deg,
    rgba(61, 90, 241, 0) 360deg
  );
  filter: blur(5px);
  animation: ao-course-border-spin 9.4s linear infinite reverse;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.academy-courses--archive .academy-course:hover::before,
.academy-courses--archive .academy-course:focus-within::before,
.academy-courses--grid .academy-course:hover::before,
.academy-courses--grid .academy-course:focus-within::before,
.academy-courses--by-instructor .academy-course:hover::before,
.academy-courses--by-instructor .academy-course:focus-within::before {
  opacity: var(--ao-course-glow-active);
}

.academy-courses--archive .academy-course:hover::after,
.academy-courses--archive .academy-course:focus-within::after,
.academy-courses--grid .academy-course:hover::after,
.academy-courses--grid .academy-course:focus-within::after,
.academy-courses--by-instructor .academy-course:hover::after,
.academy-courses--by-instructor .academy-course:focus-within::after {
  opacity: calc(var(--ao-course-glow-active) * 0.38);
}

.academy-courses .academy-course__header,
.academy-courses .academy-course__body,
.academy-courses .academy-course__footer {
  position: relative;
  z-index: 2;
}

.academy-courses .academy-course:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--ao-sh-card-hover) !important;
  z-index: 12 !important;
}

.academy-courses .academy-course:focus-within {
  z-index: 12 !important;
}

/* Keep ratios stable and clip image cleanly at card corners */
.academy-courses .academy-course__thumbnail {
  padding-top: 60% !important;
  overflow: hidden !important;
  border-radius: calc(var(--ao-r-lg) - 1px) calc(var(--ao-r-lg) - 1px) 0 0 !important;
}

/* Keep media fully flush in thumbnail; tooltip is moved out by JS */
.academy-courses .academy-course__thumbnail > a {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Card header needs to contain the tooltip's z-index context */
.academy-courses .academy-course__header {
  overflow: visible !important;
}

.academy-courses .academy-course__thumbnail img {
  display: block !important;
  border-radius: 0 !important;
  transition: transform .7s var(--ao-ease) !important;
}

.academy-courses .academy-course__thumbnail .academy-course-thumbnail-width {
  padding: 0 !important;
  margin: 0 !important;
}

.academy-courses .academy-course:hover .academy-course__thumbnail img {
  transform: scale(1.03) !important;
}

/* Category pill */
.academy-courses .academy-course__meta--category {
  background: var(--ao-accent-soft) !important;
  border-radius: var(--ao-r-pill) !important;
  padding: 5px 14px !important;
}

.academy-courses .academy-course__meta--category a {
  font-family: var(--ao-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--ao-accent) !important;
}

/* Card body */
.academy-courses .academy-course__body {
  padding: 7px !important;
}

.academy-courses .academy-course__content {
  gap: 14px !important;
}

/* Title */
.academy-courses .academy-course__title {
  font-family: var(--ao-font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -.01em !important;
}

.academy-courses .academy-course__title a {
  color: var(--ao-ink) !important;
  transition: color var(--ao-dur) var(--ao-ease) !important;
}

.academy-courses .academy-course__title a:hover {
  color: var(--ao-accent) !important;
}

/* Author */
.academy-courses .academy-course__author {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  color: var(--ao-ink-muted) !important;
}

/* Rating stars — warm gold everywhere */
.academy-group-star .academy-icon:before,
.academy-icon--star:before {
  color: var(--ao-gold) !important;
}

.academy-courses .academy-course__rating {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ao-ink-soft) !important;
}

/* Price */
.academy-courses .academy-course__price ins {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
}

/* Footer */
.academy-courses .academy-course__footer {
  border-color: var(--ao-border-light) !important;
  margin: 0 26px 24px !important;
  padding: 16px 0 0 !important;
}

/* Footer buttons — Add to Cart, Start Course */
.academy-courses .academy-course__footer .academy-btn {
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  border-radius: var(--ao-r-sm) !important;
  letter-spacing: .01em !important;
  min-height: 42px !important;
  padding: 8px 16px !important;
}

/* Wishlist bubble */
.academy-courses .academy-course__header .academy-course-header-meta .academy-course__wishlist {
  display: none !important;
}

.academy-courses .academy-course__header .academy-course-header-meta .academy-course__wishlist:hover {
  transform: scale(1.06) !important;
}

@media (hover: none), (pointer: coarse) {
  .academy-courses .academy-course:hover {
    transform: none !important;
    box-shadow: var(--ao-sh-sm) !important;
  }

  .academy-courses .academy-course:hover .academy-course__thumbnail img,
  .academy-courses .academy-course__header .academy-course-header-meta .academy-course__wishlist:hover {
    transform: none !important;
  }
}


/* ═══════════════════════════════════════════════════════
   §3b  COURSE CARD INFO TOOLTIP — Fixed properly
   ═══════════════════════════════════════════════════════ */
.academy-courses .academy-course .academy-course-card-info {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
}

.academy-courses .academy-course .academy-course-card-info__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, .35) !important;
  color: rgba(255, 255, 255, .8) !important;
  font-size: 14px !important;
  cursor: help !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  transition: all .25s ease !important;
}

.academy-courses .academy-course .academy-course-card-info__icon:hover,
.academy-courses .academy-course .academy-course-card-info.is-expanded .academy-course-card-info__icon {
  background: var(--ao-accent) !important;
  color: var(--ao-surface-card) !important;
  transform: scale(1.1) !important;
}

.academy-courses .academy-course .academy-course-card-info__tooltip {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  min-width: 220px !important;
  max-width: 300px !important;
  max-height: min(320px, calc(100vh - 120px)) !important;
  padding: 14px 16px !important;
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  color: var(--ao-ink) !important;
  background: var(--ao-surface-card) !important;
  border-radius: var(--ao-r-md) !important;
  box-shadow: var(--ao-sh-lg) !important;
  border: 1px solid var(--ao-border-light) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-8px) !important;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease !important;
  pointer-events: none !important;
  z-index: 100 !important;
}

.academy-courses .academy-course .academy-course-card-info__tooltip::before {
  content: '' !important;
  position: absolute !important;
  top: -7px !important;
  right: 8px !important;
  border-left: 7px solid transparent !important;
  border-right: 7px solid transparent !important;
  border-bottom: 7px solid var(--ao-surface-card) !important;
  filter: drop-shadow(0 -1px 1px rgba(0,0,0,.06)) !important;
}

/* Show on hover (desktop) */
.academy-courses .academy-course .academy-course-card-info:hover .academy-course-card-info__tooltip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* Show on tap (mobile — toggled by JS class) */
.academy-courses .academy-course .academy-course-card-info.is-expanded .academy-course-card-info__tooltip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}


/* ═══════════════════════════════════════════════════════
   §4  PAGINATION
   ═══════════════════════════════════════════════════════ */
.academy-courses__pagination .page-numbers {
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  border-radius: var(--ao-r-sm) !important;
  transition: all var(--ao-dur) var(--ao-ease) !important;
}

.academy-courses__pagination .page-numbers:hover,
.academy-courses__pagination .page-numbers.current {
  background: var(--ao-accent) !important;
  color: var(--ao-surface-card) !important;
  box-shadow: var(--ao-sh-md) !important;
}


/* ═══════════════════════════════════════════════════════
   §5  ARCHIVE SIDEBAR WIDGETS
   ═══════════════════════════════════════════════════════ */
.academy-archive-course-widget {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
  padding: 22px !important;
  box-shadow: var(--ao-sh-xs) !important;
}

.academy-archive-course-widget__title {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}


/* ═══════════════════════════════════════════════════════
   §6  SINGLE COURSE PAGE
   ═══════════════════════════════════════════════════════ */
.academy-single-course {
  margin: 0 !important;
  padding: 48px 0 80px !important;
}

/* Preview / hero image */
.academy-single-course__preview {
  margin-bottom: 32px !important;
  border-radius: var(--ao-r-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--ao-sh-lg) !important;
}

.academy-single-course__preview img.academy-course__thumbnail-image {
  border-radius: var(--ao-r-xl) !important;
}

.academy-single-course__preview .plyr {
  border-radius: var(--ao-r-xl) !important;
}

.academy-single-course__preview .plyr__control--overlaid {
  background-color: var(--ao-surface-card) !important;
  color: var(--ao-accent) !important;
  width: 72px !important;
  height: 72px !important;
  box-shadow: var(--ao-sh-lg) !important;
}

/* Category tag on single */
.academy-single-course__categroy a {
  font-family: var(--ao-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ao-accent) !important;
  background: var(--ao-accent-soft) !important;
  padding: 6px 16px !important;
  border-radius: var(--ao-r-pill) !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
  transition: all var(--ao-dur) var(--ao-ease) !important;
}

.academy-single-course__categroy a:hover {
  background: var(--ao-accent) !important;
  color: var(--ao-surface-card) !important;
}

/* Course title */
.academy-single-course__title {
  font-family: var(--ao-font-display) !important;
  font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  color: var(--ao-ink) !important;
}

/* Section headings */
.academy-single-course__content-item--description-title,
.benefits-title,
.academy-curriculum-title,
.feedback-title {
  font-family: var(--ao-font-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--ao-ink) !important;
  border-bottom: 2px solid var(--ao-border-light) !important;
  padding-bottom: 14px !important;
  margin-bottom: 20px !important;
}

/* Body text in descriptions */
.academy-single-course__content-item--description p {
  font-family: var(--ao-font-body) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--ao-ink-soft) !important;
}

/* Benefits — 2-col grid cards */
.academy-single-course__content-item--benefits .benefits-content ul {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 10px !important;
}

.academy-single-course__content-item--benefits .benefits-content ul li {
  padding: 14px 16px !important;
  background: var(--ao-surface-warm) !important;
  border-radius: var(--ao-r-sm) !important;
  border: 1px solid var(--ao-border-light) !important;
  margin-bottom: 0 !important;
  display: flex !important;
  gap: 10px !important;
  transition: border-color var(--ao-dur) var(--ao-ease) !important;
}

.academy-single-course__content-item--benefits .benefits-content ul li:hover {
  border-color: var(--ao-accent) !important;
}

.academy-single-course__content-item--benefits .benefits-content ul li i {
  color: var(--ao-success) !important;
}

.academy-single-course__content-item--benefits .benefits-content ul li span {
  font-family: var(--ao-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ao-ink-soft) !important;
}

/* Accordion */
.academy-accordion > li {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-md) !important;
  margin-bottom: 10px !important;
  transition: border-color var(--ao-dur) var(--ao-ease), box-shadow var(--ao-dur) var(--ao-ease) !important;
}

.academy-accordion > li.active {
  box-shadow: var(--ao-sh-md) !important;
  border-color: var(--ao-accent) !important;
}

.academy-accordion a.academy-accordion__title {
  font-family: var(--ao-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  border-radius: var(--ao-r-md) !important;
}

.academy-accordion > li.active .academy-accordion__title {
  color: var(--ao-accent) !important;
  background: var(--ao-accent-soft) !important;
}

/* Lesson list items */
.academy-lesson-list__item {
  transition: background var(--ao-dur) var(--ao-ease) !important;
}

.academy-lesson-list__item:hover {
  background: var(--ao-surface-warm) !important;
}

.academy-lesson-list__item .academy-entry-content .academy-entry-title {
  font-family: var(--ao-font-ui) !important;
}

.academy-lesson-list__item .academy-entry-content .academy-icon:before {
  color: var(--ao-accent) !important;
}

/* Instructor section */
.academy-single-course__content-item--instructors .course-single-instructor {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-md) !important;
  padding: 22px !important;
  margin-top: 16px !important;
  transition: border-color var(--ao-dur) var(--ao-ease) !important;
}

.academy-single-course__content-item--instructors .course-single-instructor:hover {
  border-color: var(--ao-accent) !important;
}

.academy-single-course__content-item--instructors .instructor-info__thumbnail img {
  border: 3px solid var(--ao-accent-soft) !important;
}

.academy-single-course__content-item--instructors .instructor-info__content .instructor-title {
  font-family: var(--ao-font-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ao-accent) !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Feedback ratings box */
.academy-single-course__content-item--feedback .academy-student-course-feedback-ratings {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-xl) !important;
  box-shadow: var(--ao-sh-sm) !important;
}

.academy-single-course__content-item--feedback .academy-avg-rating {
  font-family: var(--ao-font-display) !important;
  font-weight: 900 !important;
  color: var(--ao-ink) !important;
}

.academy-ratings-list-item .academy-ratings-list-item-fill {
  background: var(--ao-surface-warm) !important;
  border-radius: var(--ao-r-pill) !important;
}

.academy-ratings-list-item .academy-ratings-list-item-fill-bar {
  background: var(--ao-gold) !important;
  border-radius: var(--ao-r-pill) !important;
}

/* Review form */
.academy-review-form {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
}

.academy-review-form--open-form {
  box-shadow: var(--ao-sh-lg) !important;
  border-color: var(--ao-accent) !important;
}


/* ═══════════════════════════════════════════════════════
   §7  SIDEBAR / ENROLL WIDGET
   ═══════════════════════════════════════════════════════ */
.academy-widget-enroll {
  --ao-enroll-glow-angle: 0deg;
  --ao-enroll-glow-active: 0;
  --ao-enroll-glow-spread: 34deg;
  --ao-enroll-glow-border-width: 2.54px;
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-top-color: transparent !important;
  border-radius: var(--ao-r-xl) !important;
  box-shadow: var(--ao-sh-lg) !important;
  padding: 30px !important;
  position: relative !important;
  isolation: isolate !important;
}

/* Dynamic glow border (replaces static top accent stripe) */
.academy-widget-enroll::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--ao-enroll-glow-border-width));
  padding: var(--ao-enroll-glow-border-width);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  opacity: calc(var(--ao-enroll-glow-active) * 0.96);
  transition: opacity .2s var(--ao-ease);
  background: conic-gradient(
    from calc(var(--ao-enroll-glow-angle) - var(--ao-enroll-glow-spread)),
    rgba(221, 123, 187, 0) 0deg,
    rgba(221, 123, 187, .92) 12deg,
    rgba(215, 159, 30, .92) 26deg,
    rgba(90, 146, 44, .9) 42deg,
    rgba(76, 120, 148, .88) 56deg,
    rgba(76, 120, 148, 0) calc(var(--ao-enroll-glow-spread) * 2),
    rgba(76, 120, 148, 0) 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.academy-widget-enroll::after {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--ao-enroll-glow-border-width));
  padding: var(--ao-enroll-glow-border-width);
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: calc(var(--ao-enroll-glow-active) * 0.42);
  transition: opacity .2s var(--ao-ease);
  filter: blur(6px);
  background: conic-gradient(
    from calc(var(--ao-enroll-glow-angle) - var(--ao-enroll-glow-spread)),
    rgba(221, 123, 187, 0) 0deg,
    rgba(221, 123, 187, .45) 12deg,
    rgba(215, 159, 30, .45) 26deg,
    rgba(90, 146, 44, .42) 42deg,
    rgba(76, 120, 148, .4) 56deg,
    rgba(76, 120, 148, 0) calc(var(--ao-enroll-glow-spread) * 2),
    rgba(76, 120, 148, 0) 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.academy-widget-enroll > * {
  position: relative;
  z-index: 2;
}

body.single-course .academy-single-course .academy-col-lg-4 .academy-widget-enroll,
body.single-course .academy-single-course .academy-widget-enroll--mobile-only .academy-widget-enroll {
  border-top-color: transparent !important;
}

.academy-single-course .academy-widget-enroll .academy-widget-enroll__head {
  border-bottom: 1px solid var(--ao-border-light) !important;
}

.academy-widget-enroll__head .academy-course-type,
.academy-widget-enroll__head .academy-course-price ins {
  font-family: var(--ao-font-display) !important;
  font-weight: 900 !important;
  color: var(--ao-ink) !important;
}

.academy-widget-enroll__content-lists li {
  font-family: var(--ao-font-ui) !important;
}

.academy-widget-enroll__content-lists li .data {
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
}

.academy-widget-enroll__enrolled-info {
  background: var(--ao-success-soft) !important;
  color: var(--ao-success) !important;
  border-radius: var(--ao-r-sm) !important;
}


/* ═══════════════════════════════════════════════════════
   §8  BUTTONS — Unified premium feel
   ═══════════════════════════════════════════════════════ */
.academy-btn {
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  border-radius: var(--ao-r-sm) !important;
  transition: transform var(--ao-dur) var(--ao-ease), box-shadow var(--ao-dur) var(--ao-ease), background var(--ao-dur) var(--ao-ease) !important;
}

/* Kill the old hover sweep */
.academy-btn:after {
  display: none !important;
}

.academy-btn--bg-purple:hover,
.academy-btn--preset-purple:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px var(--ao-accent-glow) !important;
}

/* CTA buttons in enroll widget */
.academy-widget-enroll__enroll-form .academy-btn--bg-purple,
.academy-widget-enroll__continue .academy-btn--bg-purple {
  background: linear-gradient(135deg, var(--ao-accent), #6366f1) !important;
  box-shadow: 0 4px 14px var(--ao-accent-glow) !important;
}

.academy-widget-enroll__enroll-form .academy-btn--bg-purple:hover,
.academy-widget-enroll__continue .academy-btn--bg-purple:hover {
  box-shadow: 0 8px 28px var(--ao-accent-glow) !important;
  transform: translateY(-2px) !important;
}

.academy-btn[disabled],
.academy-btn--disabled {
  box-shadow: none !important;
  transform: none !important;
}

/* Share/wishlist */
.academy-widget-enroll__wishlist-and-share .academy-btn {
  border-radius: var(--ao-r-sm) !important;
}


/* ═══════════════════════════════════════════════════════
   §9  LEARN PAGE / CURRICULUM PLAYER — Premium Overhaul
   ═══════════════════════════════════════════════════════ */

/* ── 9.0  Full-page canvas ── */
body.academy-course-single-lessons {
  background: var(--ao-surface) !important;
}

.academy-course-single-lessons .site-content,
.academy-course-single-lessons .ast-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* ── 9.1  Top Bar — frosted glass, tighter, premium feel ── */
.academy-lesson-topbar {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
  border-bottom: 1px solid rgba(228,224,216,.6) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 20px rgba(0,0,0,.03) !important;
  height: 64px !important;
  padding: 0 24px !important;
  z-index: 9998 !important;
  transition: box-shadow .3s var(--ao-ease), background .3s var(--ao-ease) !important;
}

.academy-lesson-topbar__left {
  gap: 16px !important;
}

.academy-lesson-topbar__left .topbar-hr {
  border-color: var(--ao-border-light) !important;
  height: 20px !important;
  opacity: .5 !important;
}

.academy-lesson-topbar__left .academy-logo img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  transition: transform .3s var(--ao-ease) !important;
}

.academy-lesson-topbar__left .academy-logo img:hover {
  transform: scale(1.08) !important;
}

.academy-lesson-topbar .academy-course-title {
  font-size: 15px !important;
  line-height: 1.3 !important;
}

.academy-lesson-topbar .academy-course-title a {
  font-family: var(--ao-font-display) !important;
  font-weight: 600 !important;
  color: var(--ao-ink) !important;
  text-decoration: none !important;
  letter-spacing: -.01em !important;
  transition: color .2s var(--ao-ease) !important;
}

.academy-lesson-topbar .academy-course-title a:hover {
  color: var(--ao-accent) !important;
}

/* ── 9.1b  Progress ring — refined ── */
.academy-course-progress {
  gap: 8px !important;
}

.academy-progressbar {
  width: 38px !important;
  height: 38px !important;
}

.academy-progressbar svg {
  width: 38px !important;
  height: 38px !important;
  filter: drop-shadow(0 1px 3px rgba(61,90,241,.15)) !important;
}

.academy-progressbar__circle-background {
  stroke: var(--ao-border-light) !important;
  stroke-width: 12px !important;
}

.academy-progressbar__circle-progress {
  stroke: var(--ao-accent) !important;
  stroke-width: 12px !important;
  stroke-linecap: round !important;
  transition: stroke-dashoffset .6s var(--ao-ease) !important;
}

.academy-progressbar__text {
  font-family: var(--ao-font-ui) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--ao-accent) !important;
  letter-spacing: -.02em !important;
}

.academy-course-progress__label p {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ao-ink-muted) !important;
}

/* ── 9.1c  Top-bar right-side buttons ── */
.academy-lesson-topbar__right {
  gap: 8px !important;
}

.academy-lesson-topbar__right .academy-course-close {
  border: 1px solid var(--ao-border) !important;
  border-radius: var(--ao-r-sm) !important;
  height: 36px !important;
  width: 36px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .25s var(--ao-ease) !important;
  background: transparent !important;
}

.academy-lesson-topbar__right .academy-course-close:hover {
  border-color: var(--ao-accent) !important;
  background: var(--ao-accent-soft) !important;
}

.academy-lesson-topbar__right .academy-course-close .academy-icon:before {
  color: var(--ao-ink-muted) !important;
  font-size: 12px !important;
  transition: color .25s var(--ao-ease) !important;
}

.academy-lesson-topbar__right .academy-course-close:hover .academy-icon:before {
  color: var(--ao-accent) !important;
}

/* ── 9.2  Main wrapper layout ── */
.academy-lesson-content-wrapper {
  margin-top: 64px !important;
}

.academy-course-curriculum-wrapper {
  min-height: calc(100vh - 64px) !important;
  background: var(--ao-surface) !important;
}

/* ── 9.3  Content area — breathable, readable ── */
.academy-lessons-content-wrap {
  background: var(--ao-surface) !important;
}

.academy-lessons-content {
  background: var(--ao-surface-card) !important;
  padding: 48px 56px 56px !important;
  max-width: 100% !important;
  min-height: calc(100vh - 64px) !important;
  animation: ao-fadeUp .45s var(--ao-ease) both !important;
}

.academy-lessons-content__text {
  font-family: var(--ao-font-body) !important;
  font-size: 16.5px !important;
  line-height: 1.7 !important;
  color: var(--ao-ink-soft) !important;
  letter-spacing: .005em !important;
}

/* Prevent emojis from blowing up line-height */
.academy-lessons-content__text img.emoji,
.academy-lessons-content__text img[draggable="false"][alt],
.academy-lessons-content__text .emoji {
  height: 1.1em !important;
  width: 1.1em !important;
  vertical-align: -0.15em !important;
  display: inline !important;
  margin: 0 1px !important;
  line-height: 1 !important;
}

.academy-lessons-content__text h1,
.academy-lessons-content__text h2,
.academy-lessons-content__text h3,
.academy-lessons-content__text h4,
.academy-lessons-content__text h5,
.academy-lessons-content__text h6 {
  font-family: var(--ao-font-display) !important;
  color: var(--ao-ink) !important;
  letter-spacing: -.02em !important;
  line-height: 1.25 !important;
  margin-top: 1.4em !important;
  margin-bottom: .4em !important;
}

.academy-lessons-content__text p {
  margin-top: 0 !important;
  margin-bottom: .65em !important;
}

/* Collapse spacing on empty paragraphs (editor line breaks) */
.academy-lessons-content__text p:empty,
.academy-lessons-content__text p > br:only-child {
  margin-bottom: .25em !important;
  line-height: .5 !important;
}

.academy-lessons-content__text img {
  border-radius: var(--ao-r-md) !important;
  margin: 1.2em 0 !important;
}

.academy-lessons-content__text blockquote,
.academy-lessons-content__text .ql-blockquote {
  border-left: 3px solid var(--ao-accent) !important;
  background: var(--ao-accent-soft) !important;
  padding: 16px 24px !important;
  border-radius: 0 var(--ao-r-sm) var(--ao-r-sm) 0 !important;
  margin: 1.5em 0 !important;
  font-style: italic !important;
  color: var(--ao-ink-soft) !important;
}

.academy-lessons-content__text code,
.academy-lessons-content__text .ql-code-block-container {
  font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
  background: var(--ao-surface-warm) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-sm) !important;
  padding: 14px 20px !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

/* ── 9.3b  Video area ── */
.academy-lessons-content__video {
  border-radius: var(--ao-r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ao-sh-lg) !important;
  margin-bottom: 32px !important;
}

.academy-lessons-content__video .plyr,
.academy-lessons-content__video iframe,
.academy-lessons-content__video video {
  border-radius: var(--ao-r-lg) !important;
}

.academy-embed-responsive {
  border-radius: var(--ao-r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ao-sh-md) !important;
}

.academy-youtube-player {
  border-radius: var(--ao-r-lg) !important;
  overflow: hidden !important;
}

.academy-youtube-player .academy-paly-icon {
  background: var(--ao-accent) !important;
  width: 72px !important;
  height: 72px !important;
  box-shadow: 0 8px 32px rgba(61,90,241,.35) !important;
  transition: transform .3s var(--ao-ease), box-shadow .3s var(--ao-ease) !important;
}

.academy-youtube-player .academy-paly-icon:hover {
  background: var(--ao-accent-hover) !important;
  transform: scale(1.08) !important;
  box-shadow: 0 12px 40px rgba(61,90,241,.45) !important;
}

/* ── 9.4  Sidebar — refined curriculum panel ── */
.academy-course-learn-page-curriculums {
  background: var(--ao-surface-card) !important;
  border: none !important;
  border-left: 1px solid var(--ao-border-light) !important;
  box-shadow: -1px 0 0 rgba(0,0,0,.02) !important;
  margin-top: -1px !important;
}

.academy-course-learn-page-curriculums--sticky {
  top: 64px !important;
  margin-top: 0 !important;
}

/* Sidebar header */
.academy-course-learn-page-curriculums .academy-lesson-sidebar-content__title {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  background: var(--ao-surface) !important;
}

.academy-course-learn-page-curriculums .academy-lesson-sidebar-content__title h4 {
  font-family: var(--ao-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  letter-spacing: -.01em !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-size: 11px !important;
  color: var(--ao-ink-muted) !important;
}

.academy-course-learn-page-curriculums .academy-lesson-sidebar-content__title .academy-btn {
  padding: 6px !important;
  border-radius: var(--ao-r-sm) !important;
  transition: background .2s var(--ao-ease) !important;
}

.academy-course-learn-page-curriculums .academy-lesson-sidebar-content__title .academy-btn:hover {
  background: var(--ao-surface-warm) !important;
}

.academy-course-learn-page-curriculums .academy-lesson-sidebar-content__title .academy-btn:hover .academy-icon:before {
  color: var(--ao-accent) !important;
}

/* Sidebar scrollable content wrapper */
.academy-lesson-sidebar-content--wrapper {
  scrollbar-width: thin !important;
  scrollbar-color: var(--ao-border) transparent !important;
}

/* ── 9.5  Topic sections (accordion headers) ── */
.academy-learn-page-topics {
  background: var(--ao-surface-card) !important;
  border-bottom: none !important;
}

.academy-learn-page-topics .academy-learn-page-topics-title {
  background: var(--ao-surface-card) !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  padding: 14px 20px !important;
  transition: background .2s var(--ao-ease) !important;
}

.academy-learn-page-topics .academy-learn-page-topics-title:hover {
  background: var(--ao-surface) !important;
}

.academy-learn-page-topics .academy-learn-page-topics-title__text {
  font-family: var(--ao-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  letter-spacing: -.01em !important;
}

.academy-learn-page-topics .academy-learn-page-topics-title .academy-icon:before {
  color: var(--ao-ink-faint) !important;
  transition: color .2s var(--ao-ease), transform .3s var(--ao-ease) !important;
}

.academy-learn-page-topics--is-open > .academy-learn-page-topics-title .academy-icon:before {
  color: var(--ao-accent) !important;
}

/* ── 9.6  Lesson items in sidebar ── */
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item {
  background: var(--ao-surface-card) !important;
  border-top: 1px solid var(--ao-border-light) !important;
  border-left: 3px solid transparent !important;
  transition: all .2s var(--ao-ease) !important;
  opacity: 1 !important;
}

.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item:hover {
  background: var(--ao-surface) !important;
}

/* Currently playing */
.academy-learn-page-topics-lesson-item--playing,
.academy-sub-topics-lesson-item--playing {
  background: var(--ao-accent-soft) !important;
  border-left: 3px solid var(--ao-accent) !important;
  opacity: 1 !important;
}

.academy-learn-page-topics-lesson-item--playing .academy-learn-page-topics-lesson-item__text,
.academy-sub-topics-lesson-item--playing .academy-sub-topics-lesson-item__text {
  color: var(--ao-accent) !important;
  font-weight: 600 !important;
}

/* Non-playing items — fully visible, just subtly muted text */
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item:not(.academy-learn-page-topics-lesson-item--playing) {
  opacity: 1 !important;
}

.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item:not(.academy-learn-page-topics-lesson-item--playing):hover {
  opacity: 1 !important;
}

/* Lesson item text */
.academy-learn-page-topics-lesson-item__text,
.academy-sub-topics-lesson-item__text {
  font-family: var(--ao-font-ui) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--ao-ink-soft) !important;
  line-height: 1.45 !important;
}

/* Lesson item icons */
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-topics-lesson-item__btn .academy-entry-left .academy-icon:before,
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item__btn .academy-entry-left .academy-icon:before,
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item__btn .academy-entry-left i {
  color: var(--ao-ink-faint) !important;
  font-size: 14px !important;
  transition: color .2s var(--ao-ease) !important;
}

.academy-learn-page-topics-lesson-item--playing .academy-entry-left .academy-icon:before,
.academy-learn-page-topics-lesson-item--playing .academy-entry-left i {
  color: var(--ao-accent) !important;
}

/* Checkbox styling */
.academy-learn-page-topics .academy-learn-page-topics-lesson-items .academy-learn-page-topics-lesson-item__input input[type="checkbox"],
.academy-learn-page-topics .topic_check {
  accent-color: var(--ao-accent) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

/* ── 9.6b  Sub-topics ── */
.academy-learn-page-topics-sub-topics .academy-sub-topics-title {
  background: var(--ao-surface) !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  padding-left: 44px !important;
  transition: background .2s var(--ao-ease) !important;
}

.academy-learn-page-topics-sub-topics .academy-sub-topics-title:hover {
  background: var(--ao-surface-warm) !important;
}

.academy-learn-page-topics-sub-topics .academy-sub-topics-title__text {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ao-ink-soft) !important;
}

.academy-sub-topics-lesson-items .academy-sub-topics-lesson-item {
  transition: all .2s var(--ao-ease) !important;
  border-left: 3px solid transparent !important;
  opacity: 1 !important;
}

.academy-sub-topics-lesson-items .academy-sub-topics-lesson-item:not(.academy-sub-topics-lesson-item--playing) {
  opacity: 1 !important;
}

.academy-sub-topics-lesson-items .academy-sub-topics-lesson-item:not(.academy-sub-topics-lesson-item--playing):hover {
  opacity: 1 !important;
  background: var(--ao-surface) !important;
}

/* ── 9.7  Prev / Next navigation buttons ── */
/* (container is now sticky — see sticky rule above) */

.academy-lesson-content-prev-next-btn .academy-btn {
  border: 1.5px solid var(--ao-border) !important;
  border-radius: var(--ao-r-md) !important;
  background: var(--ao-surface-card) !important;
  padding: 14px 24px !important;
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ao-ink-soft) !important;
  transition: all .25s var(--ao-ease) !important;
  box-shadow: var(--ao-sh-xs) !important;
}

.academy-lesson-content-prev-next-btn .academy-btn:hover {
  border-color: var(--ao-accent) !important;
  color: var(--ao-accent) !important;
  box-shadow: var(--ao-sh-sm), 0 0 0 3px var(--ao-accent-glow) !important;
  transform: translateY(-1px) !important;
}

.academy-lesson-content-prev-next-btn .academy-btn .academy-icon:before {
  color: var(--ao-ink-muted) !important;
  transition: color .25s var(--ao-ease) !important;
}

.academy-lesson-content-prev-next-btn .academy-btn .academy-btn__label {
  color: var(--ao-ink-soft) !important;
  font-family: var(--ao-font-ui) !important;
  display: block !important;
  opacity: 1 !important;
}

.academy-lesson-content-prev-next-btn .academy-btn .academy-btn__icon {
  background: transparent !important;
}

.academy-lesson-content-prev-next-btn .academy-btn .academy-btn__icon .academy-icon:before {
  color: var(--ao-ink-muted) !important;
}

.academy-lesson-content-prev-next-btn .academy-btn:hover .academy-icon:before,
.academy-lesson-content-prev-next-btn .academy-btn:hover .academy-btn__icon .academy-icon:before {
  color: var(--ao-accent) !important;
}

.academy-lesson-content-prev-next-btn .academy-btn:hover .academy-btn__label {
  color: var(--ao-accent) !important;
}

/* Floating prev/next overlays — DISABLED in favor of sticky bottom bar */
.academy-btn--next-lesson,
.academy-btn--previous-lesson {
  display: none !important;
}

/* Make the bottom prev/next bar sticky at the bottom of the content area */
.academy-lesson-content-prev-next-btn {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 99 !important;
  background: var(--ao-surface-card, #fff) !important;
  border-top: 1px solid var(--ao-border-light, #eee) !important;
  margin: 0 -56px !important;
  padding: 16px 56px !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}

/* (floating arrow icon colors removed — buttons are hidden) */

/* ── 9.8  Lesson Tabs (Course Content / Q&A / Announcements) ── */
.academy-lesson-tab__head {
  border-bottom: 2px solid var(--ao-border-light) !important;
  background: var(--ao-surface-card) !important;
  padding: 0 56px !important;
}

.academy-lesson-tab__head .academy-lesson-tab-nav {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ao-ink-muted) !important;
  padding: 14px 20px !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: color .2s var(--ao-ease), border-color .2s var(--ao-ease) !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.academy-lesson-tab__head .academy-lesson-tab-nav:hover {
  color: var(--ao-ink) !important;
}

.academy-lesson-tab__head .academy-lesson-tab-nav--active {
  color: var(--ao-accent) !important;
  border-bottom-color: var(--ao-accent) !important;
}

.academy-lesson-tab__body {
  background: var(--ao-surface) !important;
  padding: 40px !important;
}

/* ── 9.9  Q&A section ── */
.academy-lesson-browseqa-wrap {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
  box-shadow: var(--ao-sh-sm) !important;
  padding: 36px 32px !important;
}

.academy-lesson-browseqa-wrap .academy-question-form__heading {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
}

.academy-lesson-browseqa-wrap .academy-question-form form input,
.academy-lesson-browseqa-wrap .academy-question-form form textarea {
  border: 1.5px solid var(--ao-border) !important;
  border-radius: var(--ao-r-sm) !important;
  padding: 14px 16px !important;
  font-family: var(--ao-font-ui) !important;
  font-size: 14px !important;
  transition: border-color .2s var(--ao-ease), box-shadow .2s var(--ao-ease) !important;
}

.academy-lesson-browseqa-wrap .academy-question-form form input:focus,
.academy-lesson-browseqa-wrap .academy-question-form form textarea:focus {
  border-color: var(--ao-accent) !important;
  box-shadow: var(--ao-sh-glow) !important;
  outline: none !important;
}

.academy-lesson-browseqa-wrap .academy-question-lists .academy-qa__body {
  background: var(--ao-surface) !important;
  border-radius: var(--ao-r-md) !important;
  border: 1px solid var(--ao-border-light) !important;
  padding: 16px 24px !important;
}

.academy-lesson-browseqa-wrap .academy-question-lists .academy-qa__body .academy-qa-title {
  font-family: var(--ao-font-display) !important;
  font-weight: 600 !important;
  color: var(--ao-ink) !important;
}

/* ── 9.10  Announcements ── */
.academy-announcements-wrap .academy-announcement-item {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-md) !important;
  box-shadow: var(--ao-sh-xs) !important;
  padding: 24px 28px !important;
  transition: border-color .25s var(--ao-ease), box-shadow .25s var(--ao-ease) !important;
}

.academy-announcements-wrap .academy-announcement-item:hover {
  border-color: var(--ao-accent) !important;
  box-shadow: var(--ao-sh-sm) !important;
}

.academy-announcements-wrap .academy-announcement-item h3 {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
}

.academy-announcements-wrap .academy-announcement-item p {
  font-family: var(--ao-font-ui) !important;
  color: var(--ao-ink-muted) !important;
  line-height: 1.65 !important;
}

/* ── 9.11  Expand / Collapse sidebar button ── */
.academy-btn--lesson-expand {
  background: linear-gradient(135deg, var(--ao-accent), #6366f1) !important;
  border: none !important;
  border-radius: 0 var(--ao-r-sm) var(--ao-r-sm) 0 !important;
  padding: 10px 14px !important;
  box-shadow: 0 4px 16px rgba(61,90,241,.25) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
  transition: right .35s var(--ao-ease), box-shadow .3s var(--ao-ease) !important;
}

.academy-btn--lesson-expand .academy-icon:before {
  color: #fff !important;
}

.academy-btn--lesson-expand:hover {
  box-shadow: 0 8px 28px rgba(61,90,241,.35) !important;
}

/* ── 9.12  Quiz area ── */
.academy-lesson-quiz {
  background: var(--ao-surface) !important;
  border-radius: var(--ao-r-xl) !important;
  padding: 40px !important;
  box-shadow: none !important;
}

.academy-lesson-quiz__inner {
  background: var(--ao-surface-card) !important;
  border-radius: var(--ao-r-lg) !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: var(--ao-sh-sm) !important;
  overflow: hidden !important;
}

.academy-lesson-quiz__header {
  background: var(--ao-surface-card) !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  font-family: var(--ao-font-ui) !important;
  padding: 20px 28px !important;
}

.academy-lesson-quiz__body {
  background: var(--ao-surface-card) !important;
  padding: 32px !important;
}

.academy-lesson-quiz__body h1 {
  font-family: var(--ao-font-display) !important;
  color: var(--ao-ink) !important;
  font-weight: 700 !important;
}

.academy-lesson-quiz .academy-quiz-buttons .academy-btn {
  border-radius: var(--ao-r-sm) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  transition: all .25s var(--ao-ease) !important;
}

.academy-lesson-quiz .academy-quiz-buttons .academy-btn--preset-purple,
.academy-lesson-quiz .academy-quiz-buttons .academy-btn--bg-purple {
  background: linear-gradient(135deg, var(--ao-accent), #6366f1) !important;
  box-shadow: 0 4px 14px var(--ao-accent-glow) !important;
}

.academy-lesson-quiz .academy-quiz-buttons .academy-btn--preset-purple:hover,
.academy-lesson-quiz .academy-quiz-buttons .academy-btn--bg-purple:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px var(--ao-accent-glow) !important;
}

.academy-lesson-quiz .academy-lesson-quiz-answer .academy-quiz-answer {
  border: 1.5px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-md) !important;
  background: var(--ao-surface-card) !important;
  transition: border-color .25s var(--ao-ease), box-shadow .25s var(--ao-ease) !important;
}

.academy-lesson-quiz .academy-lesson-quiz-answer .academy-quiz-answer:hover {
  border-color: var(--ao-accent) !important;
  box-shadow: 0 0 0 3px var(--ao-accent-glow) !important;
}

/* ── 9.13  Assignment area ── */
.academy-assignment-content {
  background: var(--ao-surface) !important;
  border-radius: var(--ao-r-xl) !important;
}

.academy-assignment-content__wrapper {
  background: var(--ao-surface-card) !important;
  border-radius: var(--ao-r-lg) !important;
  border: 1px solid var(--ao-border-light) !important;
}

.academy-assignment-content__description {
  background: var(--ao-surface) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-md) !important;
  font-family: var(--ao-font-body) !important;
  line-height: 1.8 !important;
}

/* ── 9.14  Learn page — responsive refinements ── */
@media (max-width: 768px) {
  .academy-lesson-topbar {
    height: 60px !important;
  }

  .academy-lesson-content-wrapper {
    margin-top: 0 !important;
  }

  .academy-lessons-content {
    padding: 28px 20px 32px !important;
    min-height: auto !important;
  }

  .academy-lesson-content-prev-next-btn {
    margin: 0 -20px !important;
    padding: 14px 20px !important;
  }

  .academy-lesson-tab__head {
    padding: 0 20px !important;
  }

  .academy-lesson-tab__body {
    padding: 20px !important;
  }

  .academy-lesson-quiz {
    padding: 20px !important;
    border-radius: var(--ao-r-lg) !important;
  }
}

@media (max-width: 480px) {
  .academy-lesson-topbar {
    padding: 0 12px !important;
    height: 56px !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .academy-lessons-content {
    padding: 20px 16px 28px !important;
  }

  .academy-lessons-content__text {
    font-size: 15.5px !important;
    line-height: 1.75 !important;
  }

  .academy-lesson-content-prev-next-btn {
    margin: 0 -16px !important;
    padding: 12px 16px !important;
  }

  .academy-lesson-content-prev-next-btn .academy-btn {
    padding: 12px 16px !important;
    font-size: 12px !important;
  }

  .academy-lesson-tab__head .academy-lesson-tab-nav {
    padding: 12px 14px !important;
    font-size: 11px !important;
  }
}

/* ── 9.15  Smooth page load animation ── */
.academy-course-curriculum-wrapper {
  animation: ao-fadeUp .4s var(--ao-ease) both !important;
  animation-delay: .05s !important;
}


/* ═══════════════════════════════════════════════════════
   §10  FRONTEND DASHBOARD — MODERN OVERHAUL
   Premium visual refresh: glass morphism, smooth animations,
   rich depth, refined typography, delightful micro-interactions.
   ═══════════════════════════════════════════════════════ */

/* ── 10.0 Dashboard-specific tokens ─────────────────── */
.academy-frontend-dashboard,
.academyFrontendDashWrap {
  --ao-dash-glass: rgba(255, 255, 255, 0.72);
  --ao-dash-glass-border: rgba(255, 255, 255, 0.45);
  --ao-dash-subtle-gradient: linear-gradient(135deg, #f8f9fe 0%, #f0f1f8 100%);
  --ao-dash-card-gradient: linear-gradient(160deg, #ffffff 0%, #fafbff 100%);
  --ao-dash-shimmer: linear-gradient(110deg, transparent 33%, rgba(255,255,255,0.6) 50%, transparent 67%);
}

/* ── 10.1 Dashboard wrapper & background ─────────────── */
.academy-container .academy-row .academy-col-lg-12
  .academy-frontend-dashboard__content .academy-dashboard__content {
  background: var(--ao-dash-card-gradient) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
  box-shadow: var(--ao-sh-sm) !important;
  padding: 28px !important;
}

/* ── 10.2 Sidebar ─────────────────────────────────────── */

/* Sidebar container */
.academy-container .academy-row .academy-col-lg-12
  .academy-frontend-dashboard__sidebar {
  background: var(--ao-dash-card-gradient) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: var(--ao-r-lg) !important;
  box-shadow: var(--ao-sh-sm) !important;
  overflow: hidden !important;
}

/* User section top */
.academy-frontend-dashboard__user {
  padding: 20px 16px 12px !important;
}

.academy-frontend-dashboard__user .user-title img {
  border: 2px solid var(--ao-accent-soft) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(61, 90, 241, 0.12) !important;
  transition: transform var(--ao-dur) var(--ao-ease), box-shadow var(--ao-dur) var(--ao-ease) !important;
}

.academy-frontend-dashboard__user .user-title:hover img {
  transform: scale(1.06) !important;
  box-shadow: 0 4px 16px rgba(61, 90, 241, 0.18) !important;
}

.academy-frontend-dashboard__user .user-title .academy-dashboard-menu__item-label {
  font-family: var(--ao-font-display) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--ao-ink) !important;
}

/* Sidebar nav links */
.academy-dashboard-menu {
  padding: 8px 12px 16px !important;
}

.academy-dashboard-menu li {
  margin-bottom: 1px !important;
  padding: 1px 0 !important;
}

.academy-dashboard-menu li a {
  font-family: var(--ao-font-ui) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  transition: all 0.2s var(--ao-ease) !important;
  position: relative !important;
  color: var(--ao-ink-soft) !important;
}

.academy-dashboard-menu li a .academy-icon:before {
  transition: color 0.2s var(--ao-ease), transform 0.2s var(--ao-ease) !important;
}

.academy-dashboard-menu li a:hover {
  background: var(--ao-surface-warm) !important;
  color: var(--ao-ink) !important;
  transform: translateX(2px) !important;
}

.academy-dashboard-menu li a:hover .academy-icon:before {
  color: var(--ao-accent) !important;
}

.academy-dashboard-menu li a.active,
.academy-dashboard-menu__item-current > a {
  background: var(--ao-accent-soft) !important;
  color: var(--ao-accent) !important;
  font-weight: 600 !important;
  box-shadow: inset 3px 0 0 var(--ao-accent), 0 1px 3px rgba(61, 90, 241, 0.08) !important;
}

.academy-dashboard-menu__item-current > a .academy-icon:before,
.academy-dashboard-menu li a.active .academy-icon:before {
  color: var(--ao-accent) !important;
  transform: scale(1.08) !important;
}

/* Divider lines between sections */
.academy-dashboard-menu__item-courses:before,
.academy-dashboard-menu__item-index:before,
.academy-dashboard-menu__item-settings:before {
  background: var(--ao-border-light) !important;
  height: 1px !important;
  opacity: 0.7 !important;
}

/* Hide broken "false" dashboard nav item */
#academy-dashboard-menu .academy-dashboard-menu__item-store-dashboard {
  display: none !important;
}

/* User dropdown */
.academy-frontend-dashboard__user-dropdown {
  border-radius: var(--ao-r-md) !important;
  box-shadow: var(--ao-sh-xl) !important;
  border: 1px solid var(--ao-border-light) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  animation: aoDropdownReveal 0.25s var(--ao-ease) !important;
}

@keyframes aoDropdownReveal {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ── 10.3 Topbar ──────────────────────────────────────── */
.academy-topbar-heading {
  font-family: var(--ao-font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  color: var(--ao-ink) !important;
  letter-spacing: -0.02em !important;
}

/* ── 10.4 Analytics stat cards — the hero section ─────── */
.academy-analytics-cards {
  gap: 14px !important;
  margin: 20px 0 28px !important;
}

.academy-analytics-cards--card {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 6px 16px rgba(0,0,0,0.04) !important;
  padding: 22px 24px !important;
  gap: 20px !important;
  height: auto !important;
  min-height: 110px !important;
  transition:
    transform 0.3s var(--ao-ease),
    box-shadow 0.3s var(--ao-ease),
    border-color 0.3s var(--ao-ease) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Subtle top accent bar on each card */
.academy-analytics-cards--card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  border-radius: 16px 16px 0 0 !important;
  opacity: 0.7 !important;
  transition: opacity 0.3s var(--ao-ease) !important;
}

/* Color-coded top bars matching icon colors */
.academy-analytics-cards--card:nth-child(1)::before {
  background: linear-gradient(90deg, #fe9b28, #ffbf66) !important;
}
.academy-analytics-cards--card:nth-child(2)::before {
  background: linear-gradient(90deg, #4757dc, #7b8af0) !important;
}
.academy-analytics-cards--card:nth-child(3)::before {
  background: linear-gradient(90deg, #2bdfa5, #6eedc5) !important;
}
.academy-analytics-cards--card:nth-child(4)::before {
  background: linear-gradient(90deg, #e8493f, #f08a83) !important;
}
.academy-analytics-cards--card:nth-child(5)::before {
  background: linear-gradient(90deg, #4125a6, #7b6aed) !important;
}
.academy-analytics-cards--card:nth-child(6)::before {
  background: linear-gradient(90deg, #cd80fd, #e0b3ff) !important;
}
.academy-analytics-cards--card:nth-child(n+7)::before {
  background: linear-gradient(90deg, var(--ao-accent), #7b8af0) !important;
}

.academy-analytics-cards--card:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 4px 8px rgba(0,0,0,0.04),
    0 16px 40px rgba(0,0,0,0.09),
    0 0 0 1px var(--ao-border-light) !important;
  border-color: transparent !important;
}

.academy-analytics-cards--card:hover::before {
  opacity: 1 !important;
}

/* Stagger entrance animation */
.academy-analytics-cards--card {
  animation: aoCardSlideUp 0.45s var(--ao-ease) both !important;
}
.academy-analytics-cards--card:nth-child(1) { animation-delay: 0s !important; }
.academy-analytics-cards--card:nth-child(2) { animation-delay: 0.06s !important; }
.academy-analytics-cards--card:nth-child(3) { animation-delay: 0.12s !important; }
.academy-analytics-cards--card:nth-child(4) { animation-delay: 0.18s !important; }
.academy-analytics-cards--card:nth-child(5) { animation-delay: 0.24s !important; }
.academy-analytics-cards--card:nth-child(6) { animation-delay: 0.30s !important; }

@keyframes aoCardSlideUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Icon containers — modernized with soft gradient bg */
.academy-analytics-cards--card .academy-analytics-card--icon {
  border-radius: 14px !important;
  min-height: 52px !important;
  min-width: 52px !important;
  transition: transform 0.3s var(--ao-ease), box-shadow 0.3s var(--ao-ease) !important;
}

.academy-analytics-cards--card:hover .academy-analytics-card--icon {
  transform: scale(1.06) rotate(-2deg) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* Course icon — orange */
.academy-analytics-cards .icon-course {
  background: linear-gradient(135deg, #fff5e6, #ffe8c5) !important;
  border-color: rgba(254, 155, 40, 0.25) !important;
}

/* Enrolled icon — blue */
.academy-analytics-cards .icon-enrolled {
  background: linear-gradient(135deg, #eef0ff, #dde2ff) !important;
  border-color: rgba(71, 87, 220, 0.2) !important;
}

/* Lesson icon — green */
.academy-analytics-cards .icon-lesson {
  background: linear-gradient(135deg, #e6fcf3, #c5f5e2) !important;
  border-color: rgba(43, 223, 165, 0.2) !important;
}

/* Question icon — red */
.academy-analytics-cards .icon-question {
  background: linear-gradient(135deg, #fff0ef, #ffd9d6) !important;
  border-color: rgba(232, 73, 63, 0.18) !important;
}

/* Instructor icon — purple */
.academy-analytics-cards .icon-instructor {
  background: linear-gradient(135deg, #f0ecff, #ddd5ff) !important;
  border-color: rgba(65, 37, 166, 0.18) !important;
}

/* Students icon — violet */
.academy-analytics-cards .icon-students {
  background: linear-gradient(135deg, #f3f0ff, #e4dfff) !important;
  border-color: rgba(123, 106, 237, 0.18) !important;
}

/* Review icon — pink/purple */
.academy-analytics-cards .icon-review {
  background: linear-gradient(135deg, #f9f0ff, #f0d9ff) !important;
  border-color: rgba(205, 128, 253, 0.18) !important;
}

/* Quiz icon — teal */
.academy-analytics-cards .icon-quiz {
  background: linear-gradient(135deg, #e6fff5, #c5ffe5) !important;
  border-color: rgba(0, 173, 107, 0.18) !important;
}

/* Card values — big bold numbers */
.academy-analytics-card--value {
  font-family: var(--ao-font-display) !important;
  font-weight: 900 !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  color: var(--ao-ink) !important;
  letter-spacing: -0.03em !important;
}

.academy-analytics-card--data {
  gap: 2px !important;
}

.academy-analytics-card--label {
  font-family: var(--ao-font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ao-ink-muted) !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

/* ── 10.5 Dashboard course table ─────────────────────── */
.kzui-list-table--dashboard-course,
.kzui-list-table--purchase {
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 6px 16px rgba(0,0,0,0.04) !important;
  padding: 20px 24px 24px !important;
  animation: aoCardSlideUp 0.5s var(--ao-ease) both !important;
  animation-delay: 0.2s !important;
}

/* Table header */
.kzui-list-table__table .kzui-list-table__table-head
  .kzui-list-table__table-row-cell {
  background: var(--ao-surface-warm) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--ao-ink-muted) !important;
  padding: 10px 16px !important;
  border: none !important;
}

/* First header cell rounded left */
.kzui-list-table__table .kzui-list-table__table-head
  .kzui-list-table__table-row-cell:first-child {
  border-radius: 10px 0 0 10px !important;
}

/* Last header cell rounded right */
.kzui-list-table__table .kzui-list-table__table-head
  .kzui-list-table__table-row-cell:last-child {
  border-radius: 0 10px 10px 0 !important;
}

/* Table body rows */
.kzui-list-table__table .kzui-list-table__table-body
  .kzui-list-table__table-body-row {
  transition: background 0.2s var(--ao-ease) !important;
  border-radius: 8px !important;
}

.kzui-list-table__table .kzui-list-table__table-body
  .kzui-list-table__table-body-row:hover {
  background: var(--ao-surface) !important;
}

.kzui-list-table__table .kzui-list-table__table-body
  .kzui-list-table__table-row-cell {
  font-family: var(--ao-font-ui) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ao-ink-soft) !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  padding: 14px 16px !important;
  transition: color 0.2s var(--ao-ease) !important;
}

.kzui-list-table__table .kzui-list-table__table-body
  .kzui-list-table__table-body-row:last-child .kzui-list-table__table-row-cell {
  border-bottom: none !important;
}

/* Star ratings in table — add glow */
.kzui-list-table .academy-group-star .academy-icon:before {
  color: #f4c150 !important;
  text-shadow: 0 1px 4px rgba(244, 193, 80, 0.3) !important;
}

/* No data state */
.academy-oops {
  padding: 48px 24px !important;
}

.academy-oops__heading {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  margin-bottom: 6px !important;
}

.academy-oops__text {
  font-family: var(--ao-font-ui) !important;
  color: var(--ao-ink-muted) !important;
}

/* ── 10.6 Dashboard course cards (enrolled/active) ────── */
.academy-mycourse {
  border-radius: 16px !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 4px 12px rgba(0,0,0,0.04) !important;
  transition:
    transform 0.3s var(--ao-ease),
    box-shadow 0.3s var(--ao-ease),
    border-color 0.3s var(--ao-ease) !important;
  overflow: hidden !important;
}

.academy-mycourse:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--ao-sh-lg) !important;
  border-color: transparent !important;
}

.academy-mycourse h3 a {
  font-family: var(--ao-font-display) !important;
  font-weight: 700 !important;
  color: var(--ao-ink) !important;
  transition: color 0.2s var(--ao-ease) !important;
}

.academy-mycourse h3 a:hover {
  color: var(--ao-accent) !important;
}

.academy-mycourse__thumbnail img {
  transition: transform 0.5s var(--ao-ease) !important;
}

.academy-mycourse:hover .academy-mycourse__thumbnail img {
  transform: scale(1.04) !important;
}

/* Progress bars — refined */
.academy-progress {
  border-radius: var(--ao-r-pill) !important;
  background: var(--ao-surface-warm) !important;
  height: 6px !important;
  overflow: hidden !important;
}

.academy-progress .academy-progress-bar {
  background: linear-gradient(90deg, var(--ao-accent), #6c7af7) !important;
  border-radius: var(--ao-r-pill) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Shimmer on progress bar */
.academy-progress .academy-progress-bar::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: var(--ao-dash-shimmer) !important;
  animation: aoShimmer 2.4s infinite !important;
}

@keyframes aoShimmer {
  to { left: 100%; }
}

.academy-progress-wrap__percent {
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--ao-accent) !important;
}

/* ── 10.7 Dashboard tabs ──────────────────────────────── */
.academy_dashboard-tabs {
  border-radius: 14px 14px 0 0 !important;
  background: var(--ao-surface-card) !important;
  border: 1px solid var(--ao-border-light) !important;
  border-bottom: none !important;
  gap: 0 !important;
  padding-left: 0 !important;
  overflow: hidden !important;
}

.academy_dashboard-tabs::after {
  display: none !important;
}

.academy_dashboard-tabs__tab {
  font-family: var(--ao-font-ui) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 14px 24px !important;
  color: var(--ao-ink-muted) !important;
  transition: color 0.2s var(--ao-ease), background 0.2s var(--ao-ease) !important;
  position: relative !important;
}

.academy_dashboard-tabs__tab:hover {
  color: var(--ao-ink) !important;
  background: var(--ao-surface-warm) !important;
}

.academy_dashboard-tabs__selected {
  color: var(--ao-accent) !important;
  font-weight: 600 !important;
  border-bottom: 2px solid var(--ao-accent) !important;
}

/* ── 10.8 Review cards ────────────────────────────────── */
.academy-dashboard-review {
  border-radius: 16px !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
  overflow: hidden !important;
}

.academy-dashboard-review__header {
  font-family: var(--ao-font-display) !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--ao-border-light) !important;
  padding: 16px 24px !important;
}

.academy-dashboard-review__header a {
  color: var(--ao-accent) !important;
  transition: opacity 0.2s var(--ao-ease) !important;
}

.academy-dashboard-review__header a:hover {
  opacity: 0.8 !important;
}

/* ── 10.9 Dashboard settings panels ──────────────────── */
.academy-frontend-dashboard .academy-dashboard-settings__profile-form,
.academy-frontend-dashboard .academy-dashboard-settings__reset-form,
.academy-frontend-dashboard .academy-dashboard-settings__withdraw {
  border-radius: var(--ao-r-lg) !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: var(--ao-sh-sm) !important;
}

/* Settings buttons */
.academy-frontend-dashboard .academy-dashboard-settings .academy-btn,
.academy-frontend-dashboard .academy-dashboard-settings__profile-form .academy-btn,
.academy-frontend-dashboard .academy-dashboard-settings__reset-form .academy-btn,
.academy-frontend-dashboard .academy-dashboard-settings__withdraw .academy-btn {
  border-radius: 10px !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  transition: all 0.25s var(--ao-ease) !important;
}

/* ── 10.10 Withdrawal info cards ─────────────────────── */
.academy-frontend-dashboard .academy-dashboard-withdrawal-info-wrapper {
  border-radius: 16px !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: var(--ao-sh-sm) !important;
}

.academy-dashboard-withdrawal-info__icon {
  border-radius: 14px !important;
  background: linear-gradient(135deg, #eef3ff, #dde4ff) !important;
}

/* ── 10.11 Status badges — pill-shaped with nice color ── */
.academy-active, .academy-approved, .academy-completed,
.academy-pass, .academy-passed, .academy-publish,
.academy-success, .label-status-approved, .label-status-completed {
  border-radius: var(--ao-r-pill) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0.02em !important;
}

.academy-pending, .academy-processing, .academy-submitted,
.label-status-pending, .label-status-processing {
  border-radius: var(--ao-r-pill) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}

.academy-cancel, .academy-expired, .academy-failed,
.academy-rejected, .academy-trash,
.label-status-cancelled, .label-status-incomplete, .label-status-rejected {
  border-radius: var(--ao-r-pill) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}

/* ── 10.12 General list-table refinements ────────────── */
.kzui-list-table {
  border-radius: 16px !important;
  border: 1px solid var(--ao-border-light) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03), 0 6px 16px rgba(0,0,0,0.04) !important;
}

/* Sub-header tabs hover effect */
.kzui-list-table__sub-header .kzui-list-table__sub-header-left
  .kzui-list-table-sub-header-tabs .tab {
  font-family: var(--ao-font-ui) !important;
  font-weight: 500 !important;
  transition: color 0.2s var(--ao-ease) !important;
}

.kzui-list-table__sub-header .kzui-list-table__sub-header-left
  .kzui-list-table-sub-header-tabs .tab:hover {
  color: var(--ao-accent) !important;
}

.kzui-list-table__sub-header .kzui-list-table__sub-header-left
  .kzui-list-table-sub-header-tabs .is-active {
  color: var(--ao-accent) !important;
  font-weight: 600 !important;
}

/* Action buttons in tables */
.kzui-list-table__table .kzui-list-table__table-body
  .kzui-list-table__table-row-cell .academy-table-item-control .academy-btn {
  border-radius: 8px !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 500 !important;
  transition: all 0.2s var(--ao-ease) !important;
}

/* ── 10.13 Smooth page transitions ────────────────────── */
.academy-frontend-dashboard__content .academy-dashboard__content > * {
  animation: aoDashFadeIn 0.35s var(--ao-ease) both !important;
}

@keyframes aoDashFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── 10.14 Scrollbar styling for dashboard ────────────── */
.academy-frontend-dashboard__sidebar::-webkit-scrollbar,
.kzui-list-table--has-slider::-webkit-scrollbar {
  width: 5px !important;
  height: 5px !important;
}

.academy-frontend-dashboard__sidebar::-webkit-scrollbar-thumb,
.kzui-list-table--has-slider::-webkit-scrollbar-thumb {
  background: var(--ao-border) !important;
  border-radius: var(--ao-r-pill) !important;
}

.academy-frontend-dashboard__sidebar::-webkit-scrollbar-track,
.kzui-list-table--has-slider::-webkit-scrollbar-track {
  background: transparent !important;
}

/* ── 10.15 Responsive refinements ─────────────────────── */
@media (max-width: 768px) {
  .academy-analytics-cards--card {
    border-radius: 14px !important;
    padding: 18px 20px !important;
    min-height: 96px !important;
  }

  .academy-analytics-card--value {
    font-size: 24px !important;
  }

  .kzui-list-table--dashboard-course,
  .kzui-list-table--purchase {
    border-radius: 14px !important;
    padding: 16px !important;
  }
}

@media (max-width: 480px) {
  .academy-analytics-cards--card {
    border-radius: 12px !important;
    padding: 16px !important;
  }

  .academy-analytics-card--value {
    font-size: 22px !important;
  }

  .academy-topbar-heading {
    font-size: 18px !important;
  }
}


/* ═══════════════════════════════════════════════════════
   §11  FORMS & INPUTS
   ═══════════════════════════════════════════════════════ */
.academy-form-group .academy-form-control:focus,
.academy-form-group .academy-form-control:hover,
.academy-input:focus,
.academy-input:hover {
  border-color: var(--ao-accent) !important;
  box-shadow: var(--ao-sh-glow) !important;
}

/* Login/Reg forms */
.academy-login-form-wrapper,
.academy-reg-form,
.academy-password-reset-form-wrapper {
  border-radius: var(--ao-r-xl) !important;
  box-shadow: var(--ao-sh-lg) !important;
}


/* ═══════════════════════════════════════════════════════
   §12  INSTRUCTOR PUBLIC PROFILE
   ═══════════════════════════════════════════════════════ */
.academy-courses-instructor-header {
  background: linear-gradient(135deg, var(--ao-surface-warm), var(--ao-accent-soft)) !important;
}

.academy-author-info__name {
  font-family: var(--ao-font-display) !important;
  font-weight: 900 !important;
  color: var(--ao-ink) !important;
}

.academy-author-info__bio-details {
  font-family: var(--ao-font-body) !important;
  line-height: 1.7 !important;
}


/* ═══════════════════════════════════════════════════════
   §13  MODALS
   ═══════════════════════════════════════════════════════ */
.academy-react-modal {
  border-radius: var(--ao-r-xl) !important;
  box-shadow: var(--ao-sh-xl) !important;
}


/* ═══════════════════════════════════════════════════════
   §14  BUNDLES BUBBLE — override inline PHP styles
   The plugin injects frosted glass on .academy-bundles-bubble itself.
   We override to make the outer wrapper invisible and only show __inner.
   ═══════════════════════════════════════════════════════ */
.academy-bundles-bubble {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
  animation: none !important;
}

.academy-bundles-bubble:hover {
  background: transparent !important;
  box-shadow: none !important;
}

.academy-bundles-bubble .academy-bundles-bubble__inner {
  background: linear-gradient(135deg, var(--ao-accent), #6366f1) !important;
  color: var(--ao-surface-card) !important;
  padding: 14px 28px !important;
  border-radius: var(--ao-r-pill) !important;
  font-family: var(--ao-font-ui) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  box-shadow: 0 8px 24px var(--ao-accent-glow) !important;
  transition: transform var(--ao-dur) var(--ao-ease), box-shadow var(--ao-dur) var(--ao-ease) !important;
}

.academy-bundles-bubble:hover .academy-bundles-bubble__inner {
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: 0 12px 32px var(--ao-accent-glow) !important;
}


/* ═══════════════════════════════════════════════════════
   §15  SEARCH
   ═══════════════════════════════════════════════════════ */
.academy-search-form-wrap .academy-search-form__field-input {
  font-family: var(--ao-font-ui) !important;
  border-radius: var(--ao-r-md) !important;
}

.academy-search-form-wrap .academy-search-form__field-input:focus {
  border-color: var(--ao-accent) !important;
  box-shadow: var(--ao-sh-glow) !important;
}

.academy-search-form-wrap .academy-search-form__results .academy-search-results {
  border-radius: 0 0 var(--ao-r-md) var(--ao-r-md) !important;
  box-shadow: var(--ao-sh-lg) !important;
}


/* ═══════════════════════════════════════════════════════
   §16  STATUS BADGES — colors only
   ═══════════════════════════════════════════════════════ */
.academy-active, .academy-approved, .academy-completed,
.academy-pass, .academy-passed, .academy-publish, .academy-success,
.label-status-approved, .label-status-completed {
  background: var(--ao-success-soft) !important;
  color: var(--ao-success) !important;
}

.academy-pending, .academy-processing, .academy-submitted,
.label-status-pending, .label-status-processing {
  background: var(--ao-gold-soft) !important;
  color: var(--ao-warning) !important;
}


/* ═══════════════════════════════════════════════════════
   §17  SUBTLE ANIMATIONS — Page-load stagger
   ═══════════════════════════════════════════════════════ */
@keyframes ao-fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.academy-single-course__preview,
.academy-single-course__title,
.academy-single-course__content-item,
.academy-widget-enroll {
  animation: ao-fadeUp .55s var(--ao-ease) both;
}

.academy-single-course__preview   { animation-delay: .05s; }
.academy-single-course__title     { animation-delay: .12s; }
.academy-widget-enroll             { animation-delay: .18s; }

.academy-courses .academy-course {
  animation: ao-fadeUp .5s var(--ao-ease) both;
}

.academy-courses .academy-course:nth-child(1) { animation-delay: .05s; }
.academy-courses .academy-course:nth-child(2) { animation-delay: .10s; }
.academy-courses .academy-course:nth-child(3) { animation-delay: .15s; }
.academy-courses .academy-course:nth-child(4) { animation-delay: .20s; }
.academy-courses .academy-course:nth-child(5) { animation-delay: .25s; }
.academy-courses .academy-course:nth-child(6) { animation-delay: .30s; }
.academy-courses .academy-course:nth-child(n+7) { animation-delay: .35s; }

@media (prefers-reduced-motion: reduce) {
  .academy-single-course__preview,
  .academy-single-course__title,
  .academy-single-course__content-item,
  .academy-widget-enroll,
  .academy-courses .academy-course {
    animation: none !important;
  }

  .academy-courses .academy-course::before,
  .academy-courses .academy-course::after {
    animation: none !important;
  }

  .academy-courses .academy-course,
  .academy-courses .academy-course__thumbnail img,
  .academy-btn,
  .academy-bundles-bubble .academy-bundles-bubble__inner {
    transition: none !important;
  }

  .academy-courses .academy-course:hover,
  .academy-btn--bg-purple:hover,
  .academy-btn--preset-purple:hover,
  .academy-widget-enroll__enroll-form .academy-btn--bg-purple:hover,
  .academy-widget-enroll__continue .academy-btn--bg-purple:hover,
  .academy-bundles-bubble:hover .academy-bundles-bubble__inner {
    transform: none !important;
  }
}


/* ═══════════════════════════════════════════════════════
   §18  RESPONSIVE POLISH
   ═══════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .academy-courses .academy-course .academy-course-card-info {
    min-width: 48px !important;
    min-height: 48px !important;
    top: 0 !important;
    right: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .academy-courses .academy-course .academy-course-card-info__tooltip {
    min-width: 0 !important;
    width: min(320px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    left: auto !important;
    right: 0 !important;
    transform: translateY(-8px) !important;
  }

  .academy-courses .academy-course .academy-course-card-info__tooltip::before {
    left: auto !important;
    right: 10px !important;
    margin-left: 0 !important;
  }

  .academy-courses .academy-course .academy-course-card-info:hover .academy-course-card-info__tooltip,
  .academy-courses .academy-course .academy-course-card-info.is-expanded .academy-course-card-info__tooltip {
    transform: translateY(0) !important;
  }
}

@media (max-width: 768px) {
  .academy-single-course__title { font-size: 24px !important; }
  .academy-single-course__content-item--benefits .benefits-content ul { grid-template-columns: 1fr !important; }
  .academy-widget-enroll { border-radius: var(--ao-r-md) !important; padding: 24px !important; }
  .academy-tabs-nav li a { line-height: 1.4 !important; padding: 12px 10px !important; }
  .academy-courses .academy-course__thumbnail { padding-top: 60% !important; }
  .academy-courses .academy-course__body { min-height: 0 !important; padding: 7px !important; }
  .academy-courses .academy-course__footer { margin: 0 22px 20px !important; }
}

@media (max-width: 480px) {
  .academy-single-course { padding: 24px 0 48px !important; }
  .academy-single-course__preview { border-radius: var(--ao-r-md) !important; }
  .academy-single-course__preview img.academy-course__thumbnail-image,
  .academy-single-course__preview .plyr { border-radius: var(--ao-r-md) !important; }
  .academy-courses .academy-course { border-radius: var(--ao-r-md) !important; }
  .academy-courses .academy-course__thumbnail { border-radius: calc(var(--ao-r-md) - 1px) calc(var(--ao-r-md) - 1px) 0 0 !important; }
  .academy-courses .academy-course__thumbnail { padding-top: 60% !important; }
  .academy-courses .academy-course__body { padding: 7px !important; }
  .academy-courses .academy-course__footer { margin: 0 20px 18px !important; }
}


/* ═══════════════════════════════════════════════════════
   §19  FOCUS STATES — Accessibility
   ═══════════════════════════════════════════════════════ */
.academy-btn:focus-visible,
.academy-input:focus-visible,
.academy-tabs-nav li a:focus-visible {
  outline: 2px solid var(--ao-accent) !important;
  outline-offset: 2px !important;
  box-shadow: var(--ao-sh-glow) !important;
}


/* ═══════════════════════════════════════════════════════
   §20  TABS (Additional Info etc)
   ═══════════════════════════════════════════════════════ */
.academy-tabs-nav li a {
  font-family: var(--ao-font-ui) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  transition: color var(--ao-dur) var(--ao-ease) !important;
}

.academy-tabs-nav li.active a {
  color: var(--ao-accent) !important;
}

.academy-tabs-nav li.active {
  border-bottom-color: var(--ao-accent) !important;
}

.academy-tabs-content .academy-lists li i {
  color: var(--ao-success) !important;
}

.academy-tabs-content .academy-lists li span {
  font-family: var(--ao-font-ui) !important;
}


/* ═══════════════════════════════════════════════════════
   §21  EMPTY STATES & PRELOADERS
   ═══════════════════════════════════════════════════════ */
.academy-oops__heading {
  font-family: var(--ao-font-display) !important;
  color: var(--ao-ink) !important;
}

.academy-not-found {
  font-family: var(--ao-font-display) !important;
  color: var(--ao-ink-muted) !important;
}

.academy-preloader svg path {
  color: var(--ao-accent) !important;
}


/* ═══════════════════════════════════════════════════════
   §22  CUSTOM SELECTS & DROPDOWNS
   ═══════════════════════════════════════════════════════ */
.academy-custom-select--option:hover,
.academy-custom-select--option--active {
  background: var(--ao-accent) !important;
  color: var(--ao-surface-card) !important;
}


/* ═══════════════════════════════════════════════════════
   §23  SCROLLBAR
   ═══════════════════════════════════════════════════════ */
.academy-course-learn-page-curriculums::-webkit-scrollbar,
.academy-lessons-content-wrap::-webkit-scrollbar {
  width: 6px;
}

.academy-course-learn-page-curriculums::-webkit-scrollbar-thumb,
.academy-lessons-content-wrap::-webkit-scrollbar-thumb {
  background: var(--ao-border);
  border-radius: var(--ao-r-pill);
}
