/* reportdev — Viewer. Leseansicht: linke Navigation, Textspalte, rechte Toolbox-Schiene. */

:root {
	--rd-ink: #1b1d26;
	--rd-ink-soft: #5b6072;
	--rd-ink-faint: #666b7e;
	--rd-line: #e3e5ee;
	--rd-line-soft: #eff0f6;
	--rd-bg: #f6f7fb;
	--rd-paper: #ffffff;
	--rd-accent: #3f3f75;
	--rd-accent-soft: #ececf6;
	--rd-mark: #ffe9a8;
	--rd-top-h: 56px;
	--rd-max: 1560px;
	/* werden pro Bericht aus dem PDF überschrieben */
	--rd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--rd-ink-head: var(--rd-ink);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.rd-body {
	margin: 0;
	background: var(--rd-bg);
	color: var(--rd-ink);
	font: 16px/1.65 var(--rd-font);
	-webkit-font-smoothing: antialiased;
}

a { color: var(--rd-accent); }

/* ------------------------------------------------------------------ Markenleiste */
.rd-brandbar {
	height: 4px;
	background: var(--rd-accent);   /* wird pro Bericht aus der PDF-Palette überschrieben */
}

/* ------------------------------------------------------------------ Kopfzeile */
.rd-top {
	position: sticky;
	top: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	gap: 16px;
	height: var(--rd-top-h);
	padding: 0 20px;
	/* ohne Weichzeichner: Safari muss sonst bei jedem Scrollschritt den Inhalt unter der Leiste neu berechnen */
	background: #fff;
	border-bottom: 1px solid var(--rd-line);
}

.rd-home {
	font-size: 13px;
	text-decoration: none;
	color: var(--rd-ink-soft);
	white-space: nowrap;
}
.rd-home:hover { color: var(--rd-accent); }

.rd-top-title {
	font-weight: 640;
	font-size: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1 1 auto;
}

.rd-top-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.rd-badge {
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--rd-accent);
	background: var(--rd-accent-soft);
	border-radius: 999px;
	padding: 4px 10px;
}

.rd-pdf {
	font-size: 12px;
	text-decoration: none;
	border: 1px solid var(--rd-line);
	border-radius: 6px;
	padding: 5px 10px;
	color: var(--rd-ink-soft);
	background: #fff;
}
.rd-pdf:hover { border-color: var(--rd-accent); color: var(--rd-accent); }

/* ------------------------------------------------------------------ Suche */
.rd-search { position: relative; }

#rd-q {
	width: 230px;
	height: 32px;
	padding: 0 12px;
	font-size: 13px;
	font-family: inherit;
	color: var(--rd-ink);
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 999px;
	outline: none;
	transition: width .18s ease, border-color .18s ease;
}
#rd-q:focus { width: 320px; border-color: var(--rd-accent); }

.rd-results {
	position: absolute;
	top: 40px;
	right: 0;
	width: 460px;
	max-height: 70vh;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 10px;
	box-shadow: 0 12px 34px rgba(20, 22, 40, .14);
	padding: 6px;
}

.rd-result {
	display: block;
	padding: 9px 11px;
	border-radius: 7px;
	text-decoration: none;
	color: inherit;
}
.rd-result:hover, .rd-result.is-active { background: var(--rd-accent-soft); }

.rd-result-head {
	font-size: 11px;
	color: var(--rd-ink-faint);
	margin-bottom: 2px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rd-result-snip { font-size: 13px; line-height: 1.5; color: var(--rd-ink-soft); }
.rd-result-snip mark { background: var(--rd-mark); color: inherit; padding: 0 1px; border-radius: 2px; }
.rd-results-empty { padding: 12px; font-size: 13px; color: var(--rd-ink-faint); }

.rd-toc-hide {
	font: inherit;
	font-size: 15px;
	line-height: 1;
	color: var(--rd-ink-faint);
	background: none;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 5px 8px;
	cursor: pointer;
	flex: 0 0 auto;
}
.rd-toc-hide:hover { color: var(--rd-accent); border-color: var(--rd-line); }
.rd-toc-hide[aria-pressed="true"] { color: var(--rd-accent); background: var(--rd-accent-soft); }

/* ------------------------------------------------------------------ Layout */
.rd-layout {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr) 320px;
	gap: 28px;
	max-width: var(--rd-max);
	margin: 0 auto;
	padding: 26px 24px 80px;
	align-items: start;
}

/* Inhaltsverzeichnis eingeklappt: die Textspalte bekommt die Breite —
   hilft bei breiten Tabellen. */
body.rd-no-toc .rd-toc { display: none; }
body.rd-no-toc .rd-layout { grid-template-columns: minmax(0, 1fr) 320px; }
@media (max-width: 1240px) {
	body.rd-no-toc .rd-layout { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ Inhaltsverzeichnis */
.rd-toc {
	position: sticky;
	top: calc(var(--rd-top-h) + 22px);
	max-height: calc(100vh - var(--rd-top-h) - 44px);
	overflow-y: auto;
	font-size: 13px;
	padding-right: 6px;
}

.rd-toc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 11px;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--rd-ink-faint);
	margin-bottom: 10px;
}

.rd-toc-toggle {
	font: inherit;
	letter-spacing: 0;
	color: var(--rd-ink-faint);
	background: var(--rd-line-soft);
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 1px 8px;
	cursor: pointer;
}
.rd-toc-toggle:hover { color: var(--rd-accent); border-color: var(--rd-line); }
.rd-toc-toggle[aria-pressed="true"] { background: var(--rd-accent-soft); color: var(--rd-accent); }

/* Heuristisch erkannte Zwischenueberschriften: nur auf Wunsch */
.rd-toc-extra { display: none; }
.rd-toc.show-all .rd-toc-extra { display: list-item; }

.rd-toc-list { list-style: none; margin: 0; padding: 0; }
.rd-toc-list .rd-toc-list { padding-left: 13px; }

