/* Portal heading typography lock — v1.0.6
   Prevents Elementor/Hello/global typography settings from changing portal heading sizes.
   Scoped only to Entrepreneur Data portal pages.
*/

body.ep-portal-page {
	--ep-heading-font: "Playfair Display", Georgia, serif;
	--ep-body-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Main page header */
body.ep-portal-page .ep-app .ep-page-title,
body.ep-portal-page .ep-app .ep-dashboard-title,
body.ep-portal-page .ep-app h1.ep-page-title,
body.ep-portal-page .ep-app h1 {
	font-family: var(--ep-heading-font) !important;
	font-size: clamp(44px, 5.3vw, 76px) !important;
	font-weight: 800 !important;
	line-height: .95 !important;
	letter-spacing: -0.055em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* Main subtitle / description under title */
body.ep-portal-page .ep-app .ep-page-subtitle,
body.ep-portal-page .ep-app .ep-dashboard-subtitle,
body.ep-portal-page .ep-app .ep-header-subtitle {
	font-family: var(--ep-body-font) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	color: var(--ep-muted, #6d7b99) !important;
	text-transform: none !important;
	margin: 10px 0 0 !important;
}

/* Card and chart headings */
body.ep-portal-page .ep-app .ep-card h2,
body.ep-portal-page .ep-app .ep-chart-card h2,
body.ep-portal-page .ep-app .ep-panel h2,
body.ep-portal-page .ep-app .ep-section-title,
body.ep-portal-page .ep-app .ep-card-title {
	font-family: var(--ep-heading-font) !important;
	font-size: clamp(28px, 2.35vw, 42px) !important;
	font-weight: 800 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.045em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 0 8px !important;
}

/* Smaller KPI/card labels should stay Inter */
body.ep-portal-page .ep-app .ep-stat-label,
body.ep-portal-page .ep-app .ep-kpi-label,
body.ep-portal-page .ep-app .ep-card-subtitle,
body.ep-portal-page .ep-app .ep-chart-subtitle,
body.ep-portal-page .ep-app .ep-section-subtitle {
	font-family: var(--ep-body-font) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	color: var(--ep-muted, #6d7b99) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* KPI values */
body.ep-portal-page .ep-app .ep-stat-value,
body.ep-portal-page .ep-app .ep-kpi-value {
	font-family: var(--ep-heading-font) !important;
	font-size: clamp(30px, 2.5vw, 42px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.035em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 12px 0 0 !important;
}

/* Modal heading */
body.ep-portal-page .ep-app .ep-modal-title,
body.ep-portal-page .ep-app .ep-modal h2,
body.ep-portal-page .ep-app .ep-modal h1 {
	font-family: var(--ep-heading-font) !important;
	font-size: clamp(42px, 5vw, 68px) !important;
	font-weight: 800 !important;
	line-height: .95 !important;
	letter-spacing: -0.055em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* Modal eyebrow and description */
body.ep-portal-page .ep-app .ep-modal-eyebrow,
body.ep-portal-page .ep-app .ep-eyebrow {
	font-family: var(--ep-body-font) !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: .12em !important;
	color: var(--ep-primary, #0A4669) !important;
	text-transform: uppercase !important;
	margin: 0 0 18px !important;
}

body.ep-portal-page .ep-app .ep-modal-description,
body.ep-portal-page .ep-app .ep-modal-subtitle {
	font-family: var(--ep-body-font) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	color: var(--ep-muted, #6d7b99) !important;
	text-transform: none !important;
	margin: 14px 0 0 !important;
}

/* Form section headings */
body.ep-portal-page .ep-app .ep-form-title,
body.ep-portal-page .ep-app .ep-profile-form h2,
body.ep-portal-page .ep-app .ep-profile-card h2,
body.ep-portal-page .ep-app .ep-business-profile h2,
body.ep-portal-page .ep-app .ep-form-section-title {
	font-family: var(--ep-body-font) !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 0 14px !important;
}

/* Sidebar text */
body.ep-portal-page .ep-app-sidebar,
body.ep-portal-page .ep-app-sidebar h2,
body.ep-portal-page .ep-sidebar-brand,
body.ep-portal-page .ep-sidebar-nav,
body.ep-portal-page .ep-sidebar-nav a,
body.ep-portal-page .ep-sidebar-health {
	font-family: var(--ep-body-font) !important;
}

/* Sidebar brand should stay readable, not global heading size */
body.ep-portal-page .ep-sidebar-brand strong,
body.ep-portal-page .ep-sidebar-title {
	font-family: var(--ep-body-font) !important;
	font-size: 20px !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: #ffffff !important;
	text-transform: none !important;
}

/* Financial health card heading */
body.ep-portal-page .ep-sidebar-health h3,
body.ep-portal-page .ep-sidebar-health-title {
	font-family: var(--ep-body-font) !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 0 8px !important;
}

/* Mobile typography */
@media (max-width: 700px) {
	body.ep-portal-page .ep-app .ep-page-title,
	body.ep-portal-page .ep-app .ep-dashboard-title,
	body.ep-portal-page .ep-app h1.ep-page-title,
	body.ep-portal-page .ep-app h1 {
		font-size: 38px !important;
		line-height: .98 !important;
		letter-spacing: -0.045em !important;
	}

	body.ep-portal-page .ep-app .ep-card h2,
	body.ep-portal-page .ep-app .ep-chart-card h2,
	body.ep-portal-page .ep-app .ep-panel h2,
	body.ep-portal-page .ep-app .ep-section-title,
	body.ep-portal-page .ep-app .ep-card-title {
		font-size: 30px !important;
		line-height: 1.05 !important;
	}

	body.ep-portal-page .ep-app .ep-modal-title,
	body.ep-portal-page .ep-app .ep-modal h2,
	body.ep-portal-page .ep-app .ep-modal h1 {
		font-size: 38px !important;
		line-height: .98 !important;
		letter-spacing: -0.045em !important;
	}

	body.ep-portal-page .ep-app .ep-stat-value,
	body.ep-portal-page .ep-app .ep-kpi-value {
		font-size: 32px !important;
	}
}
