/* HOAI.de – BGH-Entscheidungssuche
   Alles unter .bghs gekapselt, damit nichts ins Theme ausblutet und umgekehrt.
   Farben als Custom Properties: im Theme ueberschreibbar. */

.bghs {
	--bghs-ink: #1b1f2a;
	--bghs-muted: #59636f;
	--bghs-paper: #f6f8fa;
	--bghs-surface: #fff;
	--bghs-line: #d5dce5;
	--bghs-accent: #2f4b7c;
	--bghs-accent-soft: #e7edf6;
	--bghs-flag: #97382c;
	--bghs-flag-soft: #f7eae7;
	--bghs-mark: #fff0c2;
	--bghs-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	--bghs-radius: 5px;

	color: var(--bghs-ink);
	font-size: 16px;
	line-height: 1.6;
	box-sizing: border-box;

	/* Luft zum Text darueber und eine ruhige Lesebreite fuer juristische Texte. */
	margin-top: 2.4rem;
	max-width: 62rem;
}
.bghs *,
.bghs *::before,
.bghs *::after { box-sizing: inherit; }

/* Kein automatischer Dunkelmodus: Die Seite drumherum (HOAI.de) ist immer
   hell. Folgt das Plugin allein dem Betriebssystem, steht helle Schrift auf
   weissem Grund - so geschehen auf Windows-Rechnern im Dunkelmodus.
   color-scheme haelt auch Auswahllisten und Haekchen hell. */
.bghs, .bghs-detail { color-scheme: light; }

/* "hidden" muss gelten, auch wenn eine eigene display-Regel (grid, flex) daneben
   steht - sonst haengt es vom Theme ab, ob Filter und Blaetterleiste verschwinden. */
.bghs [hidden], .bghs-detail[hidden] { display: none !important; }

.bghs-titel { margin: 0 0 18px; }

/* ---------- Suchleiste ---------- */
.bghs-suchfeld { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; }
.bghs-suchfeld input[type="search"],
.bghs-suchfeld input[type="text"] {
	flex: 1 1 280px; min-width: 0;
	padding: 12px 14px;
	font: inherit; font-size: 1.02rem;
	color: var(--bghs-ink); background: var(--bghs-surface);
	border: 1px solid var(--bghs-line); border-radius: var(--bghs-radius);
}
.bghs-suchfeld input:focus-visible,
.bghs select:focus-visible,
.bghs button:focus-visible {
	outline: 2px solid var(--bghs-accent); outline-offset: 1px;
}
.bghs-btn {
	padding: 12px 22px; font: inherit; font-weight: 600; cursor: pointer;
	color: #fff; background: var(--bghs-accent);
	border: 1px solid var(--bghs-accent); border-radius: var(--bghs-radius);
}
.bghs-btn:hover { filter: brightness(1.08); }
.bghs-btn-schlicht {
	color: var(--bghs-accent); background: none; border-color: var(--bghs-line);
	font-weight: 400;
}

/* Modus-Umschalter */
.bghs-modus { display: inline-flex; border: 1px solid var(--bghs-line); border-radius: var(--bghs-radius); overflow: hidden; }
.bghs-modus button {
	padding: 12px 16px; font: inherit; font-size: .92rem; cursor: pointer;
	background: var(--bghs-surface); color: var(--bghs-muted); border: 0;
	border-left: 1px solid var(--bghs-line);
}
.bghs-modus button:first-child { border-left: 0; }
.bghs-modus button[aria-pressed="true"] { background: var(--bghs-accent-soft); color: var(--bghs-accent); font-weight: 600; }

