Material won’t render, but does show up in the 3D viewport with “Material shading” (project file included)
In your node setup you are connecting color outputs and BSDF inputs. Cycles is not meant to work like that (hence there is no rendered material). The viewport will still show something, because it is an approximation which evaluates nodes differently.


Connect color outputs with color inputs.
Connect BSDF outputs with BDSF inputs.


You can use either method to create your setup. Color outputs can be mixed with a MixRGB node and BSDF outputs can be mixed with the Mix Shader node.