/* =====================================================================
   Baraheen Académie — feuille publique
   ---------------------------------------------------------------------
   · RTL natif : écrit directement en `direction: rtl`, avec des propriétés
     logiques (`margin-inline`, `inset-inline`). Aucun plugin de miroir,
     aucune feuille -rtl séparée à maintenir.
   · Tout est sous `.baraheen-academie` : Elementor et le thème ne peuvent
     pas être atteints, et réciproquement.
   · Aucun `!important`. Les variables permettent au thème de reprendre la
     main sans surenchère de spécificité.
   ===================================================================== */

.baraheen-academie {
  --bacad-navy:    #0B1220;
  --bacad-navy-2:  #13213A;
  --bacad-gold:    #D4AF37;
  --bacad-gold-d:  #B8942A;
  --bacad-ink:     #16203A;
  --bacad-muted:   #7C889C;
  --bacad-line:    #E5EAF2;
  --bacad-surface: #FFFFFF;
  --bacad-soft:    #F5F7FB;
  --bacad-ok:      #1A7F52;
  --bacad-ko:      #C0392B;
  --bacad-accent:  var(--bacad-gold);
  --bacad-radius:  14px;

  direction: rtl;
  text-align: start;
  font-family: Cairo, "Segoe UI", system-ui, sans-serif;
  color: var(--bacad-ink);
  line-height: 1.75;
}

/* Alpine retire x-cloak à son initialisation : sans cette règle, le panneau
   de résultat clignoterait avant d'être piloté.
   x-cloak n'est PAS posé sur la racine à dessein : si le CDN d'Alpine est
   injoignable, le quiz reste visible plutôt que de laisser un trou blanc. */
.baraheen-academie [x-cloak] { display: none; }

.baraheen-academie *,
.baraheen-academie *::before,
.baraheen-academie *::after { box-sizing: border-box; }

.baraheen-academie .screen-reader-text {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ── Conteneurs ────────────────────────────────────────────────────── */

.baraheen-academie-card {
  background: var(--bacad-surface);
  border: 1px solid var(--bacad-line);
  border-radius: var(--bacad-radius);
  padding: 22px;
  margin-block-end: 16px;
  box-shadow: 0 1px 2px rgba(16, 28, 54, .04), 0 8px 22px rgba(16, 28, 54, .05);
}

.baraheen-academie-notice {
  border: 1px dashed var(--bacad-line);
  border-radius: var(--bacad-radius);
  padding: 18px 20px;
  background: var(--bacad-soft);
  color: var(--bacad-ink);
  text-align: center;
}
.baraheen-academie-notice--error { border-color: var(--bacad-ko); color: var(--bacad-ko); }
.baraheen-academie-notice p { margin: 0 0 12px; }
.baraheen-academie-empty { color: var(--bacad-muted); font-size: 14px; padding-block: 12px; }
.baraheen-academie-error { color: var(--bacad-ko); font-size: 14px; }

/* ── Boutons ───────────────────────────────────────────────────────── */

.baraheen-academie-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px;                 /* cible tactile confortable */
  padding: 10px 24px;
  border: 1px solid transparent; border-radius: 10px;
  background: var(--bacad-gold); color: #23180A;
  font-family: inherit; font-size: 15px; font-weight: 700;
  text-decoration: none; cursor: pointer;
  transition: background .16s, transform .12s;
}
.baraheen-academie-btn:hover { background: var(--bacad-gold-d); color: #fff; }
.baraheen-academie-btn:active { transform: translateY(1px); }
.baraheen-academie-btn:disabled { opacity: .55; cursor: default; transform: none; }

.baraheen-academie-btn--ghost {
  background: transparent; color: var(--bacad-ink); border-color: var(--bacad-line);
}
.baraheen-academie-btn--ghost:hover { background: var(--bacad-soft); color: var(--bacad-ink); }

.baraheen-academie-btn--full { display: flex; width: 100%; margin-block-start: 14px; }

/* ── Barre de progression ──────────────────────────────────────────── */

.baraheen-academie-progress {
  height: 8px; border-radius: 999px;
  background: var(--bacad-soft);
  overflow: hidden;
  margin-block: 12px;
}
.baraheen-academie-progress__bar {
  display: block; height: 100%;
  background: var(--bacad-accent);
  border-radius: 999px;
  transition: width .45s cubic-bezier(.4, 0, .2, 1);
}

/* =====================================================================
   QUIZ
   ===================================================================== */

.baraheen-academie-quiz__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
}
.baraheen-academie-quiz__title { font-size: 19px; font-weight: 800; margin: 0; }
.baraheen-academie-quiz__counter {
  font-size: 13px; font-weight: 700; color: var(--bacad-muted);
  font-variant-numeric: tabular-nums; flex: none;
}

