CPP / ncurses: How to highlight arbitrary supported color with arbitrary supported background?

I’m having trouble figuring out how to have these color pairs for displaying weather overmap:
(Foreground / Background)
light_blue / light_gray
blue / dark_gray
light_green / light_gray
green / dark_gray
white / light_gray
white / dark_gray

Do I understand correctly that it’s in theory possible because all of these colors are supported by curses? Are light colors not supported as backgrounds for some reason? Is there a function that will combine two colors without having every single pair defined in color.h? Or will I have to define all non-existent pairs myself? Code looks completely unintuitive, unfortunately.

What I completely missed is the Color manager. Problem is solved. It should be mentioned in COLOR.md. What I don’t understand is that colors in-game differ so much from what they are called in code.