<?php
if ($_SERVER["REQUEST_METHOD"] != "POST") { header("Location: checkout.php"); exit; }

// Recebendo dados da página anterior
$id_prod = $_POST['id_prod'] ?? '';
$nome_cli = $_POST['nome_cli'] ?? '';
$cpf_cli = $_POST['cpf_cli'] ?? '';
$celular_cli = $_POST['celular_cli'] ?? '';

// Busca o produto no JSON
$produtos = json_decode(file_get_contents("produtos.json"), true);
$produto = null;
foreach ($produtos as $p) { if ($p['id'] == $id_prod) { $produto = $p; break; } }
if (!$produto) { die("Erro: Produto não identificado."); }

// Função CRC16 para o PIX (Padrão BACEN)
function crc16_br($data) {
    $res = 0xFFFF;
    for ($i = 0; $i < strlen($data); $i++) {
        $res ^= (ord($data[$i]) << 8);
        for ($j = 0; $j < 8; $j++) {
            if ($res & 0x8000) $res = ($res << 1) ^ 0x1021;
            else $res <<= 1;
            $res &= 0xFFFF;
        }
    }
    return strtoupper(str_pad(dechex($res), 4, '0', STR_PAD_LEFT));
}

// Dados do Recebedor (Seus dados)
$chave_pix_celular = "21986297787";
$beneficiario = "ELIAS HILARIO DOS SANTOS";
$cidade = "RIO DE JANEIRO";
$valor = number_format($produto['preco'], 2, '.', '');

// Montagem da String Pix Copia e Cola
$gui = "0014BR.GOV.BCB.PIX";
$chave_campo = "01" . str_pad(strlen($chave_pix_celular), 2, '0', STR_PAD_LEFT) . $chave_pix_celular;
$campo26_conteudo = $gui . $chave_campo;

$pix = "000201";
$pix .= "26" . str_pad(strlen($campo26_conteudo), 2, '0', STR_PAD_LEFT) . $campo26_conteudo;
$pix .= "520400005303986";
$pix .= "54" . str_pad(strlen($valor), 2, '0', STR_PAD_LEFT) . $valor;
$pix .= "5802BR";
$pix .= "59" . str_pad(strlen($beneficiario), 2, '0', STR_PAD_LEFT) . $beneficiario;
$pix .= "60" . str_pad(strlen($cidade), 2, '0', STR_PAD_LEFT) . $cidade;
$pix .= "62070503***6304";

