/**
 * One font family for the whole site: Roboto.
 *
 * WHY THE EXCLUSIONS ARE NARROW
 * An audit of the live pages showed every icon glyph is carried either by an
 * <i> element or by the ::before/::after of a swiper navigation button.
 * Nothing else carries an icon font. So only those are excluded.
 *
 * An earlier version excluded [class*="elementskit"] and [class*="icon-"]
 * wholesale. That was wrong: ElementsKit uses those prefixes for ordinary
 * headings too (elementskit-section-title, elementskit-info-box-title), and
 * they kept rendering in Barlow.
 *
 * THE :not() CHAIN MUST STAY ON ONE LINE. Whitespace between simple
 * selectors is a descendant combinator, which silently changes the meaning.
 *
 * Pseudo-elements are never targeted. Icon libraries set font-family on
 * ::before / ::after, and overriding those breaks every icon on the site.
 */

/**
 * SLIDER REVOLUTION IS EXCLUDED ON PURPOSE.
 *
 * The homepage slides are pixel-positioned in the Slider Revolution editor:
 * each text layer has a fixed width and font-size per breakpoint
 * (e.g. w:478px with font-size:120px), designed around Teko, a condensed
 * face. Roboto is far wider at the same size, so forcing it made the
 * headline text overflow its fixed box and appear cropped.
 *
 * The slides keep the typography they were designed with. To bring them to
 * Roboto as well, the three slides need their layer widths and font sizes
 * re-tuned inside the Slider Revolution editor — that is a design change,
 * not something CSS can do safely.
 *
 * ":not(rs-module *)" uses a complex :not(), supported by all current
 * browsers. If a very old browser cannot parse it the whole rule is
 * dropped, which simply means no font unification — never a broken layout.
 */

html body,
html body *:not(i):not(svg):not(path):not(use):not([class*="eicon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class*="revicon"]):not(.dashicons):not(.dashicons-before):not(.swiper-button-next):not(.swiper-button-prev):not(.swiper-navigation-button):not(rs-module):not(rs-module *) {
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Form controls do not inherit font-family from the page by default. */
html body input,
html body select,
html body textarea,
html body button,
html body optgroup {
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Italic <i> is excluded above so icons survive, but a plain <i> used for
   emphasis should still follow the page. Anything with an icon class keeps
   its own font. */
html body i:not([class]) {
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Keep code samples monospaced — a single family is about the reading
   typeface, not about making code unreadable. */
html body code,
html body kbd,
html body pre,
html body samp,
html body tt {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
}
