.ecbc-finder {
  --ecbc-blue: #123f6d;
  --ecbc-accent: #e4572e;
  --ecbc-border: #d8dee6;
  --ecbc-muted: #586474;
  color: #17212b;
  font-family: inherit;
  max-width: 1100px;
  margin: 2rem auto;
}

.ecbc-finder__title { margin: 0 0 1rem; color: var(--ecbc-blue); }

.ecbc-finder__filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap: 1rem;
  align-items: end;
  padding: 1.25rem;
  background: #f4f7fa;
  border: 1px solid var(--ecbc-border);
  border-radius: 10px;
}

.ecbc-finder__field label { display: block; margin-bottom: .4rem; font-weight: 700; }

.ecbc-finder__field input,
.ecbc-finder__field select {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: .65rem .75rem;
  color: #17212b;
  background: #fff;
  border: 1px solid #9aa7b5;
  border-radius: 5px;
  font: inherit;
}

.ecbc-finder__field input:focus,
.ecbc-finder__field select:focus { outline: 3px solid rgba(18, 63, 109, .22); border-color: var(--ecbc-blue); }

.ecbc-finder__reset {
  min-height: 46px;
  padding: .65rem 1rem;
  color: #fff;
  background: var(--ecbc-blue);
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.ecbc-finder__reset:hover { background: #0b2e51; }
.ecbc-finder__hint { margin: .65rem 0 0; color: var(--ecbc-muted); font-size: .92em; }
.ecbc-finder__count { margin: 1.25rem 0 .75rem; font-weight: 700; }

.ecbc-finder__results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ecbc-installer {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--ecbc-border);
  border-top: 4px solid var(--ecbc-accent);
  border-radius: 7px;
  box-shadow: 0 2px 8px rgba(19, 43, 67, .07);
}

.ecbc-installer[hidden] { display: none; }
.ecbc-installer h3 { margin: 0 0 .65rem; color: var(--ecbc-blue); }
.ecbc-installer p { margin: .45rem 0; }
.ecbc-installer__coverage { color: var(--ecbc-muted); }
.ecbc-installer__contact { margin: .85rem 0 0; padding: 0; list-style: none; }
.ecbc-installer__contact li { margin: .35rem 0; }
.ecbc-installer__contact a { color: var(--ecbc-blue); overflow-wrap: anywhere; }

.ecbc-finder__empty {
  padding: 1.25rem;
  background: #fff8e6;
  border: 1px solid #e8c967;
  border-radius: 7px;
}

.ecbc-finder__empty[hidden] { display: none; }
.ecbc-finder__empty h3 { margin-top: 0; }

@media (max-width: 700px) {
  .ecbc-finder__filters,
  .ecbc-finder__results { grid-template-columns: 1fr; }
  .ecbc-finder__reset { width: 100%; }
}
