.dropdown {
  --color: var(--color-primary);
  --size: 0.875rem;
  --bg: var(--color-surface);
  --border: 1px solid var(--color-muted);
  --border-radius: 0.375rem;
  --font-size: 0.875rem;
  --font-weight: 600;
  --cursor: pointer;
  --transition: color 0.15s ease, border-color 0.15s ease;

  position: relative;
  display: inline-flex;
}

.dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--color);
  background-color: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--border-radius);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  cursor: var(--cursor);
  transition: var(--transition);
  cursor: var(--cursor);
  user-select: none;
}

.dropdown__trigger:hover,
.dropdown__trigger[aria-expanded='true'] {
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}

.dropdown__chevron {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.15s ease;
}

.dropdown__trigger[aria-expanded='true'] .dropdown__chevron {
  transform: rotate(-135deg) translateY(1px);
}

.dropdown__menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  min-width: 100%;
  margin: 0;
  padding: 0.25rem 0;
  list-style: none;
  border: 1px solid var(--color-muted);
  border-radius: 0.375rem;
  background-color: var(--color-surface);
  box-shadow: 0 4px 12px rgb(29 33 39 / 0.12);
}

.dropdown__item {
  margin: 0;
}

.dropdown__option {
  display: block;
  padding: var(--spacing-2) var(--spacing-3);
  color: var(--color-primary);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

.dropdown__option:hover,
.dropdown__option--selected {
  color: var(--brand-50);
  background-color: var(--brand-40);
}
