/* ROS REAL – Anfrage- und Widerrufsformular (Design v46, Auftrag BN). Gestaltet nur die Klassen `.inquiry …` und `.withdrawal__summary`. Nur Tokens aus main.css, keine Hex-Werte. */

/* ===== 1 · Grundgerüst ===== */
.inquiry { display: block; margin: 0; min-width: 0; }

/* ===== 2 · Umschalter privat/gewerblich ===== */
.inquiry__case {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	border: 0;
	padding: 0;
	margin: 0 0 20px;
	min-width: 0;
}
.inquiry__case legend {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	font: 400 var(--t4)/1.6 var(--sans);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--grau);
}
.inquiry__case .segment {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: 400 var(--t2)/1.6 var(--sans);
	color: var(--grau);
	cursor: pointer;
}
.inquiry__case .segment input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	opacity: 0;
}
.inquiry__case .segment:has(input:checked) {
	background: none;
	color: var(--tinte);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: var(--unterstrich-abstand);
}
.inquiry__case .segment:has(input:focus-visible) {
	outline: 2px solid var(--blau);
	outline-offset: 2px;
}

/* ===== 3 · Raster, Beschriftungen und Felder ===== */
.inquiry__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 18px;
}
@media (min-width: 640px) {
	.inquiry__grid { grid-template-columns: 1fr 1fr; }
}
.inquiry__grid > label { display: block; min-width: 0; }
.inquiry__full { grid-column: 1 / -1; }

.inquiry label > span:first-child {
	display: block;
	margin: 0 0 6px;
	font: 400 var(--t4)/1.6 var(--sans);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--grau);
}

.inquiry__grid input[type="text"],
.inquiry__grid input[type="email"],
.inquiry__grid input[type="tel"],
.inquiry__grid textarea,
.inquiry__grid select {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	background: var(--papier);
	border: 1px solid var(--linie);
	border-radius: 0;
	color: var(--tinte);
	font: 400 var(--t1)/1.6 var(--sans);
}
.inquiry__grid textarea { min-height: 104px; resize: vertical; }
.inquiry__grid input:focus-visible,
.inquiry__grid textarea:focus-visible,
.inquiry__grid select:focus-visible {
	border-color: var(--blau);
	outline: 2px solid var(--blau);
	outline-offset: 2px;
}
.inquiry input[aria-invalid="true"],
.inquiry textarea[aria-invalid="true"],
.inquiry select[aria-invalid="true"] { border-color: var(--fehler); }

/* ===== 4 · Kästchen (Einwilligung) ===== */
.inquiry__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 44px;
	margin: 14px 0 0;
	font: 400 var(--t3)/1.5 var(--sans);
	color: var(--tinte);
	cursor: pointer;
}
.inquiry__consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--tinte);
	background: var(--papier);
	cursor: pointer;
}
.inquiry__consent input[type="checkbox"]:checked { border-color: var(--blau); }
.inquiry__consent input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	inset: 4px;
	background: var(--blau);
}

/* ===== 5 · Dokumentenliste, Hinweise, Fehler, Status ===== */
.inquiry__docs { margin: 0 0 14px; padding: 0; background: none; }
.inquiry__doclist p {
	margin: 0 0 4px;
	font: 400 var(--t3)/1.6 var(--sans);
	color: var(--tinte);
}
.inquiry__doclist ul { list-style: none; margin: 0; padding: 0; }
.inquiry__doclist li {
	display: flex;
	align-items: center;
	min-height: 44px;
	border-bottom: 1px solid var(--linie);
	font: 400 var(--t2)/1.5 var(--sans);
	color: var(--tinte);
}
.inquiry__doclist li a {
	display: flex;
	align-items: center;
	flex: 1;
	min-height: 44px;
}

.inquiry__hint {
	display: block;
	margin: 2px 0 0;
	font: 400 var(--t3)/1.6 var(--sans);
	color: var(--grau);
}
.inquiry__error {
	display: block;
	margin: 4px 0 0;
	font: 400 var(--t4)/1.6 var(--sans);
	color: var(--fehler);
}
.inquiry__status {
	margin: 0 0 12px;
	font: 400 var(--t3)/1.6 var(--sans);
	color: var(--tinte);
}
.inquiry__status:empty { display: none; }
.inquiry__status.is-error,
.inquiry__status[role="alert"] { color: var(--fehler); }

/* ===== 6 · Links ===== */
.inquiry a {
	color: var(--blau);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: var(--unterstrich-abstand);
}
.inquiry__consent a,
.inquiry > p a { position: relative; }
.inquiry__consent a::after,
.inquiry > p a::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: max(44px, 100% + 16px);
	height: 44px;
	transform: translate(-50%, -50%);
}

/* ===== 7 · Absendeknopf ===== */
.inquiry .button.button--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--blau);
	color: var(--papier);
	font: 400 var(--t2)/1.2 var(--sans);
	letter-spacing: .02em;
	text-decoration: none;
}
.inquiry .button.button--primary:hover { background: var(--blau); opacity: .9; }
.inquiry .button.button--primary[disabled],
.inquiry .button.button--primary[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }

/* Widerruf: „Zum Formular“ und „Widerruf bestätigen“ (aus dem Shortcode) wie der
   Anfrage-Knopf gestalten – alt.css lässt sie ohne Mindesthöhe (unter 44 px). */
#vertrag-widerrufen .button.button--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--blau);
	color: var(--papier);
	font: 400 var(--t2)/1.6 var(--sans);
	letter-spacing: .02em;
	text-decoration: none;
}
#vertrag-widerrufen .button.button--primary:hover { background: var(--blau); opacity: .9; }

