Hola,
Es probable que se deba a cuestiones de prioridad. Si hay estilos en conflicto, se aplicarán los más específicos. Por decir algo: un selector basado en "id" tiene prioridad sobre uno basado en "class", aún cuando el elemento sea descendiente y el "id" ó "class" no esten aplicados directamente a él, como en un selector contextual. Por ejemplo, con las siguientes reglas en el orden en que son presentadas:
Código:
#algo elemento{
color: red;
}
elemento.miclase{
color: blue;
}
Si las dos aplican para
elemento, se aplicara el color rojo y no el azul (hasta donde yo puedo recordar). Tal vez la causa de tu problema vaya por ahí.