/* Friedhöfe – Frontend. Farben über CSS-Variablen anpassbar, z. B. im Theme: .fh{--fh-accent:#…} */
.fh{--fh-accent:#4d6b55;--fh-accent-soft:#e4ece6;--fh-accent-deep:#2f4a38;--fh-line:#d9ddd9;--fh-muted:#5f6661;--fh-card:#fff;margin:1.5em 0}
.fh *{box-sizing:border-box}
.fh-toolbar{display:flex;flex-wrap:wrap;gap:.6em;align-items:center;margin-bottom:1em}
.fh-chips{display:flex;flex-wrap:wrap;gap:.5em}
.fh-chip{border:1px solid var(--fh-line);background:var(--fh-card);color:inherit;border-radius:999px;padding:.4em .9em;font:inherit;font-size:.9em;cursor:pointer;line-height:1.3}
.fh-chip[aria-pressed="true"]{background:var(--fh-accent);border-color:var(--fh-accent);color:#fff}
.fh-chip:focus-visible,.fh-bezirk:focus-visible,.fh-plz:focus-visible{outline:2px solid var(--fh-accent-deep);outline-offset:2px}
.fh-bezirk,.fh-plz{height:2.4em;border:1px solid var(--fh-line);border-radius:8px;padding:0 .7em;font:inherit;font-size:.9em;background:var(--fh-card)}
.fh-plz{width:11em}
.fh-count{margin-left:auto;font-size:.9em;color:var(--fh-muted)}
.fh-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.25em}
.fh-layout.fh-no-map{grid-template-columns:1fr}
.fh-map{min-height:520px;border-radius:12px;border:1px solid var(--fh-line);background:#e9ede9;z-index:0}
.fh-list{list-style:none;margin:0;padding:0 .25em 0 0;display:flex;flex-direction:column;gap:.7em;max-height:520px;overflow:auto}
.fh-no-map .fh-list{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.fh-item{margin:0}
.fh-item article{background:var(--fh-card);border:1px solid var(--fh-line);border-radius:12px;padding:.9em 1em;display:flex;gap:.9em;cursor:pointer}
.fh-item.is-active article{border-color:var(--fh-accent);box-shadow:inset 0 0 0 1px var(--fh-accent)}
.fh-item[hidden]{display:none}
.fh-thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none}
.fh-body{flex:1;min-width:0}
.fh-title{font-size:1.1em;margin:0;display:flex;justify-content:space-between;gap:.5em;align-items:baseline;font-weight:500}
.fh-title a{color:inherit;text-decoration:none}
.fh-bezirk-label{font-size:.8em;color:var(--fh-muted);font-weight:400;white-space:nowrap}
.fh-kurztext,.fh-adresse{margin:.2em 0 .4em;font-size:.9em;color:var(--fh-muted)}
.fh-tags{list-style:none;margin:.3em 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4em}
.fh-tags li{font-size:.75em;padding:.15em .7em;border-radius:999px;background:var(--fh-accent-soft);color:var(--fh-accent-deep)}
.fh-dist{margin:.5em 0 0;font-size:.85em;color:var(--fh-accent-deep)}
.fh-links{margin:.6em 0 0;display:flex;gap:1em;font-size:.9em}
.fh-links a{color:var(--fh-accent-deep)}
.fh-empty{color:var(--fh-muted)}
.fh-marker{width:14px;height:14px;border-radius:50%;background:var(--fh-accent,#4d6b55);border:2px solid #fff;box-shadow:0 0 0 1px var(--fh-accent,#4d6b55)}
.fh-marker.is-active{background:#7a5c3e;box-shadow:0 0 0 1px #7a5c3e;transform:scale(1.35)}
.fh-marker.is-dim{opacity:.25}
@media (prefers-reduced-motion:no-preference){.fh-marker{transition:transform .15s}}
@media (max-width:820px){.fh-layout{grid-template-columns:1fr}.fh-map{min-height:360px}.fh-list{max-height:none}}
/* Einzelseite */
.fh-single{margin-top:2em}
.fh-facts{display:grid;grid-template-columns:max-content 1fr;gap:.4em 1.2em}
.fh-facts dt{font-weight:600}
.fh-facts dd{margin:0}
.fh-arten{padding-left:1.2em}
.fh-button{display:inline-block;background:var(--fh-accent,#4d6b55);color:#fff;padding:.7em 1.3em;border-radius:8px;text-decoration:none}
.fh-geprueft{font-size:.85em;color:#5f6661}
