Perche' gli altri 2 andavano gia' bene come erano? ci sono modi migliori di scriverli?
Perché tra il "selettore classe" e il "selettore elemento" hai usato il combinatore "selettore discendente" che trova corrispondenza con quegli elementi.

Il modo migliore di costruire i selettori è quello di usare una sintassi pulita e adatta a selezionare gli elementi desiderati, secondo i vari eventuali fattori del caso. Non ci sono metodi specifici per farlo ma chiaramente questo lo si può fare al meglio se si conoscono bene le regole di base.

La costruzione dei selettori CSS infatti si basa su regole precise; sono comunque nozioni fondamentali, che deduco ti manchino. L'argomento è troppo generico per poterlo esporre in questa discussione, sarebbe troppo dispendioso e comunque inopportuno. Ti consiglio eventualmente di studiare qualche guida di base per comprendere questi meccanismi.

Vedi questa: I selettori CSS su HTML.it
o altre guide che puoi trovare al capitolo 1 dei link utili CSS o con opportune ricerche sul web