import type { Metadata } from "next";
import Link from "next/link";
import Icon from "@/components/Icon";
import JsonLd from "@/components/JsonLd";

const SITE = "https://socialex.pro";
const PAGE_PATH = "/societes/creation-de-societe";
const PAGE_URL = `${SITE}${PAGE_PATH}`;

export const metadata: Metadata = {
  title: "Création de société : statuts, formalité, K-bis",
  description:
    "Créez votre société (SAS, SARL, SCI, SC) avec un expert juridique. Statuts sur-mesure, immatriculation au RCS, K-bis en 4 jours en moyenne. Forfait clair, suivi en temps réel.",
  keywords: [
    "création de société",
    "créer une société",
    "création SAS",
    "création SARL",
    "création SCI",
    "expert création société",
    "expert formalités juridiques",
    "formalités création société",
    "rédaction statuts société",
    "immatriculation RCS",
  ],
  alternates: { canonical: PAGE_PATH },
  openGraph: {
    title: "Création de société | Cabinet Socialex",
    description:
      "Statuts sur-mesure, immatriculation, K-bis en 4 jours. Forfait clair, suivi en temps réel.",
    url: PAGE_URL,
    type: "website",
  },
};

/* ─── Données ──────────────────────────────────────────────────────────── */

type LegalForm = {
  code: string;
  name: string;
  capital: string;
  associates: string;
  liability: string;
  fiscal: string;
  bestFor: string;
};

const forms: LegalForm[] = [
  {
    code: "SAS",
    name: "SAS / SASU",
    capital: "1 € minimum",
    associates: "1 ou plusieurs",
    liability: "Limitée aux apports",
    fiscal: "IS (option IR 5 ans)",
    bestFor:
      "Levée de fonds, holdings, projets ambitieux, multi-associés avec pacte sur-mesure.",
  },
  {
    code: "SARL",
    name: "SARL / EURL",
    capital: "1 € minimum",
    associates: "1 à 100",
    liability: "Limitée aux apports",
    fiscal: "IS (option IR 5 ans)",
    bestFor:
      "Activités traditionnelles, structure familiale, gérant majoritaire qui veut le statut TNS (charges sociales optimisées).",
  },
  {
    code: "SCI",
    name: "SCI",
    capital: "1 € minimum",
    associates: "2 minimum",
    liability: "Indéfinie et conjointe",
    fiscal: "IR par défaut (option IS)",
    bestFor:
      "Détention et gestion d'un patrimoine immobilier, transmission familiale, démembrement.",
  },
  {
    code: "SC",
    name: "Autre Société civile (SCP, SCM…)",
    capital: "1 € minimum",
    associates: "2 minimum",
    liability: "Indéfinie",
    fiscal: "IR (régime BNC)",
    bestFor:
      "Professions libérales réglementées, mise en commun de moyens entre professionnels.",
  },
];

const steps = [
  {
    n: "01",
    t: "Prise en compte des informations",
    d: "Nous comprenons votre projet et votre activité.",
  },
  {
    n: "02",
    t: "Rédaction des statuts sur-mesure",
    d: "Statuts adaptés à votre projet.",
  },
  {
    n: "03",
    t: "Annonce légale & dépôt RCS",
    d: "Publication de l'annonce, constitution du dossier d'immatriculation, dépôt dématérialisé au greffe du Tribunal de Commerce.",
  },
  {
    n: "04",
    t: "Réception du K-bis",
    d: "Vous recevez votre extrait K-bis.",
  },
];

const inclusions = [
  "Audit du projet et conseil sur la forme juridique",
  "Rédaction de statuts sur-mesure",
  "Publication de l'annonce légale",
  "Constitution et dépôt du dossier au greffe du RCS",
  "Suivi en temps réel sur l'espace client",
  "Réception et transmission du K-bis",
];

