/* global React, FramerMotion */
/* Página /termos — Termos de Utilização */
const { Navbar: NBtm, Footer: FTtm } = window;

function Sec({ n, title, children }) {
  return (
    <div style={{ marginTop: "2.5rem", paddingTop: "2rem", borderTop: "1px solid rgba(247,248,255,0.06)" }}>
      <h2 style={{ color: "#F7F8FF", fontSize: "1.1rem", fontWeight: 600, lineHeight: 1.3, marginBottom: "0.75rem" }}>
        <span style={{ color: "#FF6B73", marginRight: "0.5rem" }}>{n}.</span>
        {title}
      </h2>
      {children}
    </div>
  );
}

const P = ({ children }) => (
  <p style={{ color: "rgba(247,248,255,0.65)", fontSize: "0.9375rem", lineHeight: 1.7, marginTop: "0.75rem" }}>{children}</p>
);

const UL = ({ items }) => (
  <ul style={{ marginTop: "0.75rem", paddingLeft: "1.25rem", listStyleType: "disc", color: "rgba(247,248,255,0.65)", fontSize: "0.9375rem", lineHeight: 1.7, display: "flex", flexDirection: "column", gap: "0.4rem" }}>
    {items.map((it, i) => <li key={i} dangerouslySetInnerHTML={{ __html: it }} />)}
  </ul>
);

const H3 = ({ children }) => (
  <h3 style={{ color: "rgba(247,248,255,0.85)", fontSize: "0.9375rem", fontWeight: 600, marginTop: "1.5rem", marginBottom: "0.25rem" }}>{children}</h3>
);

const A = ({ href, children, target, rel }) => (
  <a href={href} target={target} rel={rel} style={{ color: "#FF6B73", textDecoration: "none" }}
    onMouseOver={e => e.target.style.textDecoration = "underline"}
    onMouseOut={e => e.target.style.textDecoration = "none"}>
    {children}
  </a>
);

const B = ({ children }) => <strong style={{ color: "rgba(247,248,255,0.85)" }}>{children}</strong>;

