Marin Cilic has become the first Croatian to reach the final of the Croatia Open in 21 years after defeating Fabio Fognini in straight sets.