Multiple classes with the same name?
I know it works but is it valid?
.color {color:orange;}
.first .color {color:blue;}
.second .color {color:red;}
<div class="color">
some text here
</div>
<div class="first">
some <span class="color"> text here</span>
</div>
<div class="second">
some <span class="color"> text here</span>
</div>
That’s perfectly valid, and perfectly readable. Note particularly that the order the classes are declared in is not important. CSS works on the principle that the most-specific selector wins.