/* Gebietsmanager - Karte und Zuweisung */

.gm-wrap { padding: 8px 0 24px; }

.gm-toolbar {
	display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
	margin-bottom: 12px;
}
.gm-toolbar label { margin: 0; font-weight: 600; }
.gm-toolbar select { width: auto; min-width: 220px; }
.gm-toolbar-rechts { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.gm-farbe { display: inline-block; width: 1.5rem; height: 1.5rem; border-radius: 4px; border: 1px solid rgba(0,0,0,.15); }

.gm-layout { display: flex; gap: 16px; align-items: stretch; }
.gm-mapbox { position: relative; flex: 1 1 auto; min-width: 0; border: 1px solid #d6d6d6; background: #fff; border-radius: 6px; overflow: hidden; }
/* Die Karte fuellt den freien Platz, statt eine feste Hoehe zu fordern.
   Die 362px sind gemessen, nicht geschaetzt: Kopfleiste 60, Brotkrume 72,
   Fusszeile 54 (zusammen 186) und im Inhalt 176 fuer Innenabstaende,
   Werkzeugzeile und die Quellenangabe. So entsteht kein Bildlauf, solange
   der Inhalt hineinpasst. */
.gm-map { width: 100%; height: calc(100vh - 362px); min-height: 380px; }

/* Ladeanzeige ueber der Karte, solange eine Berechnung laeuft. Klicks gehen
   durch: Ein neuer Mittelpunkt ersetzt die laufende Berechnung, Verschieben
   und Zoomen bleiben moeglich. Ueber den Leaflet-Ebenen (bis 700), unter
   dessen Bedienelementen (1000). */
.gm-laden {
	position: absolute; inset: 0; z-index: 800;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.35); pointer-events: none;
}
.gm-laden[hidden] { display: none; }
.gm-laden-box {
	display: flex; align-items: center; gap: 10px;
	background: rgba(255,255,255,.97); border: 1px solid rgba(0,0,0,.12);
	border-radius: 8px; padding: 10px 16px; box-shadow: 0 6px 18px rgba(0,0,0,.15);
	font-size: 14px; color: #1e293b;
}
.gm-laden-kreisel {
	width: 20px; height: 20px; flex: none; border-radius: 50%;
	border: 3px solid #bbf7d0; border-top-color: #166534;
	animation: gm-drehen .8s linear infinite;
}
@keyframes gm-drehen { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gm-laden-kreisel { animation-duration: 2.4s; } }
/* So hoch wie die Karte samt Rahmen, und darin scrollen. Sonst zog eine
   lange Seitenleiste den Kartenrahmen mit, und unter der Karte blieb ein
   leerer Streifen. Oben kein Innenabstand: Den traegt der Kopfblock, der
   beim Scrollen stehen bleibt. */
.gm-sidebar {
	width: 340px; max-width: 100%; border: 1px solid #d6d6d6; background: #fff;
	border-radius: 6px; padding: 0 16px 16px; overflow: auto;
	max-height: max(382px, calc(100vh - 360px));
}
.gm-sidebar-kopf {
	position: sticky; top: 0; z-index: 2;
	background: #fff; padding: 16px 0 10px;
}
/* Der Abstand unter der Statuszeile gehoert in den Kopfblock. Als Aussen-
   abstand ragte er heraus, der weisse Hintergrund deckte ihn nicht, und die
   Liste lief beim Scrollen direkt unter der Meldung durch. */
.gm-sidebar-kopf .gm-status { margin-bottom: 0; }

/* Modusumschalter oben rechts auf der Karte - dort, wo der Modus wirkt. */
.gm-modusschalter {
	position: absolute; top: 12px; right: 12px; z-index: 520;
	box-shadow: 0 2px 8px rgba(0,0,0,.12); border-radius: 6px;
}
.gm-modusschalter .btn {
	background: rgba(255,255,255,.96); border: 1px solid rgba(0,0,0,.15);
	color: #334155; font-size: 12px;
}
.gm-modusschalter .btn:hover { background: #eef2f7; }
.gm-modusschalter .btn.active,
.gm-modusschalter .btn.active:hover { background: #334155; border-color: #334155; color: #fff; }

/* Ortssuche in der Kopfzeile, Ergebnis als Ausklappliste darunter. */
.gm-suche { position: relative; flex: 1 1 260px; min-width: 200px; max-width: 420px; }
.gm-suchergebnis {
	display: none;
	position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 540;
	max-height: 60vh; overflow-y: auto; overscroll-behavior: contain;
	background: #fff; border: 1px solid rgba(0,0,0,.14); border-radius: 8px;
	box-shadow: 0 12px 32px rgba(0,0,0,.16); padding: 8px;
}
.gm-suchergebnis-offen { display: block; }
.gm-treffer { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 7px 8px; border-radius: 6px; font-size: 13px; cursor: pointer; }
.gm-treffer:hover { background: rgba(13,110,253,.08); }

.gm-status { font-size: 13px; color: #475569; margin-bottom: 12px; min-height: 1.5em; }

/* Seitenleiste unter der Statistik: aufklappbare Abschnitte. Mehrere duerfen
   gleichzeitig offen sein - die PLZ-Liste soll neben dem Einzugsgebiet
   stehen bleiben koennen. */
.gm-akk { border-top: 1px solid rgba(0,0,0,.08); }
.gm-akk:last-child { border-bottom: 1px solid rgba(0,0,0,.08); }
.gm-akk > summary {
	list-style: none; cursor: pointer; user-select: none;
	display: flex; align-items: center; gap: 6px;
	padding: 9px 2px; font-size: 14px; font-weight: 600; color: #1e293b;
}
.gm-akk > summary::-webkit-details-marker { display: none; }
.gm-akk > summary::before {
	content: "▸"; display: inline-block; width: 1em; color: #94a3b8;
	transition: transform .12s ease;
}
.gm-akk[open] > summary::before { transform: rotate(90deg); }
.gm-akk > summary:hover { color: #0f172a; }
.gm-akk-inhalt { padding: 0 2px 10px; }
.gm-akk-todo { font-size: 13px; color: #94a3b8; font-style: italic; }

/* Demografie. Die Seitenleiste ist schmal (rund 300px Inhalt): Anteile
   stehen als Zeile mit Balken, damit eine Verteilung auf einen Blick lesbar
   ist, ohne dass die Zahlen ihre feste Spalte verlieren. */
.gm-demo-kopf { margin-bottom: 6px; min-height: 1.5em; }
.gm-demo-titel { display: flex; flex-direction: column; line-height: 1.25; }
.gm-demo-titel small { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.gm-demo-titel strong { font-size: 15px; color: #0f172a; }
.gm-demo-aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; font-size: 13px; }
.gm-demo-gehoert { color: #64748b; }
.gm-demo-warten { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #475569; }
.gm-demo-warten .gm-laden-kreisel { width: 14px; height: 14px; border-width: 2px; }
.gm-demo-inhalt { transition: opacity .15s; }
.gm-demo-laedt { opacity: .45; }
.gm-demo-eckdaten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 4px 0 8px; }
.gm-demo-eckdaten > div { background: #f8fafc; border-radius: 6px; padding: 6px 8px; min-width: 0; }
.gm-demo-eckdaten .wert { display: block; font-weight: 600; font-size: 14px; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gm-demo-eckdaten .text { display: block; font-size: 11px; color: #64748b; }
.gm-demo-familie { padding: 8px 0; border-top: 1px solid rgba(0,0,0,.06); font-size: 13px; }
.gm-demo-name { display: flex; justify-content: space-between; gap: 8px; font-weight: 600; color: #1e293b; margin-bottom: 3px; }
.gm-demo-zeile { display: grid; grid-template-columns: minmax(0, 1fr) 64px 56px; align-items: center; gap: 8px; padding: 1px 0; }
.gm-demo-zeile > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #334155; }
.gm-demo-balken { height: 6px; background: #eef2f7; border-radius: 3px; overflow: hidden; }
.gm-demo-balken i { display: block; height: 100%; background: #3b82f6; border-radius: 3px; }
.gm-demo-zahl { text-align: right; font-variant-numeric: tabular-nums; color: #0f172a; white-space: nowrap; }
.gm-demo-fuss { font-size: 11px; color: #94a3b8; margin-top: 3px; }
.gm-demo-gesperrt { font-size: 12px; color: #92400e; background: #fffbeb; border-radius: 6px; padding: 6px 8px; margin: 6px 0; }
.gm-demo-zusatz { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(0,0,0,.06); }
.gm-demo-zusatz-titel { font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 5px; }
.gm-demo-zusatz ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.gm-demo-zusatz li { font-size: 12px; color: #64748b; background: #f1f5f9; border-radius: 999px; padding: 2px 8px; }
.gm-demo-fehler { font-size: 13px; color: #b42318; }
/* Uebersichtskarte: noch keine Flaeche gewaehlt. */
.gm-demo-leer { font-size: 13px; color: #64748b; padding: 2px 0 6px; }
.gm-demo-quelle { font-size: 11px; color: #94a3b8; margin: 10px 0 0; }
.gm-demo-quelle:empty { display: none; }

/* Legende der Heatmap: klein, unten links auf der Karte. Ueber den Kacheln
   und Flaechen, unter Popups und Leaflets eigenen Bedienelementen. */
.gm-heat-legende {
	position: absolute; left: 10px; bottom: 24px; z-index: 510;
	background: rgba(255,255,255,.95); border: 1px solid rgba(0,0,0,.12);
	border-radius: 8px; padding: 8px 10px; box-shadow: 0 4px 14px rgba(0,0,0,.12);
	font-size: 12px; color: #1e293b; width: 250px; max-width: calc(100% - 20px);
}
.gm-heat-legende[hidden] { display: none; }
/* Die Auswahl der Heatmaps bleibt in der Seitenleiste - lange Namen wie
   "Mehrfamilienhaeuser (3 und mehr Wohnungen)" zogen sie sonst breiter. */
.gm-heat select { width: 100%; max-width: 100%; }
.gm-heat-legende-titel { font-weight: 600; margin-bottom: 4px; }
/* Der Farbbalken und darunter die Grenzen - an den Stellen, an denen die
   Karte von einer Klassenfarbe zur naechsten wechselt. */
.gm-heat-balken { height: 10px; border-radius: 3px; margin: 2px 0; opacity: .8; }
.gm-heat-marken { position: relative; height: 15px; margin: 0 0 2px; font-size: 10px; color: #475569; }
.gm-heat-marken span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.gm-heat-marken span.links { transform: none; }
.gm-heat-marken span.rechts { transform: translateX(-100%); }
/* Die Aufloesung gehoert sichtbar neben die Farben: Aus der Ferne sind es
   regionale Werte im 10-km-Raster, nicht punktgenaue. */
.gm-heat-stufe { font-size: 11.5px; font-weight: 600; color: #334155; margin: 0 0 4px; }
/* Der Schalter der Skala: klein, am Fuss der Legende. Die Wahl ist deutlich
   markiert - sie entscheidet, was eine Farbe bedeutet. */
.gm-heat-skala { display: flex; align-items: center; margin-top: 6px; font-size: 11px; color: #64748b; }
.gm-heat-skala span { margin-right: 5px; }
/* Ein zusammenhaengender Umschalter aus zwei Haelften, in einer Zeile. */
.gm-heat-skala button {
	border: 1px solid rgba(0,0,0,.18); background: #fff; color: #334155;
	font-size: 11px; line-height: 1.4; padding: 1px 7px; cursor: pointer; white-space: nowrap;
}
.gm-heat-skala button:first-of-type { border-radius: 999px 0 0 999px; }
.gm-heat-skala button:last-of-type { border-radius: 0 999px 999px 0; border-left: 0; }
.gm-heat-skala button:hover { background: #f1f5f9; }
.gm-heat-skala button.aktiv { background: #334155; border-color: #334155; color: #fff; }
.gm-heat-legende-fuss { margin-top: 4px; font-size: 10px; color: #64748b; }
.gm-status-ok { color: #15803d; }
.gm-status-fehler { color: #b42318; }

/* Die Liste scrollt mit der Seitenleiste, nicht in einem eigenen Bereich -
   zwei ineinander liegende Scrollflaechen waeren muehsam. Auf schmalen
   Bildschirmen, wo die Seitenleiste nicht begrenzt ist, begrenzt sie sich
   selbst (siehe unten). */
.gm-liste {
	font-size: 14px;
	padding-right: 6px;
}
.gm-listenzeile { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid rgba(0,0,0,.06); }

.gm-legende { display: flex; flex-direction: column; gap: 4px; }
.gm-legende-item { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 6px; text-decoration: none; color: inherit; }
.gm-legende-item:hover { background: rgba(0,0,0,.04); }
/* Name links, Kennzahlen rechts - eine Nebenangabe, keine Ueberschrift. */
.gm-legende-name { flex: 1 1 auto; }
.gm-legende-zahl {
	flex: 0 0 auto; font-size: 12px; color: #8d97ad;
	font-variant-numeric: tabular-nums;
}
.gm-legende-farbe { width: 1rem; height: 1rem; border-radius: 3px; border: 1px solid rgba(0,0,0,.15); flex: none; }

.gm-attribution { margin-top: 10px; font-size: 11px; color: #64748b; }

@media (max-width: 992px) {
	.gm-layout { flex-direction: column; }
	.gm-sidebar { width: 100%; max-height: none; }
	.gm-map { height: 55vh; min-height: 320px; }
	.gm-liste { max-height: 40vh; }
}

/* Vorschaukarte im KML-Import: kleiner als die Arbeitskarte, weil darunter
   noch die Liste der gefundenen Flaechen steht. */
.gm-map-vorschau { width: 100%; height: 420px; min-height: 320px; border: 1px solid #d6d6d6; border-radius: 6px; }

/* Freie Postleitzahlflaechen: schraffiert statt einfarbig. Leaflet setzt die
   Fuellung als Attribut, CSS sticht das - nur so laesst sich ein SVG-Muster
   verwenden. Das Muster selbst steht in gebietsmanager.js. */
.gm-plz-frei { fill: url(#gm-streifen); }
.gm-plz-frei:hover { fill-opacity: 0.45; }

/* Die Nummer liegt in der Flaeche, ohne Sprechblase drumherum. */
.gm-plz-label {
	background: none;
	border: 0;
	box-shadow: none;
	padding: 0;
	color: #1e293b;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	/* Der Halo haelt die Nummer ueber jedem Kartenuntergrund lesbar. */
	text-shadow: 0 0 4px #fff, 0 0 3px #fff, 0 0 2px #fff, 0 0 1px #fff;
	pointer-events: none;
	white-space: nowrap;
}
.gm-plz-label::before { display: none; }

/* Farbpunkt eines Standorts in der Seitenleiste - an derselben Stelle wie
   sonst das Symbol, damit die Liste buendig bleibt. Die Auswahl ist bewusst
   spezifisch: Das Theme setzt fuer Spans im Menue eine eigene Breite. */
.sidebar-nav ul li a span.gm-standortpunkt {
	display: inline-block;
	width: 14px;
	height: 14px;
	min-width: 14px;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,.25);
	vertical-align: middle;
	margin: 0 12px 0 4px;
	flex: 0 0 14px;
}

/* Die Zwischenueberschrift ist im Theme fuer eine dunkle Leiste gedacht -
   auf hellem Grund waere sie weiss auf weiss. */
.sidebar-nav ul .nav-small-cap {
	color: #8d97ad;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 11px;
	font-weight: 600;
	padding: 14px 18px 4px;
	margin-top: 4px;
	line-height: 1.4;
}

.sidebar-trenner { margin: 8px 0; }
.sidebar-trenner hr { margin: 0 18px; border-top: 1px solid rgba(0,0,0,.12); }

/* Das Admin-Menue reicht ueber die volle Breite. Das Theme bringt die
   Mega-Dropdown-Regeln mit; hier nur der Innenabstand der Spalten. */
.topbar .mega-dropdown .mega-dropdown-menu { padding: 24px 24px 8px; }
.topbar .mega-dropdown .mega-dropdown-menu h4 { font-size: 15px; font-weight: 600; }
.topbar .mega-dropdown .mega-dropdown-menu .nav-link { padding-left: 0; padding-right: 0; }

/* Postleitzahlen eines gesuchten Ortes im Suchfenster. */
.gm-ortskopf { font-weight: 600; padding: 6px 2px 8px; }
.gm-ortsplz { flex: 1 1 auto; min-height: 60px; overflow-y: auto; overscroll-behavior: contain; margin-bottom: 4px; }
.gm-ortsplz-zeile {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	border-bottom: 1px solid rgba(0,0,0,.06);
}
.gm-ortsplz-zeile > span { padding: 5px 2px; font-size: 13px; }
.gm-ortsplz-knopf {
	flex: 1 1 auto; text-align: left; background: none; border: 0;
	padding: 5px 2px; font-size: 13px; color: #1e293b; cursor: pointer;
}
.gm-ortsplz-knopf:hover { background: #eef2f7; }
.gm-ortsplz-knopf:disabled { opacity: .5; cursor: default; }
.gm-ortsplz-kapitel {
	font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; color: #8d97ad;
	padding: 12px 2px 4px; border-bottom: 1px solid rgba(0,0,0,.06);
}
.gm-ortsplz-vergeben { opacity: .7; }
/* Die Einwohnerzahl steht rechts in der Zeile - eine Nebenangabe, keine
   Ueberschrift. Tabellenziffern, damit die Zahlen untereinander fluchten. */
.gm-ortsplz-ew {
	float: right; margin-left: 10px; color: #8d97ad; font-size: 12px;
	font-variant-numeric: tabular-nums;
}

/* Kennzahl in der Seitenleiste: die Einwohnerzahl des Standorts. */
.gm-kennzahl {
	padding: 10px 0 12px; margin-bottom: 6px;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.gm-kennzahl-wert {
	display: block; font-size: 22px; font-weight: 600; line-height: 1.1;
	color: #1e293b; font-variant-numeric: tabular-nums;
}
.gm-kennzahl-paar { display: flex; gap: 20px; }
/* Die Gesamtzeile der Uebersicht traegt mehrere Angaben und braucht deshalb
   keine Ziffernhoehe, sondern Platz zum Umbrechen. */
.gm-kennzahl-gesamt { font-size: 15px; font-weight: 600; line-height: 1.35; }
.gm-kennzahl-text { display: block; font-size: 13px; color: #64748b; }
.gm-kennzahl-fussnote { display: block; font-size: 11px; color: #94a3b8; margin-top: 2px; }

/* Einzugsgebiet nach Fahrtzeit. Der Hauptweg ist eine Zeile: Minuten waehlen,
   auf die Karte klicken. Alles Weitere liegt eingeklappt darunter. */
.gm-einzug { padding: 4px 0 2px; }
.gm-einzug-details { margin-bottom: 6px; }
.gm-einzug-details > summary {
	font-size: 12px; color: #64748b; cursor: pointer; padding: 2px 0;
	list-style: none;
}
.gm-einzug-details > summary::before { content: "▸ "; }
.gm-einzug-details[open] > summary::before { content: "▾ "; }
.gm-einzug-details .form-check { font-size: 12px; margin: 2px 0 0 4px; }
.gm-einzug-hinweis { font-size: 11px; color: #94a3b8; margin: 4px 0 8px; line-height: 1.4; }
.gm-einzug-kopf { font-size: 13px; padding: 4px 0; }
.gm-einzug-summe { font-size: 13px; color: #64748b; padding: 2px 0 6px; }
.gm-einzug-summe > span {
	font-size: 18px; font-weight: 600; color: #166534;
	font-variant-numeric: tabular-nums;
}
.gm-einzug-ergebnis { max-height: 40vh; overflow-y: auto; overscroll-behavior: contain; }
.gm-trefferkapitel {
	font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; color: #8d97ad; padding: 8px 2px 4px;
}

/* Zeichenwerkzeuge auf der Karte. Sie liegen dort, wo gearbeitet wird -
   nicht in der Kopfzeile, damit der Weg vom Punkt zum Knopf kurz ist. */
.gm-maptools {
	/* Unter dem Modusumschalter, nicht darueber: Beide lagen einmal auf
	   derselben Stelle, und die Leiste verdeckte die Anzeige. */
	position: absolute; top: 54px; right: 12px; z-index: 510;
	display: flex; flex-direction: column; gap: 4px;
	background: rgba(255,255,255,.96); border: 1px solid rgba(0,0,0,.12);
	border-radius: 8px; padding: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.gm-maptools[hidden] { display: none; }
.gm-tool {
	display: flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border: 0; background: none; border-radius: 6px;
	color: #1e293b; cursor: pointer;
}
.gm-tool:hover:not(:disabled) { background: #eef2f7; }
.gm-tool:disabled { opacity: .35; cursor: default; }
.gm-tool i { font-size: 18px; line-height: 1; }
.gm-tool-aktiv { background: #334155; color: #fff; }
.gm-tool-aktiv:hover:not(:disabled) { background: #334155; }
.gm-tool-gefahr:hover:not(:disabled) { background: #fdecea; color: #b3261e; }
.gm-tool-trenner { margin: 4px 6px; border: 0; border-top: 1px solid rgba(0,0,0,.12); }

/* Stuetzpunkte einer bearbeiteten Flaeche. */
.gm-punkt {
	width: 11px; height: 11px; border-radius: 50%;
	background: #fff; border: 2px solid #334155; box-sizing: border-box;
}
.gm-punkt-aktiv { border-color: #d6336c; background: #ffe6f1; }

/* Das Theme rechnet die Mindesthoehe mit 167px Rahmen. Tatsaechlich sind es
   Kopfleiste (60), Brotkrume (72) und Fusszeile (54) plus 30px Innenabstand -
   dadurch war immer ein Bildlauf da und die Fusszeile ragte darunter. */
.page-wrapper > .page-content { min-height: calc(100vh - 216px); }

/* ---------------------------------------------------------------------------
   Adresssuche. Der Block kann an mehreren Stellen stehen; alle Regeln haengen
   deshalb an .gm-adresssuche und nicht an Kennungen.
   --------------------------------------------------------------------------- */
.gm-adresssuche { position: relative; }
.gm-adr-eingabe { position: relative; }

/* Die Vorschlaege liegen ueber der Seite, nicht in ihr - sonst schoebe die
   Liste beim Tippen alles darunter hin und her. */
.gm-adr-vorschlaege {
	display: none; position: absolute; z-index: 1200; left: 0; right: 0; top: 100%;
	background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 0 0 6px 6px;
	box-shadow: 0 6px 18px rgba(0,0,0,.1); max-height: 40vh; overflow-y: auto;
}
.gm-adr-vorschlaege.offen { display: block; }
.gm-adr-vorschlag {
	display: block; width: 100%; text-align: left; background: none; border: 0;
	padding: 7px 10px; font-size: 13px; color: #1e293b; cursor: pointer;
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.gm-adr-vorschlag:last-child { border-bottom: 0; }
.gm-adr-vorschlag:hover, .gm-adr-vorschlag.aktiv { background: #eef2f7; }

.gm-adr-ergebnis:not(:empty) { margin-top: 12px; }
.gm-adr-laeuft { font-size: 13px; color: #94a3b8; }
.gm-adr-adresse { font-size: 13px; color: #64748b; margin-bottom: 8px; }
.gm-adr-treffer { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; }
.gm-adr-punkt {
	flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; margin-top: 3px;
	box-shadow: 0 0 0 2px #fff inset;
}
.gm-adr-detail  { font-size: 12px; color: #64748b; }
.gm-adr-kontakt { font-size: 12px; color: #8d97ad; margin-top: 2px; }
.gm-adr-kein    { font-size: 13px; color: #b45309; padding: 6px 0; }
.gm-adr-fehler  { font-size: 13px; color: #b91c1c; }
.gm-adr-kapitel {
	font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; color: #8d97ad; padding: 10px 0 2px;
	border-top: 1px solid rgba(0,0,0,.06); margin-top: 6px;
}
.gm-adr-hinweis {
	font-size: 11px; color: #94a3b8; margin-top: 8px; line-height: 1.4;
	border-top: 1px solid rgba(0,0,0,.06); padding-top: 6px;
}
