The joyful teenage energy 2019’s Shazam! brought to DC’s cinematic world of heroes was a breath of fresh air next to the dark grittiness of Zach Snyder’s versions of the Justice League characters.