:host {
  /* list */
  /*@doc Define a cor do texto da lista de opções.*/
  --ez-search__list-title--primary: var(--title--primary, #2B3A54);
  /*@doc Define a cor do texto do value da lista de opções.*/
  --ez-search__list-text--primary: var(--text--primary, #626e82);
  /*@doc Define a altura do box da lista de opções.*/
  --ez-search__list-height: calc(var(--ez-search--font-size) + var(--ez-search--space--medium) + 4px);
  /*@doc Define a largura mínima da lista de opções.*/
  --ez-search__list-min-width: 64px;

  /* scrollbar */
  /*@doc Define a cor da barra de rolagem do componente.*/
  --ez-search__scrollbar--color-default: var(--scrollbar--default, #626e82);
  /*@doc Define a cor de fundo da barra de rolagem do componente.*/
  --ez-search__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);
  /*@doc Define a cor do hover na barra de rolagem do componente.*/
  --ez-search__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);
  /*@doc Define a cor do active na barra de rolagem do componente.*/
  --ez-search__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);
  /*@doc Define o raio da borda da barra de rolagem do componente.*/
  --ez-search__scrollbar--border-radius: var(--border--radius-small, 6px);
  /*@doc Define a largura da barra de rolagem do componente.*/
  --ez-search__scrollbar--width: var(--space--small, 6px);

    /* general */
  /*@doc Define o raio da borda do input quando pequeno.*/
  --ez-search--border-radius-small: var(--border--radius-small, 6px);
  /*@doc Define o tamanho da fonte dentro do input.*/
  --ez-search--font-size: var(--text--medium, 14px);
  /*@doc Define a família da fonte dentro do input.*/
  --ez-search--font-family: var(--font-pattern, Arial);
  /*@doc Define o peso da fonte dentro do input quando pesada.*/
  --ez-search--font-weight--large: var(--text-weight--large, 500);
  /*@doc Define o peso da fonte dentro do input quando média.*/
  --ez-search--font-weight--medium: var(--text-weight--medium, 400);
  /*@doc Define a cor de fundo dos itens da lista de opções.*/
  --ez-search--background-medium: var(--background--medium, #f0f3f7);
  /*@doc Define a altura da linha do texto dentro do input.*/
  --ez-search--line-height: calc(var(--text--medium, 14px) + 4px);
}

.list-options {
  position: relative;
  z-index: var(--more-visible, 2);
  margin: var(--space--small) 0px;
  padding: 0px;
  padding-inline-start: 0px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-height: 350px;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  scroll-behavior: smooth;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;

  /*public*/
  scrollbar-color: var(--ez-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background);

}

.list-options::-webkit-scrollbar {
  /*public*/
  background-color: var(--scrollbar--background);
  width: var(--space--small);
  max-width: var(--space--small);
  min-width: var(--space--small);
  height: var(--space--small);
  max-height: var(--space--small);
  min-height: var(--space--small);
}

.list-options::-webkit-scrollbar-track {
  /*public*/
  background-color: var(--ez-search__scrollbar--color-background);
  border-radius: var(--ez-search__scrollbar--border-radius);
}

.list-options::-webkit-scrollbar-thumb {
  /*public*/
  background-color: var(--ez-search__scrollbar--color-default);
  border-radius: var(--ez-search__scrollbar--border-radius);
}

.list-options::-webkit-scrollbar-thumb:vertical:hover,
.list-options::-webkit-scrollbar-thumb:horizontal:hover {
  /*public*/
  background-color: var(--ez-search__scrollbar--color-hover);
}

.list-options::-webkit-scrollbar-thumb:vertical:active,
.list-options::-webkit-scrollbar-thumb:horizontal:active {
  /*public*/
  background-color: var(--ez-search__scrollbar--color-clicked);
}

.message {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: var(--space--medium) 0px;

  /*public*/
  min-height: var(--ez-search__list-height);
}

.message__no-result {
  /*public*/
  color: var(--ez-search__list-title--primary);
  font-family: var(--ez-search--font-family);
  font-size: var(--ez-search--font-size);
}

.message__loading {
  border-radius: 50%;
  width: 14px;
  height: 14px;
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;

  /*public*/
  border: 3px solid var(--ez-search__list-title--primary);
  border-top: 3px solid transparent;
}

.item__value,
.item__label {
  flex-basis: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /*public*/
  color: var(--ez-search__list-title--primary);
  font-family: var(--ez-search--font-family);
  font-size: var(--ez-search--font-size);
  line-height: var(--ez-search--line-height);
}

.item__label {
  /*public*/
  font-weight: var(--ez-search--font-weight--medium);
}

.item__label--bold {
  /*public*/
  font-weight: var(--ez-search--font-weight--large);
}

.item__value {
  text-align: center;

  /*public*/
  color: var(--ez-search__list-text--primary);
  font-weight: var(--ez-search--font-weight--large);
}

.item__value--hidden {
  visibility: hidden;
  position: absolute;
  white-space: nowrap;
  z-index: -1;
  top: 0;
  left: 0;
}

.item__label {
  text-align: left;
}

.item__list>li:hover {
  /*public*/
  background-color: var(--ez-search--background-medium);
}

.item {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  list-style-type: none;
  cursor: pointer;

  /*public*/
  border-radius: var(--ez-search--border-radius-small);
  gap: var(--space--small, 6px);
}

.preselected {
  /*public*/
  background-color: var(--background--medium);
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@supports not (scrollbar-width: thin) {

  /* Estilos para navegadores que NÃO suportam scrollbar-width */
  .item {
    /* Estilos alternativos, por exemplo, para navegadores que não suportam scrollbar-width */
    padding-right: 8px;
  }
}