This jQuery solution works (it finds the empty <p> (even if it has whitespace i.e. <p> </p> and adds inline style: <p style="display:none;"> </p> . Not the most elegant solution but will do until browsers start supporting CSS4 :blank pseudo-selector.
Thanks John – however, a detailed solution came through (which I think you were pointing me towards) from James on email@example.com which does exactly what I want. Code is (to put in [theme]/functions.php) :