/* Sam's article — How to Refinish a Thrifted Chair
 * Renders into #render-target. Source content: scripts/insert-sam-chair-post.ts.
 * Format: Sam editorial (patchhole.jsx) — Hero, Lede, WhatYouNeed, Steps, HotTakes, Redo, Comments, Signoff.
 */

const { useState } = React;

const SamSays = ({ children }) => (
  <div className="sa-step-says">
    <span className="who">— Sam</span>
    <p>{children}</p>
  </div>
);

/* ============ CRUMBS ============ */
const Crumbs = () => (
  <nav className="sa-crumbs" aria-label="Breadcrumb">
    <div className="l">
      <a href="/">Accueil</a>
      <span>/</span>
      <a href="/fr/contributors/sam/">Sam</a>
      <span>/</span>
      <span>How-to</span>
      <span>/</span>
      <span style={{ color: "#EFE5CF" }}>Rénover une chaise de brocante</span>
    </div>
    <div className="r">
      <span>Numéro 04 · Printemps '26</span>
      <span className="by">écrit par Sam ✦</span>
    </div>
  </nav>
);

/* ============ HERO ============ */
const Hero = () => (
  <section className="sa-hero">
    <div
      className="img"
      style={{
        backgroundImage: "url('../thrifted-chair.png')",
      }}
    />
    <div className="sa-hero-wrap">
      <div>
        <div className="sa-hero-kicker">
          <span>How-to</span>
          <span className="dot">●</span>
          <span>N° 01</span>
          <span className="dot">●</span>
          <span className="sig">écrit par Sam</span>
        </div>
        <h1>
          Comment rénover une <em>chaise de brocante</em> (et lui donner l'air d'avoir été payée plein pot)
        </h1>
        <p className="standfirst">
          Chaise à 12 $. Projet d'après-midi. Personne n'a besoin de savoir d'où elle vient. Six étapes honnêtes de la friperie à l'entrée, avec toutes les erreurs que j'ai déjà faites pour toi.
        </p>
      </div>
      <div className="sa-hero-side">
        <div className="row">
          <span>Temps</span>
          <span className="v">3–4 h <span style={{opacity:0.5}}>+ 24 h durcissement</span></span>
        </div>
        <div className="row">
          <span>Coût</span>
          <span className="v">20–35 $</span>
        </div>
        <div className="row">
          <span>Niveau</span>
          <span className="v">Facile</span>
        </div>
        <div className="row">
          <span>Niveau de chantier</span>
          <span className="v warn">●○○ Léger</span>
        </div>
        <div className="row">
          <span>Mis à jour</span>
          <span className="v">Printemps '26</span>
        </div>
      </div>
    </div>
    <div className="sa-hero-scribble">
      12 $. bois massif. <u>sérieusement</u>.
      <svg viewBox="0 0 60 30" fill="none">
        <path d="M2 22 C 12 8, 28 4, 56 12" stroke="currentColor" strokeWidth="2" strokeLinecap="round" />
        <path d="M48 6 L 56 12 L 50 20" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" fill="none" />
      </svg>
    </div>
  </section>
);

/* ============ LEDE ============ */
const Lede = () => (
  <section className="sa-lede">
    <div className="sa-lede-wrap">
      <aside className="sa-lede-side">
        <div className="marker">Dans cet article</div>
        <ul>
          <li>Le calcul de la friperie</li>
          <li>Ce qu'il te faut vraiment</li>
          <li>Les 6 étapes</li>
          <li>Hot takes</li>
          <li>Ce que je ferais différemment</li>
        </ul>
      </aside>

      <div className="sa-lede-body">
        <p className="dropcap">
          J'ai trouvé cette chaise au Goodwill un mardi. Douze dollars. Teck massif — le vrai genre lourd, pas le genre placage IKEA qui fait semblant. Assemblages serrés. Étonnamment confortable. Et une finition tellement agressivement orange-vernis-1972 que j'ai failli la remettre.
        </p>

        <p>
          Je ne l'ai pas remise. Je l'ai ramenée à la maison. Je l'ai rénovée en un après-midi pour environ trente dollars de matériel. Elle vit maintenant près de ma porte d'entrée, porte une plante sur son assise, et deux fois le mois dernier quelqu'un m'a demandé où je l'avais achetée.
        </p>

        <div className="sa-pullquote">
          <p>
            Le bois massif à tous les niveaux de prix en dessous de mille dollars est mort. La chaise que tu trouves à la friperie de 1972 est plus susceptible d'avoir un vrai assemblage que la chaise que tu achèterais neuve avec le même budget.
          </p>
        </div>

        <p>
          C'est tout l'argumentaire pour les meubles de friperie. La structure est bonne. La peau est mauvaise. Rénover — pas décaper, pas restaurer, pas « remettre dans son état d'origine » — c'est tout le mouvement. Tu laisses la chaise, tu changes sa tenue, tu passes à autre chose.
        </p>

        <p>
          Ce qui suit est un projet complet en six étapes en <strong>trois à quatre heures de travail effectif</strong>, plus une fenêtre de durcissement de 24 heures avant de t'asseoir dessus. La star de cet article est un produit unique appelé <em>Rust-Oleum Chalked Paint</em> et je vais en faire l'évangile.
        </p>
      </div>

      <aside className="sa-margin">
        <span className="lab">Note de Sam</span>
        <h4>Avant d'acheter une chaise de brocante</h4>
        <p>
          Assieds-toi dessus en magasin. Si elle bouge, passe ton chemin. Les assemblages branlants sont un projet à part, plus gros. On rénove aujourd'hui, on ne recolle pas.
        </p>
      </aside>
    </div>
  </section>
);