/* ---------- Erweiterte Suche ---------- */
.bghs-mehr {
	margin-top: 16px; font-size: .92rem; color: var(--bghs-accent);
	background: none; border: 0; padding: 4px 0; cursor: pointer; font-family: inherit;
}
.bghs-filter {
	display: grid; gap: 14px 18px; margin-top: 16px; padding: 20px;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	background: var(--bghs-paper); border: 1px solid var(--bghs-line); border-radius: var(--bghs-radius);
}
.bghs-filter label { display: block; font-size: .78rem; font-weight: 600; color: var(--bghs-muted); margin-bottom: 4px; }
.bghs-filter select,
.bghs-filter input {
	width: 100%; padding: 8px 10px; font: inherit; font-size: .92rem;
	color: var(--bghs-ink); background: var(--bghs-surface);
	border: 1px solid var(--bghs-line); border-radius: 4px;
}
.bghs-norm { display: flex; gap: 8px; }
.bghs-norm select { flex: 1 1 auto; }
.bghs-norm input { flex: 0 1 90px; }
.bghs-haken { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; grid-column: 1 / -1; } /* eigene Zeile, sonst bricht "nur Leitsatzentscheidungen" in schmalen Spalten um */
.bghs-haken span { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; color: var(--bghs-ink); }
.bghs-haken input { width: auto; }
.bghs-haken .bghs-aus { opacity: .45; cursor: not-allowed; }

/* ---------- Ergebniskopf ---------- */
.bghs-kopf {
	display: flex; justify-content: space-between; align-items: baseline; gap: 14px;
	flex-wrap: wrap; margin: 34px 0 2px;
	padding-bottom: 12px; border-bottom: 1px solid var(--bghs-line);
}
.bghs-anzahl { font-size: .95rem; color: var(--bghs-muted); }
.bghs-anzahl b { color: var(--bghs-ink); font-variant-numeric: tabular-nums; }
.bghs-sort { display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--bghs-muted); }
.bghs-sort select { padding: 5px 8px; font: inherit; font-size: .88rem; color: var(--bghs-ink);
	background: var(--bghs-surface); border: 1px solid var(--bghs-line); border-radius: 4px; }

/* ---------- Trefferliste ---------- */
.bghs-liste { list-style: none; margin: 0; padding: 0; }
.bghs-treffer { padding: 22px 0; border-bottom: 1px solid var(--bghs-line); }
.bghs-treffer:first-child { padding-top: 14px; }
.bghs-zeile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; row-gap: 6px; }
.bghs-az {
	font-family: var(--bghs-mono); font-size: .95rem; font-weight: 500;
	color: var(--bghs-accent); background: none; border: 0; padding: 0;
	cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: 2px;
}
.bghs-datum { font-size: .88rem; color: var(--bghs-muted); font-variant-numeric: tabular-nums; }
.bghs-tag {
	font-size: .72rem; letter-spacing: .04em; text-transform: uppercase;
	padding: 2px 7px; border-radius: 3px;
	background: var(--bghs-accent-soft); color: var(--bghs-accent);
}
.bghs-tag-warn { background: var(--bghs-flag-soft); color: var(--bghs-flag); }
.bghs-fundstelle {
	font-family: var(--bghs-mono); font-size: .8rem; color: var(--bghs-muted);
	margin-left: auto;
}
.bghs-gericht {
	font-size: .78rem; font-weight: 600; letter-spacing: .04em;
	color: var(--bghs-muted); padding-right: 2px;
}
.bghs-schlagwort { margin: 6px 0 0; font-size: .95rem; font-style: italic; color: var(--bghs-ink); }
.bghs-nk { font-size: .84rem; color: var(--bghs-muted); margin: 8px 0 0; }
.bghs-schnipsel { margin: 10px 0 0; font-size: .95rem; line-height: 1.62; }
.bghs-schnipsel mark { background: var(--bghs-mark); color: inherit; padding: 0 2px; border-radius: 2px; }

/* ---------- Blaettern ---------- */
.bghs-blaettern { display: flex; gap: 10px; align-items: center; justify-content: center; margin-top: 32px; }
.bghs-blaettern button {
	padding: 8px 16px; font: inherit; font-size: .9rem; cursor: pointer;
	color: var(--bghs-accent); background: var(--bghs-surface);
	border: 1px solid var(--bghs-line); border-radius: var(--bghs-radius);
}
.bghs-blaettern button[disabled] { opacity: .4; cursor: default; }
.bghs-blaettern span { font-size: .88rem; color: var(--bghs-muted); font-variant-numeric: tabular-nums; }

