:host {
  /*@doc Define a cor de fundo do container do input.*/
  --ez-tag-input--background-color: var(--color--gray-70, #FFFFFF);

  /*@doc Define a cor da borda no estado padrão.*/
  --ez-tag-input--border-color-default: var(--color--gray-200, #D2D2D3);

  /*@doc Define a cor da borda no estado focado.*/
  --ez-tag-input--border-color-focused: var(--color--gray-300, #A4A5A7);

  /*@doc Define a cor da borda no estado de erro.*/
  --ez-tag-input--border-color-error: var(--color--red-600, #BD0025);

  /*@doc Define a cor da borda no estado de sucesso.*/
  --ez-tag-input--border-color-success: var(--color--green-600, #157A00);

  /*@doc Define a cor da borda no estado de aviso.*/
  --ez-tag-input--border-color-warning: var(--color--yellow-600, #EFB103);

  /*@doc Define o raio da borda do container.*/
  --ez-tag-input--border-radius: var(--border--radius-8, 8px);

  /*@doc Define o espaçamento interno do container.*/
  --ez-tag-input--padding: var(--space--12, 12px);

  /*@doc Define o espaçamento entre tags e input.*/
  --ez-tag-input--gap: var(--space--8, 8px);

  /*@doc Define a cor do texto do label.*/
  --ez-tag-input--label-color: var(--color--petroleum-900, #141B27);

  /*@doc Define o peso da fonte do label.*/
  --ez-tag-input--label-font-weight: var(--font-weight--regular, 400);

  /*@doc Define a cor do texto do input.*/
  --ez-tag-input--input-color: var(--color--petroleum-900, #141B27);

  /*@doc Define o tamanho da fonte do input.*/
  --ez-tag-input--input-font-size: var(--font-size--default, 14px);

  /*@doc Define a cor do placeholder.*/
  --ez-tag-input--placeholder-color: var(--color--gray-400, #77777A);

  /*@doc Define a cor de fundo do input quando está desabilitado.*/
  --ez-tag-input--background-color-disabled: var(--color--gray-90, #EAEAEA);

  /*@doc Define a cor do texto de ajuda do input. */
  --ez-tag-input--helptext-color: var(--color--ocean-green-1000, #00281D);

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  font-family: var(--font--pattern, 'Roboto', Arial, sans-serif);
  font-size: var(--font-size--default, 14px);
  color: var(--color--ocean-green-1000, #00281D);
  width: 100%;
  border: none;
  padding: 0;
}

label {
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: var(--line-height--20, 20px);

  color: var(--ez-tag-input--label-color);
  font-weight: var(--ez-tag-input--label-font-weight);
}

.tag-input__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  gap: var(--ez-tag-input--gap);
  padding: var(--ez-tag-input--padding);
  margin: var(--space--4, 4px) 0;
  background-color: var(--ez-tag-input--background-color);
  border-radius: var(--ez-tag-input--border-radius);
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.tag-input__container,
.tag-input__container[data-state="default"] {
  box-shadow: 0 0 0 1px var(--ez-tag-input--border-color-default);
}

.tag-input__container[data-state="error"] {
  box-shadow: 0 0 0 var(--space--2, 2px) var(--ez-tag-input--border-color-error);
}

.tag-input__container[data-state="success"] {
  box-shadow: 0 0 0 var(--space--2, 2px) var(--ez-tag-input--border-color-success);
}

.tag-input__container[data-state="warning"] {
  box-shadow: 0 0 0 var(--space--2, 2px) var(--ez-tag-input--border-color-warning);
}

.tag-input__container:focus-within {
  box-shadow: 0 0 0 var(--space--2, 2px) var(--ez-tag-input--border-color-focused);
}

input {
  flex: 1;
  height: var(--space--24, 24px);
  background: transparent;
  border: none;
  outline: none;
  color: var(--ez-tag-input--input-color);
  font-family: var(--font--pattern, 'Roboto');
  font-size: var(--ez-tag-input--input-font-size);
  font-weight: var(--font-weight--regular, 400);
  line-height: var(--line-height--20, 20px);
}

input::placeholder {
  color: var(--ez-tag-input--placeholder-color);
}

.tag-input__container[data-disabled="true"] {
  cursor: not-allowed;

  /* public */
  background: var(--ez-tag-input--background-color-disabled);
  box-shadow: 0 0 0 1px var(--ez-tag-input--border-color-default);
}

.tag-input__container[data-disabled="true"]>* {
  cursor: not-allowed;
}

input:read-only .tag-input__container>* {
  cursor: default;
}

@keyframes ez-helptext-fadein {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

span {
  font-size: var(--font-size--xsmall, 10px);
  line-height: var(--line-height--16, 16px);
  overflow: hidden;
  text-overflow: ellipsis;
  animation: ez-helptext-fadein 0.3s ease;

  /* public */
  color: var(--ez-tag-input--helptext-color);
}