Carlos Alcaraz cruises past Alexander Zverev to reach the last eight at the Madrid Open but second seed Daniil Medvedev suffers a surprise defeat.