.link {
  &.link-primary {
    color: var(--theme-color);

    > * {
      color: var(--theme-color);
      fill: var(--theme-color);
    }

    &.link-success {
      color: var(--success);

      > * {
        color: var(--success);
        fill: var(--success);
      }
    }

    &.link-warning {
      color: var(--warning-dark);

      > * {
        color: var(--warning-dark);
        fill: var(--warning-dark);
      }
    }

    &.link-danger {
      color: var(--danger);

      > * {
        color: var(--danger);
        fill: var(--danger);
      }
    }

    &.link-white {
      color: var(--pure-white);

      > * {
        color: var(--pure-white);
        fill: var(--pure-white);
      }
    }
  }

  &.link-secondary {
    color: var(--ink);

    > * {
      color: var(--ink);
      fill: var(--ink);
    }
  }

  &.link-tertiary {
    color: var(--ink-gray);

    > * {
      color: var(--ink-gray);
      fill: var(--ink-gray);
    }
  }

  &.link-primary, &.link-secondary, &.link-tertiary {
    &:hover, &:active, &.active {
      color: var(--theme-color-darker);

      > * {
        color: var(--theme-color-darker);
        fill: var(--theme-color-darker);
      }
    }

    &.link-success:hover, &.link-success:active, &.link-success.active {
      color: var(--success-dark);

      > * {
        color: var(--success-dark);
        fill: var(--success-dark);
      }
    }

    &.link-warning:hover, &.link-warning:active, &.link-warning.active {
      color: color-mix(in srgb, var(--warning-dark), black 20%);

      > * {
        color: color-mix(in srgb, var(--warning-dark), black 20%);
        fill: color-mix(in srgb, var(--warning-dark), black 20%);
      }
    }

    &.link-danger:hover, &.link-danger:active, &.link-danger.active {
      color: var(--danger-dark);

      > * {
        color: var(--danger-dark);
        fill: var(--danger-dark);
      }
    }

    &.link-white:hover, &.link-white:active, &.link-white.active {
      color: #E6E6E6;

      > * {
        color: #E6E6E6;
        fill: #E6E6E6;
      }
    }
  }
}
