/**
 * Campus utility classes → Elementor Kit custom typography CSS variables.
 * Edit sizes in Elementor: Site Settings → Typography (kit #7).
 *
 * Campus fallback variables below mirror kit #7 when post-7.css is missing.
 * They do not redefine Elementor's variables, so Site Settings always wins.
 */

.elementor-kit-7 {
	--campus-kit-fallback-font-family: 'NeueHaasGrotesk', Sans-serif;
	--campus-kit-fallback-cfdxl01-size: 220px;
	--campus-kit-fallback-cfdsp01-size: 137px;
	--campus-kit-fallback-cfh1001-size: 85px;
	--campus-kit-fallback-cfh2001-size: 52px;
	--campus-kit-fallback-cfh3001-size: 32px;
	--campus-kit-fallback-cfbody1-size: 20px;
	--campus-kit-fallback-cfsub01-size: 16px;
	--campus-kit-fallback-cfcap01-size: 14px;
}

@media (max-width: 1199px) {
	.elementor-kit-7 {
		--campus-kit-fallback-cfh1001-size: 70px;
		--campus-kit-fallback-cfh2001-size: 42px;
		--campus-kit-fallback-cfh3001-size: 28px;
	}
}

@media (max-width: 767px) {
	.elementor-kit-7 {
		--campus-kit-fallback-cfh1001-size: 48px;
		--campus-kit-fallback-cfh2001-size: 32px;
		--campus-kit-fallback-cfh3001-size: 24px;
	}
}

/* Display XL (cfdxl01) */
.text-larger-display,
.text-larger-display .elementor-heading-title,
.elementor-widget-heading.text-larger-display .elementor-heading-title,
.text-larger-display > * {
	font-family: var(--e-global-typography-cfdxl01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfdxl01-font-size, var(--campus-kit-fallback-cfdxl01-size));
	font-weight: var(--e-global-typography-cfdxl01-font-weight, 700);
	line-height: var(--e-global-typography-cfdxl01-line-height, 1.1);
}

