Sowas liegt dann meist daran das dein eigenes CSS nicht genug "Wertigkeit" hatte (weiß nicht wie es wirklich heißt). Beispiel ein DIV-1 soll verändert werden. Du hast nur DIV-1 {css zeug} = gestalte den DIV-1 egal wo du ihn findest Der Shop definiert aber genauer wo und wann der DIV-1 dieses CSS haben soll also .header .menue DIV-1 {css zeug} = gestalte den DIV-1 aber nur wenn er innerhalb des .header und .menue ist. sonst nicht. der Browser nimmt dann immer den Wert der genauer die Position beschreibt für den Block. Das !important hebt dann wieder deine eher allgemein definierte anweisung für den DIV-1 nach oben und daher funktioniert es dann.