.baraheen-academie-quiz__question {
  font-size: 17px; font-weight: 700; line-height: 1.85;
  margin: 6px 0 18px;
}

.baraheen-academie-quiz__choices { display: grid; gap: 10px; }

.baraheen-academie-choice {
  display: flex; align-items: flex-start; gap: 12px;
  width: 100%; min-width: 0;
  padding: 14px 16px;
  border: 1.5px solid var(--bacad-line); border-radius: 12px;
  background: var(--bacad-surface); color: var(--bacad-ink);
  font-family: inherit; font-size: 15px; line-height: 1.7;
  text-align: start; cursor: pointer;
  transition: border-color .16s, background .16s;
}
.baraheen-academie-choice:hover { border-color: var(--bacad-gold); }
.baraheen-academie-choice.is-selected {
  border-color: var(--bacad-gold);
  background: color-mix(in srgb, var(--bacad-gold) 10%, transparent);
}

.baraheen-academie-choice__mark {
  width: 20px; height: 20px; flex: none; margin-block-start: 3px;
  border: 2px solid var(--bacad-line); border-radius: 50%;
  position: relative;
}
.baraheen-academie-choice.is-selected .baraheen-academie-choice__mark { border-color: var(--bacad-gold); }
.baraheen-academie-choice.is-selected .baraheen-academie-choice__mark::after {
  content: ""; position: absolute; inset: 3px;
  border-radius: 50%; background: var(--bacad-gold);
}

/* Le texte doit pouvoir se rompre : une URL ou un mot long ne doit jamais
   élargir la carte au-delà de l'écran. */
.baraheen-academie-choice__text { min-width: 0; overflow-wrap: anywhere; }

.baraheen-academie-quiz__hint { color: var(--bacad-ko); font-size: 13.5px; margin: 12px 0 0; }

.baraheen-academie-quiz__nav {
  display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap;
  margin-block-start: 20px;
}

/* ── Résultat ──────────────────────────────────────────────────────── */

.baraheen-academie-score { text-align: center; margin-block-end: 20px; }

.baraheen-academie-score__ring {
  width: 122px; height: 122px; margin: 0 auto 12px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 27px; font-weight: 900; color: var(--bacad-ink);
  /* L'anneau est dessiné en dégradé conique : pas de SVG à générer, pas de
     canvas — et la valeur se met à jour par une seule variable CSS. */
  background:
    conic-gradient(var(--bacad-gold) calc(var(--bacad-pct, 0) * 1%), var(--bacad-soft) 0);
  position: relative;
}
.baraheen-academie-score__ring::before {
  content: ""; position: absolute; inset: 11px;
  background: var(--bacad-surface); border-radius: 50%;
}
.baraheen-academie-score__ring > span { position: relative; }
.baraheen-academie-score__line { color: var(--bacad-muted); font-size: 14px; margin: 0; }

.baraheen-academie-result {
  border: 1px solid var(--bacad-line);
  border-inline-start: 4px solid var(--bacad-accent);
  border-radius: 12px;
  padding: 20px 22px;
  background: var(--bacad-soft);
}
.baraheen-academie-result__badge {
  display: inline-block; margin-block-end: 8px;
  padding: 4px 12px; border-radius: 999px;
  background: var(--bacad-accent); color: #fff;
  font-size: 11.5px; font-weight: 800;
}
.baraheen-academie-result__title {
  font-size: 22px; font-weight: 900; margin: 0 0 8px; color: var(--bacad-accent);
}
.baraheen-academie-result__line { font-size: 16px; font-weight: 700; margin: 0 0 10px; }
.baraheen-academie-result__body { font-size: 15px; color: var(--bacad-ink); margin: 0; }

