how to stylize shaders?

I’m looking for ways to change the shadowed parts on an element. making shadowed parts less “realistic” and more “artistic”.

a simple example will be a ball, the normal default shadow will appear the same as the skin/material but darker.
but let’s say I want the darker parts to purple. see example:
Untitled-1.jpg

or lets say I have planet earth in my game, in the lite areas we see the oceans, and the land masses. when shadowed, the same place will be darker but the cities lights will be visible.
like in this video:

I will imagine there is a way to lerp between two textures with the opacity value is a map of real time shadows.

if my use of terms is wrong, please correct me. I’m a rookie when it comes to 3D.

Just using different colored key(directional) and fill(sky) lights could go a long way.