DRY fällt bei mir heute aus. Hier in Köln regnet es.
Wichtiger finde ich aber deinen Hinweis auf ::before stat :before. Noch verstehen die Brauser beides, aber :before ist CCS2 und wird vermutlich irgendwann missbilligt werden. Besser gar nicht erst zeigen.
Rolf