Boa tarde Augusto, tudo bem?
As classes topicos__link e topicos__item foram criadas para separar as responsabilidades de estilização entre os links (<a>) e os itens da lista (<li>), respectivamente.
A classe topicos__link é responsável por estilizar os links individualmente, enquanto a classe topicos__item é aplicada aos itens da lista como um todo.
Ao tentar ajustar o estilo dos quadrados de link diretamente pela classe topicos__link, pode ter ocorrido problemas de layout devido à natureza inline ou inline-block dos elementos de âncora (<a>), que podem não se comportar consistentemente quando aplicadas margens ou paddings.
Por isso, a solução mais eficaz foi aplicar as margens na classe topicos__item, que afeta os itens da lista como um todo, garantindo uma consistência visual e uma melhor organização do layout.
A criação dessas diferentes classes segue os princípios de separação de responsabilidades e facilita a manutenção do código, permitindo ajustes específicos em cada elemento sem afetar os outros.
Espero ter ajudado
At.te:
Eduardo Rafael Cardoso