.menu {
  display: flex;
  flex-direction: column;
  padding: var(--size-1);
  gap: var(--size-1);
}

/* to remove once bootstrap is gone */
.menu > ul {
  padding-left: 0;
  margin-bottom: 0;
}

.menu > ul > li {
  padding: var(--size-1) var(--size-3);

  &:has(a):hover,
  &:has(a.active) {
    background-color: var(--color-bg-secondary);
  }
}

.menu hr {
  margin: 0;
}

.menu__header {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  padding: var(--size-1_5) var(--size-2);
}

.menu__group {
  display: flex;
  flex-direction: column;
}

.menu__separator {
  margin-inline: -0.25rem;
}

.menu__item {
  --btn-border-color: transparent;
  --btn-box-shadow: none;
  --btn-font-weight: var(--font-normal);
  --btn-hover-color: var(--color-secondary);
  --btn-justify-content: start;
  --btn-outline-size: 0;
  --btn-padding: var(--size-1_5) var(--size-2);

  border: none;

  &:focus-visible {
    --btn-background: var(--color-secondary);
  }
}

.menu__item-key {
  color: var(--color-text-subtle);
  font-size: var(--text-xs);
  margin-inline-start: auto;
}
