Hey Diana, great solution. Using React was a great choice.
About some feedback:
First, I would check on the report problems about accessibility and try to fix them.
It has some time since I used React for the last time (I'm more into Vue now), but I can give you some feedback.
About styled components, I would declare them below the main component render. I prefer to open the code and see my component first instead of a list of styles.
When I checked the component Countries-list.js, it looks you could have splitted the Loading component in a separeted file. Also, even inside the renderData function, for example, the CountryCard, maybe you could have a separated component that receives the dataList and this component takes care about the logic to render the country card.
On country details, I saw some CountryDetails repeated, maybe it's a good option for a separated component too.
Well, as a more advanced feedback, for your future studies, you could check about Redux to centralize your app state and your services functions (api calls)
Keep the hard work and congratulations again