.wft-map-wrapper {
  width: 100%;
  margin: 1rem 0;
}

.wft-map-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0 0 .9rem;
}

.wft-map-search-label {
  flex: 1 1 320px;
}

.wft-map-search-input {
  width: 100%;
  max-width: 420px;
  padding: .65rem .8rem;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 8px;
  background: #fff;
}

.wft-map-count {
  color: rgba(0,0,0,.68);
  font-size: .95rem;
}

.wft-map-canvas {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #d9dde3;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  background: #f3f3f3;
}

.wft-map-empty {
  margin-top: .75rem;
  color: rgba(0,0,0,.72);
}

.wft-map-popup strong {
  display: block;
  margin-bottom: .25rem;
}

.wft-map-popup-place {
  margin-bottom: .5rem;
}

.wft-map-popup-item + .wft-map-popup-item {
  margin-top: .55rem;
  padding-top: .55rem;
  border-top: 1px solid rgba(0,0,0,.08);
}

@media (max-width: 640px) {
  .wft-map-search-input {
    max-width: none;
  }
}
