body.cllm-registration-design {
	background: var(--cllm-registration-bg, #f6f8f9);
	color: var(--cllm-text, #1d2327);
}

body.cllm-registration-design .entry-hero .entry-hero-container-inner {
	background: var(--cllm-button, #007da3);
}

body.cllm-registration-design .entry-hero .entry-title {
	color: #ffffff;
	font-size: 46px;
	letter-spacing: 0;
	line-height: 1.15;
	text-align: center;
}

body.cllm-registration-design #primary {
	background: var(--cllm-registration-bg, #f6f8f9);
}

body.cllm-registration-design #primary .content-container {
	max-width: 920px;
	padding-right: 24px;
	padding-left: 24px;
}

body.cllm-registration-design article.entry,
body.cllm-registration-design .entry-content-wrap {
	background: transparent;
	box-shadow: none;
}

body.cllm-registration-design .entry-content.single-content {
	font-size: 17px;
	line-height: 1.65;
}

body.cllm-registration-design .entry-content > .kb-row-layout-wrap:first-of-type .kt-row-column-wrap,
body.cllm-registration-design .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) .kt-row-column-wrap {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
}

body.cllm-registration-design .entry-content h3 {
	margin: 0 0 24px;
	color: var(--cllm-text, #1d2327);
	font-size: 20px;
	letter-spacing: 0;
	line-height: 1.45;
}

body.cllm-registration-design .entry-content a {
	color: #006783;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.cllm-registration-design .entry-content a:hover {
	color: var(--cllm-button-hover, #006783);
}

/* Keep the existing-account prompt separate from the registration form. */
body.cllm-registration-design h3.has-text-align-center:has( > strong > a[title="Login"] ) {
	margin-bottom: 24px;
	padding-bottom: 8px;
}

body.cllm-registration-design h3.has-text-align-center > strong:has( > a[title="Login"] ) {
	display: block;
	margin-top: 16px;
}

body.cllm-registration-design h3.has-text-align-center > strong > a[title="Login"] {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--cl-ui-accent, #007da3);
	border-radius: 6px;
	background: var(--cl-ui-accent, #007da3);
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

body.cllm-registration-design h3.has-text-align-center > strong > a[title="Login"]:hover {
	border-color: var(--cl-ui-accent-dark, #006783);
	background: var(--cl-ui-accent-dark, #006783);
	color: #ffffff;
}

body.cllm-registration-design h3.has-text-align-center > strong > a[title="Login"]:focus-visible {
	outline: 3px solid var(--cl-ui-accent-dark, #006783);
	outline-offset: 3px;
}

body.cllm-registration-design .frm_forms {
	box-sizing: border-box;
	padding: 32px;
	border: 1px solid var(--cllm-registration-border, #d7dde0);
	border-radius: 8px;
	background: var(--cllm-registration-panel, #ffffff);
	box-shadow: 0 10px 28px rgba(20, 32, 38, 0.06);
}

body.cllm-registration-design .with_frm_style .frm_form_field {
	margin-bottom: 22px;
}

body.cllm-registration-design .with_frm_style .frm_primary_label {
	margin-bottom: 8px;
	color: var(--cllm-text, #1d2327);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

body.cllm-registration-design .with_frm_style input[type="email"],
body.cllm-registration-design .with_frm_style input[type="password"],
body.cllm-registration-design .with_frm_style input[type="text"],
body.cllm-registration-design .with_frm_style input[type="tel"],
body.cllm-registration-design .with_frm_style select,
body.cllm-registration-design .with_frm_style textarea {
	box-sizing: border-box;
	min-height: 48px;
	border-color: #a9c0ca;
	border-radius: 6px;
	background: #ffffff;
	color: var(--cllm-text, #1d2327);
	font-size: 17px;
}

body.cllm-registration-design .with_frm_style textarea {
	min-height: 124px;
}

body.cllm-registration-design .with_frm_style input:focus,
body.cllm-registration-design .with_frm_style select:focus,
body.cllm-registration-design .with_frm_style textarea:focus,
body.cllm-registration-design .with_frm_style button:focus,
body.cllm-registration-design .entry-content a:focus {
	border-color: var(--cllm-button, #007da3);
	outline: 3px solid var(--cllm-accent, #e21270);
	outline-offset: 2px;
	box-shadow: none;
}

/* Keep linked consent text in one inline flow, with room for its native checkbox. */
body.cllm-registration-design .frm_forms.with_frm_style .frm_opt_container .frm_checkbox label {
	position: relative;
	display: block;
	box-sizing: border-box;
	min-height: 44px;
	margin: 0;
	padding: 8px 0 8px 32px;
	font-size: 16px;
	line-height: 1.55;
}

body.cllm-registration-design .frm_forms.with_frm_style .frm_opt_container .frm_checkbox input[type="checkbox"] {
	position: absolute;
	top: 10px;
	left: 0;
	width: 20px;
	height: 20px;
	margin: 0;
}

body.cllm-registration-design .frm_forms.with_frm_style .frm_opt_container {
	margin: 0;
	padding: 0;
}

body.cllm-registration-design .frm_forms.with_frm_style .frm_primary_label {
	text-align: left;
}

body.cllm-registration-design .with_frm_style .frm_button_submit,
body.cllm-registration-design .with_frm_style .frm_submit button {
	width: 100%;
	min-height: 50px;
	border: 1px solid var(--cllm-button, #007da3);
	border-radius: 6px;
	background: var(--cllm-button, #007da3);
	color: #ffffff;
	font-size: 17px;
	font-weight: 700;
}

body.cllm-registration-design .with_frm_style .frm_button_submit:hover,
body.cllm-registration-design .with_frm_style .frm_submit button:hover {
	border-color: var(--cllm-button-hover, #006783);
	background: var(--cllm-button-hover, #006783);
	color: #ffffff;
}

body.cllm-registration-design .frm_error_style,
body.cllm-registration-design .frm_error {
	color: #8a1538;
}

body.cllm-registration-design .frm_error_style {
	border-left: 4px solid #c92355;
	background: #fff3f6;
}

body.cllm-registration-design .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) {
	margin-top: 34px;
	padding: 28px 0 0;
	border-top: 1px solid #cad8de;
}

body.cllm-registration-design .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) ul {
	margin-bottom: 0;
	padding-left: 24px;
}

body.cllm-registration-design .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) li {
	margin-bottom: 10px;
}

body.cllm-registration-page .cllm-terms-component {
	width: 100%;
	margin: 0 0 24px;
}

body.cllm-registration-no-fade form.frm_pro_form {
	opacity: 1 !important;
}

/* Dashboard-matched registration surface when the Learner UI layout is selected. */
body.cllm-registration-design.cllm-registration-layout-learner-ui {
	background: var(--cl-ui-page, var(--cllm-registration-bg, #f3f8fa));
	color: var(--cl-ui-shell-ink, var(--cllm-text, #17232f));
	font-family: var(--global-body-font-family, Poppins, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

body.cllm-registration-design.cllm-registration-layout-learner-ui #primary,
body.cllm-registration-design.cllm-registration-layout-learner-ui .clui-shell {
	background: var(--cl-ui-page, var(--cllm-registration-bg, #f3f8fa));
}

body.cllm-registration-design.cllm-registration-layout-learner-ui #primary .content-container {
	max-width: 820px;
}

body.cllm-registration-design.cllm-registration-layout-learner-ui .entry-hero .entry-title {
	font-size: 34px;
}

body.cllm-registration-design.cllm-registration-layout-learner-ui .frm_forms {
	border-color: var(--cl-ui-line, var(--cllm-registration-border, #d4e7ec));
	box-shadow: var(--cl-ui-auth-shadow, 0 10px 28px rgba(8, 59, 73, 0.1));
}

body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style .frm_primary_label,
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style .frm_section_heading h3 {
	color: var(--cl-ui-ink, var(--cllm-text, #1f2937));
}

body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style input[type="email"],
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style input[type="password"],
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style input[type="tel"],
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style input[type="text"],
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style select,
body.cllm-registration-design.cllm-registration-layout-learner-ui .with_frm_style textarea {
	border-color: var(--cl-ui-control-line, #b9cdd4);
	border-radius: var(--cl-ui-radius-control, 5px);
}

body.cllm-registration-design.cllm-registration-layout-learner-ui :where(a, button, input, select, textarea):focus-visible {
	outline-color: var(--cl-ui-focus, var(--cllm-accent, #e21270));
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-auth-main {
	max-width: 760px;
	padding-top: 36px;
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-content {
	padding: 24px 0 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* Neutralise only the legacy Kadence wrapper that directly contains this form. */
body.cllm-registration-design.cllm-registration-layout-learner-ui .kt-inside-inner-col:has(> .frm_forms) {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-content a:not([title="Login"]) {
	color: var(--cl-ui-accent-dark, #006783);
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-content a:not([title="Login"]):hover,
body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-content a:not([title="Login"]):focus {
	color: var(--cl-ui-accent-hover, #03485a);
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-surface-body > h3:first-child {
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cl-ui-line, #d4e7ec);
	color: var(--cl-ui-ink, #1f2937);
	font-size: 16px;
	text-align: center;
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .cllm-terms-component {
	width: 100%;
	max-width: none;
	margin: 0 0 24px;
	padding: 24px;
	border-color: var(--cl-ui-banner-line, #c7edf1);
	background: var(--cl-ui-panel, #eef9fb);
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .frm_forms {
	padding: 24px;
	border: 1px solid var(--cl-ui-line, #d4e7ec);
	border-radius: var(--cl-ui-radius-card, 8px);
	background: var(--cl-ui-panel, var(--cllm-registration-panel, #eef9fb));
	box-shadow: var(--cl-ui-auth-shadow, 0 10px 28px rgba(8, 59, 73, 0.06));
}

body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)),
body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-surface-body > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) {
	margin-top: 28px;
	padding: 24px;
	border: 1px solid var(--cl-ui-line, #d4e7ec);
	border-radius: var(--cl-ui-radius-card, 8px);
	background: var(--cl-ui-surface-soft, #f7fbfc);
}

@media (max-width: 767px) {
	body.cllm-registration-design #primary .content-container {
		padding-right: 16px;
		padding-left: 16px;
	}

	body.cllm-registration-design .entry-hero .entry-title {
		font-size: 32px;
	}

	body.cllm-registration-design .entry-content.single-content {
		font-size: 16px;
	}

	body.cllm-registration-design .entry-content h3 {
		font-size: 18px;
	}

	body.cllm-registration-design .frm_forms {
		padding: 22px 18px;
	}

	body.cllm-registration-design .with_frm_style .frm_half {
		width: 100%;
		margin-left: 0;
	}

	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-auth-main {
		padding-top: 24px;
	}

	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-content {
		padding: 24px 0 0;
	}

	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .frm_forms,
	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .cllm-terms-component {
		padding: 20px 16px;
	}

	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .entry-content > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)),
	body.cllm-registration-design.cllm-registration-layout-learner-ui.clui-auth-active .clui-surface-body > .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) {
		padding: 18px;
	}
}

/* Registration guidance remains a distinct card when later plugins append content. */
body.cllm-registration-design .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) .kt-row-column-wrap {
	padding-block: 0;
}
body.cllm-registration-design .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) .wp-block-list {
	margin: 12px 0 0;
	padding-inline-start: 24px;
	font-size: 16px;
	line-height: 1.65;
}
body.cllm-registration-design .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) .wp-block-list li + li {
	margin-top: 10px;
}
body.cllm-registration-design .kb-row-layout-wrap:has(.wp-block-list):not(:has(.frm_forms)) .wp-block-paragraph {
	margin: 0;
	font-size: 18px;
}
