.cmspatrol-register,
.cmspatrol-login {
	--cmsp-primary: #1565C0;
	--cmsp-navy: #0D274D;
	font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--cmsp-navy);
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.cmspatrol-register-card,
.cmspatrol-login-card {
	background: #ffffff;
	border: 1px solid #e5eaf0;
	border-radius: 0.75rem;
	border-top: 4px solid var(--cmsp-primary);
	box-shadow: 0 8px 24px rgba(13, 39, 77, 0.08);
	padding: 1.75rem 1.75rem 2rem;
	width: 100%;
	box-sizing: border-box;
}

.cmspatrol-register-kicker,
.cmspatrol-login-kicker {
	color: #5b6b7c;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 0.35rem;
}

.cmspatrol-register-title,
.cmspatrol-login-title {
	color: var(--cmsp-navy);
	font-size: 1.75rem;
	font-weight: 650;
	line-height: 1.2;
	margin: 0 0 0.5rem;
}

.cmspatrol-register-lead,
.cmspatrol-register-copy p,
.cmspatrol-login-lead,
.cmspatrol-login-copy p {
	color: #5b6b7c;
	margin: 0 0 0.75rem;
}

.cmspatrol-register-copy p:last-child,
.cmspatrol-login-copy p:last-child {
	margin-bottom: 0;
}

.cmspatrol-register-more {
	margin: 0 0 0.25rem;
	color: #5b6b7c;
	font-size: 0.95rem;
}

.cmspatrol-register-more summary {
	cursor: pointer;
	color: var(--cmsp-primary);
	font-weight: 600;
}

.cmspatrol-register-more .cmspatrol-register-copy {
	margin-top: 0.75rem;
}

.cmspatrol-register-form,
.cmspatrol-login-form {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #e5eaf0;
	width: 100%;
}

.cmspatrol-register .com-users-registration,
.cmspatrol-register #member-registration,
.cmspatrol-login .com-users-login,
.cmspatrol-login #login-form {
	width: 100%;
	max-width: none;
}

.cmspatrol-register .com-users-registration .page-header,
.cmspatrol-register .page-header,
.cmspatrol-login .com-users-login .page-header,
.cmspatrol-login .page-header {
	display: none;
}

.cmspatrol-register #member-registration fieldset,
.cmspatrol-register .com-users-registration fieldset {
	display: block;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
	width: 100%;
	min-width: 0;
}

.cmspatrol-register #member-registration legend,
.cmspatrol-register .com-users-registration legend {
	color: var(--cmsp-navy);
	font-size: 1.05rem;
	font-weight: 650;
	margin: 0 0 0.85rem;
	float: none;
	width: 100%;
	padding: 0;
}

.cmspatrol-register #member-registration .control-group,
.cmspatrol-register .com-users-registration .control-group,
.cmspatrol-register #member-registration .mb-3 {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: none;
	margin: 0 0 1rem;
}

.cmspatrol-register #member-registration .control-label,
.cmspatrol-register #member-registration .form-label,
.cmspatrol-register #member-registration label {
	display: block;
	width: 100%;
	margin-bottom: 0.35rem;
	float: none;
}

.cmspatrol-register #member-registration .controls,
.cmspatrol-register #member-registration .form-control-wrap {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	float: none;
}

.cmspatrol-register #member-registration .form-control,
.cmspatrol-register #member-registration .form-select,
.cmspatrol-register #member-registration .input-group,
.cmspatrol-login #login-form .form-control,
.cmspatrol-login #login-form .form-select,
.cmspatrol-login .com-users-login .form-control,
.mod-login .form-control,
.mod-login .form-select {
	width: 100%;
	max-width: none;
	border-color: #e5eaf0;
	min-height: 2.85rem;
	box-sizing: border-box;
}

.cmspatrol-register #member-registration .input-group {
	display: flex;
}

.cmspatrol-register #member-registration .input-group .form-control {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}

.cmspatrol-register #member-registration .form-text,
.cmspatrol-register #member-registration .form-control-feedback,
.cmspatrol-register #member-registration small {
	color: #5b6b7c;
	width: 100%;
}

.cmspatrol-register #member-registration .alert,
.cmspatrol-register .com-users-registration .alert {
	margin-bottom: 1rem;
}