/* ============ WHAT YOU NEED ============ */
const WhatYouNeed = () => (
  <section className="sa-need">
    <div className="sa-need-wrap">
      <div>
        <div className="sa-need-head">§ 01 / Matériel</div>
        <h2>
          Ce qu'il te faut <em>vraiment</em>
        </h2>
        <p className="body">
          Budget total&nbsp;: <strong>20–35 $</strong> de matériel, en supposant que tu ne possèdes encore rien. La star, c'est un litre de peinture craie. Tout le reste est petit.
        </p>

        <div className="sa-need-dont">
          <span className="lab">Pas la peine de prendre</span>
          <ul>
            <li>
              Les ventes additionnelles de « kit de rénovation de meubles »
              <span className="why">C'est de la peinture craie et du papier de verre. Le kit, c'est payer la boîte.</span>
            </li>
            <li>
              Les pinceaux à poils
              <span className="why">Ils laissent des marques de pinceau. La mousse non. Achète mousse.</span>
            </li>
            <li>
              Décaper la finition d'origine
              <span className="why">La peinture craie la couvre. Le décapage est un autre article, plus long.</span>
            </li>
          </ul>
        </div>
      </div>

      <ul className="sa-need-list">
        <li>
          <span className="item">
            Rust-Oleum Chalked Paint, 1 litre
            <span className="why">La couleur dépend de toi. Sauge, anthracite, crème, terracotta, noir doux.</span>
          </span>
          <span className="qty">×1</span>
        </li>
        <li>
          <span className="item">
            Papier de verre, grain 120
            <span className="why">Pour la préparation. Gratte la finition existante.</span>
          </span>
          <span className="qty">×1 feuille</span>
        </li>
        <li>
          <span className="item">
            Papier de verre, grain 220
            <span className="why">Entre les couches. Fait tomber les marques de pinceau.</span>
          </span>
          <span className="qty">×1 feuille</span>
        </li>
        <li>
          <span className="item">
            Pinceau mousse
            <span className="why">Pour les barreaux, détails sculptés, bords.</span>
          </span>
          <span className="qty">×1</span>
        </li>
        <li>
          <span className="item">
            Petit rouleau mousse
            <span className="why">Pour les surfaces planes. Plus rapide, plus lisse. Vaut les 4 $ de plus.</span>
          </span>
          <span className="qty">×1</span>
        </li>
        <li>
          <span className="item">
            Couche de finition transparente (polycrylique mat OU cire transparente)
            <span className="why">Le polycrylique est plus durable&nbsp;; la cire a plus de profondeur. Polycrylique pour chaises usage quotidien.</span>
          </span>
          <span className="qty">×½ pinte</span>
        </li>
        <li>
          <span className="item">
            Bâche de protection (toile, pas plastique)
            <span className="why">La toile reste en place. Le plastique glisse quand tu déplaces la chaise.</span>
          </span>
          <span className="qty">×1</span>
        </li>
        <li>
          <span className="item">
            Chiffon non pelucheux
            <span className="why">Pour la poussière entre les couches.</span>
          </span>
          <span className="qty">×1</span>
        </li>
      </ul>
    </div>
  </section>
);