/* Display (cfdsp01) */
.heading-display,
.heading-display .elementor-heading-title,
.elementor-widget-heading.heading-display .elementor-heading-title,
.heading-display > * {
	font-family: var(--e-global-typography-cfdsp01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfdsp01-font-size, var(--campus-kit-fallback-cfdsp01-size));
	font-weight: var(--e-global-typography-cfdsp01-font-weight, 700);
	line-height: var(--e-global-typography-cfdsp01-line-height, 1.1);
	/* Text token — not Primary. Theme remaps --e-global-color-primary to lime. */
	color: var(--e-global-color-text, #F6F6F6);
}

/* H1 (cfh1001) */
.heading-1,
.heading-1 .elementor-heading-title,
.elementor-widget-heading.heading-1 .elementor-heading-title,
.heading-1 > *,
.elementor-element.heading-1 .elementor-heading-title {
	font-family: var(--e-global-typography-cfh1001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh1001-font-size, var(--campus-kit-fallback-cfh1001-size));
	font-weight: var(--e-global-typography-cfh1001-font-weight, 700);
	line-height: var(--e-global-typography-cfh1001-line-height, 1.1);
	color: var(--e-global-color-text, #F6F6F6);
}

/* H2 (cfh2001) */
.heading-2,
.heading-2 .elementor-heading-title,
.elementor-widget-heading.heading-2 .elementor-heading-title,
.heading-2 > *,
.elementor-element.heading-2 .elementor-heading-title {
	font-family: var(--e-global-typography-cfh2001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh2001-font-size, var(--campus-kit-fallback-cfh2001-size));
	font-weight: var(--e-global-typography-cfh2001-font-weight, 700);
	line-height: var(--e-global-typography-cfh2001-line-height, 1.1);
	color: var(--e-global-color-text, #F6F6F6);
}

/* H3 (cfh3001) */
.heading-3,
.heading-3 .elementor-heading-title,
.elementor-widget-heading.heading-3 .elementor-heading-title,
.heading-3 > *,
.elementor-element.heading-3 .elementor-heading-title {
	font-family: var(--e-global-typography-cfh3001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh3001-font-size, var(--campus-kit-fallback-cfh3001-size));
	font-weight: var(--e-global-typography-cfh3001-font-weight, 700);
	line-height: var(--e-global-typography-cfh3001-line-height, 1.1);
	color: var(--e-global-color-text, #F6F6F6);
}

/* Body (cfbody1) */
.text-body,
.text-body > *,
.text-body .elementor-widget-container,
.text-body .elementor-widget-container > *,
.elementor-widget-text-editor.text-body .elementor-widget-container,
.elementor-widget-text-editor.text-body .elementor-widget-container > *,
.elementor-element.text-body .elementor-widget-container,
.elementor-element.text-body .elementor-widget-container > * {
	font-family: var(--e-global-typography-cfbody1-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	font-weight: var(--e-global-typography-cfbody1-font-weight, 400);
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}

/* Every Campus Elementor widget inherits the kit body style unless a utility class selects another scale. */
.elementor-widget[class*="elementor-widget-campus_"],
.elementor-widget-founder_scholarship {
	font-family: var(--e-global-typography-cfbody1-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	font-weight: var(--e-global-typography-cfbody1-font-weight, 400);
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}

/* Subtitle / step label (cfsub01) */
.sub-title,
.content-subtitle,
.sub-title .elementor-heading-title,
.content-subtitle .elementor-heading-title,
.elementor-widget-heading.sub-title .elementor-heading-title,
.elementor-widget-heading.content-subtitle .elementor-heading-title,
.elementor-element.sub-title .elementor-heading-title,
.elementor-element.content-subtitle .elementor-heading-title,
.sub-title > *,
.content-subtitle > * {
	font-family: var(--e-global-typography-cfsub01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfsub01-font-size, var(--campus-kit-fallback-cfsub01-size));
	font-weight: var(--e-global-typography-cfsub01-font-weight, 500);
	line-height: var(--e-global-typography-cfsub01-line-height, 1.1);
	text-transform: var(--e-global-typography-cfsub01-text-transform, uppercase);
}

.sub-title,
.sub-title .elementor-heading-title,
.elementor-element.sub-title .elementor-heading-title {
	color: var(--e-global-color-dc577c4, var(--e-global-color-primary, #BCCF0F));
}

.content-subtitle,
.content-subtitle .elementor-heading-title,
.elementor-element.content-subtitle .elementor-heading-title {
	color: var(--e-global-color-e2bcdff, #888888);
}

/* Caption (cfcap01) */
.text-caption,
.text-caption > *,
.text-caption .elementor-heading-title,
.elementor-widget-heading.text-caption .elementor-heading-title,
.elementor-element.text-caption .elementor-heading-title {
	font-family: var(--e-global-typography-cfcap01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfcap01-font-size, var(--campus-kit-fallback-cfcap01-size));
	font-weight: var(--e-global-typography-cfcap01-font-weight, 400);
	line-height: var(--e-global-typography-cfcap01-line-height, 1.3);
}

/* Native Elementor headings without utility class — follow kit tag scale via typography vars */
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h1.elementor-heading-title.elementor-size-default {
	font-family: var(--e-global-typography-cfh1001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh1001-font-size, var(--campus-kit-fallback-cfh1001-size));
	font-weight: var(--e-global-typography-cfh1001-font-weight, 700);
	line-height: var(--e-global-typography-cfh1001-line-height, 1.1);
}
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h2.elementor-heading-title.elementor-size-default {
	font-family: var(--e-global-typography-cfh2001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh2001-font-size, var(--campus-kit-fallback-cfh2001-size));
	font-weight: var(--e-global-typography-cfh2001-font-weight, 700);
	line-height: var(--e-global-typography-cfh2001-line-height, 1.1);
}
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h3.elementor-heading-title.elementor-size-default {
	font-family: var(--e-global-typography-cfh3001-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfh3001-font-size, var(--campus-kit-fallback-cfh3001-size));
	font-weight: var(--e-global-typography-cfh3001-font-weight, 700);
	line-height: var(--e-global-typography-cfh3001-line-height, 1.1);
}
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h4.elementor-heading-title.elementor-size-default {
	font-family: var(--e-global-typography-cfbody1-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	font-weight: var(--e-global-typography-cfbody1-font-weight, 400);
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h5.elementor-heading-title.elementor-size-default,
.elementor-widget-heading:not(.heading-1):not(.heading-2):not(.heading-3):not(.heading-display):not(.text-larger-display):not(.sub-title):not(.content-subtitle):not(.text-caption) h6.elementor-heading-title.elementor-size-default {
	font-family: var(--e-global-typography-cfsub01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfsub01-font-size, var(--campus-kit-fallback-cfsub01-size));
	font-weight: var(--e-global-typography-cfsub01-font-weight, 500);
	line-height: var(--e-global-typography-cfsub01-line-height, 1.1);
}

/* Native tags inside Campus widgets (list items, etc.) */
.campus-list-item-number h3.content-subtitle {
	font-family: var(--e-global-typography-cfsub01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfsub01-font-size, var(--campus-kit-fallback-cfsub01-size));
	font-weight: var(--e-global-typography-cfsub01-font-weight, 500);
	line-height: var(--e-global-typography-cfsub01-line-height, 1.1);
	text-transform: var(--e-global-typography-cfsub01-text-transform, uppercase);
	color: var(--e-global-color-text, #F6F6F6);
	margin: 0;
}

.campus-list-item-number .text-editor.text-caption,
.campus-list-item-number .text-editor.text-caption p,
.campus-list-item-number .text-editor.text-body,
.campus-list-item-number .text-editor.text-body p {
	font-family: var(--e-global-typography-cfcap01-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfcap01-font-size, var(--campus-kit-fallback-cfcap01-size));
	font-weight: var(--e-global-typography-cfcap01-font-weight, 400);
	line-height: var(--e-global-typography-cfcap01-line-height, 1.3);
	color: var(--e-global-color-e2bcdff, #888888);
	margin: 0;
}

/* Accordion titles use text-body kit scale */
.campus-accordion .accordion-section-title.text-body {
	font-family: var(--e-global-typography-cfbody1-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	font-weight: var(--e-global-typography-cfbody1-font-weight, 400);
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}

/* Buttons — text size from kit body/caption, not hardcoded px */
.btn {
	font-family: var(--e-global-typography-cfbody1-font-family, var(--campus-kit-fallback-font-family));
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	font-weight: var(--e-global-typography-accent-font-weight, 500);
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}
.btn-sm {
	font-size: var(--e-global-typography-cfcap01-font-size, var(--campus-kit-fallback-cfcap01-size));
	line-height: var(--e-global-typography-cfcap01-line-height, 1.3);
}
.btn-lg {
	font-size: var(--e-global-typography-cfbody1-font-size, var(--campus-kit-fallback-cfbody1-size));
	line-height: var(--e-global-typography-cfbody1-line-height, 1.3);
}
