/* FD Trauerredner-Karte — bewusst tokenarm, damit die Theme-Typografie (rebalance) durchschlägt. */
.fdtr, .fdtr *, .fdtr *::before, .fdtr *::after { box-sizing: border-box; }
.fdtr { --fdtr-rand: #e0ddd8; --fdtr-akzent: #6b5b73; --fdtr-flaeche: #faf9f7; }

.fdtr__controls { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-bottom: 1rem; }
.fdtr__search { flex: 1 1 260px; position: relative; }
.fdtr__search input { width: 100%; padding: .6rem .8rem; border: 1px solid var(--fdtr-rand); border-radius: 4px; }
.fdtr__nearby { padding: .6rem 1rem; border: 1px solid var(--fdtr-akzent); background: transparent; color: var(--fdtr-akzent); border-radius: 4px; cursor: pointer; }
.fdtr__nearby:hover:not(:disabled) { background: var(--fdtr-akzent); color: #fff; }
.fdtr__nearby:disabled { opacity: .6; cursor: default; }
.fdtr__nearby--aktiv { background: var(--fdtr-akzent); color: #fff; }
.fdtr__count { flex: 1 1 100%; margin: 0; font-size: .875rem; color: #666; }

/* Vorschlagsliste unter dem Suchfeld */
.fdtr__vorschlaege { position: absolute; z-index: 500; left: 0; right: 0; top: calc(100% + 2px);
  margin: 0; padding: 0; list-style: none; background: #fff;
  border: 1px solid var(--fdtr-rand); border-radius: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.12);
  max-height: 16rem; overflow-y: auto; }
.fdtr__vorschlag { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem;
  padding: .5rem .8rem; cursor: pointer; font-size: .9375rem; }
.fdtr__vorschlag + .fdtr__vorschlag { border-top: 1px solid var(--fdtr-rand); }
.fdtr__vorschlag:hover, .fdtr__vorschlag--aktiv { background: var(--fdtr-flaeche); }
.fdtr__vorschlag-typ { font-size: .75rem; color: #888; white-space: nowrap; }

.fdtr__quellen { margin: .8rem 0 0; font-size: .75rem; color: #888; }
.fdtr__quellen a { color: inherit; }

/* Karte über die volle Breite, Trefferliste darunter. */
.fdtr__map { width: 100%; border: 1px solid var(--fdtr-rand); border-radius: 4px; z-index: 0; }

.fdtr__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1px;
  margin: 1rem 0 0; padding: 0; list-style: none;
  border: 1px solid var(--fdtr-rand); border-radius: 4px; background: var(--fdtr-rand); overflow: hidden; }

.fdtr__more { display: block; margin: .9rem auto 0; padding: .55rem 1.1rem;
  border: 1px solid var(--fdtr-rand); background: #fff; border-radius: 4px; cursor: pointer; font-size: .9rem; }
.fdtr__more:hover { border-color: var(--fdtr-akzent); color: var(--fdtr-akzent); }

.fdtr-card { display: flex; gap: .75rem; padding: .9rem; background: #fff; }
.fdtr-card--klickbar { cursor: pointer; }
.fdtr-card--klickbar:hover, .fdtr-card--klickbar:focus-visible { background: var(--fdtr-flaeche); outline-offset: -2px; }
.fdtr-card--aktiv { background: var(--fdtr-flaeche); box-shadow: inset 3px 0 0 var(--fdtr-akzent); }
.fdtr-card__foto { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; flex: 0 0 auto; }
.fdtr-card__body { min-width: 0; }
.fdtr-card__name { margin: 0 0 .15rem; font-size: 1rem; line-height: 1.3; }
.fdtr-card__rolle { margin: 0 0 .4rem; font-size: .8125rem; color: #666; font-style: italic; }
.fdtr-card__adresse { margin: 0 0 .4rem; font-size: .875rem; }
.fdtr-card__kontakt { margin: 0; padding: 0; list-style: none; font-size: .875rem; }
.fdtr-card__kontakt li { overflow-wrap: anywhere; }
.fdtr-card__hinweis { margin: .4rem 0 0; font-size: .8125rem; color: #b32d2e; }
.fdtr-card__distanz { margin: .4rem 0 0; font-size: .8125rem; color: var(--fdtr-akzent); font-weight: 600; }

.fdtr-card--popup { padding: 0; min-width: 220px; }
.leaflet-popup-content { margin: .8rem; }

/* Ausgewählter Marker: farblich abgesetzt, ohne zweites Icon nachzuladen. */
.fdtr-marker--aktiv { filter: hue-rotate(190deg) saturate(1.6); z-index: 1000 !important; }