.rd-toc a {
	display: block;
	min-height: 24px;              /* Zielgröße WCAG 2.5.8 */
	box-sizing: border-box;
	padding: 4px 8px;
	color: var(--rd-ink-soft);
	text-decoration: none;
	border-left: 2px solid transparent;
	border-radius: 0 5px 5px 0;
	line-height: 1.4;
}
.rd-toc a:hover { color: var(--rd-accent); background: var(--rd-accent-soft); }
.rd-toc a.is-current {
	color: var(--rd-accent);
	border-left-color: var(--rd-accent);
	background: var(--rd-accent-soft);
	font-weight: 600;
}
/* Auszeichnung nach EBENE, nicht nach Verschachtelungstiefe: der Vorspann steht
   auf Wurzelebene, ist aber kein Kapitel. */
.rd-toc-l1 > a { font-weight: 600; color: var(--rd-ink-head, var(--rd-ink)); }

/* ------------------------------------------------------------------ Textspalte */
.rd-content {
	background: var(--rd-paper);
	border: 1px solid var(--rd-line);
	border-radius: 12px;
	padding: 44px clamp(24px, 5vw, 68px) 56px;
	min-width: 0;
}

.rd-doc-head { border-bottom: 1px solid var(--rd-line-soft); padding-bottom: 22px; margin-bottom: 28px; }

/* Titelblock mit Cover: die Identität des Berichts, ohne sein Layout zu kopieren */
.rd-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	gap: 30px;
	align-items: start;
}
.rd-hero-text { min-width: 0; container-type: inline-size; }
.rd-cover-sub { margin: -2px 0 10px; font-size: 17px; color: var(--rd-ink-soft); }
.rd-cover-meta { list-style: none; margin: 0 0 12px; padding: 0; font-size: 13px; color: var(--rd-ink-soft); }
.rd-cover-meta li { padding: 2px 0; }
.rd-hero-text .rd-doc-meta + .rd-doc-meta { margin-top: 4px; }
.rd-hero-cover {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(20, 22, 40, .16);
	transition: transform .16s ease, box-shadow .16s ease;
	line-height: 0;
}
.rd-hero-cover:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(20, 22, 40, .22); }
.rd-hero-cover img { width: 100%; height: auto; display: block; }
/* Titel: die Schrift folgt der Spalte neben dem Titelbild, damit ein Wort mit 20 Zeichen ganz in eine Zeile passt.
   Silbentrennung nur für noch längere Wörter, Umbruch mitten im Wort bleibt der letzte Ausweg (.rd-content). */
.rd-doc-head h1 {
	font-size: max(19px, min(clamp(26px, 3.4vw, 34px), 10.4cqi));
	line-height: 1.22;
	margin: 0 0 10px;
	letter-spacing: -.01em;
	color: var(--rd-ink-head);
}
@supports (hyphenate-limit-chars: 20 6 6) {
	.rd-doc-head h1 { hyphens: auto; hyphenate-limit-chars: 20 6 6; }
}
.rd-doc-meta { margin: 0; font-size: 12.5px; color: var(--rd-ink-faint); }

.rd-h {
	scroll-margin-top: calc(var(--rd-top-h) + 18px);
	position: relative;
	letter-spacing: -.005em;
	color: var(--rd-ink-head);
}
.rd-h1 {
	font-size: 26px;
	margin: 54px 0 16px;
	padding-top: 20px;
	border-top: 3px solid var(--rd-accent);
	color: var(--rd-accent);
}
.rd-h2 { font-size: 20px; margin: 38px 0 12px; }
.rd-h3 { font-size: 17px; margin: 30px 0 10px; }
.rd-h4 { font-size: 15px; margin: 26px 0 8px; }   /* keine Deckkraft: Kontrast der Berichtsfarbe bleibt (axe) */
.rd-num { color: var(--rd-accent); font-variant-numeric: tabular-nums; }

/* Signet neben der Ueberschrift (im PDF links daneben gesetzt) */
.rd-h-icon {
	height: 1.5em;
	width: auto;
	vertical-align: -.28em;
	margin-right: .45em;
}

.rd-p { margin: 0 0 17px; scroll-margin-top: calc(var(--rd-top-h) + 18px); position: relative; }

/* Gedruckte Inhaltsseite als verlinkte Liste (Kapitel fett, Abschnitte eingerückt) */
.rd-toc-block { margin: 6px 0 26px; }
.rd-toc-block ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.rd-toc-block li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 3px 0;
	break-inside: avoid;
	border-bottom: 1px dotted var(--rd-line);
	font-size: 14px;
}
.rd-toc-block li a { text-decoration: none; color: var(--rd-ink); display: inline-block; min-height: 24px; }
.rd-toc-block li a:hover { color: var(--rd-accent); }
.rd-toc-block-l1 { font-weight: 620; margin-top: 10px; }
.rd-toc-block-l1 a { color: var(--rd-ink-head); }
.rd-toc-block-l2, .rd-toc-block-l3 { padding-left: 14px !important; color: var(--rd-ink-soft); }
.rd-toc-block-doc ol { columns: 1; max-width: 46em; }
.rd-toc-block-doc .rd-toc-block-l3 { padding-left: 30px !important; }
/* Fettung wie im gedruckten Verzeichnis (je Eintrag aus dem PDF), nicht nach Ebene */
.rd-toc-block-doc .rd-toc-block-l1, .rd-toc-block-doc .rd-toc-block-l1 a { font-weight: 400; color: var(--rd-ink); }
.rd-toc-block-doc .rd-toc-block-b, .rd-toc-block-doc .rd-toc-block-b a { font-weight: 620; color: var(--rd-ink); }
.rd-toc-block-sub { display: block; font-size: .9em; color: var(--rd-ink-soft); font-weight: 400; }
.rd-toc-block-page { color: var(--rd-ink-faint); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
@media (max-width: 720px) { .rd-toc-block ol { columns: 1; } }

/* Piktogramm mit Beschriftung — im PDF eine Kachel, hier Bild plus Text.
   Aufeinanderfolgende Kacheln setzen sich automatisch zu einem Raster. */
.rd-icon-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 4px 34px;
	margin: 6px 0 20px;
}
.rd-icon-item {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 4px;
	padding: 8px 0;
	position: relative;
	scroll-margin-top: calc(var(--rd-top-h) + 18px);
}
.rd-icon-item > img { width: 46px; height: auto; flex: 0 0 auto; }
.rd-icon-item.rd-illustrated-row { grid-column: 1 / -1; }
/* im PDF stand das Signet rechts der Beschriftung */
.rd-icon-item.rd-icon-right { flex-direction: row-reverse; }
.rd-icon-item.rd-icon-right .rd-icon-text { text-align: right; }
.rd-icon-text { font-size: 14.5px; line-height: 1.4; }
.rd-icon-item + .rd-icon-item { margin-top: 0; }

