@php
$shapeString = $product->stone_shape ? $product->stone_shape : 'round,oval,emerald,cushion,pear';
$shapesArr = array_filter(array_map('trim', explode(',', $shapeString)));
@endphp
@foreach($shapesArr as $index => $shape)
@php $shapeClean = str_replace(' cut', '', strtolower($shape)); @endphp
 }})
@endforeach
@php
$displayedMetals = [];
@endphp
@foreach($product->variants ?? [$product] as $variant)
@php
$metal = current(array_filter(array_map('trim', explode(',', $variant->metal ?? '14K Yellow Gold'))));
if(in_array($metal, $displayedMetals)) continue;
$displayedMetals[] = $metal;
$mClass = 'yellow-gold';
$mLabel = 'YG';
$metalLower = strtolower($metal);
if(str_contains($metalLower, 'white')) { $mClass = 'white-gold'; $mLabel = 'WG'; }
if(str_contains($metalLower, 'rose')) { $mClass = 'rose-gold'; $mLabel = 'RG'; }
if(str_contains($metalLower, 'platinum') || str_contains($metalLower, 'pt')) { $mClass = 'platinum'; $mLabel = 'PL'; }
if(preg_match('/(\d+k)/i', $metal, $matches)) {
$mLabel = strtoupper($matches[1]);
}
// Variant image
$vImages = [];
if (!empty($variant->image)) {
$vDec = json_decode($variant->image, true);
$vImages = is_array($vDec) ? $vDec : [$variant->image];
} else {
$vImages = ['default-placeholder.png'];
}
$vFirstImg = trim($vImages[0]);
$vImgSrc = str_starts_with($vFirstImg, 'http') ? $vFirstImg : asset('assets/images/product/' . $vFirstImg);
@endphp
{{ $variant->id == $product->id ? $mLabel : '' }}
@endforeach