$pix_copia_cola = $pix . crc16_br($pix);
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pagamento Seguro | Pix</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&display=swap" rel="stylesheet">
    <style>
        :root { --primary: #1a252f; --accent: #c5a059; --success: #27ae60; --bg: #f4f7f9; --text-muted: #7f8c8d; }
        body { font-family: 'Inter', sans-serif; background: var(--bg); margin: 0; padding: 0; color: #333; }
        
        /* Topo de Segurança */
        header { background: #fff; padding: 15px; border-bottom: 2px solid #eee; text-align: center; }
        .badge-secure { display: inline-flex; align-items: center; gap: 5px; color: var(--success); font-size: 11px; font-weight: 800; text-transform: uppercase; border: 1px solid var(--success); padding: 4px 10px; border-radius: 20px; }

        .container { max-width: 480px; margin: 20px auto; padding: 0 15px; }

        .card { background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); overflow: hidden; }
        .card-header { background: var(--primary); color: #fff; padding: 20px; text-align: center; }
        
        .padd { padding: 25px; }

        /* Estilo da Chave Pix em Destaque */
        .chave-pix-container { background: #fdfaf0; border: 2px solid #f1e3c4; border-radius: 12px; padding: 20px; margin: 15px 0; }
        .label-chave { font-size: 12px; color: var(--accent); font-weight: 700; margin-bottom: 5px; display: block; }
        .valor-chave { font-size: 22px; font-weight: 900; color: var(--primary); letter-spacing: 1px; display: block; margin-bottom: 10px; }
        
        .timer { font-size: 28px; font-weight: 900; color: #e74c3c; margin: 10px 0; }

        .btn { display: block; width: 100%; padding: 16px; border: none; border-radius: 10px; font-weight: 700; cursor: pointer; text-transform: uppercase; transition: 0.3s; font-size: 14px; text-decoration: none; box-sizing: border-box; }
        .btn-copy { background: var(--success); color: #fff; box-shadow: 0 4px 0 #1e8449; margin-bottom: 10px; }
        .btn-copy:active { transform: translateY(2px); box-shadow: 0 2px 0 #1e8449; }
        .btn-wpp { background: #25d366; color: #fff; box-shadow: 0 4px 0 #128c7e; }

        .pix-copia-cola { font-size: 10px; background: #f4f4f4; padding: 8px; border-radius: 5px; word-break: break-all; color: #666; margin-top: 15px; display: none; }

        /* Rodapé Institucional */
        footer { margin-top: 30px; padding: 20px; text-align: center; color: var(--text-muted); font-size: 12px; line-height: 1.6; }
        .seals { display: flex; justify-content: center; gap: 15px; margin-bottom: 10px; font-weight: bold; font-size: 10px; }

        .prod-mini { border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom: 15px; text-align: left; display: flex; align-items: center; gap: 10px; }
        .prod-mini img { width: 40px; height: 40px; border-radius: 5px; }
    </style>
</head>
<body>

<header>
    <div class="badge-secure">
        <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"/></svg>
        Pagamento 100% Criptografado
    </div>
</header>

<div class="container">
    <div class="card">
        <div class="card-header">
            <h3 style="margin:0; font-size:18px;">Finalize seu Pix</h3>
        </div>

        <div class="padd">
            <div class="prod-mini">
                <img src="<?= $produto['imagem'] ?>" onerror="this.src='https://via.placeholder.com/50'">
                <div>
                    <div style="font-size:12px; font-weight:bold;"><?= htmlspecialchars($produto['nome']) ?></div>
                    <div style="color:var(--success); font-weight:800;">R$ <?= number_format($produto['preco'], 2, ',', '.') ?></div>
                </div>
            </div>

            <p style="font-size:13px; color:#666;">Olá, <b><?= explode(' ', $nome_cli)[0] ?></b>! Pague agora usando a chave abaixo no app do seu banco.</p>

            <div class="chave-pix-container">
                <span class="label-chave">CHAVE PIX (CELULAR)</span>
                <span class="valor-chave" id="chaveValor"><?= $chave_pix_celular ?></span>
                
                <div style="font-size:11px; color:#888; margin-bottom: 15px;">
                    Beneficiário: <b><?= $beneficiario ?></b>
                </div>

                <div class="timer" id="timer">10:00</div>
                <button class="btn btn-copy" onclick="copyChave()">Copiar Chave Celular</button>
                <button class="btn btn-copy" style="background:#34495e; box-shadow: 0 4px 0 #2c3e50; font-size: 11px; padding: 10px;" onclick="toggleCopiaCola()">Ou usar Pix Copia e Cola</button>
                
                <div id="pixConteudo" class="pix-copia-cola"><?= $pix_copia_cola ?></div>
            </div>

            <a href="https://wa.me/5521986297787?text=Oi%20Elias,%20paguei%20o%20produto%20<?= urlencode($produto['nome']) ?>.%20Aqui%20está%20o%20comprovante!" class="btn btn-wpp">
                Já paguei, enviar comprovante
            </a>
        </div>
    </div>

    <footer>
        <div class="seals">
            <span>🔒 SSL SECURE</span>
            <span>💎 OABCG OFICIAL</span>
            <span>🛡️ PROTEGIDO</span>
        </div>
        <p>
            <b>OABCG - SOLUÇÕES DIGITAIS LTDA</b><br>
            CNPJ: 00.000.000/0001-00<br>
            Suporte: suporte@oabcg.com.br
        </p>
        <p style="font-size:10px; margin-top:15px; opacity: 0.7;">
            Ambiente de pagamento seguro monitorado. <br>
            © <?= date('Y') ?> Todos os direitos reservados.
        </p>
    </footer>
</div>

<script>
    // Função para copiar a chave celular
    function copyChave() {
        const chave = "<?= $chave_pix_celular ?>";
        navigator.clipboard.writeText(chave).then(() => {
            alert("Chave Celular Copiada!");
        });
    }

    // Função para mostrar/esconder o copia e cola
    function toggleCopiaCola() {
        const div = document.getElementById('pixConteudo');
        if(div.style.display === 'block') {
            div.style.display = 'none';
        } else {
            div.style.display = 'block';
            // Copia automaticamente ao abrir
            navigator.clipboard.writeText(div.innerText);
            alert("Código Pix Copia e Cola selecionado e copiado!");
        }
    }

    // Timer de 10 minutos
    let duration = 600;
    const display = document.getElementById('timer');
    const timerInterval = setInterval(() => {
        let minutes = Math.floor(duration / 60);
        let seconds = duration % 60;
        display.innerHTML = (minutes < 10 ? "0" : "") + minutes + ":" + (seconds < 10 ? "0" : "") + seconds;
        if (--duration < 0) {
            clearInterval(timerInterval);
            display.innerHTML = "EXPIRADO";
            display.style.color = "#888";
        }
    }, 1000);
</script>

</body>
</html>