.faq-search-shortcode {
  --box-input-radius: 8px;
  --box-background: #ffffff;
}

.faq-search-shortcode:has(.faq-search-results:empty) {
  .faq-search-btn-clear {
    display: none;
  }

  .faq-search-inputbox {
    border-radius: var(--box-input-radius);
  }
}

.faq-search-shortcode .faq-search-inputbox {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;

  background-color: var(--box-background);
  border-width: 0px;
  border-radius: var(--box-input-radius) var(--box-input-radius) 0 0;
  padding: 8px;
  padding-left: 16px;

  button {
    all: unset;
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
  }
}

.faq-search-shortcode input[name="faq_search"] {
  width: 100%;

  border-width: 0px;
  padding: 0;

  color: #9b9b96;

  anchor-name: --faq-search-input;

  &:focus-visible {
    outline: none;
  }

  &::placeholder {
    color: #9b9b96;
  }
}

.faq-search-shortcode .faq-search-results {
  position: absolute;
  position-anchor: --btn-anchor;
  width: 100%;
  background: var(--box-background);
  border-top: 1px solid #e1e1dc;
  box-shadow: 0px 2px 4px 0px #00000040;

  border-radius: 0 0 var(--box-input-radius) var(--box-input-radius);
  max-height: 320px;
  overflow-y: auto;
  z-index: 9;
}

.faq-search-shortcode .faq-search-result-item {
  display: block;
  padding: 10px 12px;
  color: var(--e-global-color-text, #303038);
  text-decoration: none;

  &:hover {
    color: var(--e-global-color-accent, #ff6432);
  }
}

.faq-search-shortcode .faq-search-result-item:first-child {
  border-top: 0;
}

.faq-search-shortcode .faq-search-result-empty {
  padding: 10px 12px;
  color: #666;
}
