/* Sam's article - Schwebende Regale sehen schwer aus. Sind sie nicht. Hier ist der Beweis.
 * Format: Sam editorial - Hero, Lede, WhatYouNeed, Steps, HotTakes, Redo, Signoff.
 */

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

const heroImage = "https://images.unsplash.com/photo-1616594039964-ae9021a400a0?w=2000&q=84";

const Crumbs = () => (
  <nav className="sa-crumbs" aria-label="Breadcrumb">
    <div className="l">
      <a href="/">Startseite</a>
      <span>/</span>
      <a href="/de/contributors/sam/">Sam</a>
      <span>/</span>
      <span>How-to</span>
      <span>/</span>
      <span style={{ color: "#EFE5CF" }}>Schwebende Regale</span>
    </div>
    <div className="r">
      <span>Ausgabe 04 | Frühjahr '26</span>
      <span className="by">geschrieben von Sam</span>
    </div>
  </nav>
);

const Hero = () => (
  <section className="sa-hero">
    <div className="img" style={{ backgroundImage: `url('${heroImage}')` }} />
    <div className="sa-hero-wrap">
      <div>
        <div className="sa-hero-kicker">
          <span>How-to</span>
          <span className="dot">*</span>
          <span>Nr. 04</span>
          <span className="dot">*</span>
          <span className="sig">geschrieben von Sam</span>
        </div>
        <h1>
          Schwebende Regale sehen schwer aus. <em>Sind sie nicht.</em>
        </h1>
        <p className="standfirst">
          Keine sichtbaren Halterungen. Keine komplizierten Beschläge. Nur eine Wand, die endlich aussieht, als hättest du es so geplant. Dachlatten finden, die richtige Halterung kaufen, das Regal zuerst lackieren und den letzten Schritt nicht überstürzen.
        </p>
      </div>
      <div className="sa-hero-side">
        <div className="row">
          <span>Zeit</span>
          <span className="v">Ein Nachmittag</span>
        </div>
        <div className="row">
          <span>Kosten</span>
          <span className="v">$35–$160</span>
        </div>
        <div className="row">
          <span>Schwierigkeit</span>
          <span className="v">Für Einsteiger geeignet</span>
        </div>
        <div className="row">
          <span>Sauereifaktor</span>
          <span className="v warn">Staub + Bohren</span>
        </div>
        <div className="row">
          <span>Aktualisiert</span>
          <span className="v">Frühjahr '26</span>
        </div>
      </div>
    </div>
    <div className="sa-hero-scribble">
      erst die Latten. <u>dann der Style.</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>
);

const Lede = () => (
  <section className="sa-lede">
    <div className="sa-lede-wrap">
      <aside className="sa-lede-side">
        <div className="marker">In dieser Anleitung</div>
        <ul>
          <li>Zuerst alle Latten finden</li>
          <li>Den Halterungsweg wählen</li>
          <li>Vor dem Hängen lackieren</li>
          <li>Vorbohren und ausrichten</li>
          <li>Keilen, kitten, stylen</li>
        </ul>
      </aside>

      <div className="sa-lede-body">
        <p className="dropcap">
          Schwebende Regale haben einen Ruf, den sie nicht verdienen.
        </p>
        <p>
          Leute sehen sie auf Designfotos und nehmen an, da stecke irgendein Handwerkergeheimnis dahinter: verborgene Blöcke, spezielle Dübel, eine Präzision, die über einen normalen Samstagnachmittag hinausgeht. Tut sie nicht. Das ganze Geheimnis besteht aus drei Dingen: Dachlatten finden, die richtige Halterung kaufen und den letzten Schritt nicht überstürzen.
        </p>
        <div className="sa-pullquote">
          <p>
            Wenn du schon mal einen Bilderrahmen aufgehängt hast, hast du genug Erfahrung dafür. Die Idee ist dieselbe — nur schwerer.
          </p>
        </div>
        <p>
          Das ist alles. Das ist das Geheimnis. Das Regal sieht von vorne magisch aus, aber die Wand dahinter macht die Arbeit.
        </p>
      </div>

      <aside className="sa-margin">
        <span className="lab">Sams Notiz</span>
        <h4>Keine Gipskarton-Heldentaten</h4>
        <p>
          Ein Regal, das Bücher, Pflanzen oder Keramik hält, muss Dachlatten treffen. Gipskarton-Dübel halten eine Weile — und versagen dann im denkbar schlechtesten Moment.
        </p>
      </aside>
    </div>
  </section>
);

