.List {
  background: @list-bg;

  &--bordered {
    border: @list-border-width solid @list-border-color;
    border-radius: @list-border-radius;
  }
  &[data-variant="buttons"] {
    .ListItem {
      margin-top: 9px;
      padding: 5px 12px;
      border: 1px solid var(--color-line-2);
      border-radius: var(--radius-md);
      color: var(--color-text-2);
      font-size: 14px;
      line-height: 1.5;

      &:first-child {
        margin-top: 0;
      }
    }
  }
}

.ListItem {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: @list-item-padding;
  border: 0;
  color: @list-item-color;
  font-size: @list-item-font-size;
  line-height: @list-item-line-height;
  text-decoration: none;
  transition: 0.3s;

  &:focus:not(:focus-visible) {
    outline: 0;
  }
  & + & {
    border-top: @list-border-width solid @list-border-color;
  }
  .Icon {
    color: @list-item-icon-color;
  }
}

button.ListItem {
  width: 100%;
  background: transparent;
  text-align: left;
  appearance: none;
}

a.ListItem,
button.ListItem {
  &:active {
    background: @list-item-active-bg;
  }
}

@media (hover: hover) {
  a.ListItem,
  button.ListItem {
    &:hover {
      background: @list-item-hover-bg;
      background-clip: padding-box;
      cursor: pointer;
    }
  }
}

.ListItem-content {
  flex: 1;
}