/* ============ STEPS ============ */
const STEPS = [
  {
    n: "01",
    phase: "Préparation · 5 min",
    title: "Nettoie d'abord la chaise.",
    flip: false,
    body: (
      <>
        <p>
          Essuie-la avec un chiffon humide et laisse-la sécher complètement. Toute graisse, poussière ou résidu mystère de friperie va perturber l'adhérence de la peinture.
        </p>
        <p>
          Cette étape prend cinq minutes et les gens la sautent toujours. <em>Ne la saute pas.</em> La chaise est restée dans le sous-sol de quelqu'un, puis dans un entrepôt, puis sur un plancher de magasin friperie, puis dans ton coffre. Quoi qu'il y ait dessus, tu ne veux pas que ce soit scellé sous ta peinture.
        </p>
      </>
    ),
    tip: { lab: "Astuce flemme de Sam :", text: "Si tu peux voir ton reflet dans la finition existante, passe un coup rapide de dégraissant avant l'eau. Surtout les vieilles chaises de cuisine — elles ont absorbé quarante ans d'empreintes." },
    fig: {
      img: "https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?w=1200&q=80",
      tag: "Fig 01 · Le nettoyage",
      cap: "cinq minutes que personne ne veut passer.",
    },
    says: "Je fais ça avec la chaise à l'envers sur une bâche. Ça permet de voir chaque surface et ça attrape la poussière sous les barres que les gens oublient.",
  },
  {
    n: "02",
    phase: "Ponçage · 15 min",
    title: "Ponce légèrement au grain 120.",
    flip: true,
    body: (
      <>
        <p>
          Tu n'es <em>pas</em> en train de décaper toute la finition — tu la grattes juste pour que la peinture ait quelque chose à quoi s'accrocher. Fais toutes les surfaces planes et suis le grain sur le bois. Essuie la poussière avec un chiffon non pelucheux humide quand tu as fini.
        </p>
        <p>
          Tout le ponçage devrait prendre peut-être quinze minutes. L'objectif est de passer la chaise de brillante et lisse à légèrement mate. <strong>Si elle a encore l'impression d'être en verre après ponçage, ponce plus.</strong>
        </p>
      </>
    ),
    tip: { lab: "Pas la peine de poncer dans les barreaux", text: "Les détails sculptés sont couverts par la peinture de toute façon. Concentre-toi sur les plats&nbsp;: dessus de l'assise, devants des pieds, dessus des accoudoirs. Les endroits où la peinture se posera visuellement." },
    fig: {
      img: "https://images.unsplash.com/photo-1565793298595-6a879b1d9492?w=1200&q=80",
      tag: "Fig 02 · Le grattage",
      cap: "brillant → mat. c'est tout.",
    },
  },
  {
    n: "03",
    phase: "Peinture · 30 min + séchage",
    title: "Première couche — fine, moche, OK.",
    flip: false,
    body: (
      <>
        <p>
          <em>Ne l'étale pas en pâté.</em> Coups fins et réguliers. Ça va avoir l'air affreux après la première couche et c'est complètement normal — la peinture craie fait toujours ça. Striée. Inégale. Tu verras la finition d'origine à travers. <strong>C'est correct.</strong>
        </p>
        <p>
          Laisse sécher. La peinture craie sèche en environ trente minutes, mais j'attends habituellement une heure pleine pour être sûre. <em>Résiste à l'envie de corriger les zones inégales pendant que c'est humide.</em> Tu les corrigeras à la couche deux.
        </p>
      </>
    ),
    warn: { lab: "Attention", text: "Si la peinture semble épaisse en sortant du pot, remue-la — n'ajoute pas d'eau. La peinture craie est censée être appliquée à la consistance du pot. La diluer tue la couverture." },
    fig: {
      img: "https://images.unsplash.com/photo-1562259949-e8e7689d7828?w=1200&q=80",
      tag: "Fig 03 · Couche 1",
      cap: "moche, c'est OK. honnête, c'est obligatoire.",
    },
    says: "Rouleau mousse pour l'assise et les panneaux plats. Pinceau mousse pour les barreaux, le dessous des accoudoirs et les détails sculptés.",
  },
  {
    n: "04",
    phase: "Ponçage · 5 min",
    title: "Ponce à nouveau légèrement au grain 220.",
    flip: true,
    body: (
      <>
        <p>
          C'est ce qui rend la finition lisse plutôt que texturée. Juste un passage rapide — tu fais tomber les marques de pinceau, pas la peinture. Essuie la poussière avec le chiffon non pelucheux.
        </p>
        <p>
          Le grain deux-cent-vingt est suffisamment fin pour que tu ne puisses pas rater ça à moins d'appuyer fort avec une ponceuse électrique. <em>À la main, ça ira.</em>
        </p>
      </>
    ),
    fig: {
      img: "https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?w=1200&q=80",
      tag: "Fig 04 · Le lissage",
      cap: "cinq minutes. l'étape qualité de finition.",
    },
  },
  {
    n: "05",
    phase: "Peinture · 30 min + séchage",
    title: "Deuxième couche — c'est là que ça commence à marcher.",
    flip: false,
    body: (
      <>
        <p>
          Mêmes coups fins et réguliers. La plupart des chaises n'ont besoin que de deux couches. <em>S'il reste des endroits qui transparaissent après séchage de la deuxième couche, fais-en une troisième.</em> Aucune honte à faire une troisième couche. Mieux qu'une deuxième couche épaisse qui coule.
        </p>
        <p>
          Laisse sécher au moins une heure avant de sceller. La chaise devrait maintenant avoir l'air <strong>finie</strong>, pas couverte de peinture. Si elle a encore l'air d'une chaise peinte, il te faut une autre couche.
        </p>
      </>
    ),
    fig: {
      img: "https://images.unsplash.com/photo-1503602642458-232111445657?w=1200&q=80",
      tag: "Fig 05 · Couche 2",
      cap: "maintenant c'est une chaise, pas un projet.",
    },
    says: "Recule de deux mètres entre les couches. Le truc se lit totalement différemment depuis l'autre bout de la pièce que de près. La vue depuis la pièce, c'est celle qui compte.",
  },
  {
    n: "06",
    phase: "Scellement · 15 min + 24 h durcissement",
    title: "Scelle-la. Puis va-t'en.",
    flip: true,
    body: (
      <>
        <p>
          La peinture craie se raye sans couche de finition. Cire transparente ou polycrylique mat fonctionnent tous les deux. Applique une fine couche avec un pinceau mousse propre, en suivant le grain. Laisse durcir <strong>vingt-quatre heures</strong> avant d'utiliser réellement la chaise.
        </p>
        <p>
          C'est la partie patience. La chaise est techniquement <em>finie</em> après la couche deux — mais si tu t'assois dessus avant que le scellant durcisse, tu useras la peinture en deux semaines. Vingt-quatre heures. <em>Mets un minuteur.</em>
        </p>
      </>
    ),
    tip: { lab: "Cire vs polycrylique", text: "La cire a plus de profondeur — a l'air vintage, fait main. Le polycrylique a plus de durabilité — meilleur pour une chaise sur laquelle tu t'assois tous les jours. Pour une chaise d'appoint d'entrée qui porte surtout une plante, cire. Pour une chaise de cuisine, polycrylique." },
    fig: {
      img: "https://images.unsplash.com/photo-1572297870735-d68a30c0e603?w=1200&q=80",
      tag: "Fig 06 · Le durcissement",
      cap: "la partie qui est surtout de l'attente.",
    },
    says: "Je colle un post-it dessus qui dit NE PAS S'ASSEOIR avec une date 24 h plus tard. J'ai appris cette leçon personnellement.",
  },
];

