/**
 * Agency Elementor Widgets — typography utilities.
 * Color variables are injected inline from PHP (:root).
 */

/* Full-weight text rendering on non-Retina / external monitors.
   hello-elementor's reset.css forces `-webkit-font-smoothing: antialiased`
   (grayscale) on <body>, which renders bold text thin on NON-Retina displays —
   crisp on Retina Mac screens, but bold cap-tops read "smushed/cut" on an
   external monitor. Reverting to the normal subpixel rendering fixes external
   monitors and is a no-op on Retina (which always renders grayscale). Uses
   `html body` (0,0,2) so it beats the parent reset's `body` regardless of load order. */
html body {
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
}

.aew-font-heading {
	font-family: var(--aew-font-heading);
}

.aew-font-body {
	font-family: var(--aew-font-body);
}

.aew-text-h1 {
	font-family: var(--aew-font-heading);
	font-size: var(--aew-text-h1);
	line-height: var(--aew-text-h1-lh);
}

.aew-text-h2 {
	font-family: var(--aew-font-heading);
	font-size: var(--aew-text-h2);
	line-height: var(--aew-text-h2-lh);
}

.aew-text-h3 {
	font-family: var(--aew-font-heading);
	font-size: var(--aew-text-h3);
	line-height: var(--aew-text-h3-lh);
}

.aew-text-h4 {
	font-family: var(--aew-font-heading);
	font-size: var(--aew-text-h4);
	line-height: var(--aew-text-h4-lh);
}

.aew-text-h5 {
	font-family: var(--aew-font-heading);
	font-size: var(--aew-text-h5);
	line-height: var(--aew-text-h5-lh);
}

.aew-text-subhead {
	font-family: var(--aew-font-body);
	font-size: var(--aew-text-subhead);
	line-height: var(--aew-text-subhead-lh);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.aew-text-p {
	font-family: var(--aew-font-body);
	font-size: var(--aew-text-p);
	line-height: var(--aew-text-p-lh);
}

.aew-text-p2 {
	font-family: var(--aew-font-body);
	font-size: var(--aew-text-p2);
	line-height: var(--aew-text-p2-lh);
}

/* WYSIWYG rich text blocks inside AEW widgets */
.aew-rich-text > *:first-child {
	margin-top: 0;
}

.aew-rich-text > *:last-child {
	margin-bottom: 0;
}

.aew-rich-text p {
	margin: 0 0 1em;
}

.aew-rich-text p:last-child {
	margin-bottom: 0;
}

.aew-rich-text strong,
.aew-rich-text b {
	font-weight: 700;
}

/* ── Heading font: cleared-control headings fall back to the Primary global
   var (0,2,0 beats the theme kit; a set per-widget typography control still wins). ── */
.aew-bcard .aew-bcard__heading,
.aew-bhero .aew-bhero__heading,
.aew-bkcv2 .aew-bkcv2__title,
.aew-bnv2 .aew-bnv2__heading,
.aew-bnv2 .aew-bnv2__title,
.aew-card-row .aew-card-row__title,
.aew-cfv2 .aew-cfv2__heading,
.aew-chkc .aew-chkc__title,
.aew-cmv2 .aew-cmv2__heading,
.aew-crew .aew-crew__heading,
.aew-crgn .aew-crgn__heading,
.aew-cta-band .aew-cta-band__title,
.aew-ctab .aew-ctab__headline,
.aew-detrows .aew-detrows__heading,
.aew-faq-accordion .aew-faq-accordion__title,
.aew-faqv2 .aew-faqv2__title,
.aew-fbv2 .aew-fbv2__heading,
.aew-fbv2 .aew-fbv2__step-title,
.aew-feature-rows .aew-feature-rows__title,
.aew-featured-image .aew-featured-image__title,
.aew-footer .aew-footer__heading,
.aew-fov2 .aew-fov2__heading,
.aew-frv2 .aew-frv2__heading,
.aew-frv2 .aew-frv2__title,
.aew-galv2 .aew-galv2__heading,
.aew-heading-band .aew-heading-band__title,
.aew-hero .aew-hero__headline,
.aew-hev2 .aew-hev2__headline,
.aew-hev3 .aew-hev3__headline,
.aew-icb .aew-icb__heading,
.aew-igv2 .aew-igv2__heading,
.aew-igv2 .aew-igv2__title,
.aew-infc .aew-infc__heading,
.aew-intro .aew-intro__heading,
.aew-istack .aew-istack__heading,
.aew-jobs .aew-jobs__heading,
.aew-jobs .aew-jobs__title,
.aew-media-cta .aew-media-cta__title,
.aew-media-video .aew-media-video__title,
.aew-nfv2 .aew-nfv2__heading,
.aew-nfv2 .aew-nfv2__title,
.aew-overlay-banner .aew-overlay-banner__title,
.aew-ovhero .aew-ovhero__heading,
.aew-pav2 .aew-pav2__heading,
.aew-pav2 .aew-pav2__title,
.aew-process-steps .aew-process-steps__title,
.aew-prsv2 .aew-prsv2__heading,
.aew-prsv2 .aew-prsv2__title,
.aew-qb .aew-qb__heading,
.aew-rgcv2 .aew-rgcv2__title,
.aew-rpv2 .aew-rpv2__heading,
.aew-rpv2 .aew-rpv2__title,
.aew-shcv2 .aew-shcv2__heading,
.aew-shcv2 .aew-shcv2__title,
.aew-split-media .aew-split-media__title,
.aew-spv2 .aew-spv2__title,
.aew-stepper .aew-stepper__heading,
.aew-story .aew-story__title,
.aew-team .aew-team__heading,
.aew-testimonial-grid .aew-testimonial-grid__title,
.aew-tsv2 .aew-tsv2__title,
.aew-vals .aew-vals__heading,
.aew-vals .aew-vals__title,
.aew-welc .aew-welc__heading {
	font-family: var(--aew-font-heading);
}
