The actress, 35, came under fire from the press today for breaking the cardinal rule of wearing red on the red carpet, but at least we now know she had good reason. Cruz was in town for the premiere of Broken Embraces, and luckily the heavens didn't open on her linen number.