html[data-theme='dark'] {
  /* === Dark Mode Tokens === */
  --color-primary: #6db3f2;
  --color-primary-dark: #5a9fd4;
  --color-primary-light: #1e2a35;
  --color-text: #e0e0e0;
  --color-text-secondary: #999;
  --color-bg: #1a1a2e;
  --color-surface: #1e1e2e;
  --color-border: #2d2d3f;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.5);
  --shadow-hover: 0 8px 30px rgba(109, 179, 242, 0.15);

  /* === Legacy vars === */
  --head-color: #fff;
  --stext-color: #fff;
  --text-color: #e0e0e0;
  --wtext-color: #000;
  --bg-color: #1a1a2e;
  --box-color: #1e1e2e;
  --box-color2: #1e1e2e;
  --border-color: #2d2d3f;
  --wrap-color: #1a1a2e;
  --bxsh: 0 1px 3px rgba(185, 185, 185, 0.15);
  --bxshover: 0 4px 60px 0 rgba(185, 185, 185, 0.2);
  --bxsh2: 0 3px 12px -1px rgb(224 229 255 / 20%), 0 22px 27px -20px rgb(227 232 255 / 20%);
}
html[data-theme='dark'] .site-title a,
html[data-theme='dark'] .site-description {
    color: var(--stext-color);
}
html[data-theme='dark'] .offcbtn {
    color: var(--head-color);
}
html[data-theme='dark'] .bs-head-detail {
    background: var(--secondary-color);
}
html[data-theme='dark'] .bs-blog-post .small {
    color: var(--text-color);
}
html[data-theme='dark'] .bs-blog-post.two .small {
    background: var(--bg-color);
    color: var(--text-color);
}
html[data-theme='dark'] .bs-blog-meta,
html[data-theme='dark'] .bs-blog-meta a {
    color: var(--text-color);
}
html[data-theme='dark'] .bs-sidebar .bs-widget {
    background: var(--box-color2);
}
html[data-theme='dark'] .bs-card-box {
    background: var(--box-color);
}
html[data-theme='dark'] .bs-blog-thumb .bs-blog-inner,
html[data-theme='dark'] .bs-blog-thumb .bs-blog-inner h4,
html[data-theme='dark'] .bs-blog-thumb .bs-blog-inner h4 a,
html[data-theme='dark'] .bs-blog-thumb .bs-blog-inner .bs-blog-meta a {
    color: #000;
}

/* --- Page body and wrapper backgrounds --- */
html[data-theme='dark'] body,
html[data-theme='dark'] .wrapper,
html[data-theme='dark'] .mg-card-box {
    background: var(--bg-color);
    color: var(--text-color);
}
html[data-theme='dark'] .padding-20 h2,
html[data-theme='dark'] .padding-20 h3,
html[data-theme='dark'] .padding-20 h4 {
    color: #f0f0f0;
}

/* --- Modules page: override inline styles on cards --- */
html[data-theme='dark'] .bs-card-box [style*="background:#f8f9fa"],
html[data-theme='dark'] .bs-card-box [style*="background: #f8f9fa"],
html[data-theme='dark'] .bs-card-box div[style*="background"] {
    background: var(--color-surface) !important;
    border-color: var(--color-border) !important;
}
html[data-theme='dark'] .bs-card-box [style*="color:#006699"],
html[data-theme='dark'] .bs-card-box h3[style*="color:#006699"] {
    color: var(--color-primary) !important;
}
html[data-theme='dark'] .bs-card-box [style*="color:#666"],
html[data-theme='dark'] .bs-card-box p[style*="color:#666"] {
    color: var(--color-text-secondary) !important;
}
html[data-theme='dark'] .bs-card-box [style*="background:#f0f6fa"],
html[data-theme='dark'] .bs-card-box div[style*="background:#f0f6fa"] {
    background: var(--color-surface) !important;
}
html[data-theme='dark'] .idcert-module-btn {
    background: var(--color-primary) !important;
    color: #000 !important;
}

/* ==========================================================================
   Enhanced Dark Mode — Learning Pages, Landing Page, Catalog
   ========================================================================== */

