/**
 * Global typography — font families from Customizer CSS variables.
 */

body {
	font-family: var(--bsp-font-text);
}

/* Heading tags and all descendants (e.g. spans inside h2). */
h1,
h2,
h3,
h4,
h5,
h6,
h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 * {
	font-family: var(--bsp-font-heading);
}

/* Theme title / kicker / headline classes. */
[class*="__title"],
[class*="__headline"],
[class*="__kicker"],
.bsp-heading {
	font-family: var(--bsp-font-heading);
}

/* Body text — do not target span globally (breaks headings that use inner spans). */
p:not([class*="__title"]):not([class*="__headline"]):not([class*="__kicker"]),
a:not([class*="__title"]):not([class*="__headline"]),
li,
label,
input,
textarea,
select,
button,
td,
th,
figcaption,
blockquote,
cite,
small,
address,
pre,
code,
kbd,
samp,
var,
dd,
dt,
legend,
.bsp-text {
	font-family: var(--bsp-font-text);
}

/* Subtitles and descriptions stay on text font. */
[class*="__subtitle"],
[class*="__desc"],
[class*="__description"],
[class*="__subtext"] {
	font-family: var(--bsp-font-text);
}
