/* Shared UI typeface, matching english.alkhwarzmi.com/ar. */
body:is(.alkz-learning-theme, .alkz-typography) {
    --alkz-font-family: 'Tajawal', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-sans: var(--alkz-font-family) !important;
    font-family: var(--alkz-font-family) !important;
}

/* Older pages set fonts on individual controls and text blocks. Keep those
   pages consistent without replacing icon fonts or code examples. */
body:is(.alkz-learning-theme, .alkz-typography) :is(
    h1, h2, h3, h4, h5, h6, p, a, button, input, select, option, optgroup,
    textarea, label, legend, fieldset, table, thead, tbody, tfoot, tr, th, td,
    caption, ul, ol, li, dl, dt, dd, nav, header, footer, main, section,
    article, aside, div, span, b, bdi, bdo, em, strong, small, time,
    summary, details, figcaption, blockquote, mark, u, s, del, ins, abbr
):not(:where(
    .fa, .fas, .far, .fab, .fal, .fad, .fat, .fass,
    [class^='fa-'], [class*=' fa-'], .glyphicon, .bi, .icon, .ion,
    [class^='icon-'], [class*=' icon-'], [class^='ion-'], [class*=' ion-'],
    .material-icons, .material-icons-outlined, .material-symbols-outlined,
    pre, pre *, code, code *, kbd, kbd *, samp, samp *,
    [data-font-preserve], [data-font-preserve] *
)) {
    font-family: var(--alkz-font-family) !important;
}