const faqs = [
  {
    q: "Combien de temps faut-il pour créer une société en France ?",
    a: "En moyenne, nos clients reçoivent leur K-bis en 4 jours ouvrés à compter du dépôt, à condition que les pièces justificatives (justificatif de domicile, pièces d'identité, justificatif de siège social) soient complètes.",
  },
  {
    q: "SAS ou SARL : quelle forme juridique choisir ?",
    a: "La SAS convient aux projets prévoyant plusieurs associés ou une levée de fonds future : grande liberté statutaire. La SARL est plus rigide mais permet au gérant majoritaire de bénéficier du statut TNS, optimisé pour les charges sociales.",
  },
  {
    q: "Quel est le capital social minimum pour créer une société ?",
    a: "Pour une SAS, SARL, SCI ou EURL, le capital minimum légal est de 1 €. En pratique, nous recommandons un capital cohérent avec votre activité (généralement entre 1 000 € et 10 000 €) : il rassure les banques, les fournisseurs et les investisseurs, et évite les contestations en cas de difficultés.",
  },
  {
    q: "Peut-on créer une société à plusieurs associés ?",
    a: "Oui. SAS, SARL, SCI et SC se prêtent toutes à plusieurs associés.",
  },
  {
    q: "Quelle différence entre statuts standards et statuts sur-mesure ?",
    a: "Les statuts standards sont des modèles génériques. Ils suffisent pour des projets très simples (associé unique, activité classique). Les statuts sur-mesure intègrent des clauses adaptées : agrément des nouveaux associés, droit de préemption, clause d'exclusion, gouvernance multi-organes, dividendes différenciés. Ils protègent durablement les associés et le projet.",
  },
  {
    q: "Que se passe-t-il après réception du K-bis ?",
    a: "Vous devez désigner un comptable et, si pertinent, déposer votre marque.",
  },
  {
    q: "Combien coûte la création d'une société ?",
    a: "Notre forfait est fixé à 650 € TTC, frais de greffe et publication de l'annonce légale obligatoires inclus. Aucun coût caché, aucune facturation à l'heure.",
  },
];

/* ─── JSON-LD ──────────────────────────────────────────────────────────── */

const breadcrumbSchema = {
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  itemListElement: [
    {
      "@type": "ListItem",
      position: 1,
      name: "Accueil",
      item: SITE,
    },
    {
      "@type": "ListItem",
      position: 2,
      name: "Sociétés",
      item: `${SITE}/societes`,
    },
    {
      "@type": "ListItem",
      position: 3,
      name: "Création de société",
      item: PAGE_URL,
    },
  ],
};

const serviceSchema = {
  "@context": "https://schema.org",
  "@type": "Service",
  name: "Création de société",
  serviceType: "Création de société",
  description:
    "Accompagnement juridique pour la création de société : choix de la forme sociale, rédaction de statuts sur-mesure, pacte d'associés, immatriculation au RCS et obtention du K-bis.",
  provider: { "@id": "https://socialex.pro/#organization" },
  areaServed: { "@type": "Country", name: "France" },
  url: PAGE_URL,
  offers: {
    "@type": "Offer",
    name: "Création de société",
    price: "650",
    priceCurrency: "EUR",
    url: `${PAGE_URL}/formulaire`,
    availability: "https://schema.org/InStock",
  },
};

const faqSchema = {
  "@context": "https://schema.org",
  "@type": "FAQPage",
  mainEntity: faqs.map((f) => ({
    "@type": "Question",
    name: f.q,
    acceptedAnswer: { "@type": "Answer", text: f.a },
  })),
};

/* ─── Page ─────────────────────────────────────────────────────────────── */

