/* SchoolEP V229.31 — breadcrumb core identity/state authority.
   Geometry is owned only by breadcrumb-layout-v22931.css, loaded last.
   P/M/S stage colors remain: Primary green, Middle orange, Secondary purple. */
:root {
  --schoolep-bc-weight: 650;
  --schoolep-bc-current-weight: 900;
  --schoolep-bc-size-ar: 12.5px;
  --schoolep-bc-size-fr: 13px;
  --schoolep-bc-node-gap: 7px;
  --schoolep-bc-flow-gap: 7px;
  --schoolep-bc-row-gap: 7px;
  --schoolep-bc-text: #64748b;
  --schoolep-bc-sep: #94a3b8;
  --schoolep-bc-current: var(--sp-breadcrumb-accent, var(--accent, #0f172a));
}

html[data-schoolep-cycle="p"] { --sp-breadcrumb-accent:#16a34a; --sp-breadcrumb-accent-dark:#4ade80; }
html[data-schoolep-cycle="m"] { --sp-breadcrumb-accent:#e97800; --sp-breadcrumb-accent-dark:#fb923c; }
html[data-schoolep-cycle="s"] { --sp-breadcrumb-accent:#8e24aa; --sp-breadcrumb-accent-dark:#c084fc; }

.sp-breadcrumbs {
  color: var(--schoolep-bc-text);
  font-weight: var(--schoolep-bc-weight);
}
html[lang="ar"] .sp-breadcrumbs { direction:rtl; text-align:right; font-size:var(--schoolep-bc-size-ar); }
html[lang="fr"] .sp-breadcrumbs { direction:ltr; text-align:left; font-size:var(--schoolep-bc-size-fr); }

.sp-breadcrumbs > a,
.sp-breadcrumbs > strong,
.sp-breadcrumbs > .bc-current,
.sp-breadcrumbs > [data-schoolep-node-role] {
  color: inherit;
  font: inherit;
  text-decoration: none;
}
.sp-breadcrumbs > a:hover,
.sp-breadcrumbs > a:active,
.sp-breadcrumbs > a:focus-visible {
  color: var(--schoolep-bc-current);
  outline: none;
}
.sp-breadcrumbs > .schoolep-breadcrumb-return,
.sp-breadcrumbs > strong,
.sp-breadcrumbs > .bc-current {
  color: var(--schoolep-bc-current);
  font-weight: var(--schoolep-bc-current-weight);
}
.sp-breadcrumbs > .schoolep-breadcrumb-return { cursor:pointer; }

/* Only these language visibility declarations keep cascade priority intentionally.
   They prevent a transient mixed AR/FR paint while language state hydrates. */
html[lang^="ar"] .sp-breadcrumbs .schoolep-i18n-fr,
html[lang^="fr"] .sp-breadcrumbs .schoolep-i18n-ar { display:none !important; }
html[lang^="ar"] .sp-breadcrumbs .schoolep-i18n-ar,
html[lang^="fr"] .sp-breadcrumbs .schoolep-i18n-fr { display:inline !important; }
.sp-breadcrumbs > [hidden],
.sp-breadcrumbs > .is-hidden { display:none !important; }

html.dark-mode .sp-breadcrumbs,
body.dark-mode .sp-breadcrumbs {
  --schoolep-bc-text:#cbd5e1;
  --schoolep-bc-sep:#94a3b8;
  --schoolep-bc-current:var(--sp-breadcrumb-accent-dark, var(--sp-breadcrumb-accent, #f8fafc));
}

/* Ancestor return target uses the same stage color as breadcrumb interaction. */
html[data-schoolep-cycle="p"] .subject-card.schoolep-return-active{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18),0 10px 26px rgba(22,163,74,.14)}
html[data-schoolep-cycle="m"] .subject-card.schoolep-return-active{border-color:#e97800;box-shadow:0 0 0 3px rgba(233,120,0,.18),0 10px 26px rgba(233,120,0,.14)}
html[data-schoolep-cycle="s"] .subject-chip.schoolep-return-active{border-color:#8e24aa;box-shadow:0 0 0 3px rgba(142,36,170,.18),0 10px 26px rgba(142,36,170,.14)}
