having to use !important because theme has inline styles

I am just wondering if its normal for all themes to have heavy styles directly in each div etc. for instance I bought the a theme that was trending etc. it looked nice was on sale ok. But now that i look into it each thing is heavily styled directly se even if i was to change something in the css file the author said to just !important it because… well because you cant override much if every div and photo is heavily styled sizes background colors etc. you name it.

I am just starting off but I was hoping that themes would name something with a class or id and then I can change it in css. I am not a wordpress Pro and I like to think I understand css and html well so it looks like this author got lazy and is just throwing in styles directly to git r dine or what?

https://demo.thembay.com/greenmart/product/tesco-braeburn-apples-loose/

I mean every freaking div has a set width etc. its pretty lame I stopped using inline css back in like 2003

While sometimes a !important is necessary, it’s not always ideal. It’s also possible the theme is using a plugin that generates it’s own inline css as well.