{{--
    Blade-шаблон блока «Сетка услуг».
    $data:
      label       — надпись над заголовком
      heading     — заголовок секции
      subtext     — описание секции
      service_ids — массив ID конкретных услуг; если пусто — берутся последние N
      limit       — максимум услуг при режиме «последние» (по умолчанию 8)
    Теги услуги — ID из таблицы dict_values (раздел countries + service_tags).
    Каждый элемент — ссылка на /services/{slug}.
--}}
@php
    use App\Models\DictValue;
    use App\Models\Service;

    $ids   = array_filter(array_map('intval', $data['service_ids'] ?? []));
    $limit = max(1, (int) ($data['limit'] ?? 8));

    if (!empty($ids)) {
        $services = Service::active()
            ->whereIn('id', $ids)
            ->orderByRaw('FIELD(id, ' . implode(',', $ids) . ')')
            ->get();
    } else {
        $services = Service::active()
            ->orderBy('sort_order')
            ->orderBy('title')
            ->limit($limit)
            ->get();
    }

    // Собираем все нужные ID тегов одним запросом
    $allTagIds = $services->flatMap(fn ($s) => array_map('intval', $s->tags ?? []))->unique()->filter()->values();
    $tagDict   = DictValue::whereIn('id', $allTagIds)->get(['id','value','flag'])
                          ->keyBy('id');
@endphp

@if($services->isNotEmpty())
<section class="section sec-alt">
    <div class="container">

        @if(($data['label'] ?? '') || ($data['heading'] ?? '') || ($data['subtext'] ?? ''))
            <div class="sh reveal">
                @if($data['label'] ?? '')
                    <div class="sh-label">{{ $data['label'] }}</div>
                @endif
                @if($data['heading'] ?? '')
                    <h2>{{ $data['heading'] }}</h2>
                @endif
                @if($data['subtext'] ?? '')
                    <p>{{ $data['subtext'] }}</p>
                @endif
            </div>
        @endif

        <div class="svc-grid stagger">
            @foreach($services as $i => $svc)
                <a href="{{ route('services.show', $svc->slug) }}" class="svc-item">
                    <div class="svc-n">{{ str_pad($i + 1, 2, '0', STR_PAD_LEFT) }}</div>
                    <div class="svc-body">
                        <h3>
                            @if($svc->icon) {{ $svc->icon }} @endif
                            {{ $svc->title }}
                        </h3>
                        @if($svc->excerpt)
                            <p>{{ $svc->excerpt }}</p>
                        @endif
                        @php $tagIds = array_map('intval', $svc->tags ?? []); @endphp
                        @if(!empty($tagIds))
                            <div class="svc-tags">
                                @foreach($tagIds as $tid)
                                    @if($tagDict->has($tid))
                                        <span class="svc-tag">
                                            {{ $tagDict[$tid]->flag }}
                                            {{ $tagDict[$tid]->value }}
                                        </span>
                                    @endif
                                @endforeach
                            </div>
                        @endif
                    </div>
                </a>
            @endforeach
        </div>

    </div>
</section>
@endif
