/*
 * DM Sans typography for posts using an SL article template only.
 *
 * This stylesheet can be enqueued alongside the theme's ordinary front-end
 * styles without changing typography on unrelated pages or posts. Icon-font
 * families remain untouched.
 */

body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) {
	--e-global-typography-primary-font-family: "DM Sans", sans-serif;
	--e-global-typography-secondary-font-family: "DM Sans", sans-serif;
	--e-global-typography-text-font-family: "DM Sans", sans-serif;
	--e-global-typography-accent-font-family: "DM Sans", sans-serif;
	font-family: "DM Sans", sans-serif !important;
}

body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study)[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: "DM Sans" !important;
	--e-global-typography-secondary-font-family: "DM Sans" !important;
	--e-global-typography-text-font-family: "DM Sans" !important;
	--e-global-typography-accent-font-family: "DM Sans" !important;
}

body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) :where(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	a,
	div,
	span,
	li,
	dt,
	dd,
	blockquote,
	cite,
	figcaption,
	table,
	caption,
	th,
	td,
	label,
	input,
	optgroup,
	select,
	textarea,
	option,
	button,
	summary,
	details,
	small,
	strong,
	b,
	em,
	u,
	s,
	mark,
	pre,
	code,
	kbd,
	samp,
	nav,
	.comments-area,
	.comment-content,
	.comment-author,
	.comment-metadata,
	.comment-form,
	.comment-reply-title
):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fat):not([class^="fa-"]):not([class*=" fa-"]):not(.eicon):not([class^="eicon-"]):not([class*=" eicon-"]):not(.dashicons):not([class^="dashicons-"]):not([class*=" dashicons-"]):not(.happy-icons):not([class^="happy-icons-"]):not([class*=" happy-icons-"]) {
	font-family: "DM Sans", sans-serif !important;
}

/* Elementor text-bearing elements with generated, explicit typography. */
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-heading .elementor-heading-title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-heading-title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor p,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h1,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h2,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h3,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h4,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h5,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor h6,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor a,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-widget-text-editor li,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-button,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-button-text,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-nav-menu a,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-item,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-field,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-field-textual,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-field-label,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-form,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-form label,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-form .elementor-button,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-tab-title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-tab-content,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-accordion-title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-accordion-content,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-toggle-title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-icon-list-text,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-post__title,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-post__excerpt,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-search-form__input,
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) .elementor-search-form input {
	font-family: "DM Sans", sans-serif !important;
}

/* Form controls are explicit because browsers do not always inherit fonts. */
body:is(.sl-template-standard, .sl-template-review, .sl-template-case-study) :where(button, input, optgroup, select, textarea):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fat):not([class^="fa-"]):not([class*=" fa-"]):not(.eicon):not([class^="eicon-"]):not([class*=" eicon-"]):not(.dashicons):not([class^="dashicons-"]):not([class*=" dashicons-"]):not(.happy-icons):not([class^="happy-icons-"]):not([class*=" happy-icons-"]) {
	font-family: "DM Sans", sans-serif !important;
}
