{{-- Backdrop --}}
{{-- Modal Panel --}}
@if($item) {{-- Header Image --}}
@if($item->image) {{ $item->name }} @else
@endif {{-- Gradient Overlay --}}
{{-- Close Button --}} {{-- Title Overlay (Mobile/Desktop) --}}
@if(isset($item->category)) {{ $item->category->name }} @endif

{{ $item->name }}

{{-- Body --}}

{{ $item->description }}

@php // Group options by their OptionGroup model (key by Id to be safe for logic) $groupedOptions = $item->options->groupBy('option_group_id'); @endphp @foreach($groupedOptions as $groupId => $options) @php $group = $options->first()->group; $groupName = $group->name ?? __('front.options'); $isMultiple = ($group->type ?? 'single') === 'multiple'; @endphp

{{ $groupName }}

@if($isMultiple) {{ __('front.optional') }} @else {{ __('front.required') }} @endif
@foreach($options as $option) @php // Check if selected for styling $isSelected = false; if ($isMultiple) { $isSelected = in_array($option->id, $selectedOptions[$groupId] ?? []); } else { $isSelected = ($selectedOptions[$groupId] ?? null) == $option->id; } @endphp @endforeach
@endforeach
{{-- Spacer for sticky footer --}}
{{-- Footer (Actions) --}}
{{ $quantity }}
@else {{-- Loading State --}}
{{ __('front.loading_details') }}...
@endif