.search-header { padding-bottom: 20px; }
.search-header h1 { overflow-wrap: anywhere; }
.place-search-form { margin: 20px 0 0; max-width: 660px; }
.place-search-form input { min-width: 0; }
.search-results { padding-top: 12px; }
.search-results__list { padding: 0; margin: 20px 0 28px; list-style: none; display: grid; gap: 10px; }
.search-result { display: flex; gap: 16px; width: 100%; padding: 18px 20px; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-bg-elevated); text-decoration: none; color: var(--color-text); }
.search-result:hover, .search-result:focus-visible { border-color: var(--color-accent); }
.search-result:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.search-result__number { font-size: 1.2rem; color: var(--color-accent); }
.search-result__body { display: grid; gap: 6px; min-width: 0; }
.search-result__name { font-size: 1.15rem; color: var(--color-accent); }
.search-result__meta { font-size: .9rem; }
.search-result__match, .search-result__notice { font-size: .8rem; }
.search-result__match { color: var(--color-highlight); }
.search-result__notice { color: var(--color-accent); }
.area-map--search .map-pin circle { stroke: var(--color-text); stroke-width: 2; }
@media (max-width: 900px) {
  .area-map--search .map-pin circle { r: 24; stroke-width: 3; }
  .area-map--search .map-pin text { font-size: 26px; }
}
@media (max-width: 600px) {
  .area-map--search .map-pin circle { r: 36; stroke-width: 4; }
  .area-map--search .map-pin text { font-size: 38px; }
  .search-header h1 { font-size: 2rem; }
  .search-result { padding: 15px; gap: 12px; }
}
