Hello :)
Ca a l'air d'être un problème de priorité
Tout d'abord le CSS se lit de haut en bas, si tu mets un style sur un élément, puis un autre style sur le mêmem élément plus bas, c'est le dernier style qui sera pris en compte
Ensuite il y a la priorité sur la précision, si tu applique un style sur div, et que tu applique un style sur le même élément mais en mettant en séléecteur html>body>div, le plus précis sera prioritaire
Ensuite il y a la priorité sur la précision, si tu appliques un style sur un tag (div par ex) et que tu applique un style sur un id (#banner par ex) c'est l'ID qui sera prioritaire
Et enfin il y a la priorité sur l'attribut !important, il bypass toutes les règles de priorité pour dire explicitement que cet attribut est prioritaire
Donc deux solutions: soit tu supprime les attributs !important soit tu l'ajoute aux selected, et mets les selected en bas du CSS
https://openweb.eu.org/articles/cascade_css petit doc sur la priorité :)