/* =========================================================================
 * recht.css  —  Impressum · Datenschutz · AGB · Barrierefreiheit
 *
 * EINE Datei für alle vier Rechtsseiten (§2: HTML-Seiten, kein Template).
 * Enqueue-Zweig hängt an den vier Slugs — siehe §7.
 *
 * Lädt zusätzlich zu root.css. Alles hier ist Lesetypografie: eine schmale
 * Spalte (--t-breite-text), klare Zwischenüberschriften, saubere
 * Definitionslisten für Stammdaten. Kein Kartenraster, keine Hover-Effekte.
 * ====================================================================== */


/* --- Kopf --------------------------------------------------------------- */

.t-recht-kopf {
	width: min(100% - 2rem, var(--t-breite));
	margin-inline: auto;
	padding-block: var(--t-space-8) var(--t-space-4);
}

.t-recht-kopf__auge {
	margin: 0 0 var(--t-space-2);
	font-size: var(--t-fs-300);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--t-tuerkis);
}

.t-recht-kopf h1 { margin-bottom: var(--t-space-4); }

.t-recht-kopf__stand {
	margin: 0;
	font-size: var(--t-fs-300);
	color: var(--t-text-mute);
}


/* --- Textspalte ---------------------------------------------------------- */

.t-recht {
	width: min(100% - 2rem, var(--t-breite-text));
	margin-inline: auto;
	margin-block: var(--t-space-6) var(--t-space-8);
}

.t-recht h2 {
	font-size: var(--t-fs-600);
	margin-top: var(--t-space-8);
	padding-top: var(--t-space-4);
	border-top: 1px solid var(--t-linie);
}
.t-recht > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

.t-recht h3 {
	font-size: var(--t-fs-400);
	font-family: var(--t-font-text);
	font-weight: 600;
	color: var(--t-blau-900);
	margin: var(--t-space-6) 0 var(--t-space-2);
}

.t-recht p,
.t-recht li { overflow-wrap: anywhere; }

.t-recht ul,
.t-recht ol { margin: 0 0 var(--t-space-4); }
.t-recht li { margin-bottom: var(--t-space-1); }

.t-recht > :last-child { margin-bottom: 0; }


/* --- Stammdaten (Impressum) ----------------------------------------------
 * dt/dd nebeneinander ab 34rem, darunter gestapelt.
 * ---------------------------------------------------------------------- */

.t-recht__daten {
	margin: 0 0 var(--t-space-6);
	display: grid;
	gap: 0;
}

@media (min-width: 34rem) {
	.t-recht__daten { grid-template-columns: 12rem 1fr; }
}

.t-recht__daten dt {
	padding: var(--t-space-3) 0 0;
	font-size: var(--t-fs-300);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--t-text-mute);
	border-top: 1px solid var(--t-linie);
}

.t-recht__daten dd {
	margin: 0;
	padding: var(--t-space-3) 0;
	color: var(--t-blau-900);
}

@media (min-width: 34rem) {
	.t-recht__daten dd { border-top: 1px solid var(--t-linie); }
	.t-recht__daten dt { padding-bottom: var(--t-space-3); }
}

.t-recht__daten dd address {
	font-style: normal;
	line-height: 1.7;
}

/* Telefon/E-Mail sind Bedienelemente — Touch-Ziel (2.5.8). */
.t-recht__daten dd a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}


/* --- Hervorgehobener Kasten (z. B. Insolvenzabsicherung, Feedback) ------- */

.t-recht__kasten {
	margin-block: var(--t-space-6);
	padding: var(--t-space-4) var(--t-space-6);
	background: var(--t-sand);
	border-left: 4px solid var(--t-tuerkis);
	border-radius: 0 var(--t-radius) var(--t-radius) 0;
}
.t-recht__kasten > :last-child { margin-bottom: 0; }
.t-recht__kasten h2,
.t-recht__kasten h3 {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}


/* --- Inhaltsverzeichnis (lange Seiten: AGB, Datenschutz) ----------------- */

.t-recht__inhalt {
	margin-bottom: var(--t-space-8);
	padding-bottom: var(--t-space-6);
	border-bottom: 1px solid var(--t-linie);
}
.t-recht__inhalt h2 {
	font-size: var(--t-fs-400);
	font-family: var(--t-font-text);
	margin: 0 0 var(--t-space-3);
	padding: 0;
	border: 0;
}
.t-recht__inhalt ol {
	margin: 0;
	padding-left: 1.25rem;
	color: var(--t-text-mute);
}
.t-recht__inhalt a { min-height: 24px; }

/* Sprungziele unter der Kopfleiste parken. */
.t-recht [id] { scroll-margin-top: calc(var(--t-kopf-hoehe) + var(--t-space-4)); }


/* --- Tabelle (Stornostaffel in den AGB) ---------------------------------- */

.t-recht table {
	width: 100%;
	border-collapse: collapse;
	margin-block: var(--t-space-4) var(--t-space-6);
	font-size: var(--t-fs-300);
}
.t-recht th,
.t-recht td {
	text-align: left;
	padding: var(--t-space-2) var(--t-space-3);
	border-bottom: 1px solid var(--t-linie);
}
.t-recht th { color: var(--t-text-mute); font-weight: 600; }
.t-recht td:last-child {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	font-weight: 600;
	color: var(--t-blau-900);
}
