.ac {
  position: relative;
}

.ac[data-invalido="true"] ~ .hm-campo__error {
  display: block;
}

.ac-list {
  position: absolute;
  z-index: 50;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  margin: 0;
  padding: var(--e-1);
  list-style: none;
  background: var(--tinta-900);
  border: 1px solid var(--borde-fuerte);
  max-height: min(45vh, 300px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  overscroll-behavior: contain;
  display: none;
  contain: content;
}

.ac-list[data-open="true"] {
  display: block;
}

.ac-option {
  padding: var(--e-2) var(--e-3);
  font-size: 15px;
  color: var(--texto);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.ac-option:hover {
  background: var(--tinta-700);
}

.ac-option.is-active {
  background: var(--acento);
  color: var(--blanco);
}

.ac-option mark {
  background: transparent;
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}

.ac-empty {
  padding: var(--e-2) var(--e-3);
  font-size: 14px;
  color: var(--texto-tenue);
}