@supports (display: grid) {
	.rd-content .rd-icon-item { break-inside: avoid; }
}

/* Textfragmente einer Infografik-Seite: eingeklappt, aber auffindbar */
.rd-fragments {
	margin: 4px 0 24px;
	border-left: 2px solid var(--rd-line);
	padding-left: 14px;
}
.rd-fragments > summary {
	cursor: pointer;
	font-size: 12.5px;
	color: var(--rd-ink-faint);
	list-style: none;
}
.rd-fragments > summary::-webkit-details-marker { display: none; }
.rd-fragments > summary::before { content: "▸ "; }
.rd-fragments[open] > summary::before { content: "▾ "; }
.rd-fragments > summary:hover { color: var(--rd-accent); }
.rd-fragments-body { margin-top: 10px; font-size: 14px; color: var(--rd-ink-soft); }
.rd-fragments-body .rd-p { margin-bottom: 7px; }

/* Definitionsliste (Abkürzungen, Glossar): enger gesetzt, Begriff hervorgehoben */
.rd-def { margin-bottom: 7px; padding-left: 1.1em; text-indent: -1.1em; }
.rd-def + .rd-def { margin-top: 0; }
.rd-term { font-weight: 620; color: var(--rd-ink-head); }
.rd-list { margin: 0 0 18px; padding-left: 22px; }
.rd-list li { margin-bottom: 8px; scroll-margin-top: calc(var(--rd-top-h) + 18px); position: relative; }

/* Absatz-Anker: der Deep-Link, an dem spaeter die Toolbox andockt */
.rd-anchor {
	/* wie AAR2: Kettenglied in einem kleinen weißen Kästchen links neben dem Absatz */
	position: absolute;
	left: -36px;
	top: 0;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rd-accent);
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 6px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .14);
	text-decoration: none;
	/* erst kurz nach dem Verlassen ausblenden, damit man das Kästchen mit der Maus erreicht;
	   visibility statt opacity: Prüfwerkzeuge werten opacity 0 als unsichtbaren Text */
	visibility: hidden;
}
.rd-anchor::before {
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* sichtbar ist immer nur das eine Icon, das viewer.js markiert (wie AAR2); ohne JavaScript beim Darüberfahren */
.rd-anchor.rd-anchor-on, .rd-anchor:hover { visibility: visible; }
.rd-nojs .rd-block:hover > .rd-anchor, .rd-nojs .rd-h:hover > .rd-anchor { visibility: visible; }
.rd-anchor:hover { background: var(--rd-accent-soft); }

/* Rückmeldung nach dem Kopieren */
.rd-anchor.is-copied, .rd-anchor.is-failed { visibility: visible; color: #2e7d32; border-color: #2e7d32; }
.rd-anchor.is-copied::after, .rd-anchor.is-failed::after {
	content: "Link kopiert";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 6px);
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: 11px;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 5px;
	background: var(--rd-ink);
	color: #fff;
	pointer-events: none;
}
.rd-anchor.is-failed::after { content: "Kopieren nicht möglich"; }

.rd-block.rd-target, .rd-h.rd-target {
	animation: rd-flash 2.1s ease-out 1;
	border-radius: 4px;
}
@keyframes rd-flash {
	0%, 32% { background: var(--rd-mark); box-shadow: 0 0 0 6px var(--rd-mark); }
	100%    { background: transparent; box-shadow: 0 0 0 6px transparent; }
}

/* Nebeneinander gesetzte Blöcke aus dem PDF (Unterschriftenpaare, Bildreihen) */
.rd-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 6px 34px;
	margin: 0 0 18px;
	clear: both;
}
.rd-row { gap: 0; }
.rd-row-cell { flex: 0 0 auto; min-width: 0; }
.rd-row-cell:only-child, .rd-row-cell:not([style]) { flex: 1 1 auto; }
.rd-row-cell > * { margin-top: 0; margin-bottom: 0; }
.rd-row-cell > .rd-figure { margin: 0; max-width: 100%; }
@media (max-width: 640px) {
	.rd-row { display: block; }
	.rd-row-cell { margin-left: 0 !important; width: auto !important; margin-bottom: 14px; }
}

.rd-figure { margin: 26px 0; scroll-margin-top: calc(var(--rd-top-h) + 18px); clear: both; }

/* Abbildungen, die im PDF neben der Textspalte standen, werden umflossen */
.rd-figure.rd-flow-right,
.rd-figure.rd-flow-left {
	clear: both;            /* jede Bild-Text-Einheit beginnt unter der vorigen (Schritt 1, Schritt 2 …) */
	width: min(46%, 430px);
	margin-top: 6px;
	margin-bottom: 18px;
}
.rd-figure.rd-flow-right { float: right; margin-left: 30px; margin-right: 0; }
.rd-figure.rd-flow-left  { float: left;  margin-right: 30px; margin-left: 0; }
/* Überschrift direkt nach einem umflossenen Bild steht neben dem Bild (Bild + Text als Einheit, z. B. Schritt 1/2) */
.rd-figure.rd-flow-left + .rd-h { clear: right; margin-top: 6px; }
.rd-figure.rd-flow-right + .rd-h { clear: left; margin-top: 6px; }