/* ---------- Detailansicht ---------- */
.bghs-detail {
	position: fixed; inset: 0; z-index: 99999;
	display: flex; justify-content: center; align-items: flex-start;
	background: rgba(12, 16, 24, .55); padding: 24px 16px; overflow-y: auto;
}
.bghs-detail[hidden] { display: none !important; }
.bghs-dinner {
	width: 100%; max-width: 820px; margin: auto;
	background: var(--bghs-surface); border-radius: 6px; padding: 28px 30px 34px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
}
.bghs-dschliessen {
	float: right; font-size: 1.5rem; line-height: 1; cursor: pointer;
	background: none; border: 0; color: var(--bghs-muted); padding: 0 4px;
}
.bghs-dinner h3 { font-family: var(--bghs-mono); font-size: 1.1rem; margin: 0 0 4px; color: var(--bghs-ink); }
/* Zitierfaehige Ueberschrift: "BGH, Urteil vom 9. Februar 2012 – VII ZR 31/11" */
.bghs-dinner .bghs-dtitel {
	font-family: inherit; font-size: 1.25rem; font-weight: 600; line-height: 1.3;
	margin: 0 0 6px; padding-right: 110px;
	color: var(--bghs-ink); letter-spacing: normal; text-transform: none;
}
/* Ab 1.6.0 stehen die Knöpfe unter der Überschrift - rechts nur noch das Schließen-Kreuz. */
.bghs-entscheidung .bghs-dtitel { padding-right: 40px; }
.bghs-daz { font-family: var(--bghs-mono); font-weight: 500; white-space: nowrap; }
.bghs-dschlagwort { margin: 0 0 8px; font-size: 1.02rem; font-style: italic; color: var(--bghs-ink); }
.bghs-dmeta { font-size: .9rem; color: var(--bghs-muted); margin: 0 0 18px; }
.bghs-abschnitt { margin-top: 22px; }
.bghs-abschnitt h4 {
	font-size: .76rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--bghs-muted); margin: 0 0 6px; font-weight: 600;
}
.bghs-abschnitt p { margin: 0; font-size: .96rem; }
.bghs-warnleiste {
	background: var(--bghs-flag-soft); border-left: 3px solid var(--bghs-flag);
	padding: 12px 16px; font-size: .9rem; margin-top: 18px; border-radius: 0 4px 4px 0;
}
/* Randnummern gehören an den Rand, nicht in den Vordergrund: keine Trennlinie
   je Absatz, schmale rechtsbündige Spalte, zurückgenommene Farbe. */
.bghs-rn { margin-top: 0; padding-top: 15px; display: flex; gap: 18px; }
.bghs-rn-nr {
	flex: 0 0 46px; text-align: right; padding-top: 3px;
	font-family: var(--bghs-mono); font-size: .72rem; line-height: 1.5;
	color: var(--bghs-muted); opacity: .7;
}
.bghs-rn-abs { display: block; font-size: .9em; opacity: .75; }
.bghs-rn-text { flex: 1 1 auto; margin: 0; font-size: .94rem; white-space: pre-line; } /* Tabellen- und Listenzeilen */

/* Entscheidungen ohne amtliche Randnummern: keine Zahl am Rand, sondern eine
   Marke dort, wo im Original die Seite wechselt – danach wird zitiert. */
