You don't need the color as transparency,
and you don't need the last set of nodes.
Why would you have black transparency? It will make it opaque.
The mix with a transparent shader should be at the end of the node chain.
Or you can just use the alpha input on the principled shader, as noted on the other answer.
Without any input to your Gradient texture it will be applying the gradient along the x-axis only. I can't tell from your question, but which axis do you want the gradient aligned with? Likely your texture is applying to the 'depth' of your mesh so all you're seeing is the 'front' face at the far end of the gradient.
Add a Texture Coordinate node to feed '...
The comments give the right answer (sorry to "steal" it, but otherwise they won't be marked as an answer). If you want an object to be the only user of a material you've given to multiple objects, click on the number next to the name. By default, the material called "Material" in your example will then be duplicated and renamed to "...
Given your newness to blender decided to add this answer to explain another way you may encounter similar behaviour in the future.
Firstly highly recommend reading the documentation on material assignment
Materials are stored in a global pool in the blend file. A material with the same name, is the same material, regardless of mesh, ...
It looks to me like the big thing is that the strength of the bump map is too high; with Strength set to 1, it's trying to treat the bumps as having a maximum height of 1, which is very large compared to the size of your base. Try greatly reducing the bump map's Strength; maybe 0.1 or 0.05.
Also, note that a bump map will always produce "flat" ...
So there are several problems and it looks like you can fix them this way:
Decrease the Distance value of the Bump, try 0.1 for example.
Increase the object size, it seems to work better.
Change or add a light source, for example a sun, I guess a simple plane emits parallel rays and it may not give a good render.
Maybe put a ColorRamp between the Wave and ...
Keyframe the default value of the socket
Animating by keyframe the base colour of the bsdf node
To the python console.
From material "Material" get the bsdf node
>>> mat = D.materials['Material']
>>> bsdf = mat.node_tree.nodes['Principled BSDF']
What color is it now?
>>> bsdf.inputs['Base Color'].default_value
You can actually achieve this using an inline driver by entering the following directly into the property field (eg, the Z-location) :
Here the '#' is a shortcut to define a driver, [....] is your list of values - and the rest picks up the current 'frame', limits ...
When they're one object, you need to use UV mapping. When they're
separate, it'll work right away :). – Jachym Michal 30 mins ago
Making the planes separate objects was the solution (or working with UVs).