const Step = ({ data }) => (
  <article className={`sa-step ${data.flip ? "flip" : ""}`}>
    <div className="sa-step-text">
      <div className="sa-step-meta">
        <span className="sa-step-num">{data.n}</span>
        <span className="sa-step-phase">{data.phase}</span>
      </div>
      <h3>{data.title}</h3>
      <div className="sa-step-body">{data.body}</div>
      {data.tip && (
        <div className="sa-step-tip">
          <span className="lab">{data.tip.lab}</span>
          <p>{data.tip.text}</p>
        </div>
      )}
      {data.warn && (
        <div className="sa-step-warn">
          <span className="lab">{data.warn.lab}</span>
          <p>{data.warn.text}</p>
        </div>
      )}
    </div>
    <figure className="sa-step-fig">
      <div className="frame">
        <span className="tag">{data.fig.tag}</span>
        <img src={data.fig.img} alt="" loading="lazy" />
      </div>
      <figcaption>{data.fig.cap}</figcaption>
      {data.says && <SamSays>{data.says}</SamSays>}
    </figure>
  </article>
);

const Steps = () => (
  <section className="sa-steps">
    <div className="sa-steps-wrap">
      <header className="sa-steps-head">
        <h2>
          Les <em>six</em> étapes
        </h2>
        <span className="count">06 ÉTAPES · ≈3 H ACTIVES · 24 H DURCISSEMENT</span>
      </header>
      {STEPS.map((s) => (
        <Step key={s.n} data={s} />
      ))}
    </div>
  </section>
);