const WhatYouNeed = () => (
  <section className="sa-need">
    <div className="sa-need-wrap">
      <div>
        <div className="sa-need-head">01 / Baumarkt</div>
        <h2>
          Was du <em>wirklich</em> brauchst
        </h2>
        <p className="body">
          Markiere deine Dachlatten, bevor du einkaufen gehst. Der Abstand zwischen den Latten entscheidet, welche Halterung und welche Regallänge für deine Wand tatsächlich funktionieren.
        </p>

        <div className="sa-need-dont">
          <span className="lab">Lass das bleiben</span>
          <ul>
            <li>
              Gipskarton-Dübel für beladene Regale
              <span className="why">Die sind nicht der Plan für Bücher, Pflanzen, Keramik oder irgendetwas mit Gewicht.</span>
            </li>
            <li>
              Zu kurze Schrauben
              <span className="why">Die Schraube muss durch Halterung und Gipskarton und trotzdem tief ins Holz beißen.</span>
            </li>
            <li>
              Nach der Montage lackieren
              <span className="why">Streichen auf der Leiter ist der Weg, mit schmerzenden Schultern Reue zu lernen.</span>
            </li>
          </ul>
        </div>
      </div>

      <ul className="sa-need-list">
        <li>
          <span className="item">
            Leitungssucher oder starker Magnet
            <span className="why">Ein Magnet findet die Gipskartonschrauben, die meist Dachlatten markieren.</span>
          </span>
          <span className="qty">1</span>
        </li>
        <li>
          <span className="item">
            Verdeckte oder sichtbare Halterung
            <span className="why">Verdeckt für den Designfoto-Look; sichtbar für den nachsichtigeren ersten Versuch.</span>
          </span>
          <span className="qty">Set</span>
        </li>
        <li>
          <span className="item">
            Brett 2,5 × 25 cm oder 2,5 × 30 cm
            <span className="why">Kiefer ist günstig. Pappel lässt sich gut streichen. Eiche und Walnuss kosten und wiegen mehr.</span>
          </span>
          <span className="qty">Zuschnitt</span>
        </li>
        <li>
          <span className="item">
            Wasserwaage
            <span className="why">120 cm wenn vorhanden, mindestens 60 cm.</span>
          </span>
          <span className="qty">1</span>
        </li>
        <li>
          <span className="item">
            Bohrmaschine und Bits
            <span className="why">Vorbohren hält den Gipskarton sauber und die Schrauben gerade.</span>
          </span>
          <span className="qty">Set</span>
        </li>
        <li>
          <span className="item">
            6-cm- oder 8-cm-Schrauben
            <span className="why">Lang genug, um mindestens 4 cm in die Dachlatte einzudringen.</span>
          </span>
          <span className="qty">Packung</span>
        </li>
        <li>
          <span className="item">
            Schleifpapier, Farbe oder Beize
            <span className="why">Das Regal fertig machen, bevor es nach oben geht.</span>
          </span>
          <span className="qty">Genug</span>
        </li>
      </ul>
    </div>
  </section>
);

