E.g. given this html structure:

If the child-foo class is defined after the child class, the border will have one color:


But if the child-foo class is defined before the child class, the border will have a different color:


And I was certain — certain — that given that the child-foo class if declared after the child class in the html class attribute, the child-foo will always win. But no, CSS reminded me today about its weirdness.