/*
 * JoNa Digital Solutions – Rechtliche Unterseiten (JDS-19)
 * ===========================================================================
 * Hülle für /impressum/ und /datenschutz/: kompakter Hero + Rechtstextbereich.
 * Der Rechtstext kommt ausschließlich aus dem offiziellen eRecht24-Shortcode.
 * Ausschließlich Design-Tokens (--jds-*); nur HTML + CSS.
 *
 * WICHTIG: Juristische Listen behalten ihre Bullets/Nummern. Es wird KEIN
 * Listen-Reset wie bei der Navigation angewendet – nur Abstände werden
 * gescopet korrigiert.
 *
 * Version: 1.6.0
 */

/* ===========================================================================
 * DIVI-NEUTRALISIERUNG (nur wenn die Seite vorhanden ist)
 * =========================================================================== */
.et_pb_section:has(.jds-legal-page) {
	padding: 0;
	background-color: var(--jds-bg);
}

.et_pb_section:has(.jds-legal-page) > .et_pb_row {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.et_pb_section:has(.jds-legal-page) .et_pb_column {
	margin: 0;
	padding: 0;
}

.et_pb_section:has(.jds-legal-page) .et_pb_code_inner {
	width: 100%;
}

/* ===========================================================================
 * ROOT + HERO
 * =========================================================================== */
.jds-legal-page {
	color: var(--jds-text);
}

.jds-legal-page *,
.jds-legal-page *::before,
.jds-legal-page *::after {
	box-sizing: border-box;
}

.jds-legal-hero {
	background-color: var(--jds-bg-soft);
	padding-block: var(--jds-section-space-sm);
	border-bottom: var(--jds-border-width) solid var(--jds-border);
}

.jds-legal-hero__inner {
	max-width: var(--jds-content-text);
}

.jds-legal-hero__eyebrow {
	margin: 0 0 var(--jds-space-sm);
	color: var(--jds-green-dark);
}

.jds-legal-hero__title {
	margin: 0 0 var(--jds-space-sm);
	font-size: var(--jds-font-size-h1);
	line-height: var(--jds-line-height-h1);
	letter-spacing: var(--jds-letter-spacing-h1);
	font-weight: var(--jds-font-weight-bold);
	color: var(--jds-heading);
}

.jds-legal-hero__lead {
	margin: 0;
	color: var(--jds-text-muted);
	font-size: var(--jds-font-size-body-lg);
	line-height: var(--jds-line-height-body-lg);
}

/* ===========================================================================
 * RECHTSTEXTBEREICH
 * =========================================================================== */
.jds-legal-body {
	background-color: var(--jds-bg);
	padding-block: var(--jds-section-space);
}

.jds-legal-content {
	max-width: var(--jds-content-text);
	color: var(--jds-text);
	font-size: var(--jds-font-size-body);
	line-height: var(--jds-line-height-body);
	overflow-wrap: anywhere;
}

/* Robustes Grundlayout für den vom Plugin gelieferten Rechtstext. */
.jds-legal-content > *:first-child {
	margin-top: 0;
}

.jds-legal-content h1,
.jds-legal-content h2,
.jds-legal-content h3,
.jds-legal-content h4 {
	color: var(--jds-heading);
	line-height: var(--jds-line-height-h2);
	margin: var(--jds-space-xl) 0 var(--jds-space-sm);
}

.jds-legal-content h1 {
	font-size: var(--jds-font-size-h2);
}

.jds-legal-content h2 {
	font-size: var(--jds-font-size-h2);
}

.jds-legal-content h3 {
	font-size: var(--jds-font-size-h3);
}

.jds-legal-content h4 {
	font-size: var(--jds-font-size-body-lg);
}

.jds-legal-content p {
	margin: 0 0 var(--jds-space-md);
}

.jds-legal-content strong {
	font-weight: var(--jds-font-weight-semibold);
	color: var(--jds-heading);
}

/* Juristische Listen behalten Marker – nur Abstände gescopet korrigieren. */
.jds-legal-content ul,
.jds-legal-content ol {
	margin: 0 0 var(--jds-space-md);
	padding-left: 1.4em;
}

.jds-legal-content li {
	margin: 0 0 var(--jds-space-xs);
}

.jds-legal-content address {
	font-style: normal;
	margin: 0 0 var(--jds-space-md);
}

.jds-legal-content a {
	color: var(--jds-navy-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jds-legal-content a:hover,
.jds-legal-content a:focus-visible {
	text-decoration-thickness: 2px;
}

/* Tabellen robust für Mobile: nur innerhalb des Legal-Content scrollbar. */
.jds-legal-content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	margin: 0 0 var(--jds-space-md);
}

.jds-legal-content th,
.jds-legal-content td {
	padding: var(--jds-space-xs) var(--jds-space-sm);
	border: var(--jds-border-width) solid var(--jds-border);
	text-align: left;
	vertical-align: top;
}

/* Admin-Hinweis (nur für Berechtigte ausgegeben). */
.jds-legal-notice {
	margin: 0 0 var(--jds-space-lg);
	padding: var(--jds-space-md) var(--jds-space-lg);
	border-left: 4px solid var(--jds-navy);
	border-radius: var(--jds-radius-small);
	background-color: var(--jds-bg-soft);
	color: var(--jds-text);
	font-size: var(--jds-font-size-body);
	line-height: var(--jds-line-height-body);
}

/* ===========================================================================
 * RESPONSIVE
 * =========================================================================== */
@media (min-width: 690px) and (max-width: 999px) {
	.jds-legal-body {
		padding-block: var(--jds-section-space-sm);
	}
}

@media (max-width: 689px) {
	.jds-legal-hero {
		padding-block: var(--jds-space-2xl);
	}

	.jds-legal-body {
		padding-block: var(--jds-space-2xl);
	}

	.jds-legal-content h1,
	.jds-legal-content h2 {
		font-size: var(--jds-font-size-h3);
	}
}