I might add you might wish to cast your price attribute on variant to a money object, which then handles formatting and currency logos. A currency/money package such as https://github.com/akaunting/laravel-money would make your platform especially flexible with prices and currencies and exchange rates.
Thanks @jaseofspades88 its all about this line really @if($variant?->price) just to my eye is not readable at first but the more I think about it the more I like it ;-)
I do not use any money packages and learned to keep everything cents, proves to be the easiest way to deal with problems for me.
@sergiu17 I'll go with the first on as it is mor readable for me.