:where(.bef-discovery-form__field, .bef-listing-filter__field, .bef-search-form) {
  position: relative;
}

.bef-ajax-search[hidden] {
  display: none;
}

.bef-ajax-search {
  background: var(--wp--preset--color--base, #fff);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary, #155eef) 20%, #d0d5dd);
  border-radius: 0.85rem;
  box-shadow: 0 18px 45px rgb(16 24 40 / 16%);
  color: var(--wp--preset--color--contrast, #101828);
  inset-inline: 0;
  margin-block-start: 0.45rem;
  overflow: clip;
  position: absolute;
  top: 100%;
  z-index: 80;
}

.bef-ajax-search__list {
  display: grid;
  gap: 0.2rem;
  list-style: none;
  margin: 0;
  max-block-size: min(22rem, 55vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.35rem;
  scrollbar-gutter: stable;
}

.bef-ajax-search__option {
  align-content: center;
  border-radius: 0.65rem;
  color: inherit;
  display: grid;
  gap: 0.2rem;
  min-block-size: 48px;
  padding: 0.65rem 0.75rem;
  text-decoration: none;
}

.bef-ajax-search__option:hover,
.bef-ajax-search__option[aria-selected='true'] {
  background: color-mix(in srgb, var(--wp--preset--color--primary, #155eef) 9%, #fff);
  color: color-mix(in srgb, var(--wp--preset--color--primary, #155eef) 88%, #101828);
}

.bef-ajax-search__option:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--wp--preset--color--primary, #155eef) 42%, #fff);
  outline-offset: -3px;
}

.bef-ajax-search__option strong {
  font-size: 0.94rem;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bef-ajax-search__option span {
  color: #667085;
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bef-ajax-search__status {
  border-block-start: 1px solid #e4e7ec;
  color: #667085;
  font-size: 0.76rem;
  line-height: 1.4;
  margin: 0;
  min-block-size: 2.35rem;
  padding: 0.6rem 0.75rem;
}

.bef-ajax-search__list:empty + .bef-ajax-search__status {
  border-block-start: 0;
}

@media (width <= 42rem) {
  .bef-ajax-search {
    border-radius: 0.7rem;
    max-inline-size: calc(100vw - 1.5rem);
  }

  .bef-ajax-search__list {
    max-block-size: min(18rem, 48vh);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bef-ajax-search {
    scroll-behavior: auto;
  }
}