const STEPS = [
  {
    n: "01",
    phase: "Finden | 15 Min.",
    title: "Alle Dachlatten im Zielbereich markieren.",
    flip: false,
    body: (
      <>
        <p>
          Zur Wand gehen und klopfen. Hohl ist Gipskarton ohne dahinterliegendes Material. Fest ist, wo eine Dachlatte sitzt. Einen Leitungssucher benutzen, wenn vorhanden. Wenn nicht, findet ein starker Magnet die Gipskartonschrauben, die die Latten markieren.
        </p>
        <p>
          Jede Dachlatte mit Kreppband markieren. Latten haben meist 40 cm Abstand — aber nicht auf „meist" verlassen. Die tatsächliche Wand ausmessen.
        </p>
      </>
    ),
    warn: { lab: "Latten, kein Wunschdenken", text: "Gipskarton-Dübel sind kein Tragkonzept für ein richtiges Regal. Die sind der Plan für zukünftigen Kummer." },
    fig: { img: heroImage, tag: "Abb. 01 | Lattenplan", cap: "die Halterung funktioniert nur, wenn die Wand ihren Teil beiträgt." },
    says: "Alle Latten markieren, bevor du einkaufen gehst. Die Halterung muss zur Wand passen, nicht zum Moodboard."
  },
  {
    n: "02",
    phase: "Wählen | 20 Min.",
    title: "Den Halterungsweg festlegen.",
    flip: true,
    body: (
      <>
        <p>
          Weg eins ist das verdeckte Haltesystem: Metallstäbe oder eine Platte werden in Dachlatten geschraubt, das Regal wird darübergeschoben — von vorne und von der Seite sieht man nichts. Das ist die saubere Designfoto-Version.
        </p>
        <p>
          Weg zwei ist eine traditionelle Halterung mit einem Holzbrett obendrauf. Die Halterung ist von unten sichtbar, aber schneller, verzeihender und einfacher nachzujustieren. Für ein erstes Projekt ist Weg zwei die richtige Wahl.
        </p>
      </>
    ),
    tip: { lab: "Halterungsfinish", text: "Schwarzes Eisen wirkt modern. Messing wärmt auf. Einfache Silber-Standardhalterungen funktionieren nur, wenn du es wirklich industrial meinst." },
    fig: { img: "https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1200&q=84", tag: "Abb. 02 | Halterungsweg", cap: "verdeckte Hardware oder ehrliche Hardware. beides funktioniert." }
  },
  {
    n: "03",
    phase: "Lackieren | 1–2 Std. aktiv",
    title: "Das Regal lackieren, bevor es die Wand berührt.",
    flip: false,
    body: (
      <>
        <p>
          Das Brett zuerst schleifen. Mit Körnung 120 beginnen, um raue Stellen zu glätten, dann mit Körnung 220 drübergehen, bis es sich glatt anfühlt. Staub mit einem feuchten Tuch abwischen und trocknen lassen.
        </p>
        <p>
          Jetzt streichen oder beizen. Zwei Schichten. Beim Streichen macht ein leichtes Zwischenschleifen die finale Oberfläche so aussehen, als käme sie aus dem Laden und nicht aus dem Holzabteil.
        </p>
      </>
    ),
    warn: { lab: "Aushärtezeit zählt", text: "Trocken anfühlen ist nicht ausgehärtet. Den meisten Farben mindestens 24 Stunden geben, bevor das Regal angefasst und beladen wird." },
    fig: { img: "https://images.unsplash.com/photo-1589939705384-5185137a7f0f?w=1200&q=80", tag: "Abb. 03 | Erst lackieren", cap: "flach auf Sägeböcken schlägt gebückt auf einer Leiter." },
    says: "Das Regal lässt sich schöner machen, bevor es an der Wand hängt. Eigentlich offensichtlich — und trotzdem oft ignoriert."
  },
  {
    n: "04",
    phase: "Hängen | 45 Min.",
    title: "Vorbohren, ausrichten, festziehen.",
    flip: true,
    body: (
      <>
        <p>
          Die Halterung dort halten, wo das Regal sein soll. Durch die Halterungslöcher markieren. Halterung beiseitelegen und die Markierungen prüfen. Wenn mindestens zwei Schrauben auf Dachlatten landen, weitermachen. Wenn nicht, Halterung verschieben.
        </p>
        <p>
          Langsam vorbohren. Beide Schrauben locker eindrehen, Wasserwaage prüfen, dann den Rest festziehen. Eine Halterung, die leicht schräg eingebracht wird, ist im Nachhinein elend zu korrigieren.
        </p>
      </>
    ),
    tip: { lab: "Schraubenlänge", text: "Gipskarton ist etwa 1,3 cm dick, dazu kommt die Halterungsdicke. 6-cm- oder 8-cm-Schrauben nehmen, damit die Dachlatte wirklich greift." },
    fig: { img: "https://images.unsplash.com/photo-1581244277943-fe4a9c777189?w=1200&q=80", tag: "Abb. 04 | Wasserwaage", cap: "erst locker anziehen. dann prüfen. dann festziehen." }
  },
  {
    n: "05",
    phase: "Fertigstellen | 20 Min.",
    title: "Keilen, kitten, dann stylen.",
    flip: false,
    body: (
      <>
        <p>
          Fast keine Wand ist perfekt eben. Wenn das Regal wackelt oder eine Lücke entsteht, wo die Rückseite auf die Wand trifft — kein Grund zur Panik. Ein dünner Keil hinter der Halterung behebt das Wackeln. Eine kleine Linie streichbaren Acrylkitts schließt die Lücke.
        </p>
        <p>
          Stylen: schwere Sachen in die Mitte, leichtere an die Enden. Bücher und Keramik sind in Ordnung. Ein Aquarium nicht. Ungerade Zahlen sehen besser aus als gerade, und leerer Platz zählt als Gestaltung.
        </p>
      </>
    ),
    tip: { lab: "Kein Versagen", text: "Keile und Acrylkitt sind keine Vertuschung. Sie sind das Finish. Profis benutzen sie ständig." },
    fig: { img: "https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1200&q=84", tag: "Abb. 05 | Style", cap: "die Wand sieht endlich so aus, als wäre es geplant gewesen." },
    says: "Du hast das Regal gebaut. Du entscheidest, was draufkommt."
  }
];

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>
          Die <em>fünf</em> Schritte
        </h2>
        <span className="count">05 SCHRITTE | EIN NACHMITTAG AKTIV</span>
      </header>
      {STEPS.map((s) => (
        <Step key={s.n} data={s} />
      ))}
    </div>
  </section>
);

