/* Global Typography System */
:root {
	--font-heading: "Playfair Display", serif;
	--font-body: "Inter", sans-serif;
	--font-ui: "Manrope", sans-serif;
}

/* ── Hero Headings ── */
.elementor-widget-theme-post-title h1,
h1.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-element .hero-heading {
	font-family: var(--font-heading) !important;
	font-size: 72px !important;
	line-height: 1.05 !important;
	font-weight: 600 !important;
}

/* ── Section Headings (h2) ── */
h2,
h2.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-element .section-heading {
	font-family: var(--font-heading) !important;
	font-size: 44px !important;
	line-height: 1.15 !important;
	font-weight: 600 !important;
}

/* ── Sub-Section Headings (h3) ── */
h3,
h3.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-element .subheading {
	font-family: var(--font-body) !important;
	font-size: 22px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
}

/* ── Body Text ── */
body,
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-element .body-text {
	font-family: var(--font-body) !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	font-weight: 400 !important;
}

/* ── Navigation & Buttons ── */
.elementor-nav-menu a,
.elementor-widget-nav-menu a,
.elementor-button,
.elementor-button span,
a.elementor-button,
.elementor-widget-button a,
.elementor-element .nav-link,
.elementor-element .button {
	font-family: var(--font-ui) !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
}

/* ── Tablet (≤991px) ── */
@media (max-width: 991px) {
	.elementor-widget-theme-post-title h1,
	h1.elementor-heading-title,
	.elementor-widget-heading h1.elementor-heading-title,
	.elementor-element .hero-heading {
		font-size: 56px !important;
		line-height: 1.08 !important;
	}

	h2,
	h2.elementor-heading-title,
	.elementor-widget-heading h2.elementor-heading-title,
	.elementor-element .section-heading {
		font-size: 36px !important;
	}

	h3,
	h3.elementor-heading-title,
	.elementor-widget-heading h3.elementor-heading-title,
	.elementor-element .subheading {
		font-size: 20px !important;
	}

	body,
	p,
	.elementor-widget-text-editor,
	.elementor-widget-text-editor p,
	.elementor-element .body-text {
		font-size: 16px !important;
	}

	.elementor-nav-menu a,
	.elementor-widget-nav-menu a,
	.elementor-button,
	.elementor-button span,
	a.elementor-button,
	.elementor-widget-button a,
	.elementor-element .nav-link,
	.elementor-element .button {
		font-size: 14px !important;
	}
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {
	.elementor-widget-theme-post-title h1,
	h1.elementor-heading-title,
	.elementor-widget-heading h1.elementor-heading-title,
	.elementor-element .hero-heading {
		font-size: 42px !important;
		line-height: 1.1 !important;
	}

	h2,
	h2.elementor-heading-title,
	.elementor-widget-heading h2.elementor-heading-title,
	.elementor-element .section-heading {
		font-size: 30px !important;
	}

	h3,
	h3.elementor-heading-title,
	.elementor-widget-heading h3.elementor-heading-title,
	.elementor-element .subheading {
		font-size: 18px !important;
	}

	body,
	p,
	.elementor-widget-text-editor,
	.elementor-widget-text-editor p,
	.elementor-element .body-text {
		font-size: 15px !important;
		line-height: 1.6 !important;
	}

	.elementor-nav-menu a,
	.elementor-widget-nav-menu a,
	.elementor-button,
	.elementor-button span,
	a.elementor-button,
	.elementor-widget-button a,
	.elementor-element .nav-link,
	.elementor-element .button {
		font-size: 14px !important;
	}
}