export default function CreationSocietePage() {
  return (
    <>
      <JsonLd
        data={[breadcrumbSchema, serviceSchema, faqSchema]}
      />

      {/* ── Hero + breadcrumb ──────────────────────────────────────────── */}
      <section className="pt-32 pb-24 md:pb-32">
        <div className="container-page">
          {/* Breadcrumb */}
          <nav
            aria-label="Fil d'ariane"
            className="flex items-center gap-2 text-xs uppercase tracking-widest text-on-surface-variant mb-12 font-serif"
          >
            <Link href="/" className="hover:text-primary transition-colors">
              Accueil
            </Link>
            <span className="opacity-50">/</span>
            <Link
              href="/societes"
              className="hover:text-primary transition-colors"
            >
              Sociétés
            </Link>
            <span className="opacity-50">/</span>
            <span className="text-primary">Création de société</span>
          </nav>

          <div className="grid grid-cols-12 gap-8 lg:gap-16 items-start">
            <div className="col-span-12 lg:col-span-7 space-y-8 reveal-hero">
              <Icon
                name="corporate_fare"
                className="!text-5xl text-secondary"
              />
              <span className="eyebrow block">Droit des Sociétés</span>
              <h1 className="display-lg text-primary">
                Création de société :<br />
                <span className="italic font-normal">
                  statuts, formalité, K-bis.
                </span>
              </h1>
              <p className="body-lg text-on-surface-variant">
                Confiez la création de votre SAS, SARL, SCI ou autre société civile à
                un expert en droit des sociétés. Statuts sur-mesure,
                immatriculation au registre du commerce, K-bis en quelques
                jours.
              </p>
              <div className="flex flex-wrap gap-3 pt-4">
                <Link
                  href="/societes/creation-de-societe/formulaire"
                  className="btn btn-primary"
                >
                  Démarrer mon dossier
                </Link>
              </div>
            </div>

            {/* Aside : sticky inclusions */}
            <aside className="col-span-12 lg:col-span-5 lg:sticky lg:top-32">
              <div className="bg-white border border-outline-variant p-10">
                <p className="eyebrow mb-6">Ce qui est inclus</p>
                <ul className="space-y-3">
                  {inclusions.slice(0, 6).map((h) => (
                    <li
                      key={h}
                      className="flex items-start gap-3 body-md text-on-surface"
                    >
                      <Icon
                        name="check_circle"
                        className="!text-base text-secondary mt-1"
                      />
                      <span>{h}</span>
                    </li>
                  ))}
                </ul>
                <div className="border-t border-outline-variant/40 mt-8 pt-8 space-y-3">
                  <p className="eyebrow">Délai indicatif</p>
                  <p className="body-md text-on-surface">
                    K-bis en{" "}
                    <span className="font-semibold">4 jours en moyenne</span>{" "}
                    après réception de vos pièces.
                  </p>
                </div>
              </div>
            </aside>
          </div>
        </div>
      </section>

      {/* ── Comparatif des formes juridiques ───────────────────────────── */}
      <section className="bg-surface-container-low reveal">
        <div className="container-page py-24 md:py-32">
          <div className="max-w-3xl mb-20">
            <h2 className="headline-xl text-primary mb-6">
              SAS, SARL, SCI ou autre société civile :<br />
              <span className="italic font-normal">
                quelle forme juridique pour votre projet ?
              </span>
            </h2>
            <p className="body-lg text-on-surface-variant">
              Le choix de la forme sociale conditionne votre régime fiscal,
              votre couverture sociale et la souplesse de gouvernance. Voici
              les quatre formes les plus courantes pour la création de
              société en France.
            </p>
          </div>

          {/* Cards comparatives : desktop = grid 2x2, mobile = stacked */}
          <div className="grid grid-cols-1 md:grid-cols-2 gap-6 lg:gap-8">
            {forms.map((f) => (
              <article
                key={f.code}
                className="bg-white border border-outline-variant p-8 lg:p-10"
              >
                <div className="flex items-baseline gap-4 mb-6">
                  <span className="font-serif italic text-secondary text-lg">
                    {f.code}
                  </span>
                  <h3 className="headline-md !text-2xl text-primary">
                    {f.name}
                  </h3>
                </div>

                <dl className="space-y-4 mb-6 text-sm">
                  <Row label="Capital minimum" value={f.capital} />
                  <Row label="Associés" value={f.associates} />
                  <Row label="Responsabilité" value={f.liability} />
                  <Row label="Régime fiscal" value={f.fiscal} />
                </dl>

                <div className="border-t border-outline-variant/40 pt-6">
                  <p className="eyebrow mb-2 !text-secondary">Recommandée pour</p>
                  <p className="body-md text-on-surface-variant">
                    {f.bestFor}
                  </p>
                </div>
              </article>
            ))}
          </div>

        </div>
      </section>

      {/* ── Méthodologie 5 étapes ──────────────────────────────────────── */}
      <section
        id="methodologie"
        className="reveal scroll-mt-32"
        aria-labelledby="methode"
      >
        <div className="container-page py-24 md:py-32">
          <div className="max-w-3xl mb-20">
            <span className="eyebrow block mb-4">Notre méthodologie</span>
            <h2 id="methode" className="headline-xl text-primary mb-6">
              Comment nous créons votre société,
              <br />
              <span className="italic font-normal">en 5 étapes.</span>
            </h2>
            <p className="body-lg text-on-surface-variant">
              Un processus structuré, transparent et traçable. Vous savez à
              chaque instant où en est votre dossier.
            </p>
          </div>

          <ol className="space-y-0 border-t border-outline-variant/60">
            {steps.map((s) => (
              <li
                key={s.n}
                className="grid grid-cols-12 gap-6 py-10 border-b border-outline-variant/60"
              >
                <div className="col-span-12 md:col-span-2">
                  <p className="font-serif italic text-secondary text-3xl">
                    {s.n}
                  </p>
                </div>
                <div className="col-span-12 md:col-span-10 space-y-3">
                  <h3 className="headline-md !text-xl text-primary">
                    {s.t}
                  </h3>
                  <p className="body-md text-on-surface-variant">{s.d}</p>
                </div>
              </li>
            ))}
          </ol>
        </div>
      </section>

      {/* ── Inclusions complètes ───────────────────────────────────────── */}
      <section className="bg-surface-container-low reveal">
        <div className="container-page py-24 md:py-32">
          <div className="grid grid-cols-12 gap-12 lg:gap-16">
            <div className="col-span-12 lg:col-span-5">
              <span className="eyebrow block mb-4">Prestation détaillée</span>
              <h2 className="headline-xl text-primary mb-6">
                Tout est inclus.
                <br />
                <span className="italic font-normal">
                  Pas de surprise.
                </span>
              </h2>
              <p className="body-md text-on-surface-variant">
                Notre forfait création de société couvre l'intégralité des
                prestations juridiques nécessaires pour aboutir au K-bis.
              </p>
            </div>
            <div className="col-span-12 lg:col-span-7">
              <ul className="grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-4">
                {inclusions.map((h) => (
                  <li
                    key={h}
                    className="flex items-start gap-3 body-md text-on-surface"
                  >
                    <Icon
                      name="check_circle"
                      className="!text-base text-secondary mt-1.5 shrink-0"
                    />
                    <span>{h}</span>
                  </li>
                ))}
              </ul>
            </div>
          </div>
        </div>
      </section>

      {/* ── Tarifs transparents ────────────────────────────────────────── */}
      <section className="reveal">
        <div className="container-page py-24 md:py-32">
          <div className="max-w-4xl mx-auto bg-primary text-on-primary p-12 md:p-16 lg:p-20 text-center">
            <span className="eyebrow !text-secondary block mb-4">
              Tarif transparent
            </span>
            <h2 className="display-lg !text-3xl md:!text-4xl mb-8">
              Combien coûte la création de votre société ?
            </h2>
            <p className="font-serif font-medium leading-none mb-4 text-6xl md:text-7xl lg:text-8xl tracking-[-0.02em] text-secondary">
              650 €
            </p>
            <p className="body-md opacity-70 max-w-xl mx-auto mb-10">
              Frais de greffe et publication de l'annonce légale obligatoires
              inclus. Aucun coût caché, aucune facturation à l'heure.
            </p>
            <div className="flex justify-center">
              <Link
                href="/societes/creation-de-societe/formulaire"
                className="btn btn-light"
              >
                Démarrer mon dossier
              </Link>
            </div>
            <p className="text-xs uppercase tracking-widest opacity-60 mt-8 font-serif">
              Réponse sous 24 h ouvrées · Sans engagement
            </p>
          </div>
        </div>
      </section>

      {/* ── FAQ ─────────────────────────────────────────────────────────── */}
      <section
        className="bg-surface-container-low reveal"
        aria-labelledby="faq"
      >
        <div className="container-page py-24 md:py-32">
          <div className="grid grid-cols-12 gap-12">
            <div className="col-span-12 lg:col-span-4">
              <span className="eyebrow block mb-4">Questions fréquentes</span>
              <h2
                id="faq"
                className="headline-xl text-primary mb-6"
              >
                Les vraies questions.
                <br />
                <span className="italic font-normal">
                  Les vraies réponses.
                </span>
              </h2>
              <p className="body-md text-on-surface-variant">
                Si une question manque,{" "}
                <Link
                  href="/contact"
                  className="text-primary underline hover:text-secondary"
                >
                  écrivez-nous
                </Link>
                , réponse sous 24 h ouvrées.
              </p>
            </div>
            <div className="col-span-12 lg:col-span-8">
              {faqs.map((f, i) => (
                <details
                  key={f.q}
                  className="group border-b border-outline-variant/60 py-6"
                >
                  <summary className="flex items-baseline gap-6 list-none cursor-pointer">
                    <span className="font-serif italic text-secondary text-sm w-8 shrink-0">
                      {String(i + 1).padStart(2, "0")}
                    </span>
                    <span className="flex-1 font-serif text-xl md:text-2xl text-primary tracking-[-0.01em] leading-tight">
                      {f.q}
                    </span>
                    <span className="text-xl text-on-surface-variant group-open:rotate-45 transition-transform shrink-0">
                      +
                    </span>
                  </summary>
                  <p className="mt-6 ml-14 body-md text-on-surface-variant max-w-3xl">
                    {f.a}
                  </p>
                </details>
              ))}
            </div>
          </div>
        </div>
      </section>

      {/* ── Continuer la lecture / cross-links ────────────────────────── */}
      <section className="reveal">
        <div className="container-page py-24 md:py-32">
          <div className="flex items-end justify-between mb-12 flex-wrap gap-6">
            <h2 className="headline-xl text-primary">
              Continuer en droit des sociétés
            </h2>
            <Link
              href="/societes"
              className="font-serif text-sm tracking-wide uppercase border-b border-primary pb-1 hover:text-secondary hover:border-secondary transition-colors"
            >
              Tous les services Sociétés
            </Link>
          </div>
          <div className="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8">
            {[
              {
                href: "/societes/depot-des-comptes",
                icon: "account_balance_wallet",
                title: "Dépôt des comptes",
                desc: "Préparation et dépôt des comptes annuels au greffe, avec option de confidentialité.",
              },
              {
                href: "/societes/dissolution-de-societe",
                icon: "gavel",
                title: "Dissolution de société",
                desc: "Dissolution amiable, liquidation, radiation : fin d'activité sécurisée.",
              },
              {
                href: "/marques/depot-de-marques",
                icon: "branding_watermark",
                title: "Dépôt de marque",
                desc: "Recherche d'antériorité, dépôt INPI ou EUIPO, surveillance et renouvellement.",
              },
            ].map((l) => (
              <Link
                key={l.href}
                href={l.href}
                className="group bg-white border border-outline-variant p-8 hover:border-primary transition-colors duration-500"
              >
                <Icon name={l.icon} className="!text-3xl text-primary mb-6" />
                <h3 className="font-serif font-medium text-xl text-primary mb-3 group-hover:text-secondary transition-colors">
                  {l.title}
                </h3>
                <p className="body-md text-on-surface-variant">{l.desc}</p>
              </Link>
            ))}
          </div>
        </div>
      </section>

      {/* ── CTA final ──────────────────────────────────────────────────── */}
      <section className="bg-primary text-on-primary reveal">
        <div className="container-page py-24 md:py-28 text-center">
          <div className="max-w-3xl mx-auto space-y-8">
            <h2 className="display-lg !text-4xl md:!text-5xl">
              Prêt à créer votre société ?
            </h2>
            <p className="body-lg opacity-70">
              Réponse sous 24 heures, devis ferme, K-bis en 4 jours en
              moyenne, forfait clair sans surprise.
            </p>
            <Link href="/contact" className="btn btn-light">
              Contacter nos experts
            </Link>
          </div>
        </div>
      </section>
    </>
  );
}

/* ─── Sub-component ────────────────────────────────────────────────────── */

function Row({ label, value }: { label: string; value: string }) {
  return (
    <div className="flex items-baseline justify-between gap-4 border-b border-outline-variant/40 pb-3">
      <dt className="text-on-surface-variant text-xs uppercase tracking-widest font-serif shrink-0">
        {label}
      </dt>
      <dd className="text-on-surface text-right">{value}</dd>
    </div>
  );
}
