.dcs-signup {
	margin: 24px 0;
	max-width: 760px;
	color: #f8fafc;
}

.dcs-signup-form {
	display: grid;
	gap: 26px;
}

.dcs-signup fieldset {
	border: 1px solid rgba(248, 250, 252, 0.72);
	margin: 0;
	padding: 16px;
}

.dcs-signup legend {
	color: #f8fafc;
	font-weight: 700;
	padding: 0 6px;
}

.dcs-signup-options,
.dcs-role-options {
	display: grid;
	gap: 10px;
}

.dcs-signup-options label,
.dcs-role-options label {
	align-items: center;
	color: rgba(248, 250, 252, 0.78);
	display: flex;
	gap: 8px;
	margin: 0;
}

.dcs-role-options[hidden] {
	display: none !important;
}

.dcs-option-description {
	color: rgba(248, 250, 252, 0.62);
	font-size: 14px;
}

.dcs-membership {
	display: grid;
	gap: 10px;
}

.dcs-extra-course {
	display: grid;
	gap: 12px;
}

.dcs-membership p {
	color: rgba(248, 250, 252, 0.78);
	margin: 0 0 4px;
}

.dcs-membership label,
.dcs-extra-course-field {
	align-items: center;
	color: rgba(248, 250, 252, 0.78);
	display: flex;
	gap: 8px;
	margin: 0;
}

.dcs-extra-course-field {
	align-items: start;
	display: grid;
}

.dcs-extra-course select {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 10px;
	color: rgba(10, 14, 28, 0.82);
	min-height: 42px;
	padding: 8px 12px;
}

.dcs-membership [hidden],
.dcs-extra-course [hidden] {
	display: none !important;
}

.dcs-fields {
	display: grid;
	gap: 14px;
}

.dcs-fields[hidden] {
	display: none !important;
}

.dcs-fields h3 {
	color: #ffffff;
	font-size: clamp(30px, 5vw, 42px);
	font-weight: 400;
	line-height: 1.12;
	margin: 10px 0 0;
}

.dcs-person-fields {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dcs-field {
	display: grid;
}

.dcs-screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.dcs-field input {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 13px;
	box-sizing: border-box;
	color: rgba(10, 14, 28, 0.82);
	font-size: 16px;
	line-height: 1.3;
	min-height: 46px;
	outline: none;
	padding: 10px 16px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
	width: 100%;
}

.dcs-field input::placeholder {
	color: rgba(10, 14, 28, 0.48);
	opacity: 1;
}

.dcs-field input:focus {
	border-color: #b01e54;
	box-shadow: 0 0 0 3px rgba(176, 30, 84, 0.18);
}

.dcs-submit {
	background: #b01e54;
	border: 0;
	border-radius: 5px;
	color: #ffffff;
	cursor: pointer;
	font-size: 16px;
	justify-self: start;
	min-height: 48px;
	padding: 0 30px;
}

.dcs-signup-notice {
	border-left: 4px solid #66719a;
	margin: 16px 0;
	padding: 12px 14px;
}

.dcs-signup-notice ul {
	margin-bottom: 0;
}

.dcs-signup-notice-success {
	border-left-color: #2f8f46;
}

.dcs-signup-notice-error {
	border-left-color: #b32d2e;
}

.dcs-signup-notice-info {
	border-left-color: #2271b1;
}

@media (max-width: 640px) {
	.dcs-person-fields {
		grid-template-columns: 1fr;
	}
}
