/* Hello Elementor compatibility — v0.2.52
   Makes Entrepreneur Data render consistently on websites using the Hello Elementor theme.
   This file only targets pages that contain the portal/auth shortcodes.
*/

/* Keep portal pages full-width and remove Hello/Elementor page container spacing. */
body.ep-portal-page,
body.ep-auth-template {
	background: #eef3fb !important;
}

body.ep-portal-page .site,
body.ep-portal-page .site-main,
body.ep-portal-page #content,
body.ep-portal-page .site-content,
body.ep-portal-page .content-area,
body.ep-portal-page main:not(.ep-app-main),
body.ep-portal-page article,
body.ep-portal-page .page-content,
body.ep-portal-page .entry-content,
body.ep-portal-page .elementor,
body.ep-portal-page .elementor-section,
body.ep-portal-page .elementor-container,
body.ep-portal-page .elementor-column,
body.ep-portal-page .elementor-widget-wrap,
body.ep-portal-page .elementor-widget-container,
body.ep-auth-template .site,
body.ep-auth-template .site-main,
body.ep-auth-template #content,
body.ep-auth-template .site-content,
body.ep-auth-template .content-area,
body.ep-auth-template main:not(.ep-app-main),
body.ep-auth-template article,
body.ep-auth-template .page-content,
body.ep-auth-template .entry-content,
body.ep-auth-template .elementor,
body.ep-auth-template .elementor-section,
body.ep-auth-template .elementor-container,
body.ep-auth-template .elementor-column,
body.ep-auth-template .elementor-widget-wrap,
body.ep-auth-template .elementor-widget-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide the normal page title/header on portal pages. */
body.ep-portal-page .entry-title,
body.ep-portal-page .page-title,
body.ep-portal-page header.entry-header,
body.ep-auth-template .entry-title,
body.ep-auth-template .page-title,
body.ep-auth-template header.entry-header {
	display: none !important;
}

/* Prevent Hello Elementor typography from overriding portal typography. */
body.ep-portal-page .ep-app,
body.ep-portal-page .ep-app *,
body.ep-auth-template .ep-auth-page,
body.ep-auth-template .ep-auth-page * {
	box-sizing: border-box;
}

/* Make sure Elementor shortcode wrapper does not add visual gaps. */
body.ep-portal-page .elementor-shortcode,
body.ep-auth-template .elementor-shortcode {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove stray borders/marks from empty Elementor widgets around the shortcode. */
body.ep-portal-page .elementor-widget-empty,
body.ep-auth-template .elementor-widget-empty {
	display: none !important;
}

/* Keep the portal sidebar flush on desktop even under Hello Elementor. */
@media (min-width: 901px) {
	body.ep-portal-page .ep-app-wrap,
	body.ep-portal-page .ep-app {
		width: 100% !important;
		max-width: none !important;
		min-height: 100vh !important;
	}

	body.ep-portal-page.admin-bar .ep-app-sidebar {
		top: 32px;
		height: calc(100vh - 32px);
	}
}

/* Mobile: avoid Hello header/admin spacing causing a white gap. */
@media (max-width: 900px) {
	body.ep-portal-page .ep-app-main,
	body.ep-auth-template .ep-auth-page {
		width: 100% !important;
		max-width: none !important;
	}

	body.ep-portal-page .ep-mobile-toolbar {
		margin-top: 0 !important;
	}
}

/* Keep Hello/Elementor button globals from forcing pink buttons or uppercase styles. */
body.ep-portal-page .ep-app .ep-button,
body.ep-portal-page .ep-app button,
body.ep-portal-page .ep-app a.ep-button,
body.ep-portal-page .ep-app .ep-add-report-button,
body.ep-portal-page .ep-app .ep-primary-button,
body.ep-auth-template .ep-auth-card .forminator-button,
body.ep-auth-template .ep-auth-card button[type="submit"] {
	font-family: var(--ep-font-body) !important;
	text-transform: none !important;
	border-radius: 13px !important;
}

/* Stronger rule for primary portal buttons under Hello Elementor. */
body.ep-portal-page .ep-app .ep-add-report-button,
body.ep-portal-page .ep-app button.ep-add-report-button,
body.ep-portal-page .ep-app a.ep-add-report-button,
body.ep-portal-page .ep-app .ep-primary-button,
body.ep-portal-page .ep-app button[type="submit"],
body.ep-auth-template .ep-auth-card .forminator-button,
body.ep-auth-template .ep-auth-card button[type="submit"] {
	background-color: var(--ep-primary) !important;
	border-color: var(--ep-primary) !important;
	color: #ffffff !important;
}

/* Secondary/export buttons stay white. */
body.ep-portal-page .ep-app .ep-export-button,
body.ep-portal-page .ep-app a.ep-export-button,
body.ep-portal-page .ep-app button.ep-export-button {
	background-color: #ffffff !important;
	border-color: var(--ep-border) !important;
	color: var(--ep-primary) !important;
}

/* Keep forms from inheriting Hello Elementor form widths and shadows. */
body.ep-portal-page .ep-app input,
body.ep-portal-page .ep-app select,
body.ep-portal-page .ep-app textarea,
body.ep-auth-template .ep-auth-card input,
body.ep-auth-template .ep-auth-card select,
body.ep-auth-template .ep-auth-card textarea {
	font-family: var(--ep-font-body) !important;
	box-shadow: none !important;
	outline: none;
}

/* Fix admin bar overlap on mobile when viewing as logged-in admin. */
@media (max-width: 782px) {
	body.ep-portal-page.admin-bar .ep-app-sidebar {
		top: 46px;
		height: calc(100vh - 46px);
	}
}



/* Restore portal spacing after Hello Elementor wrapper reset — v0.2.53 */
body.ep-portal-page .ep-app-main {
	padding: 28px 28px 48px !important;
}

body.ep-portal-page .ep-app-header {
	margin-bottom: 22px !important;
}

body.ep-portal-page .ep-month-tabs {
	margin-bottom: 22px !important;
}

body.ep-portal-page .ep-kpi-grid,
body.ep-portal-page .ep-dashboard-grid {
	gap: 18px !important;
}

body.ep-portal-page .ep-card,
body.ep-portal-page .ep-chart-card,
body.ep-portal-page .ep-history-card,
body.ep-portal-page .ep-profile-card {
	border-radius: 16px !important;
}

/* Keep desktop sidebar aligned when WordPress admin bar is visible */
@media (min-width: 901px) {
	body.ep-portal-page.admin-bar .ep-app-main {
		min-height: calc(100vh - 32px) !important;
	}
}

/* Mobile spacing should stay compact, but not flush to the edge */
@media (max-width: 900px) {
	body.ep-portal-page .ep-app-main {
		padding: 14px 14px 28px !important;
	}

	body.ep-portal-page .ep-app-header {
		margin-top: 8px !important;
		margin-bottom: 16px !important;
	}

	body.ep-portal-page .ep-month-tabs {
		margin-bottom: 16px !important;
	}
}

@media (max-width: 620px) {
	body.ep-portal-page .ep-app-main {
		padding: 12px 12px 24px !important;
	}
}

