/*!
 * RS Rechtstexte – Frontend (Handle „rs-legal“)
 * Großzügige Lesetypografie, Inhaltsverzeichnis, Abschnittsnummern, Druckansicht.
 */
.rs-legal {
	--rs-legal-measure: 72ch;
	display: grid; gap: clamp(24px, 3vw, 40px);
	max-inline-size: var(--rs-legal-max, 880px);
	font-family: var(--rs-f-body, inherit);
	font-size: var(--rs-fs-body, 1.0625rem); line-height: 1.7;
	color: var(--rs-c-ink-soft, #2b3648);
}
.rs-legal__notice { padding: 14px 18px; border-left: 3px solid var(--rs-c-brass, #b08a4a); border-radius: 4px 4px 14px 4px; background: #fbf3e4; color: #5b4200; font: 500 .95rem/1.5 var(--rs-f-ui, sans-serif); }

.rs-legal__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; }
.rs-legal__stand { margin: 0; font: 500 var(--rs-fs-small, .875rem)/1.4 var(--rs-f-ui, sans-serif); color: var(--rs-c-muted, #5b6472); }
.rs-legal__print { border: 0; background: none; padding: .25em 0; cursor: pointer; font-size: .95rem; }
.rs-legal__print .rs-icon { inline-size: 1.05em; block-size: 1.05em; }

/* Inhaltsverzeichnis */
.rs-legal__toc {
	padding: clamp(18px, 2.4vw, 28px) clamp(20px, 2.6vw, 32px);
	border-radius: var(--rs-r-leaf, 4px 4px 48px 4px);
	background: var(--rs-c-surface, #fff);
	border: 1px solid var(--rs-c-line, #d9d2ca);
}
.rs-legal__toc-title { margin: 0 0 10px; font: 500 var(--rs-fs-small, .875rem)/1.3 var(--rs-f-ui, sans-serif); color: var(--rs-area, #7b2232); }
.rs-legal__toc-list { margin: 0; padding: 0; list-style: none; columns: 2 18rem; column-gap: 32px; }
.rs-legal__toc-list li { break-inside: avoid; margin: 0 0 4px; }
.rs-legal__toc-list a { display: inline-flex; gap: .5em; padding: 3px 0; color: var(--rs-c-ink, #101b2d); text-decoration: none; font: 400 .95rem/1.4 var(--rs-f-ui, sans-serif); background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .4s var(--rs-ease-out, ease); }
.rs-legal__toc-list a:hover, .rs-legal__toc-list a:focus-visible { background-size: 100% 1px; }
.rs-legal__toc-num { min-inline-size: 2.2em; color: var(--rs-c-muted, #5b6472); font-variant-numeric: tabular-nums; }

/* Abschnitte */
.rs-legal__body { display: grid; gap: clamp(28px, 3.5vw, 48px); }
.rs-legal__section { scroll-margin-top: calc(var(--rs-header-h, 84px) + 24px); }
.rs-legal__h {
	display: flex; gap: .55em; align-items: baseline; margin: 0 0 .7em;
	font-family: var(--rs-f-display, inherit); font-weight: var(--rs-fw-heading, 350);
	font-size: var(--rs-fs-h4, 1.5rem); line-height: 1.25; letter-spacing: var(--rs-ls-heading, -.02em);
	color: var(--rs-c-ink, #101b2d); overflow-wrap: anywhere;
}
.rs-legal__num { flex: none; color: var(--rs-area, #7b2232); font-variant-numeric: tabular-nums; }
.rs-legal__text { max-inline-size: var(--rs-legal-measure); overflow-wrap: break-word; }
.rs-legal__text > :first-child { margin-top: 0; }
.rs-legal__text > :last-child { margin-bottom: 0; }
.rs-legal__text p { margin: 0 0 1em; }
.rs-legal__text h3, .rs-legal__text h4 { margin: 1.4em 0 .5em; font: 600 1.05rem/1.35 var(--rs-f-ui, inherit); color: var(--rs-c-ink, #101b2d); }
.rs-legal__text ul, .rs-legal__text ol { margin: 0 0 1em; padding-left: 1.2em; }
.rs-legal__text li { margin: .35em 0; }
.rs-legal__text a { color: var(--rs-c-ink, #101b2d); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--rs-area, #7b2232); overflow-wrap: anywhere; }
.rs-legal__text a:hover { color: var(--rs-area, #7b2232); }
.rs-legal__box { margin: 1.2em 0; padding: 18px 20px; border-left: var(--rs-line-w, 1.5px) solid var(--rs-area, #7b2232); background: color-mix(in srgb, var(--rs-c-stone, #ddd5cc) 35%, transparent); border-radius: 0 4px 16px 0; }
.rs-legal__box p:last-child { margin-bottom: 0; }
.rs-legal__form ul { list-style: none; padding: 0; }
.rs-legal__form li { padding: .45em 0; border-bottom: 1px dashed var(--rs-c-line, #d9d2ca); }
.rs-legal__blank { display: block; block-size: 1.6em; }
.rs-legal__top { display: inline-block; margin-top: 10px; font: 500 .85rem/1.3 var(--rs-f-ui, sans-serif); color: var(--rs-c-muted, #5b6472); text-decoration: none; }
.rs-legal__top:hover, .rs-legal__top:focus-visible { color: var(--rs-area, #7b2232); text-decoration: underline; }

/* Tabellen (Cookie-Richtlinie) – nie horizontal scrollen: auf Mobil gestapelt */
.rs-legal__table-wrap { max-inline-size: 100%; }
.rs-legal__table { inline-size: 100%; border-collapse: collapse; font-size: .92rem; line-height: 1.45; }
.rs-legal__table th, .rs-legal__table td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rs-c-line, #d9d2ca); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.rs-legal__table th { font: 600 .82rem/1.3 var(--rs-f-ui, sans-serif); color: var(--rs-c-muted, #5b6472); }
@media (max-width: 767px) {
	.rs-legal__table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.rs-legal__table tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--rs-c-line, #d9d2ca); }
	.rs-legal__table td { display: block; padding: 2px 0; border: 0; }
	.rs-legal__table td:first-child { font-weight: 600; color: var(--rs-c-ink, #101b2d); }
}

/* Fehlende Angaben */
.rs-legal__missing { padding: .05em .3em; border-radius: 3px; background: #fff1b8; color: #5b4200; font-weight: 600; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

.rs-on-dark .rs-legal { color: var(--rs-c-on-dark, #efece8); }
.rs-legal-preview__main { padding-block: 48px 96px; display: grid; gap: 28px; }

@media print {
	.rs-legal { max-inline-size: none; color: #000; font-size: 11pt; line-height: 1.5; }
	.rs-legal__print, .rs-legal__top, .rs-legal__toc, .rs-legal__notice { display: none !important; }
	.rs-legal__h { color: #000; break-after: avoid; }
	.rs-legal__section { break-inside: auto; }
	.rs-legal__text a { color: #000; }
	.rs-legal__text a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; word-break: break-all; }
	.rs-legal__missing { background: none; border: 1px solid #000; }
}
