Earlier quoted context omitted.
So we compensate for a lack of CSS libraries by mixing presentation layer with content layer. Nice.
You brought up the maintenance angle, and the response to that is that in some cases it's far more practical to use js for atyling than to rely purely on css. I gave an example below - a sticky page footer - do show me how to do it in the confines of your abstraction model. Abstarting things for the sake of abstracting is a rather naive approach. It's a good starting point, but some abstractions complicate things way…
By the way, a quick search for sticky page footer on Google turned up this as the first result -- no JS needed, and it didn't even look that hard (http://www.cssstickyfooter.com/using-sticky-footer-code.html).