/* ==========================================================================
   Site-wide typography — Montserrat everywhere, including Elementor widgets.

   Three layers:
   1. Elementor global typography variables (kit-level defaults).
   2. A blanket !important rule via :where() — zero extra specificity, but
      !important beats Elementor's per-widget font settings, which are not
      !important. Icon fonts are excluded so icons keep rendering.
   3. Deliberate serif accents (footer) re-asserted at the end.
   ========================================================================== */

:root {
	--jcu-font: "Google Sans Flex", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	/* Elementor global typography — anything set to "Default" follows these */
	--e-global-typography-primary-font-family: "Google Sans Flex";
	--e-global-typography-secondary-font-family: "Google Sans Flex";
	--e-global-typography-text-font-family: "Google Sans Flex";
	--e-global-typography-accent-font-family: "Google Sans Flex";
}

body {
	font-family: var(--jcu-font);
	-webkit-font-smoothing: antialiased;
}

/* Blanket override: every text element of the SITE, but never icon fonts
   and never WordPress's own UI (admin toolbar keeps its native look).
   Excluded: <i> tags, FontAwesome (fa-*), Elementor icons (eicon-*),
   WP dashicons, Material icons, and everything inside #wpadminbar. */
body :where(h1, h2, h3, h4, h5, h6, p, a, span, li, dt, dd, td, th,
	blockquote, cite, figcaption, label, legend, strong, em, small,
	input, optgroup, select, textarea, button,
	div):not(i):not([class*="fa-"]):not([class*="eicon-"]):not(.dashicons):not(.material-icons):not(#wpadminbar):not(#wpadminbar *) {
	font-family: var(--jcu-font) !important;
}

/* --- Deliberate exceptions: serif accents keep Playfair Display ---------- */

.jcu-footer__social-title,
.jcu-footer__newsletter input[type="email"] {
	font-family: "Playfair Display", Georgia, serif !important;
}
