/* Shared public-page guardrails: one content width, one type scale, no theme title duplicate. */
body.ccleads-plugin-page .entry-header > .entry-title,
body.ccleads-plugin-page .page-header > .page-title,
body.ccleads-plugin-page .wp-block-post-title,
body.ccleads-plugin-page .elementor-widget-theme-post-title {
	display: none !important;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) {
	width: min(1120px, calc(100% - 32px)) !important;
	max-width: 1120px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal),
:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) * {
	min-width: 0;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) :is(h1, h2, h3) {
	max-width: 100%;
	line-height: 1.18 !important;
	letter-spacing: -.025em !important;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h1 {
	font-size: clamp(30px, 3.5vw, 40px) !important;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h2 {
	font-size: clamp(23px, 2.5vw, 28px) !important;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h3 {
	font-size: clamp(17px, 1.8vw, 20px) !important;
}

.ccreviews-profile-header h1 {
	font-size: 30px !important;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) :is(img, video, iframe, input, select, textarea, button) {
	max-width: 100%;
}

:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) :is(p, li, dd, a, strong, span) {
	overflow-wrap: anywhere;
}

@media (max-width: 680px) {
	:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) {
		width: min(calc(100% - 20px), 1120px) !important;
	}

	:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h1 {
		font-size: 29px !important;
	}

	:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h2 {
		font-size: 23px !important;
	}

	:is(.ccleads-wrap, .ccreviews, .cccompare, .ccstates, .ccpartner-onboarding, .ccpartner-auth-shell, .ccpartner-portal) h3 {
		font-size: 18px !important;
	}

	.ccreviews-profile-header h1 {
		font-size: 27px !important;
	}
}

/* Allow the directory to escape narrow page-builder content columns. */
.ccreviews-directory {
	position: relative;
	left: 50%;
	width: min(1240px, calc(100vw - 32px)) !important;
	max-width: 1240px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: translateX(-50%);
}

.ccreviews-directory-heading {
	width: 100% !important;
	max-width: none !important;
}

.ccreviews-directory-layout {
	width: 100% !important;
	grid-template-columns: 260px minmax(0, 1fr) !important;
}

.ccreviews-directory-heading h1 {
	font-size: clamp(34px, 4.2vw, 50px) !important;
}

.ccreviews-filter-heading h2 {
	font-size: 18px !important;
}

.ccreviews-results-title h2 {
	font-size: 27px !important;
}

@media (max-width: 680px) {
	.ccreviews-directory {
		left: 50% !important;
		width: calc(100vw - 20px) !important;
	}

	.ccreviews-directory-heading h1 {
		font-size: 31px !important;
	}
}

@media (max-width: 980px) {
	.ccreviews-directory-layout {
		grid-template-columns: 1fr !important;
	}
}

/* Match the live site's wide content rhythm and escape narrow builder columns. */
body.ccleads-plugin-page .ccpartner-portal {
	position: relative;
	left: 50%;
	width: min(1240px, calc(100vw - 32px)) !important;
	max-width: 1240px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: translateX(-50%);
}

@media (max-width: 760px) {
	body.ccleads-plugin-page .ccpartner-portal {
		width: calc(100vw - 16px) !important;
	}
}
