The first thing every buyer does is change the colours. The second is change the logo. How painful that is decides both your review and how much support you get asked for.
Custom properties, not hard-coded colour
A small set of CSS variables at the root: brand, surface, ink, line, and your states. Every rule refers to those. A buyer then rebrands the whole item by editing six lines, and your update does not undo their work.
Separate the skin from the structure
One stylesheet you ship and overwrite, one the buyer owns and you never touch. Load theirs last. This single decision removes most of the conflict between customisation and updates.
Make the logo a setting
Not a file they must replace at a fixed path with fixed dimensions. An upload in settings, with the layout tolerating a range of shapes. Everybody's logo is the wrong shape.
Templates a buyer can override
If your item renders views, let a buyer place a file in their own directory that takes precedence. That is how they change one page without forking the item.
Do not fight the dark mode question
If your variables are properly separated, supporting a dark palette is another set of values rather than another stylesheet. Buyers increasingly expect it.
Document the seams
One page listing the variables, the override paths and the hooks. Without it none of this work is discoverable, and buyers will edit core files anyway.