:host {
  display: block;
  width: 100%;
  min-width: 0;
}

:host ::ng-deep .autocomplete-floating,
:host ::ng-deep .autocomplete-floating > div,
:host ::ng-deep .autocomplete-floating .floating-label {
  display: block;
  width: 100%;
  min-width: 0;
}

.autocomplete-control--floating {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 2.5rem;
  border: 1px solid var(--color-inputborder);
  border-radius: 0.5rem;
  background-color: var(--color-white);
  color: var(--color-defaulttextcolor);
  box-shadow: none;
  transition: border-color 0.2s ease;
}

.autocomplete-input--floating {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: calc(2.5rem - 2px);
  padding-block: 0.75rem 0.5rem;
  padding-inline: 0.75rem 4.25rem;
  border: 0;
  border-radius: inherit;
  outline: none;
  background: transparent;
  color: var(--color-defaulttextcolor);
  font-size: 0.8125rem;
  line-height: 1.25;
  box-shadow: none;
}

.autocomplete-input--floating::placeholder {
  color: transparent;
}

.autocomplete-control--floating.is-focused,
.autocomplete-control--floating.is-open,
.autocomplete-control--floating.has-value {
  border-color: var(--color-primary);
}

.autocomplete-control--floating.has-error {
  border-color: var(--color-danger);
}

.autocomplete-control--floating.is-disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

.autocomplete-control--floating.is-disabled .autocomplete-input--floating {
  cursor: not-allowed;
}

.autocomplete-control--floating.autocomplete-control--sm {
  min-height: 2.25rem;
}

.autocomplete-control--sm .autocomplete-input--floating {
  min-height: calc(2.25rem - 2px);
  padding-block: 0.625rem 0.375rem;
}

.autocomplete-dropdown-indicator {
  position: absolute;
  inset-inline-end: 0.75rem;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  color: var(--color-textmuted);
  pointer-events: none;
}

:host ::ng-deep .autocomplete-floating .floating-label > label {
  padding-inline: 0.25rem;
  background-color: var(--color-white) !important;
  font-size: 0.75rem !important;
  font-family: inherit;
  font-weight: 400 !important;
  line-height: 1 !important;
}

:host ::ng-deep .autocomplete-floating app-form-validation-message p {
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
}

:host ::ng-deep .autocomplete-floating app-form-validation-message i {
  font-size: inherit;
  font-weight: 400;
}

:host-context(.dark) .autocomplete-control--floating,
:host-context(.dark) ::ng-deep .autocomplete-floating .floating-label > label {
  background-color: var(--color-bodybg) !important;
}

:host-context(.dark) .autocomplete-input--floating {
  color: var(--color-defaulttextcolor);
}
