.s-nl-anmeldung.alignfull { margin-block: 0; }

.s-nl-anmeldung {

	--snl-sektion: clamp(3.75rem, 10.42vw, 9.375rem);
	--snl-rand: clamp(1.25rem, 5vw, 2.5rem);

	background: var(--wp--preset--color--section);
	padding: var(--snl-sektion) var(--snl-rand);
}

.s-nl-anmeldung__inner {
	width: min(570px, 100%);
	margin-inline: auto;
}

.s-nl-anmeldung__vorzeile {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	font-style: italic;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.8px;
	text-align: center;
}

h1.s-nl-anmeldung__titel {
	margin: 7.5px 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 2.3125rem;
	line-height: 1.5;
	letter-spacing: 1.85px;
	text-transform: uppercase;
	text-align: center;
}

.s-nl-anmeldung__form {
	margin-top: 60px;
}

.s-nl-anmeldung__falle {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.s-nl-anmeldung__meldung {
	margin: 0 0 10px;
	color: var(--wp--preset--color--accent);
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: center;
}
.s-nl-anmeldung__meldung:empty {
	height: 0;
	margin: 0;
	overflow: hidden;
}

.s-nl-anmeldung__feld {
	display: block;
	width: 100%;
	height: 49px;
	padding: 12px 10px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	border-radius: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.5;
}

.s-nl-anmeldung__feld::placeholder {
	color: var(--wp--preset--color--ink);
	opacity: 1;
}
.s-nl-anmeldung__feld:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
}
.s-nl-anmeldung__feld[aria-invalid="true"] {
	border-bottom-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.s-nl-anmeldung__einwilligung {
	margin-top: 30px;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	text-align: left;
}
.s-nl-anmeldung__kaestchen {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	margin: 5px 0 0;
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: 0;
	cursor: pointer;

	position: relative;
}

.s-nl-anmeldung__kaestchen::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 24px;
	transform: translate(-50%, -50%);
}
.s-nl-anmeldung__kaestchen:checked {
	background: var(--wp--preset--color--ink);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--section);
}
.s-nl-anmeldung__kaestchen:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
}
.s-nl-anmeldung__kaestchen[aria-invalid="true"] { border-color: var(--wp--preset--color--accent); }

.s-nl-anmeldung__zustimmung {
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.7143;
	cursor: pointer;
}
.s-nl-anmeldung__zustimmung a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.s-nl-anmeldung__zustimmung a:hover,
.s-nl-anmeldung__zustimmung a:focus-visible {;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.s-nl-anmeldung__kleingedrucktes {
	margin: 20px 0 0;
	font-size: 0.75rem;
	line-height: 1.6;
	text-align: left;
}
.s-nl-anmeldung__kleingedrucktes a { text-decoration: underline; text-underline-offset: 2px; }

.s-nl-anmeldung__absenden {
	display: block;
	margin: 75px auto 0;
	height: 51px;
	padding: 12px 25px;
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: 0;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.35s cubic-bezier(0.3, 0, 0.45, 1), color 0.35s cubic-bezier(0.3, 0, 0.45, 1);
}
.s-nl-anmeldung__absenden:hover,
.s-nl-anmeldung__absenden:focus-visible {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.s-nl-anmeldung__kleingedrucktes + .s-nl-anmeldung__absenden { margin-top: 45px; }

.s-nl-anmeldung__antwort {
	margin-top: 40px;
	padding: 20px;
	border: 1px solid var(--wp--preset--color--ink);
	font-size: 0.9375rem;
	line-height: 1.6;
	text-align: left;
}
.s-nl-anmeldung__antwort:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 2px;
}
.s-nl-anmeldung__antwort p { margin: 0; }
.s-nl-anmeldung__antwort p + p,
.s-nl-anmeldung__antwort ul { margin: 10px 0 0; }
.s-nl-anmeldung__antwort ul { padding-left: 20px; }
.s-nl-anmeldung__antwort-titel {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}
.s-nl-anmeldung__antwort a { text-decoration: underline; text-underline-offset: 3px; }
.s-nl-anmeldung__antwort--fehler { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }

@media (max-width: 767px) {
	h1.s-nl-anmeldung__titel { font-size: 1.625rem; letter-spacing: 1.3px; }
	.s-nl-anmeldung__form { margin-top: 40px; }
	.s-nl-anmeldung__absenden { margin-top: 45px; width: 100%; max-width: 260px; }
	.s-nl-anmeldung__kleingedrucktes + .s-nl-anmeldung__absenden { margin-top: 35px; }
}
