@layer cm {
	.cm-reg-field {
		width: 100%;
	}

	.cm-reg-field__box {
		position: relative;
		height: 58px;
		width: 100%;
		overflow: hidden;
		border-radius: .75rem;
		background-color: #fff;
		transition-property: all;
		transition-timing-function: cubic-bezier(.4, 0, .2, 1);
		transition-duration: .2s;
	}

	.cm-reg-field__box--error {
		border-style: solid;
		border-width: 2px;
		border-color: #bd0c1e;
	}

	.cm-reg-field__box--ok {
		border-style: solid;
		border-width: 2px;
		border-color: #0000;
	}

	.cm-reg-field__label {
		pointer-events: none;
		position: absolute;
		left: 1rem;
		font-family: FactorA,sans-serif;
		font-weight: 400;
		transition-property: all;
		transition-duration: .2s;
		transition-timing-function: cubic-bezier(0, 0, .2, 1);
		-webkit-user-select: none;
		user-select: none;
	}

	.cm-reg-field__label--float {
		top: 0.5rem;
		font-size: 11px;
		line-height: 140%;
		color: #64748b;
	}

	@media (min-width: 640px) {
		.cm-reg-field__label--float {
			font-size: 12px;
		}
	}

	.cm-reg-field__label--rest {
		top: 50%;
		translate: 0 calc(calc(1 / 2 * 100%) * -1);
		font-size: 13px;
		line-height: 135%;
		color: #78889b;
	}

	@media (min-width: 640px) {
		.cm-reg-field__label--rest {
			font-size: 15px;
		}
	}

	@media (min-width: 768px) {
		.cm-reg-field__label--rest {
			font-size: 16px;
		}
	}

	.cm-reg-field__input {
		height: 100%;
		width: 100%;
		background-color: #0000;
		padding-inline: 1rem;
		font-family: FactorA,sans-serif;
		font-size: 15px;
		font-weight: 400;
		color: #1a2b3c;
		outline-style: none;
	}

	.cm-reg-field__input:-webkit-autofill,
	.cm-reg-field__input:-webkit-autofill:hover,
	.cm-reg-field__input:-webkit-autofill:focus {
		-webkit-text-fill-color: #1a2b3c;
		-webkit-box-shadow: 0 0 0 100px #fff inset;
		caret-color: #1a2b3c;
		transition: background-color 600000s 0s;
	}

	.cm-reg-field__input:focus {
		box-shadow: 0 0 0 calc(0px + 0) currentcolor;
		outline-style: none;
	}

	@media (min-width: 768px) {
		.cm-reg-field__input {
			font-size: 16px;
		}
	}

	.cm-reg-field__input--filled {
		padding-top: 1.25rem;
		padding-bottom: 0.375rem;
	}

	.cm-reg-field__input--empty {
		padding-top: 0;
		padding-bottom: 0;
	}

	.cm-reg-field__error {
		margin-top: .25rem;
		padding-left: .25rem;
		font-family: FactorA,sans-serif;
		font-size: 12px;
		font-weight: 500;
		color: #ffd2d6;
	}

	.cm-reg {
		display: flex;
		min-height: var(--cm-screen-h);
		width: 100%;
		align-items: center;
		justify-content: center;
		overflow-y: auto;
		padding-inline: 1rem;
		padding-block: 2rem;
		-webkit-user-select: none;
		user-select: none;
	}

	@media (min-width: 768px) {
		.cm-reg {
			height: 100%;
		}
	}

	.cm-reg__content {
		margin-block: auto;
		display: flex;
		width: 100%;
		max-width: 580px;
		flex-direction: column;
		align-items: center;
	}

	.cm-reg__head {
		margin-bottom: 2rem;
		width: 100%;
		text-align: center;
	}

	@media (min-width: 768px) {
		.cm-reg__head {
			margin-bottom: 2.5rem;
		}
	}

	.cm-reg__title {
		margin-bottom: 0.75rem;
		font-family: FactorA,sans-serif;
		font-size: 24px;
		line-height: 110%;
		font-weight: 800;
		letter-spacing: 0%;
		color: #fff;
	}

	@media (min-width: 640px) {
		.cm-reg__title {
			font-size: 32px;
		}
	}

	@media (min-width: 768px) {
		.cm-reg__title {
			margin-bottom: 1rem;
			font-size: 40px;
		}
	}

	.cm-reg__subtitle {
		margin-inline: auto;
		max-width: 520px;
		font-family: FactorA,sans-serif;
		font-size: 13px;
		line-height: 135%;
		font-weight: 400;
		letter-spacing: 0%;
		color: #fffffff2;
	}

	@media (min-width: 640px) {
		.cm-reg__subtitle {
			font-size: 15px;
		}
	}

	@media (min-width: 768px) {
		.cm-reg__subtitle {
			font-size: 16px;
		}
	}

	.cm-reg__fields {
		margin-bottom: 2rem;
		display: flex;
		width: 100%;
		max-width: 420px;
		flex-direction: column;
		gap: 1rem;
		text-align: left;
	}

	@media (min-width: 768px) {
		.cm-reg__fields {
			margin-bottom: 2.5rem;
		}
	}

	.cm-reg__row {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(1,minmax(0,1fr));
		gap: 1rem;
	}

	@media (min-width: 640px) {
		.cm-reg__row {
			grid-template-columns: repeat(2,minmax(0,1fr));
		}
	}

	.cm-reg__footer {
		display: flex;
		width: 100%;
		max-width: 460px;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.cm-reg__consent {
		margin-bottom: 0.625rem;
		padding-inline: .25rem;
		text-align: center;
		font-family: FactorA,sans-serif;
		font-size: 11px;
		line-height: 140%;
		font-weight: 400;
		color: #ffffffd9;
	}

	@media (min-width: 640px) {
		.cm-reg__consent {
			font-size: 12px;
		}
	}

	@media (min-width: 768px) {
		.cm-reg__consent {
			margin-bottom: 0.75rem;
		}
	}

	.cm-reg__link {
		color: #ffffffd9;
		text-decoration-line: underline;
		text-underline-offset: 2px;
	}

	@media (hover:hover) {
		.cm-reg__link:hover {
			color: #fff;
		}
	}

	.cm-reg__btn {
		width: 100%;
	}

	@media (min-width: 640px) {
		.cm-reg__btn {
			width: auto;
		}
	}

	.cm-reg__error {
		margin-top: 0.75rem;
		max-width: 420px;
		font-family: FactorA,sans-serif;
		font-size: 13px;
		line-height: 140%;
		font-weight: 500;
		color: #ffd2d6;
	}
}
