.anmeldung {
	margin-block-start: 4rem;
}
.form {
	width: 100%;
	max-width: 60rem;
	margin-inline-end: auto;
}
.form fieldset {
	padding: 0;
	border: none;
}
.form fieldset legend {
	width: 100%;
	margin: 0; padding: 0;
	color: var(--color-primary);
	font-family: var(--font-variant);
	padding-block-end: 0.4rem;
	border-bottom: 1px solid currentColor;
	margin-block-end: 0.5rem;
	text-transform:uppercase;
	letter-spacing: 0.04em;
}
.form fieldset + fieldset {
	margin-block-start: 1rem;
}
.form fieldset > div + div {
	margin-block-start: 1rem;
}
.form .row {
	gap: 1rem;
	display: flex;
	flex-flow: row wrap;
}
.form .row > div {
	width: var(--w);
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form textarea {
	font-family: var(--font-base);
	font-size: var(--font-size-medium);
	border: 1px solid var(--color-grey-light);
	line-height: 1.5;
	padding: 0.5rem;
	width: 100%;
}
.form input[readonly] {
	border: 1px solid var(--color-grey-lightest);
}
.form .field label {
	--text-color: var(--color-grey);
	color: var(--text-color);
}
.form .field:not(.checkbox) label {
	font-family: var(--font-variant);
	text-transform:uppercase;
	letter-spacing: 0.04em;
	line-height: 1.5;
	font-weight: normal;
	display: block;
}

.form .alert.success {
	--text-color: var(--color-white);
	--bg-color:   var(--color-primary);
	padding: 1rem;
	color: var(--text-color);
	background-color: var(--bg-color);
}
.form .alert.error {
	--text-color: var(--color-alert);
	--bg-color:   var(--color-white);
	display: block;
	padding: 1rem;
	color: var(--text-color);
	background-color: var(--bg-color);
}
.form .honeypot {
    position: absolute;
    left: -9999px;
}
.form * + .actions {
	margin-block-start: 2rem;
}
