/*
 * Mazda brand typography enforcement.
 * Loaded after component/page styles so shared templates cannot fall back to
 * Roboto, Poppins, Inter, or browser-default UI fonts.
 */
:root {
    --oem-font-family: 'Mazda Type', Arial, sans-serif;
}

html,
body {
    font-family: var(--oem-font-family) !important;
}

/* :where() keeps this easy to override for the explicit exceptions below. */
:root:root:root:root:root body :where(*) {
    font-family: inherit !important;
}

:root:root:root:root:root body :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--oem-font-family) !important;
    font-weight: 700;
}

/* Preserve semantic monospace text and icon-font glyphs. */
:root:root:root:root:root body :where(code, kbd, pre, samp) {
    font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace !important;
}

:root:root:root:root:root body :where(.fab) {
    font-family: 'Font Awesome 5 Brands' !important;
}

:root:root:root:root:root body :where(.fa, .fas) {
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 900 !important;
}

:root:root:root:root:root body :where(.far) {
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 400 !important;
}

:root:root:root:root:root body :where(.fal) {
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 300 !important;
}

:root:root:root:root:root body :where(.glyphicon) {
    font-family: 'Glyphicons Halflings' !important;
}

/* Error-page rules use ID selectors with !important in their legacy bundle. */
#error h1,
#error #notInStockBanner {
    font-family: var(--oem-font-family) !important;
}
