// Pricing — toggle between Empresarial (4 plans) / Construtor (3 plans). // Plans match the official BinGest pricing structure. const SHARED_FEATURES = [ "Teste de 7 dias grátis", "Suporte WhatsApp"]; const PLANS = { empresarial: [ { name: "Starter", price: 159.99, desc: "1 obra · 2 usuários · Aptos e serviços ilimitados", features: SHARED_FEATURES, cta: "Começar grátis", highlight: false, kind: "plan" }, { name: "Pro", price: 209.99, desc: "2 obras · 3 usuários · Aptos e serviços ilimitados", features: SHARED_FEATURES, cta: "Começar grátis", highlight: true, kind: "plan" }, { name: "Enterprise", price: 379.99, desc: "5 obras · 5 usuários · Aptos e serviços ilimitados", features: SHARED_FEATURES, cta: "Começar grátis", highlight: false, kind: "plan" }, { name: "Planos Especiais", desc: "Para empresas com necessidades personalizadas. Fale com nosso time comercial para uma proposta sob medida.", cta: "Falar com comercial", kind: "custom" }], construtor: [ { name: "Básico", price: 49.0, desc: "1 obra ativa", features: SHARED_FEATURES, cta: "Começar grátis", highlight: false, kind: "plan" }, { name: "Plus", price: 69.0, desc: "2 obras ativas", features: SHARED_FEATURES, cta: "Começar grátis", highlight: false, kind: "plan" }, { name: "Pro", price: 119.0, desc: "Obras ilimitadas", features: SHARED_FEATURES, cta: "Começar grátis", highlight: true, kind: "plan" }] }; function Pricing() { const [mode, setMode] = React.useState("empresarial"); const plans = PLANS[mode]; const cols = mode === "empresarial" ? "repeat(4, 1fr)" : "repeat(3, 1fr)"; return (
PLANOS

Pague menos que um almoço de equipe.
Economize o equivalente a uma obra inteira.

Teste grátis de 7 dias em qualquer plano.

{/* Audience toggle */}
{["empresarial", "construtor"].map((k) => )}
{/* Plans grid */}
{plans.map((p) => p.kind === "plan" ? : )}

); } // --- Standard plan card (Starter, Pro, Enterprise, Básico, Plus...) --------- function PlanCard({ plan }) { const isHi = plan.highlight; // Split price into integer + decimals const [intPart, decPart] = plan.price.toFixed(2).split("."); return (
{/* MAIS POPULAR pill on top */} {isHi &&
MAIS POPULAR
} {/* 7 dias grátis chip */}
7 dias grátis
{/* Plan name */}

{plan.name}

{/* Price */}
R$ {intPart} ,{decPart} /mês
{/* Description */}

{plan.desc}

{/* Divider */}
{/* Features */} {/* CTA */} {plan.cta}
); } // --- Custom card (Planos Especiais) ----------------------------------------- function CustomCard({ plan }) { return (
{/* Sparkle icon block */}
{/* Plan name */}

{plan.name}

{/* Description */}

{plan.desc}

{/* CTA */} {plan.cta}
); } window.Pricing = Pricing;