/* ── Theme body font in wp-admin, on the login screen, and in the toolbar ──
   Plain CSS, NOT part of the Tailwind build (enqueued by loreinshop_admin_font()).

   Core, the block editor, WooCommerce admin and plugins each declare their own
   font-family on hundreds of selectors (RTL locales add Tahoma on top), so a
   targeted override always misses screens. Instead every element inside the
   admin scopes gets the font with !important, EXCEPT elements whose own
   font-family is an icon font — their ::before glyph inherits it, so
   overriding them turns icons into tofu. Pseudo-elements are never matched by
   `*`, so `div.wp-menu-image::before`-style icons are safe without listing.

   Exclusion list = every non-pseudo selector in wp-admin/css, wp-includes/css
   and WooCommerce assets that sets dashicons / tinymce / WooCommerce / star
   fonts, plus code and monospace fields. Re-scan after a major WP/WC update. */

@font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-VF.woff2') format('woff2-variations');
    font-weight: 100 1000;
    font-style: normal;
    font-display: swap;
}

:is(body.wp-admin, body.login, #wpadminbar),
:is(body.wp-admin, body.login, #wpadminbar)
    *:not(
        .dashicons,
        .ab-icon,
        .blavatar,
        .wp-admin-bar-arrow,
        .qt-dfw,
        .toggle-indicator,
        .mce-ico,
        i[class*='mce-i-'],
        .star-rating,
        .star-rating *,
        [class*='rating__stars'],
        [class*='rating-stars'],
        [class*='rating__norating'],
        [role='treeitem'] span[aria-hidden],
        code,
        pre,
        kbd,
        samp,
        .code,
        .CodeMirror,
        .CodeMirror *,
        .editor-post-text-editor
    ) {
    font-family: 'IRANSansX', Tahoma, sans-serif !important;
}
