/*
 * Global typography - Inter everywhere.
 * Loaded on every page after the vendor stylesheets so it wins over the
 * Bootstrap / Font Awesome defaults. Icon fonts are restored below.
 *
 * Pseudo-elements are deliberately NOT matched: they inherit font-family from
 * their host element, so they pick up Inter on their own, while icon rules
 * such as `.bi::before` or `.contact-item::before { font-family: "Font Awesome
 * 5 Free" }` keep working.
 */

:root {
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --bs-font-sans-serif: var(--font-primary);
    --bs-body-font-family: var(--font-primary);
}

html,
body,
body *,
button,
input,
optgroup,
select,
textarea {
    font-family: var(--font-primary) !important;
}

/* Inter's optional features: proper contextual alternates and tabular figures
   so numbers line up in the dashboard tables. */
body {
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
}

table,
.table,
td,
th,
.stat-number,
.stats-number {
    font-variant-numeric: tabular-nums;
}

/* --- Icon fonts must keep their own families --- */

/* Font Awesome 6 (and the 5 class names it still ships) */
.fa,
.fas,
.far,
.fal,
.fat,
.fad,
.fab,
[class^="fa-"],
[class*=" fa-"] {
    font-family: var(--fa-style-family, 'Font Awesome 6 Free') !important;
}

.fab,
.fa-brands {
    font-family: 'Font Awesome 6 Brands' !important;
}

/* Bootstrap Icons */
.bi,
[class^="bi-"],
[class*=" bi-"] {
    font-family: bootstrap-icons !important;
}

/* Material Icons / Symbols */
.material-icons,
.material-icons-outlined,
.material-symbols-outlined,
.material-symbols-rounded {
    font-family: 'Material Icons', 'Material Symbols Outlined' !important;
}
