How can I create an irregular, marble-tiles surface? I'm trying to create a marble-tiles procedural texture for a bathroom's pavement like this:



What I already did was creating the surface for the single tiles, but I can't get to do two things:


Creating an irregular shape for the tiles (I'm using the brick texture but I can't create irregular mortars like the ones in the picture);
Making the gradient-like pattern.


So basically I first created the reddish tiles' texture using this node structure:



I then tried to use the gradient node to recreate the pattern of the real pavement, but the result is this:





As you can see, I've linked the color channel of the gradient node to the bias channel of the brick texture node, but I don't know why the black part that should show ONLY red tiles still has some white tiles on it, something that does not happen with the white part. Besides, some of the red tiles are witheish, but I want only white and red tiles, not something in between, and I'm not sure why this happens.

For the asymmetrical mortar I still have no clue, I tried to use the wave texture and attach it to the "mortar size" channel of the brick texture node nut it didn't work so well. Any idea?
I achieved the brick fade/like effect, as well as some irregularities in the scale of the bricks, the node setup is below the test image




You can use this add-on as well to create more complex brick textures: https://blenderartists.org/t/cycles-brick-tricks-0-1/685934