Colors could be altered by a “category” (other collection referenced in the post). Define a collection, name categories of post and for each, define a color. You’ll be able to use the color for elements backgrounds or texts within the post template.
For the rest, you can define a lot more fields in the collection of the posts. For example instead of one header image, define 2, 3 4… and use conditional visibility to show or hide things depending on if they’re set of not.