/* Site-wide typography — Calibri Italic (headings, body, UI text) */

:root {
    --site-font: Calibri, 'Calibri Light', 'Segoe UI', Candara, 'Helvetica Neue', Arial, sans-serif;
    --ui-font: var(--site-font);
    --ui-display: var(--site-font);
}

html {
    font-family: var(--site-font);
    font-style: italic;
}

body,
body.frontend-page,
body.admin-portal,
body.tutor-portal {
    font-family: var(--site-font) !important;
    font-style: italic !important;
}

/* Override component-level Inter / Space Grotesk rules */
body.frontend-page *,
body.admin-portal *,
body.tutor-portal * {
    font-family: var(--site-font) !important;
    font-style: italic !important;
}

body.frontend-page :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
body.admin-portal :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
body.tutor-portal :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-family: var(--site-font) !important;
    font-style: italic !important;
}

/* Font Awesome & icon fonts — keep normal style */
body.frontend-page i[class*="fa"],
body.frontend-page .fa,
body.frontend-page .fas,
body.frontend-page .far,
body.frontend-page .fab,
body.frontend-page .fal,
body.frontend-page .fa-solid,
body.frontend-page .fa-regular,
body.frontend-page .fa-brands,
body.admin-portal i[class*="fa"],
body.admin-portal .fa,
body.admin-portal .fas,
body.admin-portal .far,
body.admin-portal .fab,
body.tutor-portal i[class*="fa"],
body.tutor-portal .fa,
body.tutor-portal .fas,
body.tutor-portal .far,
body.tutor-portal .fab {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
    font-style: normal !important;
}

body.frontend-page .fab,
body.frontend-page .fa-brands,
body.admin-portal .fab,
body.admin-portal .fa-brands,
body.tutor-portal .fab,
body.tutor-portal .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
}

body.frontend-page .fas,
body.frontend-page .fa-solid,
body.admin-portal .fas,
body.admin-portal .fa-solid,
body.tutor-portal .fas,
body.tutor-portal .fa-solid {
    font-weight: 900 !important;
}

body.frontend-page .far,
body.frontend-page .fa-regular,
body.admin-portal .far,
body.admin-portal .fa-regular,
body.tutor-portal .far,
body.tutor-portal .fa-regular {
    font-weight: 400 !important;
}

/* Auth pages */
.auth-layout,
.auth-layout *,
.auth-page,
.auth-page * {
    font-family: var(--site-font) !important;
    font-style: italic !important;
}

.auth-layout i[class*="fa"],
.auth-layout .fa,
.auth-layout .fas,
.auth-layout .far,
.auth-layout .fab,
.auth-page i[class*="fa"],
.auth-page .fa,
.auth-page .fas,
.auth-page .far,
.auth-page .fab {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
    font-style: normal !important;
}

/* Monospace for code */
body.frontend-page :is(code, pre, kbd, samp, .font-monospace),
body.admin-portal :is(code, pre, kbd, samp, .font-monospace),
body.tutor-portal :is(code, pre, kbd, samp, .font-monospace) {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
    font-style: normal !important;
}
