Cardinals top Pirates 7-2, tie for NL Central lead