const HotTakes = () => (
  <section className="sa-hottakes">
    <div className="sa-hottakes-wrap">
      <header className="sa-hottakes-head">
        <span className="lab">Sams Hot Takes</span>
        <h2>
          Dinge, die ich <em>satt</em> habe
        </h2>
      </header>
      <div className="sa-hottakes-list">
        <div className="sa-take">
          <div className="num">i.</div>
          <h3>Das Regal kaufen, bevor man die Dachlatten gefunden hat</h3>
          <p>
            Die Wand entscheidet, was passt. Erst die Latten ausmessen, dann Hardware kaufen, die tatsächlich dort landet, wo sie hin muss.
          </p>
        </div>
        <div className="sa-take">
          <div className="num">ii.</div>
          <h3>Gipskarton-Dübeln mit Büchern vertrauen</h3>
          <p>
            Eine Kerze, vielleicht. Bücher, Pflanzen, Keramik oder irgendetwas Zerbrechliches? Dachlatten. Jedes Mal.
          </p>
        </div>
        <div className="sa-take">
          <div className="num">iii.</div>
          <h3>Zu kurze Schrauben nehmen</h3>
          <p>
            Die Schraube muss durch Halterung und Gipskarton und trotzdem ins Holz beißen. Die Hälfte aller Versager sind einfach kleine Schrauben, die so tun als ob.
          </p>
        </div>
        <div className="sa-take">
          <div className="num">iv.</div>
          <h3>Das Regal vollstopfen, sobald es hängt</h3>
          <p>
            Du hast auch negativen Raum montiert. Lass ihn atmen, bevor du daraus eine Ablagefläche machst.
          </p>
        </div>
      </div>
    </div>
  </section>
);

const Redo = () => (
  <section className="sa-redo">
    <div className="sa-redo-wrap">
      <aside className="sa-redo-side">
        was dich
        <br />
        <em style={{ color: "#D97A4F" }}>erwischt</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>
          Die Wand ist nicht <em>eben.</em>
        </h2>
        <p>
          Fast keine ist es. Wenn dein Regal leicht wackelt oder an einem Ende eine Lücke klafft, lies das nicht als Versagen. Ein dünner Keil hinter der Halterung auf der tiefen Seite behebt das Wackeln.
        </p>
        <p>
          Eine kleine Linie streichbaren Acrylkitts entlang der Rückseite schließt die Lücke und lässt das Regal aussehen, als wäre es so geplant gewesen. Das sind keine Tricks. Das ist das Finish. Jeder Profi-Schreiner macht das. Jetzt du auch.
        </p>
      </div>
    </div>
  </section>
);

const Signoff = () => (
  <section className="sa-signoff">
    <div className="sa-signoff-wrap">
      <div>
        <h2>
          Es hängt gerade. <em>Es sieht gut aus.</em>
        </h2>
        <p>
          Hat einen Nachmittag gedauert. Die Wand sieht endlich so aus, als hättest du es so geplant, und das Regal ist bereit für Bücher, Keramik, Pflanzen oder genau ein Objekt mit zu viel Selbstbewusstsein.
        </p>
        <div className="sig">— Sam</div>
        <div className="ctas" style={{ marginTop: 28 }}>
          <a href="/contact/" className="btn primary">
            Foto schicken
          </a>
          <a href="/de/contributors/sam/" className="btn ghost">
            Mehr von Sam
          </a>
        </div>
      </div>
      <div className="sa-readnext">
        <span className="lab">Lies als nächstes</span>
        <a href="/de/contributors/sam/how-to-hang-something-heavy-without-asking-anyone-for-help/">
          <span>Etwas Schweres aufhängen, ohne jemanden um Hilfe zu bitten</span>
          <span className="m">SAM</span>
        </a>
        <a href="/de/contributors/sam/how-to-paint-exposed-attic-rafters/">
          <span>Sichtbare Dachsparren streichen</span>
          <span className="m">SAM</span>
        </a>
        <a href="/en/build/living-room/how-to-build-floating-shelves/">
          <span>Schwebende Regale bauen</span>
          <span className="m">HUB</span>
        </a>
        <a href="/de/contributors/sam/">
          <span>Alle Anleitungen von Sam</span>
          <span className="m">PROFIL</span>
        </a>
      </div>
    </div>
  </section>
);

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

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