/* ============ HOT TAKES ============ */
const HotTakes = () => (
  <section className="sa-hottakes">
    <div className="sa-hottakes-wrap">
      <header className="sa-hottakes-head">
        <span className="lab">Les hot takes de Sam</span>
        <h2>
          Des choses dont je suis <em>fatiguée</em> de voir
        </h2>
      </header>
      <div className="sa-hottakes-list">
        <div className="sa-take">
          <div className="num">i.</div>
          <h3>« Patiner » un meuble flambant neuf</h3>
          <p>
            Si tu l'as acheté neuf, laisse-le tranquille. Toute la raison pour laquelle les finitions patinées fonctionnent, c'est que les meubles de brocante arrivent pré-patinés par quarante ans de vie. Poncer une fausse usure dans un truc que tu as acheté hier, c'est du cosplay.
          </p>
        </div>
        <div className="sa-take">
          <div className="num">ii.</div>
          <h3>Sauter la couche de finition pour « gagner du temps »</h3>
          <p>
            La couche de finition, c'est la différence entre une chaise qui survit un an et une chaise qui s'écaille au troisième mois. <em>Vingt-quatre heures d'attente, c'est plus court que de refaire le projet.</em>
          </p>
        </div>
        <div className="sa-take">
          <div className="num">iii.</div>
          <h3>La peinture en bombe comme substitut à la peinture craie</h3>
          <p>
            Finition différente, couverture différente, durabilité différente. La peinture en bombe, c'est pour le métal et les petites pièces. Pour les meubles en bois que tu touches tous les jours, peinture craie au pinceau, à chaque fois.
          </p>
        </div>
        <div className="sa-take">
          <div className="num">iv.</div>
          <h3>Choisir une couleur qui « va avec ta déco »</h3>
          <p>
            La chaise est l'accent. Si elle va avec tout dans la pièce, elle disparaît. Choisis une couleur qui se bat un peu avec la pièce. Sauge dans une pièce chaude. Terracotta dans une pièce froide. Anthracite n'importe où.
          </p>
        </div>
      </div>
    </div>
  </section>
);

/* ============ WHAT I'D DO DIFFERENTLY ============ */
const Redo = () => (
  <section className="sa-redo">
    <div className="sa-redo-wrap">
      <aside className="sa-redo-side">
        ce que je ferais
        <br />
        <em style={{ color: "#D97A4F" }}>différemment</em>
        <svg viewBox="0 0 80 60" fill="none">
          <path d="M5 12 C 25 6, 55 14, 70 38" stroke="#91A86C" strokeWidth="2" strokeLinecap="round" />
          <path d="M64 30 L 70 38 L 60 42" stroke="#91A86C" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" fill="none" />
        </svg>
      </aside>
      <div>
        <h2>
          Ce que je ferais <em>différemment</em> la prochaine fois
        </h2>
        <p>
          La première chaise que j'ai rénovée, j'ai essayé de sauter le scellant parce que j'étais fatiguée d'attendre. Au troisième mois, l'assise avait une zone usée là où je m'asseyais. J'ai dû poncer tout le dessus et recommencer aux couches deux et trois. <strong>Ne sois pas moi.</strong> Vingt-quatre heures d'attente, c'est plus court que de refaire le projet.
        </p>
        <p>
          Ce que je dirais à <strong>la moi d'avant</strong>&nbsp;: achète le rouleau mousse en plus du pinceau mousse. Le pinceau gère les barreaux et les détails sculptés, le rouleau gère les surfaces planes en un quart du temps et laisse une finition plus lisse. Six dollars bien dépensés.
        </p>
        <p>
          Et je choisirais une couleur plus forte plus tôt. La première chaise était crème. C'est une chaise correcte, mais elle disparaît contre le mur. La deuxième était sauge. La troisième était terracotta. Celle terracotta est celle qui ressort vraiment sur les photos. <em>La chaise est l'accent. Laisse-la être l'accent.</em>
        </p>
      </div>
    </div>
  </section>
);

