@mixin _tab-tip-colors() {
  @each $name, $color in $color-set {
    &.#{$name} {
      border-top-color: $color;
    }
  }
}

//======================================================================
// Tab
//======================================================================
.tabs {
  @include reset-list;
  overflow: hidden;
  font-family: $tab-font;
  font-size: $tab-font-size;

  li {
    display: inline-block;
  }

  &::after {
    display: block;
    margin-top: -$tab-border-width * 2;
    border-top: $tab-border-width solid $tab-border-color;
    content: '';
  }
}

.tab-link {
  @include no-decoration;
  @include set-link-state-color($tab-color, null, $tab-hover-color, $tab-active-color);
  display: inline-block;
  padding: .5em 1em;
  text-align: center;
  background-color: $tab-bg-color;
  border-color: transparent;
  border-style: solid;
  border-width: $tab-border-width * 3  $tab-border-width $tab-border-width; // border-width: top right&left bottom

  &.active {
    @include _tab-tip-colors();
    @include border-top-radius($tab-active-border-radius);
    cursor: default;
    background-color: $tab-active-bg-color;
    border-color: $tab-active-border-accent-color $tab-border-color $tab-active-bg-color;
  }
}

// effect
@include vue-fade('tab-fade', '1s', '0');