/* Überschriften und Tabellen beenden den Umfluss */
.rd-h, .rd-table-wrap, .rd-doc-foot { clear: both; }
.rd-figure img {
	max-width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--rd-line);
	border-radius: 8px;
	background: #fff;
}
/* freigestellte Kleingrafiken: kein Rahmen, keine weisse Flaeche.
   Die Breite steuert das inline gesetzte max-width der <figure> (Verhaeltnis zum Text). */
.rd-figure-plain img {
	border: 0;
	background: transparent;
	border-radius: 0;
	width: 100%;
	height: auto;
}
.rd-figure-plain { margin: 18px 0; }
/* kleine umflossene Grafik: Kasten auf Bildbreite schrumpfen, nicht 46% Spalte belegen */
.rd-figure-plain.rd-flow-left, .rd-figure-plain.rd-flow-right { width: auto; }

.rd-figure figcaption, .rd-caption {
	font-size: 12.5px;
	color: var(--rd-ink-soft);
	margin-top: 9px;
	position: relative;
}

.rd-table-wrap {
	margin: 26px 0;
	overflow-x: auto;
	scroll-margin-top: calc(var(--rd-top-h) + 18px);
	position: relative;
}
/* Tabellen dürfen in den Innenrand der Textspalte hineinragen — das kostet nichts
   und gibt jeder Tabelle rund 15 % mehr Breite. */
.rd-table-wrap {
	margin-left: calc(-1 * clamp(10px, 2.4vw, 34px));
	margin-right: calc(-1 * clamp(10px, 2.4vw, 34px));
	padding-left: clamp(10px, 2.4vw, 34px);
	padding-right: clamp(10px, 2.4vw, 34px);
}

