.finder { display: grid; grid-template-columns: 360px minmax(0, 1fr); min-height: calc(100vh - 92px); }
.finder__panel { padding: 30px 20px 30px 16px; border-right: 1px solid #eee; display: flex; flex-direction: column; max-height: calc(100vh - 92px); }
.finder__panel h1 { font-size: 24px; margin-bottom: 14px; }
.finder__form { padding-bottom: 16px; border-bottom: 1px solid #eee; }
.finder__label { display: block; font-size: 14px; font-weight: 700; margin: 10px 0 6px; }
.finder__form select, .finder__form input { width: 100%; height: 40px; padding: 0 18px; border: 1px solid #e3e3e3; border-radius: 999px; background: #fff; }
.finder__row { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.finder__row .locate { flex-basis: auto; margin: 6px 0 0 6px; }
.finder__status { font-size: 13px; color: var(--muted); margin: 12px 0 6px; }
.finder__status:empty { display: none; }
.finder__results { list-style: none; padding: 0; margin: 10px 0 0; overflow-y: auto; flex: 1; }
.finder__results li { border-bottom: 1px solid #f0f0f0; }
.finder__results a { display: flex; gap: 12px; align-items: center; padding: 12px 6px; text-decoration: none; color: var(--navy); }
.finder__results a:hover, .finder__results li.is-active a { background: #EAF6FC; }
.finder__results img { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; background: #fff; }
.finder__results strong { display: block; font-size: 14px; }
.finder__results small { display: block; color: var(--blue); font-size: 12px; }
.finder__results .is-featured strong::after { content: 'Featured'; margin-left: 6px; font-size: 10px; font-weight: 600; background: var(--navy); color: #fff; padding: 1px 6px; border-radius: 3px; vertical-align: 2px; }
.finder__map { position: relative; }
.finder__map .map { position: absolute; inset: 0; height: auto; border-radius: 0; }
.finder__area { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); z-index: 500; box-shadow: var(--shadow); }
.map-pop { min-width: 180px; }
.map-pop img { display: block; max-width: 120px; max-height: 60px; object-fit: contain; margin-bottom: 6px; }
.map-pop strong { display: block; font-size: 14px; }
.map-pop a { font-weight: 600; }
.finder + .site-footer { margin-top: 60px; }
@media (max-width: 860px) {
  .finder { grid-template-columns: 1fr; min-height: 0; }
  .finder__panel { max-height: none; border-right: 0; padding: 24px 20px; }
  .finder__map { height: 60vh; order: -1; }
  .finder__results { max-height: none; }
}