@media (min-width: 768px) {
	.cmspatrol-register #member-registration fieldset:has(> .control-group:nth-of-type(2)),
	.cmspatrol-register .com-users-registration fieldset:has(> .control-group:nth-of-type(2)) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 1.5rem;
		align-items: start;
	}

	.cmspatrol-register #member-registration legend,
	.cmspatrol-register .com-users-registration legend,
	.cmspatrol-register #member-registration fieldset > .alert,
	.cmspatrol-register #member-registration fieldset > p,
	.cmspatrol-register #member-registration .control-group:not(:has(input)):not(:has(select)):not(:has(textarea)):not(:has([type="radio"])):not(:has([type="checkbox"])),
	.cmspatrol-register #member-registration .control-group:has([id*="tos"]),
	.cmspatrol-register #member-registration .control-group:has([id*="captcha"]),
	.cmspatrol-register #member-registration .control-group:has([id*="privacy"]),
	.cmspatrol-register .com-users-registration__buttons,
	.cmspatrol-register .com-users-registration .btn-toolbar,
	.cmspatrol-register #member-registration .btn-toolbar,
	.cmspatrol-register #member-registration .alert {
		grid-column: 1 / -1;
	}
}

.cmspatrol-register #member-registration fieldset:has(#jform_terms_tos),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_dob),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_address1),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_address2),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_city),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_region),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_country),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_postal_code),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_phone),
.cmspatrol-register #member-registration .control-group:has(#jform_profile_website) {
	display: none;
}

.cmspatrol-register #member-registration .btn-primary,
.cmspatrol-register #member-registration .btn-success,
.cmspatrol-login #login-form .btn-primary,
.cmspatrol-login .com-users-login .btn-primary,
.mod-login .btn-primary {
	background: #1565C0;
	border-color: #1565C0;
	color: #fff;
	padding: 0.7rem 1.35rem;
	font-weight: 600;
	min-height: 2.85rem;
}

.cmspatrol-register #member-registration .com-users-registration__submit,
.cmspatrol-register #member-registration .btn-toolbar,
.cmspatrol-register .com-users-registration__buttons {
	width: 100%;
}

.cmspatrol-register #member-registration .btn-primary,
.cmspatrol-register #member-registration .btn-success {
	width: 100%;
	max-width: 100%;
}

.cmspatrol-login .com-users-login a,
.mod-login a {
	color: #1565C0;
}

.mod-login {
	--cmsp-primary: #1565C0;
	--cmsp-navy: #0D274D;
	font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--cmsp-navy);
}

.mod-login .mod-login__userdata,
.mod-login .userdata {
	background: #ffffff;
	border: 1px solid #e5eaf0;
	border-radius: 0.5rem;
	border-top: 4px solid var(--cmsp-primary);
	padding: 1rem 1.1rem 1.15rem;
}

.mod-login label,
.mod-login .form-label {
	color: var(--cmsp-navy);
}

.mod-login .btn-primary:hover,
.cmspatrol-login .btn-primary:hover,
.cmspatrol-register .btn-primary:hover,
.mod-login .btn-primary:focus,
.cmspatrol-login .btn-primary:focus,
.cmspatrol-register .btn-primary:focus {
	background: #0D274D;
	border-color: #0D274D;
	color: #fff;
}

.cmspatrol-login .input-group,
.cmspatrol-login .password-group .input-group,
.mod-login .input-group {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
}

.cmspatrol-login .input-group > .form-control,
.mod-login .input-group > .form-control {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
	max-width: none;
}

.cmspatrol-login .input-group > .btn,
.cmspatrol-login .input-password-toggle,
.mod-login .input-group > .btn,
.mod-login .input-password-toggle {
	flex: 0 0 2.75rem;
	width: 2.75rem;
	min-width: 2.75rem;
	max-width: 2.75rem;
	min-height: 2.85rem;
	padding: 0;
	background: #fff;
	color: #5b6b7c;
	border: 1px solid #e5eaf0;
	border-left: 0;
	box-shadow: none;
}

.cmspatrol-login button[class*="plg_system_webauthn_login_button"],
.cmspatrol-login .com-users-login__submit .btn-secondary,
.cmspatrol-login button[data-webauthn-form],
.mod-login button[data-webauthn-form],
.mod-login .com-users-login__submit .btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	height: 2.85rem;
	max-height: 2.85rem;
	overflow: hidden;
	background: #fff;
	color: var(--cmsp-navy);
	border: 1px solid #cfd8e3;
	font-weight: 600;
}

.cmspatrol-login button[class*="plg_system_webauthn_login_button"] svg,
.cmspatrol-login .com-users-login svg,
.cmspatrol-login .com-users-login img,
.cmspatrol-login button[data-webauthn-form] svg,
.cmspatrol-login button[data-webauthn-form] img,
.cmspatrol-login .input-password-toggle svg,
.cmspatrol-login .input-password-toggle img,
.mod-login svg,
.mod-login img {
	display: inline-block;
	width: 1.15rem !important;
	height: 1.15rem !important;
	max-width: 1.15rem !important;
	max-height: 1.15rem !important;
	flex-shrink: 0;
	vertical-align: middle;
}
