/*
 * Osteopathos Aufnahmefragebogen
 * Alle Selektoren sind auf .osteo-fragebogen gescopet, damit Plugin und Theme
 * sich nicht gegenseitig beeinflussen. Schriften sind lokal eingebunden
 * (DSGVO, kein Google-Fonts-CDN); die Akzentfarbe ist über --osteo-accent
 * überschreibbar.
 */

/* ---- Lokale Schriften (DSGVO-konform selbst gehostet) ------------------- */

@font-face {
	font-family: "Roboto";
	src: url("../fonts/Roboto-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Roboto";
	src: url("../fonts/Roboto-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Roboto Slab";
	src: url("../fonts/RobotoSlab-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

.osteo-fragebogen {
	--osteo-accent: #5e1f29; /* Weinrot der Praxis, überschreibbar */
	--osteo-accent-text: #fff;
	--osteo-base: #fff;
	--osteo-contrast: #111111;
	--osteo-rand: color-mix(in srgb, var(--osteo-contrast) 25%, transparent);

	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	font-size: var(--wp--preset--font-size--medium, 1rem);
	color: var(--osteo-contrast);
	width: 100%; /* volle Breite des WordPress-Containers */
}

.osteo-fragebogen h2,
.osteo-fragebogen h3,
.osteo-fragebogen h4 {
	font-family: "Roboto Slab", Georgia, serif;
	font-weight: 700;
	color: var(--osteo-accent);
	margin: 0 0 0.75em;
}

/* ---- Auswahlkarten ------------------------------------------------------ */

.osteo-fragebogen .osteo-auswahl-titel {
	font-size: var(--wp--preset--font-size--large, 1.5rem);
}

.osteo-fragebogen .osteo-karten {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.osteo-fragebogen .osteo-karte {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 1.5rem 1rem;
	background: var(--osteo-base);
	color: var(--osteo-contrast);
	border: 2px solid var(--osteo-rand);
	border-radius: 0.75rem;
	cursor: pointer;
	font: inherit;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.osteo-fragebogen .osteo-karte svg {
	color: var(--osteo-accent);
}

.osteo-fragebogen .osteo-karte:hover {
	border-color: var(--osteo-accent);
}

.osteo-fragebogen .osteo-karte.is-aktiv {
	border-color: var(--osteo-accent);
	background: var(--osteo-accent);
	color: var(--osteo-accent-text);
}

.osteo-fragebogen .osteo-karte.is-aktiv svg {
	color: var(--osteo-accent-text);
}

.osteo-fragebogen .osteo-karte-label {
	font-weight: 600;
}

.osteo-fragebogen .osteo-auswahl-fehler {
	color: #a4262c;
	font-weight: 600;
}

/* ---- Formular / Abschnitte ---------------------------------------------- */

.osteo-fragebogen .osteo-form-intro {
	font-style: italic;
	opacity: 0.85;
}

.osteo-fragebogen .osteo-abschnitt {
	margin: 2rem 0;
}

.osteo-fragebogen .osteo-abschnitt-titel {
	font-size: var(--wp--preset--font-size--medium, 1.15rem);
	border-bottom: 2px solid var(--osteo-accent);
	padding-bottom: 0.3em;
}

.osteo-fragebogen .osteo-felder {
	display: grid;
	grid-template-columns: 1fr 1fr; /* Zwei Spalten, bricht mobil um */
	gap: 1rem 1.5rem;
}

/* Lange Feldtypen über die volle Breite */
.osteo-fragebogen .osteo-feld-textarea,
.osteo-fragebogen .osteo-feld-yesno,
.osteo-fragebogen .osteo-feld-checkbox {
	grid-column: 1 / -1;
}

.osteo-fragebogen .osteo-feld {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

/* Ausgeblendete Folgefragen (hidden-Attribut) sicher verstecken */
.osteo-fragebogen .osteo-feld[hidden] {
	display: none;
}

.osteo-fragebogen .osteo-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
	padding: 0;
}

.osteo-fragebogen input[type="text"],
.osteo-fragebogen input[type="date"],
.osteo-fragebogen textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	color: var(--osteo-contrast);
	background: var(--osteo-base);
	border: 1px solid var(--osteo-rand);
	border-radius: 0.375rem;
	padding: 0.5em 0.75em;
}

.osteo-fragebogen input:focus-visible,
.osteo-fragebogen textarea:focus-visible,
.osteo-fragebogen button:focus-visible {
	outline: 2px solid var(--osteo-accent);
	outline-offset: 2px;
}

/* ---- Ja/Nein Segmented-Control (rein CSS) ------------------------------- */

.osteo-fragebogen .osteo-feld-yesno {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.25rem;
}

.osteo-fragebogen .osteo-feld-yesno .osteo-label {
	flex: 1 1 24rem;
	margin: 0;
	float: none; /* Legend-Reset */
}

.osteo-fragebogen .osteo-segment {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--osteo-contrast) 7%, transparent);
}

/* Radios visuell verstecken, aber fokussier-/tastaturbedienbar lassen */
.osteo-fragebogen .osteo-segment input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.osteo-fragebogen .osteo-segment label {
	padding: 0.45em 1.8em;
	border-radius: 999px;
	cursor: pointer;
	font-weight: 600;
	min-width: 3.5em;
	text-align: center;
	color: color-mix(in srgb, var(--osteo-contrast) 75%, transparent);
	transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.osteo-fragebogen .osteo-segment label:hover {
	background: color-mix(in srgb, var(--osteo-contrast) 9%, transparent);
	color: var(--osteo-contrast);
}

/* Unbeantwortet bleibt neutral – erst :checked hebt einen Chip hervor */
.osteo-fragebogen .osteo-segment input:checked + label {
	background: var(--osteo-accent);
	color: var(--osteo-accent-text);
	box-shadow: 0 1px 4px color-mix(in srgb, var(--osteo-accent) 45%, transparent);
}

.osteo-fragebogen .osteo-segment input:focus-visible + label {
	outline: 2px solid var(--osteo-accent);
	outline-offset: 2px;
}

/* Detailfeld erscheint erst bei „Ja" (Klasse setzt das Skript) */
.osteo-fragebogen .osteo-feld-yesno .osteo-detail {
	display: none;
	flex-basis: 100%;
}

.osteo-fragebogen .osteo-feld-yesno.is-ja .osteo-detail {
	display: block;
}

/* ---- Checkboxen ---------------------------------------------------------- */

.osteo-fragebogen .osteo-checkboxen {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.osteo-fragebogen .osteo-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.osteo-fragebogen .osteo-checkbox input {
	accent-color: var(--osteo-accent);
	width: 1.1em;
	height: 1.1em;
}

.osteo-fragebogen .osteo-checkbox label {
	cursor: pointer;
}

/* ---- Validierung --------------------------------------------------------- */

.osteo-fragebogen .osteo-feld-fehler {
	display: none;
	color: #a4262c;
	font-size: 0.875em;
	margin: 0.25em 0 0;
}

.osteo-fragebogen .osteo-ungueltig .osteo-feld-fehler {
	display: block;
}

.osteo-fragebogen .osteo-ungueltig input,
.osteo-fragebogen .osteo-ungueltig textarea {
	border-color: #a4262c;
}

/* ---- Datenschutzhinweis + Buttons ---------------------------------------- */

.osteo-fragebogen .osteo-footer {
	display: none; /* erst nach Typwahl sichtbar */
	margin-top: 2rem;
}

.osteo-fragebogen.hat-auswahl .osteo-footer {
	display: block;
}

.osteo-fragebogen .osteo-datenschutz {
	background: color-mix(in srgb, var(--osteo-accent) 8%, var(--osteo-base));
	border-left: 4px solid var(--osteo-accent);
	padding: 0.75rem 1rem;
	border-radius: 0 0.375rem 0.375rem 0;
	font-size: var(--wp--preset--font-size--small, 0.9rem);
}

.osteo-fragebogen .osteo-aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.osteo-fragebogen .osteo-btn {
	font: inherit;
	font-weight: 600;
	padding: 0.65em 1.5em;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.osteo-fragebogen .osteo-btn-primaer {
	background: var(--osteo-accent);
	color: var(--osteo-accent-text); /* weiße Schrift auf Akzent */
	border: 2px solid var(--osteo-accent);
}

.osteo-fragebogen .osteo-btn-primaer:hover {
	background: color-mix(in srgb, var(--osteo-accent) 85%, #000);
}

.osteo-fragebogen .osteo-btn-sekundaer {
	background: transparent;
	color: var(--osteo-contrast);
	border: 2px solid var(--osteo-rand);
}

.osteo-fragebogen .osteo-btn-sekundaer:hover {
	border-color: var(--osteo-accent);
	color: var(--osteo-accent);
}

/* ---- Responsiv ------------------------------------------------------------ */

@media (max-width: 600px) {
	.osteo-fragebogen .osteo-karten,
	.osteo-fragebogen .osteo-felder {
		grid-template-columns: 1fr;
	}
}

/* ---- Reduzierte Bewegung --------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.osteo-fragebogen *,
	.osteo-fragebogen *::before,
	.osteo-fragebogen *::after {
		transition: none !important;
		animation: none !important;
	}
}
