.menu {
  @apply relative inline-block text-left;

  & .button {
    @apply inline-flex justify-center items-center w-full py-2 text-neutral-100 rounded-md;
    @apply transition-all duration-100;

    &:hover, &[aria-expanded="true"] {
      @apply bg-neutral-600 text-white;
    }

    &:focus, &:focus-within, &:active {
      @apply ring-2 ring-opacity-50 ring-neutral-300 text-white;
    }

    & svg {
      @apply w-5 h-5 transition-transform duration-75;
    }

    &[aria-expanded="true"] svg[data-animated="true"] {
      @apply rotate-180;
    }
  }

  & .items_container {
    @apply absolute right-0 mt-2 origin-top-right bg-neutral-900 rounded z-10;
  }
}

.menu_item {
  @apply flex items-center rounded w-full px-2 py-2;

  & svg {
    @apply w-4 h-4 mr-4 text-neutral-300;
  }

  &:hover, &:focus {
    @apply bg-blue-500 text-blue-50;

    & svg {
      @apply text-blue-50;
    }
  }

  &.danger {
    &:hover, &:focus {
      @apply bg-red-500 text-red-50;

      & svg {
        @apply text-red-50;
      }
    }
  }

  &.disabled {
    @apply cursor-not-allowed hover:bg-neutral-800 opacity-30 focus:bg-transparent focus:hover:bg-neutral-800;
  }
}