.bghs-rn-ohne { padding-top: 12px; }
.bghs-seitenmarke {
	display: flex; align-items: center; gap: 12px;
	margin: 22px 0 0; padding-top: 3px;
	font-family: var(--bghs-mono); font-size: .68rem; letter-spacing: .1em;
	color: var(--bghs-muted); opacity: .65;
}
.bghs-seitenmarke::before,
.bghs-seitenmarke::after {
	content: ""; flex: 1 1 auto; border-top: 1px solid var(--bghs-line);
}
.bghs-seitenmarke span { flex: 0 0 auto; }
.bghs-seitenmarke:first-child { margin-top: 6px; }
.bghs-seitenmarke + .bghs-rn-ohne { padding-top: 6px; }

/* ---------- Zustände ---------- */
.bghs-hinweis { padding: 28px 0; color: var(--bghs-muted); font-size: .95rem; text-align: center; }
.bghs-fehler { color: var(--bghs-flag); }
.bghs-laedt { opacity: .5; }

@media (max-width: 560px) {
	.bghs { font-size: 15px; }
	.bghs-dinner .bghs-dtitel { font-size: 1.1rem; padding-right: 0; margin-top: 34px; }
	.bghs-einzel .bghs-dinner .bghs-dtitel { font-size: 1.25rem; margin-top: 0; }
	.bghs-suchfeld { flex-direction: column; }
	.bghs-modus { width: 100%; }
	.bghs-modus button { flex: 1 1 0; }
	.bghs-fundstelle { margin-left: 0; width: 100%; }
	.bghs-dinner { padding: 22px 18px 28px; }
	.bghs-rn { flex-direction: column; gap: 4px; }
	.bghs-rn-nr { flex-basis: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.bghs * { transition: none !important; animation: none !important; }
}

/* ---------- WordPress-Adminleiste ---------- */
/* Die Adminleiste liegt fix ueber der Seite und wuerde sonst Titel und
   Schliessen-Schaltflaeche der Detailansicht verdecken. Nur fuer angemeldete
   Nutzer sichtbar, Besucher merken davon nichts. */
body.admin-bar .bghs-detail { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .bghs-detail { top: 46px; }
}

/* ---------- Drucken-Schaltfläche und Quellenangabe ---------- */
.bghs-ddrucken {
	float: right; margin: 2px 14px 0 0; padding: 4px 12px;
	font: inherit; font-size: .82rem; cursor: pointer;
	color: var(--bghs-accent); background: none;
	border: 1px solid var(--bghs-line); border-radius: 4px;
}
.bghs-ddrucken:hover { background: var(--bghs-accent-soft); }
.bghs-druckquelle { display: none; }

/* Das Detailfenster hängt direkt an <body> und darf die Maße von .bghs nicht erben. */
.bghs-detail { margin-top: 0; max-width: none; }

/* ---------- Druck ---------- */
@media print {
	@page { margin: 2cm; }

	/* Bedienelemente haben auf Papier nichts verloren. */
	.bghs-form, .bghs-sort, .bghs-blaettern,
	.bghs-dschliessen, .bghs-ddrucken { display: none !important; }

	.bghs { max-width: none; margin-top: 0; font-size: 11pt; color: #000; }
	.bghs-treffer { break-inside: avoid; padding: 10pt 0; }
	.bghs-az { color: #000; text-decoration: none; }
	.bghs-tag { border: 0.5pt solid #000; background: none; color: #000; }

	/* Ist eine Entscheidung geöffnet, wird nur sie gedruckt - und zwar vollständig,
	   über alle Seiten. Das Fenster ist dafür kein Overlay mehr, sondern normaler Fluss. */
	body.bghs-detail-offen > *:not(.bghs-detail) { display: none !important; }
	body.bghs-detail-offen .bghs-detail {
		position: static; display: block; overflow: visible;
		background: none; padding: 0;
	}
	body.bghs-detail-offen .bghs-dinner {
		max-width: none; margin: 0; padding: 0;
		background: none; box-shadow: none; border-radius: 0;
	}

	.bghs-dinner h3 { font-size: 14pt; margin-bottom: 2pt; }
	.bghs-dinner .bghs-dtitel { font-size: 14pt; padding-right: 0; }

	/* Eigene Seite: nur die Entscheidung aufs Papier, ohne Kopf und Fuß der Website. */
	.bghs-zurueck, .bghs-werkzeuge, .bghs-kopie { display: none !important; }
	body.bghs-einzelseite .elementor-location-header,
	body.bghs-einzelseite .elementor-location-footer,
	body.bghs-einzelseite .site-header,
	body.bghs-einzelseite .site-footer,
	body.bghs-einzelseite header.wp-block-template-part,
	body.bghs-einzelseite footer.wp-block-template-part,
	body.bghs-einzelseite #wpadminbar { display: none !important; }

	.bghs-dschlagwort { font-size: 11pt; margin-bottom: 6pt; }
	.bghs-gericht { font-size: 8pt; }
	.bghs-dmeta { font-size: 9pt; margin-bottom: 12pt; }
	/* Kein break-inside hier: der Entscheidungstext ist ein einziger Abschnitt
	   und muss über die Seiten laufen dürfen. Geschützt werden nur die
	   einzelnen Randnummern und der Warnhinweis. */
	.bghs-abschnitt { margin-top: 12pt; }
	.bghs-abschnitt h4 { break-after: avoid; }
	.bghs-abschnitt h4 { font-size: 8pt; letter-spacing: .08em; }
	.bghs-abschnitt p { font-size: 10.5pt; line-height: 1.45; }
	.bghs-rn { break-inside: avoid; padding-top: 9pt; margin-top: 0; border: 0; }
	.bghs-rn-nr { flex: 0 0 32pt; text-align: right; font-size: 7.5pt; opacity: .75; }
	.bghs-rn-text { font-size: 10.5pt; line-height: 1.45; }

	/* Die Seitenmarke gehoert aufs Papier: sie traegt die Fundstelle. */
	.bghs-seitenmarke {
		margin: 12pt 0 0; padding-top: 0; font-size: 7.5pt; opacity: 1;
		color: #000; break-after: avoid; break-inside: avoid;
	}
	.bghs-seitenmarke::before,
	.bghs-seitenmarke::after { border-top: .5pt solid #000; }
	.bghs-rn-ohne { padding-top: 7pt; }
	.bghs-seitenmarke + .bghs-rn-ohne { padding-top: 4pt; }

	/* Der Hinweis auf nicht amtliche Randnummern muss mit aufs Papier. */
	.bghs-warnleiste {
		border: 1pt solid #000; border-left-width: 3pt;
		background: none; color: #000; padding: 7pt 9pt; break-inside: avoid;
	}

	/* Fundstelle und Abrufdatum unter den Text - für die Akte. */
	.bghs-druckquelle {
		display: block; margin-top: 16pt; padding-top: 6pt;
		border-top: 0.5pt solid #000; font-size: 8pt; color: #000;
	}
}

/* ---------- Eigene Seite einer Entscheidung, Randnummer-Links, Zitieren (ab 1.6.0) ---------- */
.bghs-einzel .bghs-dinner {
	max-width: none; margin: 0; padding: 0;
	background: none; box-shadow: none; border-radius: 0;
}
.bghs-einzel .bghs-dinner .bghs-dtitel { font-size: 1.5rem; padding-right: 0; }
.bghs-zurueck { margin: 0 0 18px; font-size: .92rem; }
.bghs-zurueck a { color: var(--bghs-accent); text-decoration: none; }
.bghs-zurueck a:hover { text-decoration: underline; }

a.bghs-az { display: inline; }

.bghs-werkzeuge {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px;
	margin: 12px 0 8px; padding: 0;
}
/* Abstand zu Vorinstanzen/ECLI auch dann, wenn das Theme den Absatzabstand wegnimmt. */
.bghs .bghs-entscheidung .bghs-dmeta { margin: 0; }
.bghs .bghs-wz {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 2px 0; font: inherit; font-size: .86rem; line-height: 1.4; cursor: pointer;
	color: var(--bghs-accent); background: none; border: 0; border-radius: 0;
	text-decoration: none; box-shadow: none; text-transform: none; letter-spacing: normal;
}
.bghs .bghs-wz::before {
	content: ""; flex: 0 0 auto; width: 15px; height: 15px; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.6 9.4a2.8 2.8 0 0 0 4 0l2.3-2.3a2.8 2.8 0 0 0-4-4l-.9.9M9.4 6.6a2.8 2.8 0 0 0-4 0L3.1 8.9a2.8 2.8 0 0 0 4 4l.9-.9' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.6 9.4a2.8 2.8 0 0 0 4 0l2.3-2.3a2.8 2.8 0 0 0-4-4l-.9.9M9.4 6.6a2.8 2.8 0 0 0-4 0L3.1 8.9a2.8 2.8 0 0 0 4 4l.9-.9' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
}
.bghs .bghs-wz.bghs-ddrucken::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6V1.8h7V6M4.5 11.5H2.8c-.7 0-1.3-.6-1.3-1.3V7.3c0-.7.6-1.3 1.3-1.3h10.4c.7 0 1.3.6 1.3 1.3v2.9c0 .7-.6 1.3-1.3 1.3h-1.7M4.5 9.5h7v4.7h-7z' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6V1.8h7V6M4.5 11.5H2.8c-.7 0-1.3-.6-1.3-1.3V7.3c0-.7.6-1.3 1.3-1.3h10.4c.7 0 1.3.6 1.3 1.3v2.9c0 .7-.6 1.3-1.3 1.3h-1.7M4.5 9.5h7v4.7h-7z' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bghs .bghs-wz:hover, .bghs .bghs-wz:focus-visible { text-decoration: underline; text-underline-offset: 3px; background: none; }
.bghs .bghs-wz.bghs-ok { color: #2e7d4f; }
/* Der alte Drucken-Knopf schwebte rechts; in der Werkzeugleiste steht er im Fluss. */
.bghs .bghs-werkzeuge .bghs-ddrucken { float: none; margin: 0; padding: 2px 0; border: 0; }
.bghs-meldung { font-size: .82rem; color: var(--bghs-muted); }

/* Randspalte: Nummer (Link auf genau diese Rn.) und darunter der Zitier-Knopf. */
.bghs-rn { scroll-margin-top: 120px; }
.bghs-rn-rand {
	flex: 0 0 46px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px;
	padding-top: 3px;
}
.bghs-rn-rand .bghs-rn-nr { flex: none; padding-top: 0; }
a.bghs-rn-nr { color: var(--bghs-muted); text-decoration: none; }
a.bghs-rn-nr:hover, a.bghs-rn-nr:focus-visible { color: var(--bghs-accent); opacity: 1; text-decoration: underline; }
.bghs .bghs-kopie {
	width: 16px; height: 16px; padding: 0; border: 0; cursor: pointer;
	background-color: var(--bghs-muted); opacity: 0; transition: opacity .15s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 4.5V2.8c0-.7.6-1.3 1.3-1.3h6.4c.7 0 1.3.6 1.3 1.3v6.4c0 .7-.6 1.3-1.3 1.3h-1.7M2.8 5.5h6.4c.7 0 1.3.6 1.3 1.3v6.4c0 .7-.6 1.3-1.3 1.3H2.8c-.7 0-1.3-.6-1.3-1.3V6.8c0-.7.6-1.3 1.3-1.3z' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 4.5V2.8c0-.7.6-1.3 1.3-1.3h6.4c.7 0 1.3.6 1.3 1.3v6.4c0 .7-.6 1.3-1.3 1.3h-1.7M2.8 5.5h6.4c.7 0 1.3.6 1.3 1.3v6.4c0 .7-.6 1.3-1.3 1.3H2.8c-.7 0-1.3-.6-1.3-1.3V6.8c0-.7.6-1.3 1.3-1.3z' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
}
.bghs-rn:hover .bghs-kopie, .bghs-ziel .bghs-kopie, .bghs-kopie:focus-visible { opacity: .6; }
.bghs-kopie:hover { opacity: 1; background-color: var(--bghs-accent); }
.bghs-kopie.bghs-ok {
	opacity: 1; background-color: #2e7d4f;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E");
}
/* Auf Touch-Geräten gibt es kein Darüberfahren: Knopf dezent immer zeigen. */
@media (hover: none) { .bghs .bghs-kopie { opacity: .45; } }

/* Ziel eines Links (#rn24) oder Suchtreffers */
.bghs-ziel .bghs-rn-text {
	background: var(--bghs-mark); border-radius: 3px;
	box-shadow: 0 0 0 6px var(--bghs-mark);
}
.bghs-ziel a.bghs-rn-nr { color: var(--bghs-ink); opacity: 1; font-weight: 600; }

@media (max-width: 560px) {
	.bghs-rn-rand { flex-direction: row; justify-content: flex-start; align-items: center; gap: 10px; flex-basis: auto; }
	.bghs-einzel .bghs-dinner .bghs-dtitel { font-size: 1.25rem; margin-top: 0; }
}
@media print {
	.bghs-rn-rand { flex: 0 0 32pt; padding-top: 0; }
	a.bghs-rn-nr { color: #000; text-decoration: none; }
	.bghs-ziel .bghs-rn-text { background: none; box-shadow: none; }
	.bghs-einzel .bghs-dinner .bghs-dtitel { font-size: 14pt; }
}

/* Handy (ab 1.6.1): Im Spaltenlayout wirkte flex-basis 280px des Suchfelds als HÖHE -
   das Feld war 280 px hoch. Außerdem 16px in Eingabefeldern, sonst zoomt iOS beim Antippen. */
@media (max-width: 560px) {
	.bghs .bghs-suchfeld input[type="search"],
	.bghs .bghs-suchfeld input[type="text"] { flex: 0 0 auto; height: auto; font-size: 16px; }
	.bghs .bghs-filter { grid-template-columns: 1fr 1fr; padding: 16px; gap: 12px 14px; }
	.bghs .bghs-filter select,
	.bghs .bghs-filter input:not([type="checkbox"]) { font-size: 16px; }
	.bghs .bghs-norm input { flex-basis: 70px; }
}

/* Verzeichnis aller Entscheidungen unter der Suche (ab 1.6.4) */
.bghs-verzeichnis { margin-top: 3rem; border-top: 1px solid var(--bghs-line); padding-top: 1.4rem; }
.bghs-verzeichnis h2 { font-size: 1.15rem; margin: 0 0 .3rem; color: var(--bghs-accent); }
.bghs-vz-hinweis { margin: 0 0 1rem; color: var(--bghs-muted); font-size: .92rem; }
.bghs-vz-gericht { border: 1px solid var(--bghs-line); border-radius: var(--bghs-radius); margin: 0 0 .5rem; background: var(--bghs-surface); }
.bghs-vz-gericht > summary { cursor: pointer; padding: .55rem .9rem; font-weight: 600; color: var(--bghs-accent); }
.bghs-vz-gericht > summary span { color: var(--bghs-muted); font-weight: 400; }
.bghs-vz-gericht[open] > summary { border-bottom: 1px solid var(--bghs-line); }
.bghs-vz-gericht h3 { font-size: .95rem; margin: .9rem .9rem .3rem; color: var(--bghs-ink); }
.bghs-vz-gericht ul { list-style: none; margin: 0 .9rem .6rem; padding: 0; }
.bghs-vz-gericht li { padding: .18rem 0; font-size: .93rem; }
.bghs-vz-gericht li a { color: var(--bghs-accent); text-decoration: none; }
.bghs-vz-gericht li a:hover { text-decoration: underline; }
.bghs-vz-gericht li span { color: var(--bghs-muted); font-size: .86rem; }
@media print { .bghs-verzeichnis { display: none !important; } }
