/* Portal heading size fix — v1.0.7
   Fixes oversized headings while still preventing Elementor/WordPress global typography
   from controlling the Entrepreneur Data portal.
*/

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 titles: Financial Dashboard, Business Profile, Financial History */
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 {
	font-family: var(--ep-heading-font) !important;
	font-size: 46px !important;
	font-weight: 800 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.035em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* Do not let a generic h1 rule become huge. */
body.ep-portal-page .ep-app h1:not(.ep-modal-title) {
	font-family: var(--ep-heading-font) !important;
	font-size: 46px !important;
	font-weight: 800 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.035em !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* Main subtitle below page 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.45 !important;
	letter-spacing: 0 !important;
	color: var(--ep-muted, #6d7b99) !important;
	text-transform: none !important;
	margin: 8px 0 0 !important;
}

/* Chart/card titles: Cash flow, Expense breakdown */
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: 34px !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 0 8px !important;
}

/* Modal title: Add/Edit Financial Report */
body.ep-portal-page .ep-app .ep-modal-title,
body.ep-portal-page .ep-app .ep-modal h1,
body.ep-portal-page .ep-app .ep-modal h2 {
	font-family: var(--ep-heading-font) !important;
	font-size: 44px !important;
	font-weight: 800 !important;
	line-height: 1.04 !important;
	letter-spacing: -0.035em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* Login/Register auth heading: Welcome back */
body.ep-portal-page .ep-auth-card h1,
body.ep-portal-page .ep-auth-card .ep-auth-title,
body.ep-portal-page .ep-auth-title {
	font-family: var(--ep-heading-font) !important;
	font-size: 44px !important;
	font-weight: 800 !important;
	line-height: 1.04 !important;
	letter-spacing: -0.035em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 !important;
}

/* KPI values should not become huge */
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: 30px !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.025em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 10px 0 0 !important;
}

/* Smaller headings and labels should stay Inter */
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,
body.ep-portal-page .ep-app .ep-field label,
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;
	text-transform: none !important;
	letter-spacing: 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-size: 17px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	color: var(--ep-text, #101a33) !important;
	margin: 0 0 12px !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: 16px !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.01em !important;
	color: var(--ep-text, #101a33) !important;
	text-transform: none !important;
	margin: 0 0 8px !important;
}

/* Mobile heading sizes */
@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:not(.ep-modal-title) {
		font-size: 34px !important;
		line-height: 1.05 !important;
		letter-spacing: -0.03em !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: 28px !important;
		line-height: 1.08 !important;
	}

	body.ep-portal-page .ep-app .ep-modal-title,
	body.ep-portal-page .ep-app .ep-modal h1,
	body.ep-portal-page .ep-app .ep-modal h2,
	body.ep-portal-page .ep-auth-card h1,
	body.ep-portal-page .ep-auth-card .ep-auth-title,
	body.ep-portal-page .ep-auth-title {
		font-size: 34px !important;
		line-height: 1.05 !important;
		letter-spacing: -0.03em !important;
	}

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

/* Very large screens should not scale the portal headings beyond this. */
@media (min-width: 1400px) {
	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:not(.ep-modal-title) {
		font-size: 52px !important;
	}

	body.ep-portal-page .ep-app .ep-modal-title,
	body.ep-portal-page .ep-app .ep-modal h1,
	body.ep-portal-page .ep-app .ep-modal h2,
	body.ep-portal-page .ep-auth-card h1,
	body.ep-portal-page .ep-auth-card .ep-auth-title,
	body.ep-portal-page .ep-auth-title {
		font-size: 48px !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: 36px !important;
	}
}