.baraheen-academie-result__cta {
  margin-block-start: 16px; padding-block-start: 14px;
  border-top: 1px dashed var(--bacad-line);
}
.baraheen-academie-result__cta p { margin: 0 0 12px; font-size: 14.5px; }

.baraheen-academie-verdict {
  margin-block-start: 16px; padding: 14px 18px; border-radius: 12px;
  font-size: 15px; font-weight: 700;
}
.baraheen-academie-verdict.is-pass { background: rgba(26, 127, 82, .1); color: var(--bacad-ok); }
.baraheen-academie-verdict.is-fail { background: rgba(192, 57, 43, .09); color: var(--bacad-ko); }
.baraheen-academie-verdict p { margin: 0; }

.baraheen-academie-review { margin-block-start: 18px; display: grid; gap: 10px; }
.baraheen-academie-review__row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; border-radius: 10px; background: var(--bacad-soft);
  font-size: 14px;
}
.baraheen-academie-review__row p { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.baraheen-academie-review__icon { flex: none; font-weight: 900; }
.baraheen-academie-review__row.is-ok  .baraheen-academie-review__icon { color: var(--bacad-ok); }
.baraheen-academie-review__row.is-ko  .baraheen-academie-review__icon { color: var(--bacad-ko); }

/* =====================================================================
   PARCOURS
   ===================================================================== */

.baraheen-academie-pillar__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
}
.baraheen-academie-pillar__title {
  font-size: 19px; font-weight: 800; margin: 0; color: var(--bacad-accent);
}
.baraheen-academie-pillar__meta { font-size: 13px; color: var(--bacad-muted); margin: 2px 0 0; }
.baraheen-academie-pillar__star {
  font-size: 30px; line-height: 1; flex: none;
  color: var(--bacad-line);
  transition: color .2s, transform .2s;
}
.baraheen-academie-pillar__star.is-earned { color: var(--bacad-gold); transform: scale(1.06); }
.baraheen-academie-pillar__cta {
  margin: 14px 0 0; padding: 12px 14px; border-radius: 10px;
  background: color-mix(in srgb, var(--bacad-gold) 11%, transparent);
  font-size: 14px; font-weight: 700; color: var(--bacad-gold-d);
}

.baraheen-academie-lessons { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }

.baraheen-academie-lesson {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; min-width: 0;
  border: 1px solid var(--bacad-line); border-radius: 11px;
  background: var(--bacad-surface);
}
.baraheen-academie-lesson.is-done { border-color: color-mix(in srgb, var(--bacad-ok) 40%, var(--bacad-line)); }
.baraheen-academie-lesson.is-locked { background: var(--bacad-soft); opacity: .72; }

.baraheen-academie-lesson__num {
  width: 30px; height: 30px; flex: none;
  border-radius: 50%; display: grid; place-items: center;
  background: var(--bacad-soft); color: var(--bacad-muted);
  font-size: 13px; font-weight: 800;
}
.baraheen-academie-lesson.is-done .baraheen-academie-lesson__num {
  background: var(--bacad-ok); color: #fff;
}

.baraheen-academie-lesson__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.baraheen-academie-lesson__body a,
.baraheen-academie-lesson__title {
  font-size: 15px; font-weight: 700; color: var(--bacad-ink);
  text-decoration: none; overflow-wrap: anywhere;
}
.baraheen-academie-lesson__body a:hover { color: var(--bacad-accent); }
.baraheen-academie-lesson__meta { font-style: normal; font-size: 12px; color: var(--bacad-muted); }
.baraheen-academie-lesson__lock { flex: none; font-size: 15px; opacity: .6; }

/* ── Pied de leçon ─────────────────────────────────────────────────── */

