Buenas, realmente no se que título ponerle a esta duda que es más que posible que sea básica, pero no la acabo de encontrar en san google.
CSS
p a { color: red; }
p > a { color: orange; }
HTML
<p>
<a href="#">Enlace1</a>
</p>
<p>
<span>
<a href="#">Enlace2</a>
</span>
</p>
<p>
<b>
<span>
<a href="#">Enlace3</a>
</span>
</b>
</p>
<p>
<div>
<span>
<a href="#">Enlace4</a>
</span>
</div>
</p>
Output
Enlace1 // Naranja
Enlace2 // Rojo
Enlace3 // Rojo ( con negrita )
Enlace4 // Color de link, predeterminado azul
La pregunta es porque el último enlace no se ve rojo, la respuesta creo que va por la importancia de los selectores p y div pero no encuentro o no se me ocurre que buscar.
edit: me he levantado iluminado y muy espeso xD, para preguntar esto..