/* ABSOLUTE FONT OVERRIDE CSS - LOAD THIS LAST */
/* This file forcibly overrides all font styles to ensure consistency */

/* FontAwesome Icon Font Family Rules - HIGHEST PRIORITY */
i.fas, i.far, i.fab, i.fal, i.fad, i.fa,
.fas, .far, .fab, .fal, .fad, .fa,
[class*="fa-"]::before {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 6 Brands" !important;
    font-weight: 900 !important;
}

.far, i.far {
    font-weight: 400 !important;
}

.fab, i.fab {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Universal font family enforcement with maximum specificity */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Force consistent font sizes - Override all inline styles (excluding icons) */
*:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not([class*="fa-"]) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Override inline font-size styles with high specificity */
html [style*="font-size"] {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

body [style*="font-size"] {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Override specific inline font sizes with standardized rem values */
[style*="font-size: 0.8rem"], [style*="font-size:0.8rem"] {
    font-size: 0.875rem !important; /* 14px equivalent */
}

[style*="font-size: 0.85rem"], [style*="font-size:0.85rem"] {
    font-size: 0.875rem !important; /* 14px equivalent */
}

[style*="font-size: 0.9rem"], [style*="font-size:0.9rem"] {
    font-size: 1rem !important; /* 16px equivalent */
}

[style*="font-size: 0.95rem"], [style*="font-size:0.95rem"] {
    font-size: 1rem !important; /* 16px equivalent */
}

[style*="font-size: 1rem"], [style*="font-size:1rem"] {
    font-size: 1rem !important; /* 16px equivalent */
}

[style*="font-size: 1.1rem"], [style*="font-size:1.1rem"] {
    font-size: 1.125rem !important; /* 18px equivalent */
}

[style*="font-size: 1.2rem"], [style*="font-size:1.2rem"] {
    font-size: 1.125rem !important; /* 18px equivalent */
}

[style*="font-size: 1.3rem"], [style*="font-size:1.3rem"] {
    font-size: 1.25rem !important; /* 20px equivalent */
}

[style*="font-size: 1.4rem"], [style*="font-size:1.4rem"] {
    font-size: 1.25rem !important; /* 20px equivalent */
}

[style*="font-size: 1.5rem"], [style*="font-size:1.5rem"] {
    font-size: 1.5rem !important; /* 24px equivalent */
}

[style*="font-size: 1.8rem"], [style*="font-size:1.8rem"] {
    font-size: 1.75rem !important; /* 28px equivalent */
}

[style*="font-size: 2rem"], [style*="font-size:2rem"] {
    font-size: 2rem !important; /* 32px equivalent */
}

[style*="font-size: 2.5rem"], [style*="font-size:2.5rem"] {
    font-size: 2.5rem !important; /* 40px equivalent */
}

[style*="font-size: 3rem"], [style*="font-size:3rem"] {
    font-size: 3rem !important; /* 48px equivalent */
}

/* Override pixel-based font sizes */
[style*="font-size: 15px"], [style*="font-size:15px"] {
    font-size: 1rem !important; /* 16px equivalent */
}

[style*="font-size: 17px"], [style*="font-size:17px"] {
    font-size: 1.125rem !important; /* 18px equivalent */
}

[style*="font-size: 22px"], [style*="font-size:22px"] {
    font-size: 1.375rem !important; /* 22px equivalent */
}

/* Override heading font sizes regardless of inline styles */
h1, h1[style*="font-size"] {
    font-size: 2.25rem !important; /* 36px equivalent */
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

h2, h2[style*="font-size"] {
    font-size: 1.875rem !important; /* 30px equivalent */
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

h3, h3[style*="font-size"] {
    font-size: 1.5rem !important; /* 24px equivalent */
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

h4, h4[style*="font-size"] {
    font-size: 1.25rem !important; /* 20px equivalent */
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

h5, h5[style*="font-size"], h6, h6[style*="font-size"] {
    font-size: 1.125rem !important; /* 18px equivalent */
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Override paragraph font sizes */
p, p[style*="font-size"] {
    font-size: 1rem !important; /* 16px equivalent */
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

/* Override list font sizes */
ul, ol, ul[style*="font-size"], ol[style*="font-size"] {
    font-size: 1rem !important; /* 16px equivalent */
    line-height: 1.5 !important;
}

li, li[style*="font-size"] {
    font-size: 0.875rem !important; /* 14px equivalent */
    line-height: 1.5 !important;
}

/* Override blockquote font sizes */
blockquote, blockquote[style*="font-size"] {
    font-size: 1rem !important; /* 16px equivalent */
    font-style: italic !important;
    line-height: 1.6 !important;
}

/* Override div font sizes (commonly used for stats, cards, etc.) */
div[style*="font-size"] {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Force consistent button font sizes */
button, input[type="button"], input[type="submit"], .btn {
    font-size: 1rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Override form element font sizes */
input, textarea, select {
    font-size: 1rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Override navigation font sizes */
nav, nav a, .nav, .nav a {
    font-size: 1rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Override card and section font sizes */
.card, .section, .card *, .section * {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* High-specificity overrides for problematic elements */
body .enroll-popup h2 {
    font-size: 1.5rem !important;
}

body .enroll-popup p {
    font-size: 1rem !important;
}

body .enroll-btn {
    font-size: 1rem !important;
}

/* Ultimate fallback - maximum specificity (excluding icons) */
html body *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-brands):not([class*="fa-"]) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}