/* ===================================================================
   CADETPRO — /course redesign (nude · aviation · light + dark)
   Scoped under .cp-rd (course show container). Loaded via styles_top.
   Strategy: override theme color vars + targeted structural polish.
   =================================================================== */

/* ---------- tokens (light) ---------- */
.cp-rd{
  /* override RocketLMS theme vars -> nude aubergine + clay */
  --primary:#2c2749; --primary-hover:#3a3460; --primary-border:#2c2749; --primary-saturated:#4a4270;
  --accent:#bf6a50; --accent-hover:#a4563d; --accent-border:#bf6a50;
  /* own tokens */
  --cp-bg:#faf7f2; --cp-soft:#f4efe6; --cp-tint:#efe8dd; --cp-panel:#ffffff; --cp-panel2:#faf6f0;
  --cp-line:#ece4d7; --cp-line2:#ddd3c3;
  --cp-head:#2a2442; --cp-text:#5d564c; --cp-muted:#8c8474; --cp-muted2:#b4ab9c;
  --cp-prim:#2c2749; --cp-prim-soft:#f1ebe0; --cp-prim-line:#e2dac9;
  --cp-accent:#bf6a50; --cp-accent-soft:#f4e6df;
  --cp-green:#6e9479; --cp-green-soft:#e8efe6; --cp-gold:#c79a4d; --cp-cta-fg:#ffffff;
  --cp-sh-sm:0 4px 14px -6px rgba(74,58,42,.16);
  --cp-sh:0 18px 44px -22px rgba(60,46,34,.26);
  --cp-sh-lg:0 30px 64px -30px rgba(60,46,34,.32);
  --cp-r:16px; --cp-r-lg:22px;
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--cp-text);
}
/* ---------- tokens (dark) ---------- */
.cp-rd.cp-dark{
  --primary:#a99ad6; --primary-hover:#bcafe2; --primary-border:#a99ad6; --primary-saturated:#a99ad6;
  --accent:#cf8268; --accent-hover:#dd9077; --accent-border:#cf8268;
  --cp-bg:#19152a; --cp-soft:#221c3a; --cp-tint:#241e3a; --cp-panel:#221c3a; --cp-panel2:#292243;
  --cp-line:rgba(204,189,214,.12); --cp-line2:rgba(204,189,214,.22);
  --cp-head:#f1ece2; --cp-text:#c9bfb1; --cp-muted:#988f80; --cp-muted2:#6d6557;
  --cp-prim:#a99ad6; --cp-prim-soft:rgba(169,154,214,.13); --cp-prim-line:rgba(169,154,214,.26);
  --cp-accent:#cf8268; --cp-accent-soft:rgba(207,130,104,.16);
  --cp-green:#6fae87; --cp-green-soft:rgba(111,174,135,.14); --cp-gold:#d3aa5e; --cp-cta-fg:#1d1830;
  --cp-sh-sm:0 4px 16px -8px rgba(0,0,0,.5);
  --cp-sh:0 22px 50px -24px rgba(0,0,0,.6);
  --cp-sh-lg:0 30px 64px -28px rgba(0,0,0,.72);
}
body.cp-dark{background:#19152a !important;}
body.cp-dark .cp-rd{color:var(--cp-text);}

/* dark: beat the theme's forced-white (specificity > .bg-gray-*) */
.cp-rd.cp-dark .bg-white,
.cp-rd.cp-dark .bg-gray-100,
.cp-rd.cp-dark .bg-gray-200,
.cp-rd.cp-dark .bg-gray-300,
.cp-rd.cp-dark .bg-section-bg{ background-color:var(--cp-panel) !important; }
.cp-rd.cp-dark .bg-gray-100{ background-color:var(--cp-soft) !important; }
.cp-rd.cp-dark .border-gray-100,
.cp-rd.cp-dark .border-gray-200{ border-color:var(--cp-line) !important; }
.cp-rd.cp-dark .text-gray-500,
.cp-rd.cp-dark .text-gray-600,
.cp-rd.cp-dark .text-gray-700{ color:var(--cp-muted) !important; }
.cp-rd.cp-dark .text-dark,
.cp-rd.cp-dark .text-dark-blue{ color:var(--cp-head) !important; }

/* ---------- typography ---------- */
.cp-rd, .cp-rd p, .cp-rd span, .cp-rd a, .cp-rd div, .cp-rd label, .cp-rd button{ font-family:inherit; }
.cp-rd h1, .cp-rd h2, .cp-rd h3, .cp-rd h4, .cp-rd h5{ color:var(--cp-head); letter-spacing:-.02em; }
.cp-rd .text-primary{ color:var(--cp-prim) !important; }
.cp-rd .bg-primary-20{ background-color:var(--cp-prim-soft) !important; }

/* =================== HERO (new markup) =================== */
.cp-hero{ position:relative; margin-top:8px; margin-bottom:8px;
  background:linear-gradient(180deg,#f4eee3 0%,#fbf8f3 60%,var(--cp-bg) 100%);
  border:1px solid var(--cp-line); border-radius:28px; padding:42px 44px; overflow:hidden; }
.cp-rd.cp-dark .cp-hero{ background:linear-gradient(180deg,#211b37 0%,#1c1730 60%,#19152a 100%); border-color:var(--cp-line); }
.cp-hero::before{ content:""; position:absolute; width:560px; height:560px; right:-160px; top:-220px; border-radius:50%;
  background:radial-gradient(circle,rgba(44,39,73,.10),transparent 65%); pointer-events:none; }
.cp-hero::after{ content:""; position:absolute; width:440px; height:440px; left:-180px; bottom:-220px; border-radius:50%;
  background:radial-gradient(circle,rgba(191,106,80,.12),transparent 65%); pointer-events:none; }
.cp-hero__inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:46px; align-items:center; }
@media(max-width:991px){ .cp-hero{ padding:32px 26px; } .cp-hero__inner{ grid-template-columns:1fr; gap:30px; } }
.cp-crumb{ display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--cp-muted); margin-bottom:18px; }
.cp-crumb a{ color:var(--cp-muted); } .cp-crumb a:hover{ color:var(--cp-accent); }
.cp-badges{ display:flex; gap:9px; flex-wrap:wrap; margin-bottom:18px; }
.cp-badge{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; padding:6px 13px; border-radius:30px; }
.cp-badge--green{ color:var(--cp-green); background:var(--cp-green-soft); }
.cp-badge--purple{ color:var(--cp-prim); background:var(--cp-prim-soft); }
.cp-rd.cp-dark .cp-badge--purple{ color:#cabbf0; }
.cp-badge img{ width:16px; height:16px; border-radius:4px; object-fit:cover; }
.cp-hero__title{ font-size:clamp(30px,4.4vw,50px); font-weight:800; line-height:1.12; color:var(--cp-head);
  letter-spacing:-.03em; margin:0 0 18px; max-width:16ch; }
.cp-hero__lede{ font-size:clamp(15px,1.6vw,18px); color:var(--cp-text); max-width:54ch; line-height:1.6; margin:0; }
.cp-hero__meta{ display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; margin-top:28px; }
.cp-hmeta{ display:flex; align-items:center; gap:12px; background:var(--cp-panel); border:1px solid var(--cp-line);
  border-radius:15px; padding:11px 17px 11px 12px; box-shadow:var(--cp-sh-sm); transition:.26s cubic-bezier(.4,0,.2,1); }
.cp-hmeta:hover{ transform:translateY(-3px); box-shadow:var(--cp-sh); border-color:var(--cp-prim-line); }
.cp-hmeta__ic{ width:44px; height:44px; border-radius:13px; background:var(--cp-prim-soft); color:var(--cp-prim);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cp-hmeta__ic svg, .cp-hmeta__ic .icons{ width:22px; height:22px; }
.cp-hmeta__v{ font-size:21px; font-weight:800; color:var(--cp-head); line-height:1.05; letter-spacing:-.01em; }
.cp-hmeta__v .cp-star{ color:var(--cp-gold); }
.cp-hmeta__l{ font-size:11.5px; color:var(--cp-muted); font-weight:600; letter-spacing:.02em; margin-top:2px; }
/* distinct accent per stat -> more eye-catching */
.cp-hero__meta .cp-hmeta:nth-child(1) .cp-hmeta__ic{ background:var(--cp-accent-soft); color:var(--cp-gold); }
.cp-hero__meta .cp-hmeta:nth-child(2) .cp-hmeta__ic{ background:var(--cp-green-soft); color:var(--cp-green); }
.cp-hero__meta .cp-hmeta:nth-child(3) .cp-hmeta__ic{ background:var(--cp-prim-soft); color:var(--cp-prim); }
.cp-hero__meta .cp-hmeta:nth-child(4) .cp-hmeta__ic{ background:var(--cp-accent-soft); color:var(--cp-accent); }
.cp-rd.cp-dark .cp-hero__meta .cp-hmeta:nth-child(3) .cp-hmeta__ic{ color:#cabbf0; }
.cp-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }

.cp-hero__visual{ position:relative; }
.cp-hero__frame{ position:relative; border-radius:var(--cp-r-lg); overflow:hidden; border:1px solid var(--cp-line2);
  box-shadow:var(--cp-sh-lg); background:var(--cp-panel); }
.cp-hero__frame img{ display:block; width:100%; height:auto !important; aspect-ratio:16/10; object-fit:cover; max-height:440px; }
.cp-floatcard{ position:absolute; background:var(--cp-panel); border:1px solid var(--cp-line); border-radius:15px;
  box-shadow:var(--cp-sh); padding:12px 15px; display:flex; align-items:center; gap:10px; }
.cp-floatcard--rating{ right:-12px; top:24px; } .cp-floatcard--students{ left:-16px; bottom:26px; }
.cp-floatcard__i{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cp-floatcard--rating .cp-floatcard__i{ background:var(--cp-accent-soft); color:var(--cp-gold); }
.cp-floatcard--students .cp-floatcard__i{ background:var(--cp-green-soft); color:var(--cp-green); }
.cp-floatcard__v{ font-size:16px; font-weight:800; color:var(--cp-head); line-height:1; }
.cp-floatcard__l{ font-size:11px; color:var(--cp-muted); margin-top:2px; }
.cp-floatcard svg, .cp-floatcard .icons{ width:19px; height:19px; }
@media(max-width:560px){ .cp-floatcard{ display:none; } }

/* ---------- buttons ---------- */
.cp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:15px;
  padding:13px 26px; border-radius:13px; cursor:pointer; border:1px solid transparent; transition:.26s cubic-bezier(.4,0,.2,1); text-decoration:none; }
.cp-btn svg, .cp-btn .icons{ width:18px; height:18px; }
.cp-btn--primary{ background:var(--cp-prim); color:var(--cp-cta-fg); box-shadow:0 14px 30px -14px var(--cp-prim); }
.cp-btn--primary:hover{ background:var(--primary-hover); color:var(--cp-cta-fg); transform:translateY(-2px); }
.cp-btn--soft{ background:var(--cp-panel); color:var(--cp-head); border-color:var(--cp-line2); box-shadow:var(--cp-sh-sm); }
.cp-btn--soft:hover{ border-color:var(--cp-accent); color:var(--cp-accent); transform:translateY(-2px); }

/* =================== existing components polish =================== */
/* tab bar */
.cp-rd .course-tabs-card__mask{ display:none; }
.cp-rd .course-tabs-card > .d-flex{ background:var(--cp-soft) !important; border:1px solid var(--cp-line);
  border-radius:15px !important; box-shadow:none; padding:7px !important; gap:6px !important; }
.cp-rd .navbar-item{ border-radius:11px; padding:11px 14px !important; color:var(--cp-muted); font-weight:700; transition:.2s; }
.cp-rd .navbar-item:hover{ color:var(--cp-head); }
.cp-rd .navbar-item.active{ background:var(--cp-panel); color:var(--cp-prim); box-shadow:var(--cp-sh-sm); }
.cp-rd.cp-dark .navbar-item.active{ color:#cabbf0; }
.cp-rd .navbar-item .tab-icon{ color:inherit; }
.cp-rd .course-tab-counter{ background:var(--cp-prim-soft) !important; color:var(--cp-prim) !important; font-weight:700; }

/* generic content cards */
.cp-rd .course-body-side .bg-white,
.cp-rd .course-right-side .bg-white{ border:1px solid var(--cp-line); }
.cp-rd .rounded-24{ border-radius:var(--cp-r-lg) !important; }

/* feature highlight cards (about top) */
.cp-rd .modern-feature-card{ border:1px solid var(--cp-line) !important; border-radius:var(--cp-r-lg) !important;
  box-shadow:var(--cp-sh-sm) !important; background:var(--cp-panel) !important; transition:.3s; }
.cp-rd .modern-feature-card:hover{ transform:translateY(-5px); box-shadow:var(--cp-sh) !important; border-color:var(--cp-prim-line) !important; }
.cp-rd .modern-feature-card .size-56{ border-radius:18px !important; }
.cp-rd .bg-success-20{ background:var(--cp-green-soft) !important; } .cp-rd .text-success{ color:var(--cp-green) !important; }
.cp-rd .bg-warning-20{ background:var(--cp-accent-soft) !important; } .cp-rd .text-warning{ color:var(--cp-accent) !important; }

/* about / description */
.cp-rd .course-show-description{ color:var(--cp-text); font-size:15.5px; line-height:1.7; }
.cp-rd .course-extra-card{ background:var(--cp-soft) !important; border-radius:var(--cp-r-lg) !important; }

/* FAQ accordion */
.cp-rd #courseFAQParent .accordion{ border:1px solid var(--cp-line) !important; border-radius:16px !important;
  box-shadow:var(--cp-sh-sm); transition:.25s; }
.cp-rd #courseFAQParent .accordion__title .font-weight-bold{ color:var(--cp-head); font-weight:700; }
.cp-rd #courseFAQParent .accordion .collapse-arrow-icon{ width:30px; height:30px; border-radius:9px;
  background:var(--cp-prim-soft); color:var(--cp-prim); display:flex; align-items:center; justify-content:center; }
.cp-rd.cp-dark #courseFAQParent .accordion .collapse-arrow-icon{ color:#cabbf0; }

/* =================== SIDEBAR buy card =================== */
.cp-rd .course-right-side-section__mask{ display:none; }
.cp-rd .course-right-side-section > .bg-white{ border:1px solid var(--cp-line2) !important; border-radius:var(--cp-r-lg) !important;
  box-shadow:var(--cp-sh) !important; overflow:hidden; }
.cp-rd .course-right-side__thumbnail{ aspect-ratio:16/10; }
.cp-rd .course-right-side__thumbnail img{ width:100%; height:100%; object-fit:cover; }
.cp-rd #realPrice, .cp-rd #priceWithDiscount{ color:var(--cp-head) !important; font-weight:800; letter-spacing:-.02em; }
.cp-rd .duration-pricing-item{ border:1px solid var(--cp-line) !important; border-radius:13px !important; background:var(--cp-soft) !important; }
.cp-rd .duration-pricing-item.active{ border-color:var(--cp-prim) !important; background:var(--cp-prim-soft) !important; }
.cp-rd .popular-badge{ background:var(--cp-accent) !important; color:#fff !important; }

/* primary / outline buttons (cart, enroll, etc.) */
.cp-rd .btn-primary{ background:var(--cp-prim) !important; border-color:var(--cp-prim) !important; color:var(--cp-cta-fg) !important;
  border-radius:13px !important; font-weight:700; box-shadow:0 14px 30px -14px var(--cp-prim); transition:.26s; }
.cp-rd .btn-primary:hover{ background:var(--primary-hover) !important; transform:translateY(-2px); }
.cp-rd .btn-outline-primary{ border-color:var(--cp-prim-line) !important; color:var(--cp-prim) !important; border-radius:13px !important; }
.cp-rd.cp-dark .btn-outline-primary{ color:#cabbf0 !important; }
.cp-rd .btn-outline-accent, .cp-rd .btn-outline-warning{ border-color:var(--cp-accent) !important; color:var(--cp-accent) !important; border-radius:13px !important; }
.cp-rd .btn-lg{ padding:14px 22px !important; }

/* "this course includes" + specs */
.cp-rd .course-specs-modern{ border:1px solid var(--cp-line) !important; border-radius:var(--cp-r-lg) !important; box-shadow:var(--cp-sh-sm); }
.cp-rd .specs-icon-wrapper{ color:var(--cp-prim); }
.cp-rd .course-specs-modern .spec-icon-box{ background:var(--cp-prim-soft) !important; border:1px solid var(--cp-prim-line) !important;
  color:var(--cp-prim) !important; border-radius:11px; }
.cp-rd.cp-dark .course-specs-modern .spec-icon-box{ color:#cabbf0 !important; }
.cp-rd .spec-value{ color:var(--cp-head) !important; font-weight:800; }
.cp-rd .spec-label{ color:var(--cp-muted) !important; }

/* tags */
.cp-rd .bg-gray-100{ border-radius:9px; }

/* =================== per-course description: tone embedded violet -> nude =================== */
/* gradient-clip text headings (any tag) -> solid nude */
.cp-rd .course-show-description [style*="background-clip: text"],
.cp-rd .course-show-description [style*="-webkit-background-clip: text"],
.cp-rd .course-show-description :is(h1,h2,h3,h4,h5){
  background:none !important; background-image:none !important;
  -webkit-background-clip:border-box !important; background-clip:border-box !important;
  -webkit-text-fill-color:var(--cp-head) !important; color:var(--cp-head) !important;
}
/* violet text -> nude aubergine */
.cp-rd .course-show-description [style*="124, 58, 237"],
.cp-rd .course-show-description [style*="168, 85, 247"]{
  color:var(--cp-prim) !important; -webkit-text-fill-color:var(--cp-prim) !important;
}
/* violet/lavender tint section backgrounds -> warm nude */
.cp-rd .course-show-description [style*="124, 58, 237, 0.0"],
.cp-rd .course-show-description [style*="124, 58, 237, 0.1"],
.cp-rd .course-show-description [style*="168, 85, 247, 0.0"],
.cp-rd .course-show-description [style*="250, 245, 255"]{
  background:var(--cp-soft) !important; background-image:none !important; border-color:var(--cp-line) !important;
}
/* dark: white-ish inline boxes -> dark panels; body text readable */
.cp-rd.cp-dark .course-show-description{ color:var(--cp-text) !important; }
.cp-rd.cp-dark .course-show-description [style*="255, 255, 255"]{
  background:var(--cp-panel) !important; background-image:none !important;
}

/* theme toggle (fixed; lives outside .cp-rd -> hardcoded colors) */
.cp-theme-toggle{ position:fixed; right:18px; bottom:18px; z-index:60; width:46px; height:46px; border-radius:50%;
  background:#ffffff; border:1px solid #ddd3c3; color:#2a2442; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 14px 34px -14px rgba(60,46,34,.4); transition:.25s; }
.cp-theme-toggle:hover{ color:#bf6a50; border-color:#bf6a50; transform:translateY(-2px); }
.cp-theme-toggle svg{ width:20px; height:20px; }
body.cp-dark .cp-theme-toggle{ background:#221c3a; border-color:rgba(204,189,214,.24); color:#f1ece2; }
body.cp-dark .cp-theme-toggle:hover{ color:#cf8268; border-color:#cf8268; }
.cp-theme-toggle .cp-moon{ display:none; } body.cp-dark .cp-theme-toggle .cp-moon{ display:block; }
body.cp-dark .cp-theme-toggle .cp-sun{ display:none; }
