I go to madrid very often and learnerd that Souvenirs bought at "El Corte Ingles" costs up to four times as in many small souvenir shops, i truly not suggest to buy there.

The shop in front of El Prado is good, but there is a shop in "Puerta del Sol" (the only one souvenir shop in that square) that has amazing prices and an a very wide variety of products, from artisan to tshirts, caps..

For example i saw in Toledo a damacene earings that i bought in that shop, same brand same quality, five times more expensive.

Cheers from Mexico. smile