html
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>ShopFábricas - Ofertas Exclusivas</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/@phosphor-icons/web"></script>
<style>
.star-active { color: #fbbf24; }
.product-card:hover { transform: translateY(-2px); transition: 0.2s; }
/* Esconde a barra de rolagem mas mantém a funcionalidade */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
</style>
</head>
<body class="bg-gray-50 pb-20">

<header class="bg-white border-b px-4 py-3 flex items-center justify-between sticky top-0 z-40 shadow-sm">
<div class="flex items-center gap-2">
<div class="bg-orange-600 p-1.5 rounded-lg text-white"><i class="ph-fill ph-crown text-lg"></i></div>
<h1 class="font-black text-lg italic text-gray-990 tracking-tight">SHOP<span class="text-orange-600">FÁBRICAS</span></h1>
</div>
<div class="flex items-center gap-3">
<div class="relative cursor-pointer" onclick="showAccessModal()">
<i class="ph ph-bell text-2xl text-gray-600"></i>
<span class="absolute top-0 right-0 w-2.5 h-2.5 bg-red-500 rounded-full border-2 border-white"></span>
</div>
<button onclick="showLoginModal()" class="text-[10px] font-bold bg-slate-900 text-white px-3 py-2.5 rounded-full shadow-md hover:bg-slate-800 transition">
ENTRAR, JÁ SOU MEMBRO
</button>
</div>
</header>

<main class="max-w-md mx-auto p-4">

<div class="inline-flex items-center gap-2 bg-white border px-3 py-1.5 rounded-full shadow-sm mb-4 cursor-pointer" onclick="showAccessModal()">
<span class="text-[10px] font-bold text-gray-600 tracking-wider">CRÉDITOS ATACADO</span>
<span class="bg-purple-600 text-white text-xs font-bold w-5 h-5 flex items-center justify-center rounded-full">0</span>
</div>

<div class="bg-white p-3 rounded-2xl shadow-sm border mb-4 flex items-center gap-2 cursor-pointer transition active:scale-95" onclick="showAccessModal()">
<i class="ph ph-magnifying-glass text-gray-400 ml-1 text-xl"></i>
<input type="text" placeholder="Buscar fábricas e fornecedores..." class="w-full text-sm outline-none bg-transparent pointer-events-none" readonly>
</div>

<div class="flex gap-2 overflow-x-auto pb-2 scrollbar-hide mb-2 cursor-pointer" onclick="showAccessModal()">
<button class="bg-purple-600 text-white px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">TODAS</button>
<button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">ELETRONICOS</button>
<button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">CASA</button>
<button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">MODA</button>
<button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">VARIADOS</button>
</div>

<div class="bg-gradient-to-br from-purple-700 to-indigo-900 rounded-[28px] p-6 text-white my-6 shadow-xl relative overflow-hidden cursor-pointer transform transition active:scale-[0.98]" onclick="showAccessModal()">
<div class="absolute top-0 right-0 w-32 h-32 bg-white opacity-5 rounded-full blur-2xl -mr-10 -mt-10"></div>

<div class="text-[10px] font-bold tracking-widest text-purple-200 mb-2 uppercase flex items-center gap-1.5">
<span class="w-2 h-2 rounded-full bg-green-400 animate-pulse"></span>
125 Pessoas usando agora
</div>

<h2 class="text-3xl font-bold mb-3 tracking-tight">Fabricantes Secretos</h2>
<p class="text-sm text-purple-100 mb-6 leading-relaxed pr-4">Acesso exclusivo à fonte para multiplicar seus lucros. Revele os contatos que os grandes lojistas escondem.</p>

<button class="w-full bg-[#10b981] hover:bg-[#059669] text-white font-black py-4 rounded-full text-sm shadow-lg transition-colors tracking-wide">
QUERO ACESSO ILIMITADO
</button>
</div>

<div id="product-grid" class="grid grid-cols-2 gap-4"></div>

<div class="flex justify-center items-center gap-1 mt-10 overflow-x-auto cursor-pointer" onclick="showAccessModal()">
<button class="px-3 py-1 bg-white border rounded">1</button>
<button class="px-3 py-1 bg-white border rounded">2</button>
<button class="px-3 py-1 bg-white border rounded">3</button>
<span class="px-2 text-gray-400">...</span>
<button class="px-3 py-1 bg-white border rounded">89</button>
</div>
</main>

<footer class="bg-white border-t p-6 text-center text-gray-500 mt-6 mb-16">
<div class="bg-orange-100 w-12 h-12 flex items-center justify-center rounded-xl mx-auto mb-4 text-orange-600">
<i class="ph-fill ph-crown text-2xl"></i>
</div>
<p class="font-bold text-gray-900 text-sm mb-1">© HubVip 2026</p>
<p class="text-xs mb-1">CNPJ: 52.173.685/0001-71</p>
<p class="text-xs mb-6">Batel, Curitiba - PR</p>

<div class="flex flex-wrap justify-center gap-4 text-[11px] underline font-medium text-gray-600 mb-6">
<a href="https://app.hubvip.cloud/politicas" onclick="showAccessModal(event)">Políticas de Privacidade</a>
<a href="https://app.hubvip.cloud/termos" onclick="showAccessModal(event)">Termos de Uso</a>
<a href="https://wa.me/5548988353487" onclick="showAccessModal(event)">Contato</a>
</div>

<p class="text-[10px] text-gray-400 leading-relaxed border-t pt-4">
Em conformidade com a Lei Geral de Proteção de Dados (LGPD). Seus dados estão seguros.
Este site é protegido por reCAPTCHA e as Políticas de Privacidade se aplicam.
</p>
</footer>

<div class="fixed bottom-0 w-full bg-white border-t flex justify-around items-center pb-safe pt-2 px-2 z-30 shadow-[0_-4px_15px_rgba(0,0,0,0.05)]">
<button class="flex flex-col items-center p-2 text-gray-400 hover:text-orange-600 transition" onclick="showAccessModal()">
<i class="ph ph-crown text-2xl mb-1"></i>
<span class="text-[9px] font-bold tracking-wide">OFERTAS</span>
</button>
<button class="flex flex-col items-center p-2 text-gray-400 hover:text-orange-600 transition" onclick="showAccessModal()">
<i class="ph ph-ticket text-2xl mb-1"></i>
<span class="text-[9px] font-bold tracking-wide">CUPONS</span>
</button>
<button class="flex flex-col items-center p-2 text-orange-600" onclick="showAccessModal()">
<i class="ph-fill ph-chart-line-up text-2xl mb-1"></i>
<span class="text-[9px] font-bold tracking-wide border-b-2 border-orange-600 pb-1">FABRICAS</span>
</button>
</div>

<div id="modal-checkout" class="fixed inset-0 bg-black/70 hidden flex items-center justify-center p-4 z-50 backdrop-blur-sm transition-opacity">
<div class="bg-white rounded-[32px] p-8 w-full max-w-sm text-center shadow-2xl relative">
<div class="absolute -top-10 left-1/2 transform -translate-x-1/2 text-6xl drop-shadow-xl">🏭</div>
<h2 class="text-2xl font-black mb-2 mt-4 text-gray-900">Acesso VIP</h2>
<p class="text-gray-600 mb-6 text-sm">Este conteúdo é exclusivo para membros da comunidade. Solicite seu acesso agora.</p>
<button onclick="goToCheckout()" class="w-full bg-orange-600 text-white font-black py-4 rounded-2xl mb-4 text-sm tracking-widest shadow-lg hover:bg-orange-700 transition">QUERO ENTRAR</button>
<button onclick="closeModals()" class="text-xs font-bold text-gray-400 hover:text-gray-600">FECHAR</button>
</div>
</div>

<div id="modal-login" class="fixed inset-0 bg-black/70 hidden flex items-center justify-center p-4 z-50 backdrop-blur-sm">
<div class="bg-white rounded-[32px] p-8 w-full max-w-sm relative shadow-2xl">
<button onclick="closeModals()" class="absolute top-4 right-4 text-gray-400 hover:text-gray-800 p-2"><i class="ph ph-x text-xl"></i></button>

<div id="login-form-container">
<div class="text-center mb-6">
<div class="bg-gray-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4 text-gray-900">
<i class="ph-fill ph-user text-3xl"></i>
</div>
<h2 class="text-xl font-black text-gray-900">Acessar Conta</h2>
<p class="text-xs text-gray-500 mt-2">Área exclusiva para membros cadastrados.</p>
</div>

<form id="loginForm" onsubmit="submitLogin(event)">
<div class="mb-4">
<label class="block text-[10px] font-bold text-gray-600 mb-1 ml-2 uppercase">E-mail ou Telefone</label>
<input type="text" id="login-identifier" required placeholder="Digite seu acesso..."
class="w-full bg-gray-50 border border-gray-200 text-gray-900 text-sm rounded-2xl focus:ring-purple-500 focus:border-purple-500 block p-4 outline-none transition">
</div>
<button type="submit" id="btn-submit-login" class="w-full bg-slate-900 text-white font-bold rounded-2xl text-sm px-5 py-4 text-center hover:bg-slate-800 transition flex justify-center items-center gap-2">
<span>ENTRAR AGORA</span>
</button>
</form>
</div>

<div id="login-success-container" class="hidden text-center py-6">
<div class="bg-green-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4 text-green-600 animate-bounce">
<i class="ph-fill ph-check-circle text-4xl"></i>
</div>
<h2 class="text-lg font-black text-gray-900 mb-2">Solicitação enviada!</h2>
<p class="text-sm text-gray-600 leading-relaxed">
Se você estiver cadastrado na plataforma, receberá um <b>E-mail ou SMS</b> em instantes com suas credenciais de acesso seguro.
</p>
<button onclick="closeModals()" class="mt-8 w-full bg-gray-100 text-gray-900 font-bold py-3 rounded-xl text-sm">ENTENDI, FECHAR</button>
</div>
</div>
</div>

<script>
// ==========================================
// 🔗 LINKS DE CONFIGURAÇÃO PRINCIPAIS
// ==========================================
const LINK_CHECKOUT = 'https://pay.kiwify.com.br/TDJiv34';
const WEBHOOK_N8N = 'https://webhook.sistemabruto.pro/webhook/6e0586a1-6362-476a-b02e-6a2f12555d8b';
// ==========================================

const produtos = [
{ "title": "Moto Elétrica", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 12X 89,00", "img": "https://cdn.hubvip.cloud/Front/Images/Moto_eletrica.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Pratos", "cat": "Pode retirar no local", "loc": "Goiânia, GO", "price": "R$ 1,00", "img": "https://cdn.hubvip.cloud/Front/Images/Pratos.AVIF?auto=format&fit=crop&q=80&w=400" },
{ "title": "Tv 65 polegadas", "cat": "Boleto ou cartão", "loc": "São Paulo, SP", "price": "R$ 12x 79,90", "img": "https://cdn.hubvip.cloud/Front/Images/Tv.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Calça jeans premium", "cat": "Pode retirar no local", "loc": "Blumenau, SC", "price": "22 reais", "img": "https://cdn.hubvip.cloud/Front/Images/Calc%CC%A7a%20jeans.jpg?auto=format&fit=crop&q=80&w=400" },
{ "title": "Geladeira Duplex", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 899,00", "img": "https://cdn.hubvip.cloud/Front/Images/geladeiras.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Celular gamer 128g", "cat": "", "loc": "São Paulo, SP", "price": "R$ 299,00", "img": "https://cdn.hubvip.cloud/Front/Images/Celular.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Camisetas peruanas premium", "cat": "min 6 peças", "loc": "Fortaleza, CE", "price": "R$ 12,00", "img": "https://cdn.hubvip.cloud/Front/Images/Camisetas.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Kit panelas", "cat": "Frete grátis", "loc": "Belo Horizonte, MG", "price": "R$ 79,90", "img": "https://cdn.hubvip.cloud/Front/Images/Panelas.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Ripados de madeira", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 8,90", "img": "https://cdn.hubvip.cloud/Front/Images/ripados.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Cuecas na caixinha", "cat": "Pode retirar 🤝", "loc": "São Paulo, SP", "price": "R$ 3,50/ peça", "img": "https://cdn.hubvip.cloud/Front/Images/Cuecas.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Tênis premium", "cat": "Frete Grátis", "loc": "Nova Serrana, MG", "price": "R$ 25,00", "img": "https://cdn.hubvip.cloud/Front/Images/Te%CC%82nis.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Utilidades do lar", "cat": "Frete grátis", "loc": "Goiânia, GO", "price": "R$ 2,00", "img": "https://cdn.hubvip.cloud/Front/Images/Utilidade.JPG?auto=format&fit=crop&q=80&w=400" },
{ "title": "Moda infantil", "cat": "Frete grátis", "loc": "Fortaleza, CE", "price": "A partir de R$ 8,00", "img": "https://cdn.hubvip.cloud/Front/Images/Infantil.JPG?auto=format&fit=crop&q=80&w=400" }
];

const grid = document.getElementById('product-grid');
produtos.forEach(p => {
grid.innerHTML += `
<div class="product-card bg-white rounded-[20px] border border-gray-100 p-2.5 shadow-sm cursor-pointer" onclick="showAccessModal()">
<div class="relative">
<img src="${p.img}" class="w-full h-36 object-cover rounded-2xl mb-3">
<span class="absolute top-2 left-2 bg-purple-100 text-purple-700 text-[9px] font-bold px-2 py-1 rounded-md">${p.cat}</span>
</div>
<h3 class="text-xs font-black text-gray-800 leading-tight mb-1">${p.title}</h3>
<p class="text-[9px] text-gray-500 mb-2 flex items-center gap-1"><i class="ph-fill ph-map-pin"></i> ${p.loc}</p>
<p class="text-sm font-black text-orange-600 mb-3">${p.price} <span class="text-[9px] text-gray-400 font-normal">/peça</span></p>
<div class="grid grid-cols-2 gap-1.5">
<button class="bg-green-50 text-green-600 py-1.5 rounded-lg text-[10px] font-bold flex items-center justify-center gap-1"><i class="ph ph-whatsapp-logo text-sm"></i> Zap</button>
<button class="bg-gray-50 text-gray-700 py-1.5 rounded-lg text-[10px] font-bold flex items-center justify-center gap-1"><i class="ph ph-instagram-logo text-sm"></i> Insta</button>
</div>
</div>
`;
});

// Controle de Modais
function showAccessModal(e) {
if(e) e.preventDefault();
document.getElementById('modal-checkout').classList.remove('hidden');
}

function showLoginModal() {
document.getElementById('login-form-container').classList.remove('hidden');
document.getElementById('login-success-container').classList.add('hidden');
document.getElementById('login-identifier').value = '';
document.getElementById('modal-login').classList.remove('hidden');
}

function closeModals() {
document.getElementById('modal-checkout').classList.add('hidden');
document.getElementById('modal-login').classList.add('hidden');
}

function goToCheckout() {
window.location.href = LINK_CHECKOUT;
}

// Lógica de Login e Webhook N8N
function submitLogin(event) {
event.preventDefault();

const identifier = document.getElementById('login-identifier').value;
const btn = document.getElementById('btn-submit-login');

const originalText = btn.innerHTML;
btn.innerHTML = `<i class="ph ph-spinner animate-spin text-lg"></i> Processando...`;
btn.disabled = true;

fetch(WEBHOOK_N8N, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
login: identifier,
origem: "ShopFabricas_App",
data: new Date().toISOString()
})
})
.then(response => {
showLoginSuccess();
})
.catch(error => {
console.error("Erro no Webhook:", error);
showLoginSuccess();
})
.finally(() => {
btn.innerHTML = originalText;
btn.disabled = false;
});
}

function showLoginSuccess() {
document.getElementById('login-form-container').classList.add('hidden');
document.getElementById('login-success-container').classList.remove('hidden');
}

window.onclick = (e) => {
if(e.target == document.getElementById('modal-checkout')) closeModals();
if(e.target == document.getElementById('modal-login')) closeModals();
}
</script>
</body>
</html>