<!-- ══ LISTAGEM DE PRODUTOS POR CATEGORIA ═══════════════════════════════════════════════════════ -->
<div class="container-fluid py-5">
    <div class="container">
        <?php
        // Reutiliza os checks de coluna feitos UMA VEZ em theme-init.php
        $hasPosicaoCat  = $GLOBALS['hasPosicaoCat']  ?? false;
        $hasPosicaoProd = $GLOBALS['hasPosicaoProd'] ?? false;

        $orderByCat = $hasPosicaoCat ? "posicao ASC" : "id ASC";

        // 2. Buscar apenas as categorias que POSSUEM produtos (JOIN garante isso)
        $orderByCatTable = $hasPosicaoCat ? "c.posicao ASC, c.id ASC" : "c.id ASC";
        
        $selectCols = "c.id, c.nome" . ($hasPosicaoCat ? ", c.posicao" : "");
        $sqlCats = "SELECT DISTINCT $selectCols 
            FROM categorias c 
            INNER JOIN produtos p ON p.categoria_id = c.id AND p.status = 'Ativo'
            WHERE c.status = 'ativo'
            ORDER BY $orderByCatTable";

        $resCats = $conn->query($sqlCats);
        $categoriasRenderizadas = 0;

        if ($resCats && $resCats->num_rows > 0) {
            while ($cat = $resCats->fetch_assoc()) {
                $catId = $cat['id'];
                $catNome = $cat['nome'];

                // 3. Buscar os primeiros 8 produtos desta categoria
                $orderByProd = $hasPosicaoProd ? "p.posicao ASC, p.id ASC" : "p.id ASC";

                $sqlProds = "SELECT p.id, p.nome, p.preco, p.preco_promocional, p.preco_atacado, p.imagem_principal, p.status, p.status_promocao, p.estoque, p.vender_sem_estoque
                     FROM produtos p 
                     WHERE p.categoria_id = $catId AND p.status = 'Ativo'
                     ORDER BY $orderByProd 
                     LIMIT 10";


                $resProds = $conn->query($sqlProds);

                if ($resProds && $resProds->num_rows > 0) {
                    $categoriasRenderizadas++;
                    echo '
            <!-- Cabeçalho da Categoria Centralizado -->
            <div class="row g-5 mt-5 mb-4">
                <div class="col-lg-12">
                    <div class="section-title mb-4 text-center">
                        <h5 class="position-relative d-inline-block text-primary text-uppercase">
                            Galeria / Departamento
                        </h5>
                        <h1 class="display-5 mb-0 text-heading">' . htmlspecialchars($catNome) . '</h1>
                    </div>
                    <p class="text-center mb-0">Confira os modelos exclusivos da nossa coleção de ' . htmlspecialchars($catNome) . '.</p>
                </div>
            </div>

            <!-- Grid de Produtos -->
            <div class="row g-4" id="cat-products-' . $catId . '">';

                    $count = 0;
                    $hasMore = false;
                    while ($row = $resProds->fetch_assoc()) {
                        if ($count < 9) {
                            echo renderProductCard($row, false, $count);
                        } else {
                            $hasMore = true;
                        }
                        $count++;
                    }

                    echo '</div>'; // Fecha o row g-4
        
                    if ($hasMore) {
                        echo '
                <div class="text-center mt-4">
                    <button class="btn btn-glass-primary btn-load-more py-3 px-5 wow fadeInUp" 
                            data-cat-id="' . $catId . '" 
                            data-offset="9" 
                            onclick="carregarMais(this)">
                        Ver Mais Modelos <i class="fas fa-plus ms-2"></i>
                    </button>
                </div>';
                    }
                }
            }
        }

        if ($categoriasRenderizadas == 0) {
            echo '<div class="row"><div class="col-12 text-center py-5"><p>Nenhum produto disponível no momento.</p></div></div>';
        }
        ?>
    </div>
</div>
<!-- ══ FIM LISTAGEM DE PRODUTOS POR CATEGORIA ═══════════════════════════════════════════════════════ -->
