To potentially streamline your CSS, consider condensing your selectors depending on the complexity of the overall stylesheet. For example, you could use #cat1 .cat1, #cat2 .cat2, ...
or simply .cat1, .cat2, ...
Have you thought about using a unified class name like "cat" for all anchor tags, in addition to individual classes like cat1, cat2, etc.? Your HTML markup could then look something like this:
<div class="cat" id="cat1"><a class="cat cat1">...</a></div>
<div class="cat" id="cat2"><a class="cat cat2">...</a></div>
This approach would allow you to simplify CSS selectors for properties that apply universally to these anchor tags:
div.cat a.cat { ... }
At the same time, you can still target specific elements with selectors like a.cat1
if needed for individual styling.