.csp-reg-is-submitting {
	pointer-events: none !important;
	filter: saturate(.75);
	opacity: .78;
}

.csp-registration-guard-trap {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.csp-reg-recovery {
	box-sizing: border-box;
	width: min(100%, 560px);
	margin: 32px auto;
	padding: clamp(28px, 5vw, 44px);
	border: 1px solid rgba(93, 36, 153, .14);
	border-radius: 28px;
	background:
		radial-gradient(circle at 100% 0, rgba(48, 207, 196, .16), transparent 34%),
		linear-gradient(145deg, #fff 0%, #fbf8ff 100%);
	box-shadow: 0 24px 70px rgba(28, 14, 47, .14);
	color: #172033;
	text-align: center;
}

.csp-reg-recovery__icon {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin: 0 auto 18px;
	border-radius: 20px;
	background: linear-gradient(135deg, #5b1496, #7430bd 56%, #35c9c2);
	box-shadow: 0 14px 30px rgba(91, 20, 150, .24);
	color: #fff;
	font-size: 30px;
	font-weight: 800;
}

.csp-reg-recovery__eyebrow {
	margin: 0 0 10px !important;
	color: #6515a2;
	font-size: 11px !important;
	font-weight: 800;
	letter-spacing: .16em;
}

.csp-reg-recovery h2 {
	margin: 0 0 14px;
	color: #101a30;
	font-size: clamp(26px, 4vw, 36px);
	line-height: 1.12;
}

.csp-reg-recovery > p:not(.csp-reg-recovery__eyebrow) {
	margin: 0 auto 20px;
	max-width: 46ch;
	color: #556078;
	font-size: 15px;
	line-height: 1.7;
}

.csp-reg-recovery__tip,
.csp-reg-activation-ready {
	margin: 20px 0;
	padding: 14px 16px;
	border: 1px solid rgba(25, 145, 116, .18);
	border-radius: 14px;
	background: #effbf7;
	color: #155f4e;
	font-size: 13px;
	line-height: 1.55;
}

.csp-reg-recovery__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 6px;
	padding: 0 24px;
	border-radius: 14px;
	background: linear-gradient(135deg, #55118d, #7021ac);
	box-shadow: 0 12px 28px rgba(91, 20, 150, .22);
	color: #fff !important;
	font-weight: 750;
	text-decoration: none !important;
}

.csp-reg-recovery__button:hover,
.csp-reg-recovery__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(91, 20, 150, .28);
}

.csp-reg-activation-ready {
	margin-top: 0;
	text-align: left;
}

@media (max-width: 560px) {
	.csp-reg-recovery {
		margin: 20px 12px;
		border-radius: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.csp-reg-recovery__button { transition: none; }
}
.csp-reg-verification-notice {
	margin: 16px 0;
	padding: 14px 16px;
	border: 1px solid #efb5b5;
	border-radius: 12px;
	background: #fff4f4;
	color: #9f1c1c;
	font-size: 14px;
	line-height: 1.55;
}

.csp-reg-verification-notice:focus {
	outline: 3px solid rgba( 103, 21, 158, .18 );
	outline-offset: 2px;
}
