/* CRITICAL: Local Font Override - MAXIMUM PRIORITY - Forces all fonts to load from local directory */
/* This CSS file MUST load LAST to override all external font declarations */

/* COMPLETE FONT RESET - Block all external font loading */
@font-face {
    font-family: 'Fira Sans' !important;
    font-style: normal !important;
    font-weight: 300 !important;
    src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-regular.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: italic !important;
    font-weight: 300 !important;
    src: url('../fonts/fira-sans-moz-latin-italic.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-italic.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: normal !important;
    font-weight: 400 !important;
    src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-regular.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: italic !important;
    font-weight: 400 !important;
    src: url('../fonts/fira-sans-moz-latin-italic.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-italic.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: normal !important;
    font-weight: 500 !important;
    src: url('../fonts/fira-sans-moz-latin-500.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-500.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: italic !important;
    font-weight: 500 !important;
    src: url('../fonts/fira-sans-moz-latin-italic.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-italic.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: normal !important;
    font-weight: 700 !important;
    src: url('../fonts/fira-sans-moz-latin-700.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-700.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Fira Sans' !important;
    font-style: italic !important;
    font-weight: 700 !important;
    src: url('../fonts/fira-sans-moz-latin-700italic.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-700italic.woff') format("woff") !important;
    font-display: block !important;
}

/* Fallback font declarations for missing fonts using available Fira Sans */
@font-face {
    font-family: 'Mitr' !important;
    font-style: normal !important;
    font-weight: 300 !important;
    src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-regular.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Roboto Slab' !important;
    font-style: normal !important;
    font-weight: 300 !important;
    src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-regular.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Roboto Slab' !important;
    font-style: normal !important;
    font-weight: 400 !important;
    src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-regular.woff') format("woff") !important;
    font-display: block !important;
}

@font-face {
    font-family: 'Roboto Slab' !important;
    font-style: normal !important;
    font-weight: 700 !important;
    src: url('../fonts/fira-sans-moz-latin-700.woff2') format("woff2") !important,
         url('../fonts/fira-sans-moz-latin-700.woff') format("woff") !important;
    font-display: block !important;
}

/* TARGETED FONT OVERRIDE - Only override where necessary to prevent layout breaks */
body {
    font-family: 'Fira Sans', sans-serif !important;
}

/* Override specific elements that use fonts */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Fira Sans', sans-serif !important;
}

p, div, span, a {
    font-family: 'Fira Sans', sans-serif !important;
}

/* Form elements */
button, input, textarea, select {
    font-family: 'Fira Sans', sans-serif !important;
}

/* Block any external font loading attempts */
@supports (font-display: block) {
    @font-face {
        font-family: 'Fira Sans';
        src: url('../fonts/fira-sans-moz-latin-regular.woff2') format("woff2");
        font-display: block;
    }
}