.baraheen-academie-lessonfoot {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-block-start: 30px; padding: 18px 20px;
  border: 1px solid var(--bacad-line); border-radius: var(--bacad-radius);
  background: color-mix(in srgb, var(--bacad-gold) 7%, var(--bacad-surface));
}
.baraheen-academie-lessonfoot p { margin: 0; flex: 1 1 220px; min-width: 0; font-size: 14.5px; }
.baraheen-academie-lessonfoot .baraheen-academie-btn.is-done {
  background: var(--bacad-ok); color: #fff;
}
.baraheen-academie-lessonfoot__end { font-size: 13.5px; color: var(--bacad-muted); }

@media (max-width: 520px) {
  .baraheen-academie-lessonfoot { flex-direction: column; align-items: stretch; }
}

/* =====================================================================
   FICHE MEMBRE — LES 4 ÉTOILES
   ---------------------------------------------------------------------
   `auto-fit` + `minmax` : quatre colonnes au large, deux sur téléphone,
   une sur les très petits écrans — sans media query et sans débordement,
   quelle que soit la largeur de la colonne Elementor qui l'accueille.
   ===================================================================== */

.baraheen-academie-fiche {
  border: 1px solid var(--bacad-line);
  border-radius: var(--bacad-radius);
  background: var(--bacad-surface);
  padding: 20px;
}

.baraheen-academie-fiche__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
}
.baraheen-academie-fiche__title { font-size: 17px; font-weight: 800; margin: 0; }
.baraheen-academie-fiche__count {
  font-size: 14px; color: var(--bacad-muted); flex: none;
  font-variant-numeric: tabular-nums;
}
.baraheen-academie-fiche__count strong { font-size: 20px; color: var(--bacad-gold); }

.baraheen-academie-stars {
  list-style: none; margin: 6px 0 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
}

.baraheen-academie-star {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  min-width: 0;                     /* sans quoi un libellé long élargit la grille */
  padding: 14px 8px;
  border: 1px solid var(--bacad-line); border-radius: 12px;
  background: var(--bacad-soft);
  text-align: center;
  transition: border-color .18s, background .18s;
}
.baraheen-academie-star.is-earned {
  border-color: var(--bacad-accent);
  background: color-mix(in srgb, var(--bacad-accent) 9%, transparent);
}

.baraheen-academie-star__icon {
  font-size: 28px; line-height: 1; color: var(--bacad-line);
  transition: color .2s, transform .2s;
}
.baraheen-academie-star.is-earned .baraheen-academie-star__icon {
  color: var(--bacad-accent); transform: scale(1.08);
}

.baraheen-academie-star__label {
  font-size: 12.5px; font-weight: 700; line-height: 1.5;
  overflow-wrap: anywhere;          /* « الدوافع النفسية والاجتماعية » est long */
}
.baraheen-academie-star__meta { font-size: 11px; color: var(--bacad-muted); }

/* =====================================================================
   CARTE CERTIFICAT
   ===================================================================== */

.baraheen-academie-certcard {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 20px 22px;
  border: 1px solid var(--bacad-gold); border-radius: var(--bacad-radius);
  background: color-mix(in srgb, var(--bacad-gold) 8%, var(--bacad-surface));
}
.baraheen-academie-certcard__seal {
  width: 52px; height: 52px; flex: none;
  border-radius: 50%; display: grid; place-items: center;
  background: var(--bacad-navy); color: var(--bacad-gold); font-size: 24px;
}
.baraheen-academie-certcard__body { flex: 1 1 220px; min-width: 0; }
.baraheen-academie-certcard__body h3 { margin: 0 0 6px; font-size: 17px; font-weight: 800; }
.baraheen-academie-certcard__body p { margin: 0; font-size: 13.5px; color: var(--bacad-muted); }
.baraheen-academie-certcard__body code {
  background: var(--bacad-navy); color: var(--bacad-gold);
  padding: 2px 8px; border-radius: 6px; font-size: 12.5px; letter-spacing: 1px;
}
.baraheen-academie-certcard__date { margin-block-start: 4px; }
.baraheen-academie-certcard .baraheen-academie-btn { flex: none; }

/* =====================================================================
   MOBILE
   ===================================================================== */

