/* components/autocomplete/autocomplete.css */
.ac-wrap { position: relative; }
.ac-wrap label { display: block; font-size: 0.75rem; font-weight: 500; color: var(--text); margin-bottom: 0.3125rem; }

.ac-input-row { position: relative; }
.ac-input-icon {
  position: absolute; left: 0.6875rem; top: 50%; transform: translateY(-50%);
  font-size: 0.9375rem; color: var(--muted); pointer-events: none;
}
.ac-input { padding-left: 2rem !important; }

.ac-dropdown {
  background: var(--surface); border: 0.5px solid var(--border-md);
  border-radius: 0.625rem; box-shadow: 0 8px 24px rgba(0,0,0,.18);
  max-height: 17.5rem; overflow-y: auto; z-index: 2000;
}

.ac-option {
  padding: 0.625rem 0.875rem; font-size: 0.8125rem; cursor: pointer;
  border-bottom: 0.5px solid var(--border);
  transition: background-color .1s;
}
.ac-option:last-child { border-bottom: none; }
.ac-option:hover, .ac-option-active { background: var(--accent-bg); }
.ac-option-info { color: var(--muted); cursor: default; font-size: 0.75rem; padding: 0.75rem 0.875rem; }
.ac-option-info:hover { background: none; }

.ac-option-title {
  font-weight: 500; color: var(--text);
  display: flex; align-items: baseline; gap: 0.375rem;
}
.ac-option-clave { color: var(--accent); font-weight: 600; font-size: 0.75rem; letter-spacing: .01em; }
.ac-option-desc { color: var(--text); font-weight: 400; }
.ac-option-sub {
  font-size: 0.6875rem; color: var(--muted); margin-top: 0.1875rem;
  display: flex; align-items: center; gap: 0.375rem;
}
.ac-option-sub-dot { width: 0.1875rem; height: 0.1875rem; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
.ac-option-precio { color: var(--success); font-weight: 500; }
