.#{$ns}Nav {
  list-style: none;
  user-select: none;
  margin: 0;
  padding: 0;
  position: relative;

  .#{$ns}Nav-itemIcon {
    margin-right: var(--gap-sm);
  }

  img.#{$ns}Nav-itemIcon {
    height: var(--Tabs-linkFontSize);
    vertical-align: middle;
  }

  &--tabs {
    border-bottom: var(--Tabs-borderWidth) solid var(--Tabs-borderColor);

    .#{$ns}Nav-item {
      margin-bottom: calc(var(--Tabs-borderWidth) * -1);
      display: inline-block;

      > a {
        font-size: var(--Tabs-linkFontSize);
        display: block;
        outline: none;
        border: var(--Tabs-borderWidth) solid transparent;
        border-top-left-radius: var(--Tabs-borderRadius);
        border-top-right-radius: var(--Tabs-borderRadius);
        color: var(--Tabs-color);
        text-decoration: none;
        margin-right: px2rem(2px);
        padding: var(--gap-sm) var(--gap-base);
        cursor: pointer;
      }

      &:hover > a,
      > a:focus {
        border-color: var(--Tabs-onHover-borderColor);
        text-decoration: none;
      }

      &.disabled > a,
      &.is-disabled > a {
        color: var(--Tabs-onDisabled-color);
        background: transparent;
        border-color: transparent;
        pointer-events: none;
      }

      &.active > a,
      &.is-active > a {
        color: var(--Tabs-onActive-color);
        background: var(--Tabs-onActive-bg);
        border-color: var(--Tabs-onActive-borderColor);
        border-bottom-color: var(--Tabs-content-bg);
      }
    }
  }

  &--stacked {
    min-height: px2rem(50px);

    .#{$ns}Nav-item {
      position: relative;

      > a {
        display: block;
        outline: none;
        color: var(--Nav-item-color);
        text-decoration: none;
        padding: var(--gap-sm) var(--gap-base);
        cursor: pointer;
        background: var(--Nav-item-bg);
        border-radius: var(--Nav-item-borderRadius);
        text-overflow: ellipsis;

        &::after {
          border-left: var(--Nav-item-onActive-borderLeft);
          position: absolute;
          left: 0;
          top: 0;
          content: '';
          width: 1px;
          height: 100%;
          transform: scaleY(0.0001);
          transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1),
            opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
        }
      }

      &.has-sub > a {
        padding-right: calc(var(--gap-base) + var(--gap-sm));
      }

      > a:hover,
      > a:focus {
        border-color: var(--Nav-item-onHover-color);
        text-decoration: none;
        background: var(--Nav-item-onHover-bg);
      }

      &.disabled > a,
      &.is-disabled > a {
        color: var(--Nav-item-onDisabled-color);
        background: transparent;
        pointer-events: none;
      }

      &.active > a,
      &.is-active > a {
        color: var(--Nav-item-onActive-color);
        background: var(--Nav-item-onActive-bg);
        padding-left: px2rem(12px);
        position: relative;

        &::after {
          transform: scaleY(1);
        }
      }

      &.is-unfolded > {
        .#{$ns}Nav-itemToggler {
          transform: rotate(180deg) scale(0.8);
        }

        .#{$ns}Nav-subItems {
          display: block;
          // margin-left: var(--gap-sm);
        }
      }

      .#{$ns}Nav-spinner {
        position: absolute;
        right: px2rem(10px);
        top: px2rem(8px);
      }

      .#{$ns}Nav-itemToggler {
        position: absolute;
        right: 0;
        top: px2rem(3px);
        width: px2rem(30px);
        height: px2rem(30px);
        text-align: center;
        line-height: px2rem(30px);
        vertical-align: middle;
        cursor: pointer;
        transform: scale(0.8);
        transition: transform var(--animation-duration);

        > svg {
          width: 10px;
          height: 10px;
          top: 0;
        }
      }

      .#{$ns}Nav-subItems {
        // background: var(--Nav-subNav-bg);
        display: none;
        padding-left: 0;
        list-style: none;
      }

      .#{$ns}Nav-item {
        font-size: var(--Nav-subItem-fontSize);

        // a:before {
        //   content: '';
        //   display: inline-block;
        //   width: px2rem(4px);
        //   height: px2rem(4px);
        //   background: #ccc;
        //   border-radius: px2rem(500px);
        //   margin-right: px2rem(8px);
        //   vertical-align: middle;
        // }

        // &.active > a:before,
        // &.is-active > a:before {
        //   background: var(--Nav-subItem-onActiveBeforeBg);
        // }
      }
    }
  }
}
