/*
 Theme Name: Astra Child - CFA SmartDrills
 Template: astra
 Description: CFA SmartDrills child theme with unified branding for Astra, Elementor, LearnDash, Tin Canny and GamiPress.
*/

/* ===========================
   0. BRAND VARIABLES
   =========================== */
:root {
  /* TradingDrills / CFA palette */
  --cfa-brand: #2123a4;          /* Deep blue – main brand */
  --cfa-accent: #00aeef;         /* Cyan accent (buttons, links) */
  --cfa-text-strong: #1a202c;    /* Primary text */
  --cfa-text-muted: #4a5568;     /* Secondary text */
  --cfa-bg-soft: #f7fafc;        /* Page background */
  --cfa-bg-subtle: #edf2f7;      /* Panels / soft cards */
  --cfa-border-soft: #e2e8f0;    /* Light border */
  --cfa-success: #1c934d;        /* Success / completed */
  --cfa-warning: #f5a524;
}

/* ===========================
   1. BASE TYPOGRAPHY / BODY
   =========================== */
body {
  color: var(--cfa-text-strong);
  background-color: var(--cfa-bg-soft);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--cfa-brand);
}

/* General links */
a {
  color: var(--cfa-brand);
}
a:hover,
a:focus {
  color: var(--cfa-accent);
}

/* ===========================
   2. GLOBAL BUTTONS
   (Astra + Elementor + generic)
   =========================== */

/* Primary buttons */
button,
input[type="submit"],
.ast-button,
.ast-custom-button,
a.ast-button,
.elementor-button,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
  background-color: var(--cfa-brand);
  border-color: var(--cfa-brand);
  color: #fff;
  border-radius: 999px;
  padding: 0.65em 1.6em;
  font-weight: 600;
}

button:hover,
input[type="submit"]:hover,
.ast-button:hover,
.ast-custom-button:hover,
a.ast-button:hover,
.elementor-button:hover {
  background-color: var(--cfa-accent);
  border-color: var(--cfa-accent);
  color: #fff;
}

/* Secondary (outline) buttons */
.button-secondary,
.elementor-button--secondary {
  background-color: transparent;
  border-radius: 999px;
  border: 2px solid var(--cfa-brand);
  color: var(--cfa-brand);
  font-weight: 600;
}

.button-secondary:hover,
.elementor-button--secondary:hover {
  background-color: var(--cfa-accent);
  border-color: var(--cfa-accent);
  color: #fff;
}

/* ===========================
   3. GENERIC CARDS / PANELS
   =========================== */
