/**
 * poi.css — POI tier only (Task 13 / final fix wave, finding I2).
 *
 * Loaded ONLY by poi.hbs and poi_category.hbs, AFTER style.css. These rules
 * were originally appended to style.css itself, which meant every regen —
 * including one that only touched a POI template — bumped style.css's
 * asset hash (cssVersion) and rewrote all 122,585 street pages just to
 * update a query-string cachebuster on a stylesheet link, with zero real
 * content change (regla 94). Splitting POI-only CSS into its own file, with
 * its own cache-busted version (poiCssVersion), means editing it never
 * touches street/gemeinde/bezirk/bundesland pages again.
 *
 * .poi-category-block / .poi-category-head (strasse.hbs's own POI
 * cross-links section) intentionally have NO rules here or in style.css —
 * known gap, deferred (Task 13 review): they degrade to legible unstyled
 * markup rather than pull POI-only CSS into the street tier's stylesheet.
 */
:root {
  --bg-hover: #f5f5f5;
}

.infra-tag--blue { background: #e3f2fd; color: #1565c0; border-color: #bbdefb; }

.filter-bar { display: flex; align-items: center; gap: .5rem; margin: 1rem 0;
  padding: .5rem .75rem; border: 1px solid var(--border); border-radius: 8px;
  background: var(--bg-card); }
.filter-bar input { flex: 1; border: 0; background: transparent; font: inherit;
  color: var(--text); outline: none; }

.street-item { display: flex; align-items: center; gap: .75rem; padding: .6rem .85rem;
  border-bottom: 1px solid var(--border); text-decoration: none; color: inherit; }
.street-item:last-child { border-bottom: 0; }
.street-item:hover { background: var(--bg-hover); }
.si-name { font-weight: 500; }
.si-badges { display: flex; gap: .25rem; margin-left: auto; }

.empty-state { padding: 1.5rem; text-align: center; color: var(--text-muted); }
.hidden { display: none !important; }

/* Client-side filter result count (a11y: aria-live announces it — poi_category.hbs) */
.filter-count { margin: -.5rem 0 1rem; font-size: .85rem; color: var(--text-muted); }