/* ============ COMMENTS ============ */
const Comments = () => (
  <section className="sa-comments">
    <div className="sa-comments-wrap">
      <header className="sa-comments-head">
        <h2>
          Des <em>lecteurs</em>
        </h2>
        <span className="meta">14 LETTRES · SURTOUT DES COMMODES</span>
      </header>

      <div className="sa-comment">
        <div className="who">
          <span className="n">Maya R.</span>
          <span>Phoenix, AZ</span>
          <span className="when">il y a 2 semaines</span>
        </div>
        <div className="body">
          <p>
            Essayé ça le week-end dernier avec une commode à 20 $ au lieu d'une chaise. L'étape 6 m'a sauvée — j'allais utiliser le mauvais décapant et j'aurais ruiné le placage. Les façades de tiroirs sont sorties dingues. Je retourne chercher la table de chevet assortie.
          </p>
          <div className="sa-reply">
            <span className="lab">Sam a répondu</span>
            <p>
              envoie-moi une photo de la commode s'il te plaît. et de la table de chevet une fois que tu l'as choppée.
              <span className="sig">— S</span>
            </p>
          </div>
        </div>
      </div>

      <div className="sa-comment">
        <div className="who">
          <span className="n">Theo R.</span>
          <span>Oakland, CA</span>
          <span className="when">il y a 3 semaines</span>
        </div>
        <div className="body">
          <p>
            J'ai sauté la couche de finition. Je suis revenu lire cet article un mois plus tard parce que l'assise s'usait déjà. Leçon apprise. Je décape aujourd'hui.
          </p>
        </div>
      </div>

      <div className="sa-comment">
        <div className="who">
          <span className="n">Priya K.</span>
          <span>Toronto, ON</span>
          <span className="when">il y a 1 mois</span>
        </div>
        <div className="body">
          <p>
            Question — ma chaise a une assise en cannage. Je peins le cannage aussi ou je le couvre&nbsp;?
          </p>
          <div className="sa-reply">
            <span className="lab">Sam a répondu</span>
            <p>
              couvre-le. Le cannage absorbe la peinture et devient croustillant. C'est aussi la plus jolie partie de la chaise, laisse-la. Peins juste le cadre en bois.
              <span className="sig">— S</span>
            </p>
          </div>
        </div>
      </div>

      <div className="sa-comment">
        <div className="who">
          <span className="n">Dale W.</span>
          <span>Toledo, OH</span>
          <span className="when">il y a 5 semaines</span>
        </div>
        <div className="body">
          <p>
            Gestionnaire immobilier ici. Je rénove chaque chaise qu'on remplace dans nos locations courte durée avec exactement cette méthode. Vingt-cinq dollars de matériel, c'est moins cher qu'une nouvelle chaise tous les six mois. Je transmets à toute mon équipe.
          </p>
        </div>
      </div>
    </div>
  </section>
);

/* ============ SIGNOFF ============ */
const Signoff = () => (
  <section className="sa-signoff">
    <div className="sa-signoff-wrap">
      <div>
        <h2>
          C'est tout. <em>Va trouver une chaise.</em>
        </h2>
        <p>
          Si tu as essayé ça et que ça a marché — ou que ça n'a pas marché — je veux savoir. Photo de l'avant et de l'après, ce que tu as changé, ce que tu ferais différemment. Je lis tout ce qui arrive.
        </p>
        <div className="sig">— Sam</div>
        <div className="ctas" style={{ marginTop: 28 }}>
          <a href="/contact/" className="btn primary">
            Envoyer une photo →
          </a>
          <a href="/fr/contributors/sam/" className="btn ghost">
            Plus de Sam
          </a>
        </div>
      </div>
      <div className="sa-readnext">
        <span className="lab">À lire ensuite</span>
        <a href="/fr/contributors/sam/how-to-hang-something-heavy-without-asking-anyone-for-help/">
          <span>Accrocher un objet lourd sans demander d'aide à personne</span>
          <span className="m">45 MIN</span>
        </a>
        <a href="/en/decorate/kitchen/">
          <span>Décorer × Cuisine — projets de peinture et finition</span>
          <span className="m">HUB</span>
        </a>
        <a href="/en/decorate/living-room/">
          <span>Décorer × Salon</span>
          <span className="m">HUB</span>
        </a>
        <a href="/fr/contributors/sam/">
          <span>Tous les guides de Sam</span>
          <span className="m">PROFIL</span>
        </a>
      </div>
    </div>
  </section>
);

/* ============ ROOT ============ */
const Article = () => (
  <div className="sa">
    <Crumbs />
    <Hero />
    <Lede />
    <WhatYouNeed />
    <Steps />
    <HotTakes />
    <Redo />
    <Comments />
    <Signoff />
  </div>
);

ReactDOM.createRoot(document.getElementById("render-target")).render(<Article />);