.cfa-card,
.elementor-widget-container .cfa-card,
.learndash-wrapper .ld-course-list-items .ld_course_grid,
.learndash-wrapper .ld-focus .ld-focus-main,
.uo-dashboard,
.uo-transcript,
.uo-report,
.ld-profile-summary,
.ld-profile-content {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid var(--cfa-border-soft);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* ===========================
   4. LEARNDASH – COURSE CARDS
   =========================== */

/* Course grid card */
.learndash-wrapper .ld-course-list-items .ld_course_grid {
  padding: 20px;
}

/* Course title */
.learndash-wrapper .ld-course-list-items .ld_course_grid .ld_course_title {
  color: var(--cfa-brand);
  font-weight: 700;
}

/* Meta text (lessons, quizzes, etc.) */
.learndash-wrapper .ld-course-list-items .ld_course_grid .ld_course_grid_price,
.learndash-wrapper .ld-course-list-items .ld_course_grid .ld_course_grid_content {
  color: var(--cfa-text-muted);
}

/* Progress bar */
.learndash-wrapper .ld-progress .ld-progress-bar {
  background-color: var(--cfa-bg-subtle);
}
.learndash-wrapper .ld-progress .ld-progress-bar-percentage {
  background-color: var(--cfa-accent);
}

/* Status labels (In Progress / Completed) */
.learndash-wrapper .ld-status-incomplete,
.learndash-wrapper .ld-status-progress {
  background-color: var(--cfa-accent);
  color: #fff;
  border-radius: 999px;
}
.learndash-wrapper .ld-status-complete {
  background-color: var(--cfa-success);
  color: #fff;
  border-radius: 999px;
}

/* ===========================
   5. LEARNDASH – LESSON / TOPIC LISTS
   =========================== */

.learndash-wrapper .ld-item-list .ld-item-list-item {
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid var(--cfa-border-soft);
  margin-bottom: 10px;
}

.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title {
  color: var(--cfa-brand);
  font-weight: 600;
}

.learndash-wrapper .ld-item-list .ld-item-list-item .ld-status {
  color: #fff;
  background-color: var(--cfa-accent);
  border-radius: 999px;
}

/* Focus Mode header */
.learndash-wrapper .ld-focus-header {
  background-color: #ffffff;
  border-bottom: 1px solid var(--cfa-border-soft);
}
.learndash-wrapper .ld-focus-header .ld-focus-breadcrumbs a {
  color: var(--cfa-text-muted);
}
.learndash-wrapper .ld-focus-header .ld-focus-breadcrumbs a:hover {
  color: var(--cfa-accent);
}

/* ===========================
   6. LEARNDASH – MY PROFILE / MY PROGRESS
   =========================== */

/* Profile header bar */
.learndash-wrapper .ld-profile-header {
  background-color: #ffffff;
  border-bottom: 1px solid var(--cfa-border-soft);
}

/* Numbers (Courses, Completed, Certificates, Points) */
.learndash-wrapper .ld-profile-stat,
.learndash-wrapper .ld-profile-stat-value {
  color: var(--cfa-brand);
}

/* My Progress course rows */
.learndash-wrapper .ld-profile-content .ld-profile-list .ld-profile-list-item {
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid var(--cfa-border-soft);
}

/* ===========================
   7. UNCANNY / TIN CANNY REPORTS
   =========================== */

/* SCORM Activity report table */
.uo-report table.dataTable,
.uo-transcript table.dataTable {
  border: 1px solid var(--cfa-border-soft);
}

.uo-report table.dataTable thead th,
.uo-transcript table.dataTable thead th {
  background-color: var(--cfa-brand);
  color: #fff;
}

.uo-report table.dataTable tbody tr:nth-child(even),
.uo-transcript table.dataTable tbody tr:nth-child(even) {
  background-color: var(--cfa-bg-subtle);
}

/* Export buttons */
.uo-report .button,
.uo-transcript .button {
  background-color: var(--cfa-brand);
  border-color: var(--cfa-brand);
  color: #fff;
}
.uo-report .button:hover,
.uo-transcript .button:hover {
  background-color: var(--cfa-accent);
  border-color: var(--cfa-accent);
}

/* ===========================
   8. GAMIPRESS – POINTS & BADGES
   =========================== */

/* Points counter / badge */
.gamipress-points,
.gamipress-points-badge,
.gamipress-achievement-points {
  background-color: var(--cfa-success);
  color: #fff !important;
  border-radius: 999px;
  padding: 0.25em 0.7em;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
}

/* Icons inside points labels */
.gamipress-points i,
.gamipress-points-badge i {
  color: #fff;
}

/* Achievement cards */
.gamipress-achievement,
.gamipress-rank {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid var(--cfa-border-soft);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

/* Achievement titles */
.gamipress-achievement .gamipress-achievement-title,
.gamipress-rank .gamipress-rank-title {
  color: var(--cfa-brand);
  font-weight: 700;
}

/* Progress bars inside GamiPress widgets */
.gamipress-progress-bar {
  background-color: var(--cfa-bg-subtle);
}
.gamipress-progress-bar span {
  background-color: var(--cfa-accent);
}

/* ===========================
   9. MISC SMALL TWEAKS
   =========================== */

/* Header menu hover underline */
.main-header-menu a:hover,
.main-header-menu .current-menu-item > a {
  color: var(--cfa-brand);
  border-bottom: 2px solid var(--cfa-brand);
}

/* Soft background for sections in Elementor */
.section-soft {
  background-color: var(--cfa-bg-subtle);
}

/* Utility: class for subtle card background */
.bg-subtle {
  background-color: var(--cfa-bg-subtle);
}
/* === Persian font: Vazirmatn (self-hosted) === */
@font-face {
  font-family: "Vazirmatn";
  src: url("assets/fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("assets/fonts/Vazirmatn-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Site is Persian-only, so make Vazirmatn the default */
html, body {
  font-family: Vazirmatn, "Noto Sans Arabic", Tahoma, Arial, sans-serif;
  letter-spacing: 0;
}

/* LearnDash / buttons consistency */
.learndash-wrapper,
.learndash-wrapper button,
.learndash-wrapper input,
.learndash-wrapper select,
.learndash-wrapper textarea,
.learndash-wrapper .ld-button {
  font-family: Vazirmatn, "Noto Sans Arabic", Tahoma, Arial, sans-serif;
}
/* =========================
   RTL FIXES (fa_IR)
   ========================= */

/* Keep the overall page RTL, but prevent weird spacing on mixed components */
html[dir="rtl"] .learndash-wrapper,
html[dir="rtl"] .learndash-wrapper * {
  letter-spacing: 0;
}

/* 1) Generic fix: buttons not rendering nicely in RTL */
html[dir="rtl"] .learndash-wrapper .ld-button,
html[dir="rtl"] .learndash-wrapper a.ld-button,
html[dir="rtl"] .learndash-wrapper input[type="submit"],
html[dir="rtl"] .learndash-wrapper button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

/* 2) Fix “Mark Complete” button alignment + icon spacing */
html[dir="rtl"] .learndash-wrapper .learndash_mark_complete_button,
html[dir="rtl"] .learndash-wrapper .learndash_mark_complete_button a,
html[dir="rtl"] .learndash-wrapper .learndash_mark_complete_button input {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* LearnDash often uses pseudo-icons; make sure RTL doesn't collapse them */
html[dir="rtl"] .learndash-wrapper .learndash_mark_complete_button i,
html[dir="rtl"] .learndash-wrapper .learndash_mark_complete_button svg {
  margin: 0 !important;
}

/* 3) Tin Canny / Uncanny launch button (common selector patterns) */
html[dir="rtl"] a.glightbox .uo-tclr-open-content-button,
html[dir="rtl"] .uo-tclr-open-content-button,
html[dir="rtl"] .uo-launch-scorm-button,
html[dir="rtl"] .uncanny-toolkit button,
html[dir="rtl"] .uncanny-toolkit a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

/* If your launch button has an icon/badge inside, prevent RTL flip issues */
html[dir="rtl"] a.glightbox .uo-tclr-open-content-button span,
html[dir="rtl"] .uo-tclr-open-content-button span {
  display: inline-flex !important;
  align-items: center !important;
}

/* 4) Breadcrumbs: keep English course titles readable (don’t reverse midline) */
html[dir="rtl"] .learndash-wrapper .ld-breadcrumbs,
html[dir="rtl"] .learndash-wrapper .ld-breadcrumbs a,
html[dir="rtl"] .learndash-wrapper .ld-breadcrumbs span {
  unicode-bidi: plaintext;
}

/* 5) Course navigation sidebar: prevent icon/arrow overlap */
html[dir="rtl"] .learndash-wrapper .ld-course-navigation,
html[dir="rtl"] .learndash-wrapper .ld-course-navigation * {
  unicode-bidi: plaintext;
}

/* 6) Header “Hello, user” area / admin bar alignment edge cases */
html[dir="rtl"] #wpadminbar .ab-item,
html[dir="rtl"] #wpadminbar a.ab-item {
  direction: rtl;
  unicode-bidi: plaintext;
}
/* RTL: flip directional icons (LearnDash / Uncanny UI arrows) */
html[dir="rtl"] .learndash-wrapper .ld-icon,
html[dir="rtl"] .learndash-wrapper .ld-icon svg,
html[dir="rtl"] .learndash-wrapper .ld-button svg,
html[dir="rtl"] a.glightbox .uo-tclr-open-content-button svg,
html[dir="rtl"] .uo-tclr-open-content-button svg {
  transform: scaleX(-1);
}
