Show posts of an advanced search form

If I am reading your question right, you need AND not OR for the meta query relation

'relation'                  => 'AND',

I don’t see where you’ve set the $product_* values either. You should be using $_GET['product_color'] (etc), but you need to sanitize that user supplied data. I would use a “whitelist” technique if it were me:

$whitelist = array(
  'red' => 'red',
  'blue' => 'blue'
);

if (isset($_GET['product_color']) && isset($whitelist[$_GET['product_color']])) {
  $product_color = $whitelist[$_GET['product_color']];
}
echo $product_color;

If this is a secondary query you should be good, if this is the main query on the page you should be using pre_get_posts.

tech