Earlier quoted context omitted.
If you take a look at the GTK+ ecosystem...it's kinda broken, too. Simple use case: Make a sidebar fade in and fade out, while changing the dimensions of the right box. Pretty close to impossible to implement in a clean manner, even within glade. And then, try to support a mobile device in a responsive way with libhandy. Now you throw the towel and just get on with 20 lines of CSS and literally two HTML elements. CSS…
I never coded GTK apps, but isn't the theming done with CSS since GTK 3?
That is why so many apps don't work bug free with other themes. There's no way to predict how your app will behave on another system with another theme.
So personally I think the mess of overused dummy css classes in the GTK ecosystem is really a bad design. They could've gone with custom, namespaced, ui elements instead of that box.something.something shit.
They reinvented divitis. Quite literally.