function TermsPage() {
  return (
    <>
      <NBtm />
      <main style={{ minHeight: "100vh", background: "#070B1F" }}>
        <div style={{ maxWidth: "720px", margin: "0 auto", padding: "7rem 1.25rem 5rem" }}>

          <div style={{ marginBottom: "2.5rem" }}>
            <div className="eyebrow-orange" style={{ marginBottom: "1rem" }}>Legal</div>
            <h1 style={{ color: "#F7F8FF", fontSize: "clamp(1.875rem,5vw,3rem)", fontWeight: 600, letterSpacing: "-0.03em", lineHeight: 1.1, marginBottom: "0.75rem" }}>
              Termos de Utilização
            </h1>
            <p style={{ color: "rgba(247,248,255,0.35)", fontSize: "0.8125rem" }}>
              Última actualização: 10 de Junho de 2026 · Fase beta
            </p>
          </div>

          <P>
            Estes termos regulam o acesso e utilização da plataforma Captixy (captixy.com e app.captixy.com),
            operada por João Rodrigues ("Captixy", "nós"). Ao criares uma conta ou utilizares a plataforma,
            aceitas estes termos. O Captixy encontra-se actualmente em <B>fase beta</B>.
          </P>

          <Sec n="1" title="Aceitação dos Termos">
            <P>Se não concordares com estes termos, não deves utilizar o serviço. Em caso de dúvida, fala connosco antes de aceitar.</P>
          </Sec>

          <Sec n="2" title="O Serviço">
            <P>O Captixy é uma plataforma SaaS que disponibiliza:</P>
            <UL items={[
              "Uma assistente virtual com inteligência artificial que interage com os contactos (leads) do utilizador;",
              "Canais de distribuição: link partilhável, QR code e widget para website;",
              "Painel de gestão de leads;",
              "Funcionalidades de configuração e personalização da assistente.",
            ]} />
          </Sec>

          <Sec n="3" title="Condições Específicas da Fase Beta">
            <P>Durante a fase beta:</P>
            <UL items={[
              "O acesso é concedido <strong>a título gratuito e experimental</strong>, mediante convite ou aceitação no programa beta;",
              "O serviço é fornecido <strong>\"tal como está\" (as is)</strong>, podendo conter erros, interrupções e alterações sem aviso prévio;",
              "<strong>Não são garantidos níveis de serviço (SLA)</strong>, disponibilidade contínua, nem a manutenção de funcionalidades específicas;",
              "O Captixy pode <strong>suspender, alterar ou encerrar o programa beta</strong> a qualquer momento, com aviso razoável;",
              "No final da fase beta, a continuação do serviço poderá estar sujeita à subscrição de um plano pago, sem obrigação de adesão.",
            ]} />
          </Sec>

          <Sec n="4" title="Conta e Elegibilidade">
            <UL items={[
              "Para utilizar o Captixy é necessário criar uma conta com informação verdadeira e actualizada;",
              "O serviço destina-se a <strong>profissionais e negócios</strong> (utilização B2B) com pelo menos 18 anos;",
              "És responsável por manter a confidencialidade das tuas credenciais e por toda a actividade na tua conta;",
              "Cada conta destina-se a um negócio.",
            ]} />
          </Sec>

          <Sec n="5" title="Utilização Aceitável">
            <P>Ao utilizar o Captixy, comprometes-te a <B>não</B>:</P>
            <UL items={[
              "Utilizar a plataforma para fins ilegais, fraudulentos ou enganosos;",
              "Recolher dados de leads sem base legal ou em violação do RGPD;",
              "Configurar a assistente para recolher <strong>categorias especiais de dados</strong> (saúde, religião, orientação sexual, dados biométricos, etc.) durante a fase beta;",
              "Utilizar a plataforma para enviar spam ou comunicações não solicitadas;",
              "Tentar aceder a dados de outras contas ou contornar medidas de segurança;",
              "Utilizar a assistente para se fazer passar por humano de forma enganosa — a assistente identifica-se sempre como inteligência artificial.",
            ]} />
            <P>A violação destas regras pode resultar na suspensão ou encerramento imediato da conta.</P>
          </Sec>

          <Sec n="6" title="Conteúdos e Dados do Utilizador">
            <UL items={[
              "Os dados que introduzes na plataforma (contexto do negócio, configurações, dados de leads) permanecem <strong>teus</strong>;",
              "Concedes ao Captixy uma licença limitada para processar esses dados exclusivamente para o funcionamento do serviço;",
              "O tratamento de dados pessoais rege-se pela nossa <a href='/privacidade' style='color:#FF6B73'>Política de Privacidade</a>;",
              "És responsável pela legalidade dos conteúdos e instruções que configuras na assistente.",
            ]} />
          </Sec>

          <Sec n="7" title="Inteligência Artificial — Limites e Responsabilidade">
            <UL items={[
              "A assistente utiliza modelos de linguagem AI. Apesar das salvaguardas, <strong>as respostas podem ocasionalmente ser imprecisas ou inadequadas</strong>;",
              "O Captixy não se responsabiliza por decisões de negócio tomadas com base nas interacções da assistente. A responsabilidade final pela relação com os teus clientes é tua;",
              "Deves informar-nos prontamente de qualquer comportamento inadequado da assistente.",
            ]} />
          </Sec>

          <Sec n="8" title="Propriedade Intelectual">
            <P>A plataforma Captixy, incluindo o software, design, marca e conteúdos próprios, é propriedade de João Rodrigues. Estes termos não te transferem qualquer direito de propriedade intelectual sobre a plataforma.</P>
            <P>O feedback e sugestões fornecidos durante o beta podem ser utilizados pelo Captixy para melhorar o produto, sem compensação.</P>
          </Sec>

          <Sec n="9" title="Limitação de Responsabilidade">
            <P>Na máxima medida permitida pela lei portuguesa:</P>
            <UL items={[
              "O Captixy não será responsável por danos indirectos, lucros cessantes, perda de dados ou danos reputacionais;",
              "Durante a fase beta gratuita, a responsabilidade total do Captixy está limitada ao valor pago (zero);",
              "Nada nestes termos exclui responsabilidade por dolo ou negligência grosseira.",
            ]} />
          </Sec>

          <Sec n="10" title="Suspensão e Cessação">
            <UL items={[
              "Podes encerrar a tua conta a qualquer momento, contactando-nos ou através das definições da plataforma;",
              "O Captixy pode suspender ou encerrar contas que violem estes termos, com efeito imediato em casos graves;",
              "Após o encerramento, os teus dados são apagados no prazo de 30 dias, salvo obrigação legal;",
              "Podes solicitar a exportação dos teus dados antes do encerramento.",
            ]} />
          </Sec>

          <Sec n="11" title="Alterações aos Termos">
            <P>Podemos actualizar estes termos periodicamente, em particular na transição da fase beta para o serviço comercial. As alterações relevantes serão comunicadas com antecedência razoável por email. A utilização continuada constitui aceitação.</P>
          </Sec>

          <Sec n="12" title="Lei Aplicável e Foro">
            <P>Estes termos regem-se pela lei portuguesa. Para a resolução de litígios é competente o foro da comarca do Porto.</P>
            <P>Em caso de litígio de consumo, o utilizador pode recorrer às entidades de resolução alternativa em <A href="https://www.consumidor.gov.pt" target="_blank" rel="noopener noreferrer">consumidor.gov.pt</A>. (O Captixy destina-se a utilização profissional/B2B.)</P>
          </Sec>

          <Sec n="13" title="Contacto">
            <P>Para qualquer questão sobre estes termos: <A href="mailto:contact@captixy.com">contact@captixy.com</A></P>
            <P>Captixy · captixy.com · João Rodrigues</P>
          </Sec>

          <div style={{ marginTop: "3rem", paddingTop: "2rem", borderTop: "1px solid rgba(247,248,255,0.06)", display: "flex", gap: "1rem", flexWrap: "wrap" }}>
            <a href="/privacidade" style={{ fontSize: "0.875rem", color: "rgba(247,248,255,0.45)" }}
              onMouseOver={e => e.target.style.color = "#F7F8FF"}
              onMouseOut={e => e.target.style.color = "rgba(247,248,255,0.45)"}>
              ← Política de Privacidade
            </a>
            <a href="/" style={{ fontSize: "0.875rem", color: "rgba(247,248,255,0.45)" }}
              onMouseOver={e => e.target.style.color = "#F7F8FF"}
              onMouseOut={e => e.target.style.color = "rgba(247,248,255,0.45)"}>
              Captixy →
            </a>
          </div>
        </div>
      </main>
      <FTtm />
    </>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<TermsPage />);
