Buenas,
el orden de aparición de las reglas en las hojas de estilo es sólo el último criterio que se usa para determinar que valor se aplicará a una propiedad de un elemento según el orden de cascada y no tendrá importancia si en el resto de criterios hay diferencia, es decir sólo en el caso de que dos reglas tengan el mismo peso, origen y especifidad prevalecería la última declarada. Y en el ejemplo que se muestra las declaraciones no tienen el mismo peso ya que si usamos una clase como selector tiene más peso que si usamos un elemento genérico incluso aunque declaremos éste despues. Por ejemplo:
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> p {background: #f00;} <!-- rojo -->
.buscar{background: #ff0;} <!-- amarillo -->
p{background: #0f0;} <!-- verde -->
<p class="buscar">soy de color amarillo porque la clase tiene mas peso que el elemento
</p> <p>soy de color verde y no rojo porque a igual peso prevalece la ultima declarada para el elemento p
</p>