.rd-table-wider {
	position: absolute;
	top: 0;
	right: clamp(10px, 2.4vw, 34px);
	font: inherit;
	font-size: 11.5px;
	line-height: 1;
	color: var(--rd-ink-faint);
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 999px;
	padding: 4px 10px;
	cursor: pointer;                 /* immer sichtbar: Prüfwerkzeuge werten opacity 0 als unsichtbaren Text */
}
.rd-table-wider:hover { color: var(--rd-accent); border-color: var(--rd-accent); }
/* Platz über breiten Tabellen für den Knopf: er lag sonst auf der letzten Kopfzelle (RBI S. 173, 213, 564 …) */
.rd-table-wrap.is-wide-table { padding-top: 30px; }
body.rd-no-toc .rd-table-wrap.is-wide-table { padding-top: 0; }
body.rd-no-toc .rd-table-wider { display: none; }
.rd-table td.rd-cell-num { white-space: nowrap; }
.rd-table { border-collapse: collapse; font-size: 13.5px; min-width: 100%; }
.rd-table th, .rd-table td {
	border: 1px solid var(--rd-line);
	padding: 7px 11px;
	text-align: left;
	vertical-align: top;
}
/* feste dunkle Schrift: eine helle Hausschrift (Hirschmann #707173) erreicht auf dem grauen Kopf keine 4,5:1 */
.rd-table th { background: var(--rd-line-soft); font-weight: 620; color: #23252e; }
/* Formatierung aus dem PDF übernommen: nur ausgezeichnete Zellen fett, Flächen wie im PDF */
.rd-table.rd-has-styles th, .rd-table.rd-has-styles td { font-weight: 400; }
.rd-table.rd-has-styles tbody th { background: none; }
.rd-table.rd-has-styles [data-strong] { font-weight: 620; }

.rd-doc-foot {
	margin-top: 52px;
	padding-top: 18px;
	border-top: 1px solid var(--rd-line-soft);
	font-size: 12px;
	color: var(--rd-ink-faint);
}

/* ------------------------------------------------------------------ Toolbox-Schiene */
.rd-rail {
	position: sticky;
	top: calc(var(--rd-top-h) + 22px);
	max-height: calc(100vh - var(--rd-top-h) - 44px);
	overflow-y: auto;
}

.rd-rail-placeholder {
	background: #fff;
	border: 1px dashed var(--rd-line);
	border-radius: 12px;
	padding: 18px;
	font-size: 13px;
	color: var(--rd-ink-soft);
}
.rd-rail-title { font-weight: 640; color: var(--rd-ink); margin-bottom: 8px; }
.rd-rail-placeholder p { margin: 0 0 10px; }
.rd-rail-note { font-size: 12px; color: var(--rd-ink-faint); }

/* ------------------------------------------------------------------ Ansichtsumschalter */
.rd-viewswitch {
	display: inline-flex;
	border: 1px solid var(--rd-line);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
}
.rd-viewswitch a {
	font-size: 12px;
	text-decoration: none;
	color: var(--rd-ink-soft);
	padding: 5px 11px;
	line-height: 1;
}
.rd-viewswitch a + a { border-left: 1px solid var(--rd-line); }
.rd-viewswitch a:hover { color: var(--rd-accent); background: var(--rd-accent-soft); }
.rd-viewswitch a.is-on { background: var(--rd-accent); color: #fff; }

/* Sprachauswahl (Original + Übersetzungen aus translations/<lang>.json), Ausklappliste */
.rd-langmenu { position: relative; }
.rd-langmenu summary { list-style: none; cursor: pointer; font-size: 12px; font-weight: 600; letter-spacing: .03em;
	color: var(--rd-ink-soft); border: 1px solid var(--rd-line); border-radius: 999px; background: #fff; padding: 5px 10px;
	line-height: 1; min-height: 24px; display: inline-flex; align-items: center; gap: 4px; }
.rd-langmenu summary::-webkit-details-marker { display: none; }
.rd-langmenu summary::after { content: '▾'; font-size: 10px; }
.rd-langmenu[open] summary, .rd-langmenu summary:hover { color: var(--rd-accent); border-color: var(--rd-accent); }
.rd-langmenu-list { position: absolute; right: 0; top: calc(100% + 6px); z-index: 50; margin: 0; padding: 6px 0; list-style: none;
	background: #fff; border: 1px solid var(--rd-line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); min-width: 180px; }
.rd-langmenu-list a { display: flex; gap: 8px; align-items: baseline; padding: 8px 14px; font-size: 13px; color: var(--rd-ink); text-decoration: none; }
.rd-langmenu-list a:hover, .rd-langmenu-list a:focus { background: var(--rd-accent-soft); color: var(--rd-accent); }
.rd-langmenu-list a.is-on { font-weight: 600; color: var(--rd-accent); }
.rd-langmenu-code { font-weight: 600; font-size: 11px; letter-spacing: .04em; min-width: 22px; color: var(--rd-ink-soft); }
.rd-langmenu-orig { color: var(--rd-ink-faint); font-size: 12px; }
.rd-mt-note { margin: 0 0 8px; font-size: 12.5px; color: var(--rd-ink-soft); }

/* ------------------------------------------------------------------ Layout-Ansicht */
.rd-content-pages {
	background: transparent;
	border: 0;
	padding: 0;
	border-radius: 0;
}
.rd-content-pages .rd-doc-head {
	background: var(--rd-paper);
	border: 1px solid var(--rd-line);
	border-radius: 12px;
	padding: 24px 26px;
	margin-bottom: 20px;
}
.rd-content-pages .rd-doc-foot { padding: 0 4px; }

.rd-pages { display: flex; flex-direction: column; gap: 26px; }

.rd-page-label {
	font-size: 11px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--rd-ink-faint);
	margin-bottom: 6px;
}

.rd-page {
	position: relative;
	container-type: inline-size;      /* Basis fuer die cqw-Schriftgroessen der Textebene */
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(20, 22, 40, .07);
	scroll-margin-top: calc(var(--rd-top-h) + 18px);
}
.rd-page img { display: block; width: 100%; height: auto; }

/* Textebene: unsichtbar, aber markier- und kopierbar; traegt die Block-IDs */
.rd-ov {
	position: absolute;
	color: transparent;
	overflow: hidden;
	line-height: 1.2;
	white-space: pre-wrap;
	cursor: text;
	scroll-margin-top: calc(var(--rd-top-h) + 22px);
	border-radius: 3px;
}
.rd-ov::selection { background: rgba(63, 63, 117, .22); }
.rd-ov.rd-target {
	background: rgba(255, 233, 168, .5);
	box-shadow: 0 0 0 2px var(--rd-mark);
	animation: none;
}

/* ------------------------------------------------------------------ Bibliothek */
.rd-lib { max-width: 900px; margin: 0 auto; padding: 44px 24px 80px; }
.rd-lib h1 { font-size: 30px; margin: 0 0 10px; }
.rd-lib-lede { color: var(--rd-ink-soft); margin: 0 0 30px; max-width: 62ch; }

.rd-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rd-card-link {
	display: block;
	background: #fff;
	border: 1px solid var(--rd-line);
	border-radius: 10px;
	padding: 16px 18px;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.rd-card-link:hover { border-color: var(--rd-accent); box-shadow: 0 6px 18px rgba(20, 22, 40, .07); }
.rd-card-link.has-cover { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 16px; align-items: center; }
.rd-card-cover { width: 86px; height: auto; border-radius: 4px; box-shadow: 0 2px 8px rgba(20, 22, 40, .14); }
.rd-card-body { min-width: 0; }
.rd-card-title { display: block; font-weight: 640; font-size: 16px; margin-bottom: 5px; }
.rd-card-meta { display: block; font-size: 12.5px; color: var(--rd-ink-soft); }
.rd-card-src { display: block; font-size: 11.5px; color: var(--rd-ink-faint); margin-top: 3px; }

.rd-empty { background: #fff; border: 1px dashed var(--rd-line); border-radius: 10px; padding: 24px; }
.rd-empty pre {
	background: var(--rd-bg);
	border-radius: 6px;
	padding: 11px 13px;
	font-size: 12.5px;
	overflow-x: auto;
	margin: 10px 0 0;
}

/* ------------------------------------------------------------------ Schmale Fenster */
@media (max-width: 1240px) {
	.rd-layout { grid-template-columns: 232px minmax(0, 1fr); }
	.rd-rail { display: none; }
}
@media (max-width: 1040px) {
	.rd-hero { grid-template-columns: minmax(0, 1fr) 170px; gap: 20px; }
}
@media (max-width: 880px) {
	.rd-hero { grid-template-columns: minmax(0, 1fr); }
	.rd-hero-cover { max-width: 190px; }
	.rd-figure.rd-flow-right, .rd-figure.rd-flow-left {
		float: none; width: 100%; margin: 22px 0; clear: both;
	}
	.rd-layout { grid-template-columns: minmax(0, 1fr); padding: 16px 14px 60px; }
	.rd-toc { position: static; max-height: 260px; background: #fff; border: 1px solid var(--rd-line); border-radius: 10px; padding: 14px; }
	.rd-content { padding: 26px 20px 36px; }
	#rd-q { width: 140px; }
	#rd-q:focus { width: 180px; }
	.rd-results { width: min(92vw, 420px); }
	.rd-top-title { font-size: 13px; }
	.rd-anchor { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.rd-block.rd-target, .rd-h.rd-target { animation: none; background: var(--rd-mark); }
}

/* Signature and signatory remain one card, including in the mobile layout. */
.rd-signature-card { margin: 18px 0; max-width: 240px; break-inside: avoid; }
.rd-signature-card > img { display: block; height: 110px; width: 170px; max-width: 100%; object-fit: contain; object-position: left bottom; margin-bottom: 12px; }
.rd-signature-card > figcaption { font-size: 15px; line-height: 1.5; }

/* Divided chapter panels keep their list and prose in separate reading columns. */
.rd-text-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 24px 0 32px; padding: 26px; color: #fff; background: linear-gradient(110deg, var(--rd-accent, #00338d), var(--rd-accent-raw, #2348e8)); border-radius: 4px; }
.rd-text-panel-column { min-width: 0; }
.rd-text-panel-column + .rd-text-panel-column { border-left: 1px solid #ffffff70; padding-left: 26px; }
.rd-text-panel .rd-list { margin: 0; padding-left: 20px; font-weight: 650; }
.rd-text-panel .rd-list li { margin-bottom: 12px; }
.rd-text-panel .rd-p { margin: 0; }
.rd-text-panel .rd-anchor { color: inherit; }
.rd-h:has(.rd-chapter-emblem) { display: flex; align-items: center; gap: 24px; overflow-wrap: anywhere; }
.rd-h-icon.rd-chapter-emblem { width: 160px; height: auto; flex: 0 0 160px; margin: 0; }
@media (max-width: 640px) {
 .rd-text-panel { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 20px; }
 .rd-text-panel-column + .rd-text-panel-column { border-left: 0; border-top: 1px solid #ffffff70; padding: 20px 0 0; }
 .rd-h:has(.rd-chapter-emblem) { display: block; }
 .rd-h-icon.rd-chapter-emblem { display: block; width: 130px; margin-bottom: 18px; }
}

/* Keep PDF prose and its neighbouring introduced icon list together. */
.rd-content { container-type: inline-size; }
.rd-parallel-content { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; clear: both; margin: 1.2em 0; }
.rd-parallel-content > div { min-width: 0; }
.rd-parallel-content > div > :first-child { margin-top: 0; }
.rd-parallel-content > div > :last-child { margin-bottom: 0; }
@container (min-width: 680px) {
  .rd-parallel-content { grid-template-columns: minmax(0,var(--rd-column-left, 1fr)) minmax(0,1fr); }
}
/* Long PDF headings must wrap inside narrow preview columns. */
.rd-content .rd-h { overflow-wrap: anywhere; }

.rd-table-symbol { display:inline-block; width:15px; height:15px; object-fit:contain; vertical-align:middle; margin:0 4px; max-width:none; }
.rd-table-legend { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0 0 16px; font-size:.875rem; }
.rd-table-legend > span { display:inline-flex; align-items:center; gap:4px; }

/* ------------------------------------------------------------------ Barrierefreiheit (Audit 2026-09-23) */
.rd-skip {
	position: absolute; left: 12px; top: -60px; z-index: 100;
	padding: 10px 16px; background: var(--rd-ink); color: #fff; border-radius: 6px;
	font-size: 14px; text-decoration: none;
}
.rd-skip:focus { top: 10px; }
.rd-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible, #rd-q:focus-visible {
	outline: 3px solid var(--rd-accent); outline-offset: 2px;
}
main:focus { outline: none; }
.rd-content { overflow-wrap: break-word; }
.rd-content a[href^="http"], .rd-content a[href^="mailto:"] { overflow-wrap: anywhere; }
.rd-footnote { font-size: .85em; margin: .6em 0; color: var(--rd-ink-soft); }
.rd-content sup, .rd-content sub { font-size: .7em; line-height: 0; }
/* Auszeichnungen aus dem PDF: Schreibmaschinenschrift, Kapitaelchen (inline_runs) */
.rd-content .rd-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; }
.rd-content .rd-sc { font-variant-caps: small-caps; }
.rd-content sup a { text-decoration: none; padding: 0 1px; }
@media (max-width: 560px) {
	.rd-top { height: auto; min-height: var(--rd-top-h); flex-wrap: wrap; padding: 8px 12px; gap: 8px; }
	.rd-top-title { flex-basis: 100%; order: 3; }
	.rd-top-actions { flex: 1 1 auto; flex-wrap: wrap; justify-content: flex-end; }
	.rd-search { flex: 1 1 140px; }
	#rd-q, #rd-q:focus { width: 100%; }
	.rd-results { width: calc(100vw - 24px); right: -12px; }
}

/* Nummerierte Listen: gedruckte Nummer als Text, keine automatische Zaehlung */
.rd-list-num { list-style: none; padding-left: 0; }
.rd-list-num > li { position: relative; padding-left: 2.2em; }
.rd-li-num { position: absolute; left: 0; font-variant-numeric: tabular-nums; }

/* Tabellenbeschriftung unter der Tabelle, wenn sie im PDF dort steht */
.rd-table caption.rd-caption-below { caption-side: bottom; margin-top: .5em; }

/* Dev-Bibliothek: Werkzeuglinks unter der Karte */
.rd-card-tools { display: flex; gap: .75rem; padding: .4rem .9rem .7rem; font-size: .85rem; }
.rd-card-tools a { color: var(--rd-link, #1a5fb4); }

/* Adressen in schmalen Tabellenspalten: an Punkten umbrechen statt mitten im Wort */
.rd-table td, .rd-table th { overflow-wrap: normal; hyphens: manual; }
/* lange URLs nur umbrechen, wenn sie sonst aus der Zelle ragen (RBI S. 350/351, 375) */
.rd-table .rd-url { white-space: normal; overflow-wrap: anywhere; }
/* Übersetzungen haben längere Wörter („Zeitschriftenartikel“): Silbentrennung, damit die Tabelle wie im
   Original in die Spalte passt (lang ist je Fassung gesetzt) */
.rd-tr .rd-table td, .rd-tr .rd-table th { hyphens: auto; }
.rd-tr .rd-table .rd-url, .rd-tr .rd-table [lang] { hyphens: manual; }

/* im PDF durchgekreuzte Tabellenfelder (Vorlagen wie die EU-Taxonomie) */
.rd-table td.rd-cell-x {
	background:
		linear-gradient(to top right, transparent calc(50% - .6px), var(--rd-ink-faint) 50%, transparent calc(50% + .6px)),
		linear-gradient(to bottom right, transparent calc(50% - .6px), var(--rd-ink-faint) 50%, transparent calc(50% + .6px));
	min-width: 2.2em;
}
/* Windows-Kontrastdesigns (forced colors) zeichnen keine Hintergrundbilder: Kreuz als Zeichen */
@media (forced-colors: active) {
	.rd-table td.rd-cell-x { background: none; text-align: center; }
	.rd-table td.rd-cell-x::after { content: "✕" / ""; color: CanvasText; }
}
/* Rückmeldung nach dem Kopieren in der Sprache des Berichts */
:lang(en) .rd-anchor.is-copied::after { content: "Link copied"; }
:lang(en) .rd-anchor.is-failed::after { content: "Copying not possible"; }

/* hervorgehobenes Zitat (Magazin-Pullquote): Farbe aus dem PDF (--rd-quote), sonst Akzentfarbe */
.rd-pullquote { margin: 1.4em 0 .3em; padding: .1em 0 .1em 1em; border-left: 4px solid var(--rd-quote, var(--rd-accent)); }
.rd-pullquote p { margin: 0; color: var(--rd-quote, var(--rd-accent)); font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: 1.22em; line-height: 1.35; }
.rd-pullquote + .rd-pullquote { margin-top: 0; padding-top: .5em; }
.rd-quote-source { margin: .3em 0 1.4em 1.25em; color: var(--rd-quote, var(--rd-ink-soft)); font-family: Georgia, 'Times New Roman', serif; }

/* ------------------------------------------------------------------ große Berichte
   Mehr als 1200 Blöcke (Lenzing: 293 Seiten auf einer Seite): der Browser berechnet und zeichnet zuerst nur,
   was im Bild ist. Die Höhe der übrigen Blöcke ist geschätzt, viewer.js misst sie im Leerlauf nach, danach
   stimmen Seitenlänge und Sprungziele genau. Messung Lenzing, viermal gedrosselter Rechner: 9,1 s -> 3,3 s. */
html:not(.rd-nocv) .rd-big > * { content-visibility: auto; contain-intrinsic-size: auto 150px; overflow-clip-margin: 48px; }
html:not(.rd-nocv) .rd-big > .rd-h, html:not(.rd-nocv) .rd-big > .rd-ov-h { contain-intrinsic-size: auto 76px; }
html:not(.rd-nocv) .rd-big > .rd-table-wrap { contain-intrinsic-size: auto 560px; }
html:not(.rd-nocv) .rd-big > figure, html:not(.rd-nocv) .rd-big > .rd-figure { contain-intrinsic-size: auto 420px; }
/* die Eingrenzung schneidet ab, was über den Block hinausragt (Link-Kästchen links, Markierung des Sprungziels) */
html:not(.rd-nocv) .rd-big > :hover, html:not(.rd-nocv) .rd-big > :focus-within, html:not(.rd-nocv) .rd-big > .rd-target { content-visibility: visible; }
@media print { .rd-big > * { content-visibility: visible; } }

/* Hinweis unter dem Bericht, solange ein großer Bericht seine Kapitel nachlädt */
.rd-more { margin: 28px auto 60px; text-align: center; color: var(--rd-ink-soft); font-size: 14px; }

/* Links in Zellen mit Füllfarbe: Farbe der Zellschrift (4,5:1 gegen die Füllung, lib.php setzt sie) und
   unterstrichen, damit sie nicht nur über die Farbe erkennbar sind (WCAG 1.4.3, 1.4.1; AAR2 S. 130, 29.10.2026) */
.rd-table td[style*="background"] a, .rd-table th[style*="background"] a { color: var(--rd-cell-link, inherit); text-decoration: underline; }
.rd-table td[style*="background"] sup a, .rd-table th[style*="background"] sup a { text-decoration: none; }

/* Tabellenzellen mit mehreren Verweisen untereinander (RBI): Abstand für die Mindestgröße der Klickziele (WCAG 2.5.8) */
.rd-table td:has(a[href^="#"] ~ a[href^="#"]) { line-height: 1.95; }

/* Aufzählung mit gedruckten Markern im Text ("a.", "2.", "(iii)"): kein zusätzlicher Punkt */
ul.rd-list-enum { list-style: none; }
ul.rd-list:not(.rd-list-enum) > li.rd-li-enum { list-style: none; margin-left: 22px; }
/* Listenebenen wie im PDF eingerückt: Ebene 2 Kreis, Ebene 3 Quadrat */
.rd-list > li.rd-li-l2 { margin-left: 24px; list-style-type: circle; }
.rd-list > li.rd-li-l3 { margin-left: 48px; list-style-type: square; }
/* eingerücktes Zitat im Fließtext */
.rd-blockquote { margin: 0 0 18px 2em; padding: 0; }
.rd-blockquote p { margin: 0; }

/* Rahmenkasten wie im PDF (refine op box): Steckbriefe, Fallbeschreibungen. Dünner dunkler Rahmen, Titel in
   Textfarbe statt Überschriftenfarbe, engere Abstände; Zeilen „Bezeichnung | Wert“ zweispaltig */
.rd-box { border: 1px solid var(--rd-ink); padding: 12px 16px 4px; margin: 0 0 22px; }
.rd-box > .rd-h { color: var(--rd-ink); font-size: 1rem; font-style: normal; margin: 0 0 10px; }
.rd-box .rd-p { margin-bottom: 10px; }
.rd-box .rd-list { margin-bottom: 10px; }
.rd-box .rd-list li { margin-bottom: 4px; }
.rd-kv { display: grid; grid-template-columns: minmax(7.5em, max-content) 1fr; column-gap: 1.6em; }
.rd-kv-val { display: flex; align-items: baseline; gap: .45em; }
.rd-kv-val > .rd-dot { flex: none; align-self: center; }
.rd-dot { display: inline-block; width: .95em; height: .95em; border-radius: 50%; }
.rd-glyph { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }
.rd-list li.rd-li-mark { list-style: none; }
.rd-list li.rd-li-mark::before { content: attr(data-mark); position: absolute; left: -1.35em; }
@media (max-width: 560px) { .rd-kv { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ Sammlungen (Demo 30.10.2026) */
/* Auswahl der Berichte einer Sammlung im Kopf: gleiche Bauart wie die Sprachauswahl */
.rd-collmenu { position: relative; flex: 0 0 auto; }
.rd-collmenu summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
	min-height: 32px; padding: 4px 10px 4px 12px; font-size: 12.5px; line-height: 1.2; color: var(--rd-ink-soft);
	background: #fff; border: 1px solid var(--rd-line); border-radius: 999px; white-space: nowrap; }
.rd-collmenu summary::-webkit-details-marker { display: none; }
.rd-collmenu summary::after { content: '▾'; font-size: 10px; }
/* offene Liste: durchsichtige Fläche über der Seite, damit nichts halb verdeckt klickbar bleibt (nur mit Skript) */
.rd-collmenu.rd-js[open]::before { content: ''; position: fixed; inset: 0; z-index: 45; cursor: default; }
.rd-collmenu summary { position: relative; z-index: 51; }
.rd-collmenu-cur { font-weight: 700; color: var(--rd-accent); font-variant-numeric: tabular-nums; }
.rd-collmenu[open] summary, .rd-collmenu summary:hover { color: var(--rd-accent); border-color: var(--rd-accent); }
.rd-collmenu-panel { position: absolute; left: 0; top: calc(100% + 6px); z-index: 50; width: min(440px, calc(100vw - 24px));
	background: #fff; border: 1px solid var(--rd-line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); padding: 6px 0; }
.rd-collmenu-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0;
	padding: 6px 14px 8px; border-bottom: 1px solid var(--rd-line-soft); font-size: 12px; color: var(--rd-ink-faint); }
.rd-collmenu-head a { font-weight: 600; font-size: 13px; display: inline-block; padding: 4px 0; }
.rd-collmenu-list { list-style: none; margin: 0; padding: 4px 0 0; }
.rd-collmenu-list a { display: grid; grid-template-columns: 3.4em minmax(0, 1fr) auto; gap: 10px; align-items: baseline;
	padding: 9px 14px; font-size: 13.5px; line-height: 1.35; color: var(--rd-ink); text-decoration: none;
	border-left: 3px solid transparent; }
.rd-collmenu-list a:hover, .rd-collmenu-list a:focus { background: var(--rd-accent-soft); color: var(--rd-accent); }
.rd-collmenu-list a.is-on { border-left-color: var(--rd-accent); background: var(--rd-accent-soft); color: var(--rd-accent); font-weight: 600; }
.rd-collmenu-code { font-weight: 700; font-size: 12px; color: var(--rd-ink-soft); font-variant-numeric: tabular-nums; }
.rd-collmenu-list a.is-on .rd-collmenu-code { color: var(--rd-accent); }
.rd-collmenu-name { min-width: 0; }
.rd-collmenu-lang { font-size: 11px; font-weight: 600; color: var(--rd-ink-faint); }
@media (max-width: 880px) { .rd-collmenu-coll { display: none; } }
/* Handy: Liste über die ganze Breite unter der Kopfzeile (die Kopfzeile ist der Bezugsrahmen) */
@media (max-width: 560px) {
	.rd-collmenu { position: static; }
	.rd-collmenu summary { min-height: 44px; }
	.rd-collmenu-panel { left: 12px; right: 12px; width: auto; top: calc(100% - 2px); max-height: 70vh; overflow-y: auto; }
	.rd-collmenu-list a { min-height: 44px; }
}

/* Übersichtsseite einer Sammlung (collection.php) und Abschnitt in der Bibliothek */
.rd-lib-h2 { font-size: 18px; margin: 30px 0 12px; }
.rd-lib-h2:first-of-type { margin-top: 0; }
.rd-coll h1 { line-height: 1.2; }
.rd-coll-count { margin: -18px 0 26px; font-size: 13px; color: var(--rd-ink-faint); }
.rd-coll-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.rd-coll-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px 22px;
	background: #fff; border: 1px solid var(--rd-line); border-radius: 10px; }
.rd-coll-card.has-cover { grid-template-columns: 120px minmax(0, 1fr); }
.rd-coll-card:hover { border-color: var(--rd-accent); box-shadow: 0 6px 18px rgba(20, 22, 40, .07); }
.rd-coll-cover { display: block; width: 120px; height: auto; aspect-ratio: 120 / 170; object-fit: cover; object-position: top;
	border-radius: 4px; box-shadow: 0 2px 8px rgba(20, 22, 40, .14); }
.rd-coll-body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.rd-coll-title { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 640; }
.rd-coll-title a { color: var(--rd-ink); text-decoration: none; }
/* ganze Karte klickbar, die Sprach-Links liegen darüber */
.rd-coll-title a::after { content: ''; position: absolute; inset: 0; border-radius: 10px; }
.rd-coll-title a:hover { color: var(--rd-accent); }
.rd-coll-title a:focus-visible { outline: none; }
.rd-coll-title a:focus-visible::after { outline: 3px solid var(--rd-accent); outline-offset: 2px; }
.rd-coll-code { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 999px; font-size: 13px; font-weight: 700;
	color: var(--rd-accent); background: var(--rd-accent-soft); font-variant-numeric: tabular-nums; vertical-align: 1px; }
.rd-coll-sum { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--rd-ink-soft); max-width: 70ch; }
.rd-coll-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: auto; font-size: 12.5px; color: var(--rd-ink-faint); }
@media (max-width: 560px) {
	.rd-lib { padding: 28px 16px 60px; }
	.rd-lib h1 { font-size: 25px; }
	/* Titelbild klein neben dem Titel, Kurztext und Angaben über die ganze Breite */
	.rd-coll-card, .rd-coll-card.has-cover { grid-template-columns: 64px minmax(0, 1fr); gap: 12px 14px; padding: 16px; align-items: start; }
	.rd-coll-card:not(.has-cover) { grid-template-columns: minmax(0, 1fr); }
	.rd-coll-body { display: contents; }
	.rd-coll-cover { width: 64px; }
	.rd-coll-title { font-size: 16px; align-self: center; }
	.rd-coll-code { display: table; margin: 0 0 6px; }
	.rd-coll-sum, .rd-coll-meta { grid-column: 1 / -1; }
	.rd-coll-sum { font-size: 14px; }
}
@media (forced-colors: active) { .rd-collmenu-list a.is-on { border-left-color: Highlight; } }
