/* Kontaktformular Reiten Pforzheim. Farben aus der Seite: Grün #a0c63d, Schrift #333. */
.rk { --rk-gruen: #a0c63d; --rk-text: #333; --rk-rand: #666; --rk-rot: #b3261e; font-size: 16px; color: var(--rk-text); }
/* Abstand zur fixierten Kopfzeile, wenn die Seite zum Formular oder zu einem Feld springt. */
.rk, .rk [id] { scroll-margin-top: 110px; }
.rk-form { display: flex; flex-direction: column; gap: 1rem; }
.rk-form p { margin: 0; }
.rk-zeile { display: flex; gap: 20px; }
.rk-zeile > .rk-feld { flex: 1 1 0; min-width: 0; }
.rk-feld { display: flex; flex-direction: column; gap: .3rem; }
.rk-feld--schmal { max-width: 16rem; }
.rk label { font-weight: 600; line-height: 1.3; }
.rk-stern { color: var(--rk-rot); }
.rk input, .rk select, .rk textarea {
	width: 100%; box-sizing: border-box; margin: 0;
	font: inherit; font-size: 16px; color: #000; background: #fff;
	border: 1px solid var(--rk-rand); border-radius: 3px; padding: 8px 16px; min-height: 44px;
}
.rk select { appearance: auto; }
.rk textarea { min-height: 12rem; resize: vertical; }
.rk input:focus-visible, .rk select:focus-visible, .rk textarea:focus-visible, .rk-knopf:focus-visible, .rk a:focus-visible, .rk-hinweis:focus-visible {
	outline: 3px solid #333; outline-offset: 2px;
}
.rk-feld--fehler input, .rk-feld--fehler select, .rk-feld--fehler textarea { border: 2px solid var(--rk-rot); }
.rk-fehler { color: var(--rk-rot); font-size: 15px; margin: 0; }
.rk-fehler::before { content: "\26A0\FE0E\00A0"; }
.rk-pflicht-hinweis { font-size: 15px; }
.rk-datenschutz a { text-decoration: underline; }
.rk .rk-knopf {
	width: 100%; min-height: 44px; cursor: pointer;
	font: inherit; font-size: 16px; font-weight: 600;
	color: #1a1a1a; background: var(--rk-gruen); border: 1px solid var(--rk-gruen); border-radius: 3px; padding: 8px 16px;
}
.rk .rk-knopf:hover, .rk .rk-knopf:focus { background: #8fb52f; border-color: #8fb52f; color: #1a1a1a; }
.rk-hinweis { margin: 0 0 1.25rem; padding: .9rem 1rem; border-radius: 3px; border-left: 4px solid; }
.rk-hinweis--ok { background: #f2f7e6; border-color: var(--rk-gruen); }
.rk-hinweis--fehler { background: #fbeceb; border-color: var(--rk-rot); }
.rk-hinweis ul { margin: .4rem 0 0 1.2rem; padding: 0; }
.rk-hinweis a { color: var(--rk-rot); text-decoration: underline; }
.rk-falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rk-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 600px) {
	.rk-zeile { flex-direction: column; gap: 1rem; }
	.rk-feld--schmal { max-width: none; }
}
