/**
 * Aufnahmeantrag-Formular
 */
.tsc-antrag-form {
	--tsc-brand: #c8102e;
	--tsc-line: #e2ddda;
	max-width: 780px;
	margin: 1.5rem 0;
	font-size: 1rem;
}
.tsc-antrag-form fieldset {
	border: 1px solid var(--tsc-line);
	border-radius: 10px;
	padding: 1rem 1.2rem 1.2rem;
	margin: 0 0 1.1rem;
}
.tsc-antrag-form legend {
	font-family: "Barlow Condensed", sans-serif;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 700;
	color: var(--tsc-brand);
	padding: 0 .5rem;
	font-size: 1.05rem;
}
.tsc-antrag-form .tsc-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .8rem 1rem;
}
.tsc-antrag-form .tsc-col2 { grid-column: 1 / -1; }
.tsc-antrag-form .tsc-field { margin-bottom: .7rem; }
.tsc-antrag-form .tsc-grid .tsc-field { margin-bottom: 0; }
.tsc-antrag-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
.tsc-antrag-form .tsc-inline { display: inline-block; font-weight: 400; margin: .2rem 1rem .2rem 0; }
.tsc-antrag-form .req { color: var(--tsc-brand); }

.tsc-antrag-form input[type="text"],
.tsc-antrag-form input[type="email"],
.tsc-antrag-form input[type="date"],
.tsc-antrag-form select,
.tsc-antrag-form textarea {
	width: 100%;
	padding: .55rem .65rem;
	border: 1px solid var(--tsc-line);
	border-radius: 7px;
	font: inherit;
	box-sizing: border-box;
	background: #fff;
}
.tsc-antrag-form input:focus,
.tsc-antrag-form select:focus,
.tsc-antrag-form textarea:focus {
	outline: 2px solid var(--tsc-brand);
	outline-offset: 1px;
	border-color: var(--tsc-brand);
}
.tsc-antrag-form input[readonly] { background: #f6f3f2; color: #555; }

.tsc-antrag-form .tsc-consent { background: #f6f3f2; border-radius: 8px; padding: .7rem .9rem; }
.tsc-antrag-form .tsc-consent label { font-weight: 400; }

/* Honeypot verstecken */
.tsc-antrag-form .tsc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.tsc-antrag-hint { font-size: .9rem; color: #555; }

.tsc-antrag-submit {
	font-family: "Barlow Condensed", sans-serif;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 700;
	font-size: 1.05rem;
	background: var(--tsc-brand);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: .8rem 1.6rem;
	cursor: pointer;
	transition: background .2s ease, transform .12s ease;
}
.tsc-antrag-submit:hover:not(:disabled) { background: #97071f; transform: translateY(-1px); }
.tsc-antrag-submit:disabled { opacity: .7; cursor: default; }

.tsc-antrag-msg {
	padding: .9rem 1.1rem;
	border-radius: 8px;
	margin-bottom: 1.1rem;
	font-weight: 500;
}
.tsc-antrag-msg.is-ok { background: #e7f6ec; border: 1px solid #45a06a; color: #14532d; }
.tsc-antrag-msg.is-error { background: #fdecec; border: 1px solid var(--tsc-brand); color: #8f0a1f; }

@media (max-width: 640px) {
	.tsc-antrag-form .tsc-grid { grid-template-columns: 1fr; }
}

/* ---- Trainingszeiten-Auswahl ---- */
.tsc-tz { margin: 1.2rem 0; }
.tsc-tz-controls { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.2rem; }
.tsc-tz-controls .tsc-field { flex: 1 1 220px; margin: 0; }
.tsc-tz-controls label { display: block; font-weight: 600; margin-bottom: .25rem; }
.tsc-tz-controls select {
	width: 100%; padding: .55rem .65rem; border: 1px solid #e2ddda; border-radius: 7px;
	font: inherit; background: #fff; box-sizing: border-box;
}
.tsc-tz-controls select:focus { outline: 2px solid #c8102e; outline-offset: 1px; border-color: #c8102e; }
.tsc-tz-hint { color: #6f655f; background: #f6f3f2; border-left: 3px solid #c8102e; padding: .8rem 1rem; border-radius: 6px; }
.tsc-tz-teamname { font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .03em; color: #c8102e; margin: .4rem 0 .6rem; }
.tsc-tz-orte { margin-top: 2rem; }
.tsc-tz-orte h3 { font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .03em; }
