<?php
$q = trim($_GET['q'] ?? '');
$pageTitle = $q
    ? "Busca por \"" . htmlspecialchars($q) . "\" — Catálogo 44"
    : "Busca — Catálogo 44";
include 'header.php';
?>

<!-- Busca Start -->
<div class="container-fluid py-5 wow fadeInUp" data-wow-delay="0.1s">
    <div class="container">

        <!-- Título da seção -->
        <div class="section-title mb-5">
            <h5 class="position-relative d-inline-block text-primary text-uppercase">Busca de Produtos</h5>
            <?php if ($q): ?>
                <h1 class="display-6 text-heading">
                    Resultados para: <span class="text-primary">"<?= htmlspecialchars($q) ?>"</span>
                </h1>
            <?php else: ?>
                <h1 class="display-6 text-heading">Digite o que você procura</h1>
            <?php endif; ?>
        </div>

        <!-- Caixa de busca inline -->
        <form action="busca.php" method="GET" class="mb-5">
            <div class="input-group" style="max-width: 600px;">
                <input type="text" name="q" class="form-control p-3 border-primary"
                       placeholder="Ex: Camiseta azul, Tênis Nike, tamanho GG..."
                       value="<?= htmlspecialchars($q) ?>"
                       autocomplete="off" required style="font-size:1rem;">
                <button type="submit" class="btn btn-primary px-5">
                    <i class="bi bi-search me-2"></i>Buscar
                </button>
            </div>
        </form>

        <?php if ($q): ?>
            <?php
            require_once __DIR__ . '/../adm/config/db.php';
            require_once __DIR__ . '/components/product_card.php';

            $termo  = '%' . $conn->real_escape_string($q) . '%';
            $qExato = $conn->real_escape_string($q);

            // ──────────────────────────────────────────────────────────────
            // Busca em: nome, descrição, categoria E variações (cor/tamanho/número)
            // DISTINCT garante que o produto não aparece duplicado mesmo
            // que várias variações dele batam com o termo pesquisado.
            // Ordenação por relevância: nome exato > início do nome > resto.
            // ──────────────────────────────────────────────────────────────
            $sql = "SELECT DISTINCT
                        p.id, p.nome, p.preco, p.preco_promocional, p.preco_atacado,
                        p.regra_atacado, p.atacado_min_qtd, p.atacado_min_valor,
                        p.imagem_principal, p.status, p.status_promocao,
                        p.estoque, p.vender_sem_estoque,
                        c.nome AS categoria_nome
                    FROM produtos p
                    LEFT JOIN categorias c         ON c.id         = p.categoria_id
                    LEFT JOIN produto_variacoes pv ON pv.produto_id = p.id
                    WHERE p.status = 'Ativo'
                      AND (
                          p.nome       LIKE ?
                       OR p.descricao  LIKE ?
                       OR c.nome       LIKE ?
                       OR pv.tamanho   LIKE ?
                       OR pv.cor       LIKE ?
                       OR pv.numero    LIKE ?
                      )
                    ORDER BY
                        CASE
                            WHEN p.nome = ?                 THEN 0
                            WHEN p.nome LIKE CONCAT(?, '%') THEN 1
                            ELSE 2
                        END,
                        p.nome ASC
                    LIMIT 48";

            $stmt = $conn->prepare($sql);
            $stmt->bind_param(
                "ssssssss",
                $termo, $termo, $termo, $termo, $termo, $termo,
                $qExato, $qExato
            );
            $stmt->execute();
            $result           = $stmt->get_result();
            $totalEncontrados = $result ? $result->num_rows : 0;

            if ($totalEncontrados > 0):
            ?>
                <div class="d-flex align-items-center gap-2 mb-4">
                    <i class="bi bi-check-circle-fill text-success fs-5"></i>
                    <p class="mb-0 text-muted">
                        <strong><?= $totalEncontrados ?></strong>
                        produto<?= $totalEncontrados !== 1 ? 's' : '' ?>
                        encontrado<?= $totalEncontrados !== 1 ? 's' : '' ?>
                        para <strong>"<?= htmlspecialchars($q) ?>"</strong>
                    </p>
                </div>
                <div class="row g-4">
                    <?php
                    $i = 0;
                    while ($row = $result->fetch_assoc()):
                        echo renderProductCard($row, false, $i);
                        $i++;
                    endwhile;
                    ?>
                </div>

            <?php else: ?>
                <div class="text-center py-5">
                    <i class="bi bi-search text-muted" style="font-size: 4rem; opacity: 0.3;"></i>
                    <h3 class="mt-4 text-heading">Nenhum produto encontrado</h3>
                    <p class="text-muted">
                        Nenhum resultado para <strong>"<?= htmlspecialchars($q) ?>"</strong>.<br>
                        Tente outros termos, verifique a ortografia ou navegue pelo catálogo.
                    </p>
                    <a href="index.php" class="btn btn-primary mt-3 py-3 px-5">
                        <i class="bi bi-grid me-2"></i>Ver todos os produtos
                    </a>
                </div>
            <?php endif; ?>
        <?php endif; ?>

    </div>
</div>
<!-- Busca End -->

<?php include 'footer.php'; ?>