/* --- Breadcrumb --- */
html[data-theme='dark'] .idcert-breadcrumb {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-breadcrumb a {
  color: var(--color-primary);
}

/* --- Course Catalog Hero --- */
html[data-theme='dark'] .idcert-catalog-hero {
  background: linear-gradient(135deg, #002233 0%, #003d5c 50%, #005577 100%);
}

/* --- Level Sections --- */
html[data-theme='dark'] .idcert-level-header {
  border-bottom-color: var(--color-border);
}
html[data-theme='dark'] .idcert-level-header h2 {
  color: #f0f0f0;
}

/* --- Lesson Items --- */
html[data-theme='dark'] .idcert-lesson-item {
  background: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-item:hover {
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.05);
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-info h3 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-lesson-info p {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-lesson-meta span {
  color: #888;
}

/* --- Module Pill Badges --- */
html[data-theme='dark'] .idcert-module-pill {
  opacity: 0.9;
}

/* --- Single Lesson Page --- */
html[data-theme='dark'] .idcert-lesson-header h1 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-lesson-header-meta {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-lesson-header-meta a {
  color: var(--color-primary);
}
html[data-theme='dark'] .idcert-lesson-content {
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-content h2 {
  color: #f0f0f0;
  border-bottom-color: var(--color-border);
}
html[data-theme='dark'] .idcert-lesson-content h3 {
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-content code {
  background: var(--color-border);
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-content blockquote {
  background: #1e2a35;
  border-left-color: #3388cc;
}
html[data-theme='dark'] .idcert-lesson-content th {
  background: #2a2a2a;
}
html[data-theme='dark'] .idcert-lesson-content td,
html[data-theme='dark'] .idcert-lesson-content th {
  border-color: #444;
}

/* --- Prev/Next Navigation --- */
html[data-theme='dark'] .idcert-lesson-nav {
  border-top-color: var(--color-border);
}
html[data-theme='dark'] .idcert-lesson-nav a {
  border-color: var(--color-border);
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-nav a:hover {
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.05);
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-lesson-nav .nav-title {
  color: var(--color-primary);
}

/* --- Sidebar TOC --- */
html[data-theme='dark'] .idcert-toc {
  background: var(--color-surface);
  border-color: var(--color-border);
}
html[data-theme='dark'] .idcert-toc h4 {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-toc-list a {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-toc-list a:hover,
html[data-theme='dark'] .idcert-toc-list a.active,
html[data-theme='dark'] .idcert-toc-list .current a {
  background: var(--color-primary-light);
  border-left-color: var(--color-primary);
  color: var(--color-primary);
}
html[data-theme='dark'] .idcert-toc-cta {
  background: #1e2a35;
  border-color: #2d3d4f;
}
html[data-theme='dark'] .idcert-toc-cta p {
  color: var(--color-text-secondary);
}

/* --- Taxonomy Archive Header --- */
html[data-theme='dark'] .idcert-taxonomy-header {
  background: var(--color-surface);
}
html[data-theme='dark'] .idcert-taxonomy-header h1 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-taxonomy-header p {
  color: var(--color-text-secondary);
}

/* --- Landing Page --- */
html[data-theme='dark'] .idcert-hero {
  background: linear-gradient(135deg, #001a2e 0%, #002d4a 50%, #004466 100%);
}
html[data-theme='dark'] .idcert-section {
  background: transparent;
}
html[data-theme='dark'] .idcert-section--alt {
  background: var(--color-surface);
}
html[data-theme='dark'] .idcert-section-title {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-section-subtitle {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-module-card {
  background: var(--color-surface);
  border-color: var(--color-border);
}
html[data-theme='dark'] .idcert-module-card h3 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-module-card p {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-card-link {
  color: var(--color-primary);
}
html[data-theme='dark'] .idcert-step {
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-step h3 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-value h3 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-value p {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-cta-card {
  background: var(--color-surface);
}
html[data-theme='dark'] .idcert-cta-card h2 {
  color: #f0f0f0;
}

/* --- Exam Center --- */
html[data-theme='dark'] .idcert-exam-hero {
  background: linear-gradient(135deg, #002233 0%, #003d5c 50%, #005577 100%);
}
html[data-theme='dark'] .idcert-exam-notice--free {
  background: #1b3a1b;
  border-color: #4caf50;
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-exam-notice--login {
  background: #1a2a3a;
  border-color: #2196f3;
  color: var(--color-text);
}
html[data-theme='dark'] .idcert-exam-steps h2,
html[data-theme='dark'] .idcert-exam-modules-title {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-exam-step h3 {
  color: #f0f0f0;
}
html[data-theme='dark'] .idcert-exam-step p {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-exam-module {
  background: var(--color-surface);
  border-color: var(--color-border);
}
html[data-theme='dark'] .idcert-exam-module-header h3 {
  color: var(--color-primary);
}
html[data-theme='dark'] .idcert-exam-module-desc {
  color: var(--color-text-secondary);
}
html[data-theme='dark'] .idcert-exam-item {
  background: #252535;
  border-color: var(--color-border);
}
html[data-theme='dark'] .idcert-exam-coming-soon {
  background: #252535;
  color: #888;
}
html[data-theme='dark'] .idcert-exam-module-footer {
  border-top-color: var(--color-border);
}
html[data-theme='dark'] .idcert-exam-start-btn {
  background: var(--color-primary);
  color: #000;
}
html[data-theme='dark'] .idcert-exam-back a {
  color: var(--color-primary);
}