#vn-map-filters {
  max-height: min(460px, var(--vn-filter-available-height, calc(100vh - 270px)));
  scroll-padding-bottom: 68px;
}

#vn-map-filters .vn-searchbar {
  padding: 12px 14px 10px;
}

#vn-map-filters .vn-searchbar form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 44px minmax(0, 1.15fr);
  align-items: end;
  gap: 8px;
}

#vn-map-filters .vn-searchbar label,
#vn-map-filters .vn-filter-caption {
  color: var(--vn-muted, #676f56);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

#vn-map-filters .vn-map-filter-language {
  display: grid;
  align-self: end;
  min-width: 0;
  gap: 4px;
}

#vn-map-filters .vn-location-status {
  grid-column: 1 / -1;
  margin: 0;
}

#vn-map-filters .vn-filters {
  display: grid;
  gap: 2px;
  margin: 0 14px;
  padding: 10px 0 2px;
  border-top: 1px solid #ded4ba;
}

#vn-map-filters .vn-filter-chips,
#vn-map-filters .vn-filter-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: 6px;
}

#vn-map-filters .vn-filter-caption {
  flex: 0 0 100%;
  margin: 0;
}

#vn-map-filters .vn-filter-chips button {
  margin: 0;
  min-height: 44px;
}

#vn-map-filters .vn-filter-options {
  gap: 0 18px;
}

#vn-map-filters .vn-filter-options .vn-online {
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
}

#vn-map-filters .vn-map-filter-actions {
  position: sticky;
  bottom: 0;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  padding: 8px 14px 10px;
  border-top: 1px solid #ded4ba;
  background: #faf5e8;
}

#vn-map-filters .vn-map-filter-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
}

#vn-map-filters .vn-map-filter-submit svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 600px) {
  #vn-map-filters .vn-searchbar form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 44px;
    gap: 8px 6px;
  }

  #vn-map-filters .vn-map-filter-language {
    grid-column: 1 / -1;
  }

  #vn-map-filters .vn-map-filter-submit {
    width: 100%;
  }
}