@media (max-width: 600px) {
  .baraheen-academie-card { padding: 16px; }
  .baraheen-academie-quiz__question { font-size: 16px; }
  .baraheen-academie-quiz__nav { justify-content: stretch; }
  .baraheen-academie-quiz__nav .baraheen-academie-btn { flex: 1 1 auto; }
  .baraheen-academie-score__ring { width: 104px; height: 104px; font-size: 23px; }
  .baraheen-academie-result__title { font-size: 19px; }
  .baraheen-academie-certcard { flex-direction: column; align-items: stretch; text-align: center; }
  .baraheen-academie-certcard__seal { margin-inline: auto; }
}

@media (max-width: 380px) {
  .baraheen-academie-stars { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .baraheen-academie * { transition: none; }
}

/* =====================================================================
   CONTENU RÉFÉRENCÉ (v1.1)
   La leçon affiche l'article source, elle ne le recopie pas.
   Les styles du thème s'appliquent au texte : on n'habille que le cadre.
   ===================================================================== */

.baraheen-academie-source { min-width: 0; overflow-wrap: anywhere; }
.baraheen-academie-source > *:first-child { margin-block-start: 0; }

.baraheen-academie-source img,
.baraheen-academie-source iframe,
.baraheen-academie-source table { max-width: 100%; }

.baraheen-academie-source__link {
  margin-block-start: 22px; padding-block-start: 14px;
  border-top: 1px dashed var(--bacad-line);
  font-size: 13.5px;
}
.baraheen-academie-source__link a { color: var(--bacad-gold-d); font-weight: 700; text-decoration: none; }
.baraheen-academie-source__link a:hover { text-decoration: underline; }

/* =====================================================================
   BADGE COMPACT — à côté du nom / de l'avatar (v1.2)
   ===================================================================== */

.baraheen-academie-mini {
  display: inline-flex; align-items: center; gap: 3px;
  vertical-align: middle;
}
.baraheen-academie-mini__dot {
  --bacad-accent: var(--bacad-gold, #D4AF37);
  display: inline-grid; place-items: center;
  width: 18px; height: 18px; border-radius: 50%;
  font-size: 12px; line-height: 1;
  color: color-mix(in srgb, currentColor 18%, #C9CFDA);
  background: transparent;
}
.baraheen-academie-mini__dot.is-earned { color: var(--bacad-accent); }
.baraheen-academie-mini__cert {
  margin-inline-start: 2px; font-size: 15px; text-decoration: none; line-height: 1;
}

/* =====================================================================
   PORTE D'ENTRÉE — اختبار المدخل ≥ 80% (v1.2)
   ===================================================================== */

.baraheen-academie-gate__card { text-align: center; }
.baraheen-academie-gate__icon { font-size: 34px; display: block; margin-block-end: 8px; }
.baraheen-academie-gate__title { font-size: 18px; font-weight: 800; margin: 0 0 8px; }
.baraheen-academie-gate__rule { color: var(--bacad-muted); font-size: 14px; margin: 0 0 16px; }
.baraheen-academie-gate__score { max-width: 340px; margin: 0 auto 18px; }
.baraheen-academie-gate__num { font-size: 13px; color: var(--bacad-muted); margin: 6px 0 0; }

/* =====================================================================
   ATTENTE DE SIGNATURES — après la 5ᵉ étoile (v1.2)
   ===================================================================== */

.baraheen-academie-cert-wait { text-align: center; }
.baraheen-academie-cert-wait__icon { font-size: 32px; display: block; margin-block-end: 6px; }
.baraheen-academie-cert-wait__list {
  list-style: none; margin: 16px 0; padding: 0;
  display: grid; gap: 8px; max-width: 380px; margin-inline: auto; text-align: start;
}
.baraheen-academie-cert-wait__list li {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 12px; border-radius: 10px; background: var(--bacad-soft);
  font-size: 13.5px;
}
.baraheen-academie-cert-wait__list li.is-done { background: color-mix(in srgb, var(--bacad-ok) 10%, transparent); }
.baraheen-academie-cert-wait__dot { flex: none; }
.baraheen-academie-cert-wait__list em { color: var(--bacad-muted); font-style: normal; font-size: 12px; }
.baraheen-academie-cert-wait__note { font-size: 12.5px; color: var(--bacad-muted); }


/* =====================================================================
   CHAPELET D'ÉTOILES EN LIGNE (v2)
   Suit la taille du texte qui l'entoure — jamais d'image, jamais de
   hauteur fixe qui décalerait la ligne de base.
   ===================================================================== */

.baraheen-academie-inline {
  display: inline-flex; align-items: center; gap: 1px;
  vertical-align: baseline; line-height: 1;
  margin-inline-start: 6px;
}
.baraheen-academie-inline .bai-star {
  font-size: .82em; line-height: 1;
  color: color-mix(in srgb, currentColor 22%, transparent);
  transition: color .18s, transform .18s;
}
.baraheen-academie-inline .bai-star.is-on {
  color: var(--bacad-accent, #D4AF37);
  transform: scale(1.06);
}
.baraheen-academie-inline .bai-cert {
  font-size: .8em; margin-inline-start: 3px;
  color: #D4AF37;
}
.baraheen-academie-inline .screen-reader-text {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap;
}

/* ── Écran du portail verrouillé ── */

.baraheen-academie-gate { text-align: center; }
.baraheen-academie-gate h3 { font-size: 18px; font-weight: 800; margin: 0 0 8px; }
.baraheen-academie-gate p { margin: 0 0 12px; }
.baraheen-academie-gate__score {
  padding: 12px 16px; border-radius: 10px;
  background: color-mix(in srgb, var(--bacad-gold) 9%, transparent);
  font-size: 13.5px;
}
.baraheen-academie-gate__score em { font-style: normal; color: var(--bacad-muted); }

/* ── Axe verrouillé dans le parcours ── */

.baraheen-academie-pillar.is-gated { opacity: .62; }
.baraheen-academie-pillar.is-gated .baraheen-academie-lessons { pointer-events: none; }

/* =====================================================================
   PORTAIL D'ENTRÉE EN TÊTE DU PARCOURS (v2.2)
   Un nouveau venu arrivait sur cinq axes verrouillés sans comprendre ce
   qui les ouvre. Ce bloc dit où il en est et par où commencer.
   ===================================================================== */

.baraheen-academie-entrygate {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  border-inline-start: 4px solid var(--bacad-gold);
}
.baraheen-academie-entrygate.is-open { border-inline-start-color: var(--bacad-ok); }

.baraheen-academie-entrygate__tx { flex: 1 1 260px; min-width: 0; }
.baraheen-academie-entrygate__tx h3 { margin: 0 0 5px; font-size: 17px; font-weight: 800; }
.baraheen-academie-entrygate__tx p { margin: 0; font-size: 14px; color: var(--bacad-muted); }
.baraheen-academie-entrygate.is-open .baraheen-academie-entrygate__tx p { color: var(--bacad-ok); }
.baraheen-academie-entrygate .baraheen-academie-btn { flex: none; }

.baraheen-academie-pillar__cta.is-done {
  background: rgba(26, 127, 82, .1); color: var(--bacad-ok);
}
.baraheen-academie-pillar__cta.is-locked {
  background: color-mix(in srgb, var(--bacad-muted) 12%, transparent);
  color: var(--bacad-muted);
}

@media (max-width: 560px) {
  .baraheen-academie-entrygate { flex-direction: column; align-items: stretch; }
  .baraheen-academie-entrygate .baraheen-academie-btn { justify-content: center; }
}

/* =====================================================================
   CONTRÔLE RAPIDE DE FIN DE LEÇON (.bacad-check)
   ---------------------------------------------------------------------
   Le JavaScript construisait déjà ce widget (openCheckpoint), mais aucun
   style ne lui correspondait : il s'affichait fondu dans le texte, sans
   cadre ni espacement, ce qui donnait l'impression que rien ne se
   passait au clic sur « تمّت ».
   ===================================================================== */

.bacad-check {
  margin-block-start: 16px;
  padding: 18px 20px;
  border: 1px solid var(--bacad-line);
  border-radius: var(--bacad-radius);
  background: var(--bacad-soft);
}

.bacad-check__loading {
  margin: 0; padding: 6px 0;
  font-size: 13.5px; color: var(--bacad-muted); text-align: center;
}

.bacad-check__head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-block-end: 12px;
}
.bacad-check__head b { font-size: 14.5px; font-weight: 800; color: var(--bacad-ink); }
.bacad-check__head span {
  font-size: 12.5px; color: var(--bacad-muted); font-variant-numeric: tabular-nums;
}

.bacad-check__q {
  margin: 0 0 14px; font-size: 15px; font-weight: 700; line-height: 1.8;
  color: var(--bacad-ink);
}

.bacad-check__choices { display: grid; gap: 8px; }

.bacad-check__choice {
  display: flex; align-items: flex-start; gap: 10px;
  width: 100%; text-align: start;
  padding: 11px 14px; border: 1.5px solid var(--bacad-line); border-radius: 10px;
  background: var(--bacad-surface); color: var(--bacad-ink);
  font-family: inherit; font-size: 13.5px; line-height: 1.6;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.bacad-check__choice:hover { border-color: var(--bacad-gold); }
.bacad-check__choice.is-sel {
  border-color: var(--bacad-gold);
  background: color-mix(in srgb, var(--bacad-gold) 10%, transparent);
}
.bacad-check__choice .mk {
  width: 17px; height: 17px; flex: none; margin-block-start: 2px;
  border: 2px solid var(--bacad-line); border-radius: 50%; position: relative;
}
.bacad-check__choice.is-sel .mk { border-color: var(--bacad-gold); }
.bacad-check__choice.is-sel .mk::after {
  content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--bacad-gold);
}
.bacad-check__choice span:last-child { min-width: 0; overflow-wrap: anywhere; }

.bacad-check__nav { display: flex; justify-content: flex-end; margin-block-start: 14px; }

.bacad-check__score {
  display: flex; align-items: baseline; gap: 10px; margin-block-end: 12px;
}
.bacad-check__score b { font-size: 20px; font-weight: 900; color: var(--bacad-gold-d); }
.bacad-check__score span { font-size: 12.5px; color: var(--bacad-muted); }

.bacad-check__review { display: grid; gap: 8px; margin-block-end: 4px; }
.bacad-check__review .row {
  display: flex; gap: 9px; padding: 10px 12px; border-radius: 9px;
  background: var(--bacad-surface); font-size: 13px; line-height: 1.7;
}
.bacad-check__review .row b { flex: none; font-weight: 900; }
.bacad-check__review .row.ok b { color: var(--bacad-ok); }
.bacad-check__review .row.ko b { color: var(--bacad-ko); }
.bacad-check__review .row p { margin: 0; min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 560px) {
  .bacad-check { padding: 14px 16px; }
}


/* Utilitaire : le lien « الدرس التالي » et la mention de fin de محور ne
   se montrent qu'après validation de la leçon (côté PHP au premier
   rendu, côté JS après le clic sur « تمّت » sans rechargement). */
.baraheen-academie .is-hidden { display: none !important; }


/* =====================================================================
   CORRECTIF DE CONTRASTE — bouton doré invisible dans .page-content
   ---------------------------------------------------------------------
   Les pages de l'Académie (hub, test d'entrée, quiz, profil) sont de
   vraies pages WordPress, rendues par page.php du thème, qui enveloppe
   le contenu dans .page-content. Ce conteneur porte la règle :
       .page-content a { color: var(--gold); }
   Spécificité 0,1,0 — identique à .baraheen-academie-btn. À égalité de
   spécificité, la règle déclarée en dernier dans la cascade l'emporte ;
   celle du thème arrivait après celle du plugin, et le texte du bouton
   devenait doré sur fond doré — c'est-à-dire invisible.

   Correctif ici, jamais dans le thème : la classe qui suit gagne le
   même conflit de spécificité, dans l'autre sens, sans !important et
   sans toucher à style.css. */
.page-content a.baraheen-academie-btn,
.entry a.baraheen-academie-btn {
  color: #23180A;
}
.page-content a.baraheen-academie-btn:hover,
.entry a.baraheen-academie-btn:hover {
  color: #fff;
}
.page-content a.baraheen-academie-btn--ghost,
.entry a.baraheen-academie-btn--ghost {
  color: var(--bacad-ink);
}