/* Kleingedrucktes direkt im Formular (z. B. Widerruf). */
.inquiry > p:not(.inquiry__status) {
	margin: 0 0 16px;
	font: 400 var(--t3)/1.6 var(--sans);
	color: var(--grau);
}

/* ===== 8 · Widerruf-Zusammenfassung ===== */
.withdrawal__summary { margin: 0 0 20px; }
.withdrawal__summary dt {
	margin: 0;
	padding: 14px 0 2px;
	border-top: 1px solid var(--linie);
	font: 400 var(--t4)/1.6 var(--sans);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--grau);
}
.withdrawal__summary dt:first-child { padding-top: 0; border-top: 0; }
.withdrawal__summary dd {
	margin: 0 0 14px;
	font: 400 var(--t2)/1.6 var(--sans);
	color: var(--tinte);
}

/* =====================================================================
   K2 – Anfrageformular wie Prototyp v46 (Messrunde 2 Nr 116–122).
   Nur form[data-inquiry]; das Widerrufsformular (.inquiry ohne data-inquiry) bleibt, wie es ist.
   ===================================================================== */
#anfrage-dialog .objz { margin: 10px 0 0; font: 400 17px/1.6 var(--serif); }

/* Umschalter: zwei Hälften in einem Rahmen, aktive Hälfte mit Nachtblau-Linie unten. */
form[data-inquiry] .inquiry__case {
	display: flex;
	gap: 0;
	margin: 22px 0 6px;
	border: 1px solid color-mix(in srgb, var(--tinte) 18%, transparent);
}
form[data-inquiry] .inquiry__case .segment {
	flex: 1 1 0;
	justify-content: center;
	min-height: 48px;
	font: 400 var(--t2)/1.6 var(--sans);
	color: var(--grau);
}
form[data-inquiry] .inquiry__case .segment:has(input:checked) {
	color: var(--tinte);
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--blau);
}
form[data-inquiry] > p.inquiry__vorwahl {
	margin: 0 0 18px;
	font: 400 var(--t4)/1.6 var(--sans);
	letter-spacing: .06em;
	color: var(--grau);
}

/* Felder: Anrede allein, Vorname | Nachname, E-Mail | Telefon, Nachricht (ab 768 zweispaltig). */
form[data-inquiry] .inquiry__grid {
	grid-template-columns: 1fr;
	gap: 0 14px;
	margin: 0;
}
@media (min-width: 768px) {
	form[data-inquiry] .inquiry__grid { grid-template-columns: 1fr 1fr; }
}
form[data-inquiry] .inquiry__grid > label,
form[data-inquiry] .inquiry__grid > fieldset {
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
}
form[data-inquiry] .inquiry__grid label > span:first-child { margin: 0; }
form[data-inquiry] .inquiry__grid input[type="text"],
form[data-inquiry] .inquiry__grid input[type="email"],
form[data-inquiry] .inquiry__grid input[type="tel"] { min-height: 52px; }
form[data-inquiry] .inquiry__anrede {
	min-width: 0;
	padding: 0;
	border: 0;
}
form[data-inquiry] .inquiry__anrede legend {
	margin: 0;
	padding: 0;
	font: 400 var(--t4)/1.6 var(--sans);
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--grau);
}
form[data-inquiry] .anrede {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 16px;
	min-height: 48px;
}
form[data-inquiry] .anrede label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font: 400 var(--t2)/1 var(--sans);
	color: var(--tinte);
	cursor: pointer;
}
form[data-inquiry] .anrede input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 1px solid var(--linie);
	border-radius: 50%;
	background: var(--papier);
	cursor: pointer;
}
form[data-inquiry] .anrede input[type="radio"]:checked { border-color: var(--blau); }
form[data-inquiry] .anrede input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--blau);
}
form[data-inquiry] .anrede input:focus-visible { outline: 2px solid var(--blau); outline-offset: 2px; }

/* Dokumente als Satz mit Links, Kästchen 20 px, Text 14 / 1,5. */
form[data-inquiry] .inquiry__docs { margin: 0; }
form[data-inquiry] .inquiry__doclist {
	margin: 0 0 4px;
	font: 400 var(--t3)/1.5 var(--sans);
	color: var(--tinte);
}
form[data-inquiry] .inquiry__consent {
	gap: 10px;
	min-height: 0;
	margin: 14px 0;
	font: 400 var(--t3)/1.5 var(--sans);
}
form[data-inquiry] .inquiry__consent input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border-color: var(--linie);
}
form[data-inquiry] .inquiry__consent input[type="checkbox"]:checked { border-color: var(--blau); }
form[data-inquiry] .inquiry__consent input[type="checkbox"]::before {
	/* 44 px Trefferfläche um das 20-px-Kästchen */
	content: "";
	position: absolute;
	left: -12px;
	top: -12px;
	width: 44px;
	height: 44px;
}
form[data-inquiry] a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: var(--unterstrich-abstand);
}
form[data-inquiry] .inquiry__hint { margin: -6px 0 14px 30px; font-size: 13px; }

/* Absenden: volle Breite, 52 hoch, 16 px; Hinweis darunter. */
form[data-inquiry] .button.button--primary {
	width: 100%;
	min-height: 52px;
	margin-top: 8px;
	font: 400 var(--t1)/1.2 var(--sans);
	letter-spacing: 0;
}
form[data-inquiry] > p.inquiry__nach {
	margin: 10px 0 0;
	font: 400 13px/1.6 var(--sans);
	color: var(--grau);
}

/* BX 2.2: Provisionssatz unmittelbar über „Anfrage senden“ (§ 8 FAGG). */
form[data-inquiry] > p.inquiry__provision {
	margin: 16px 0 0;
	font: 400 var(--t2)/1.6 var(--sans);
	color: var(--tinte);
}
