/* ==========================================================================
   onepager.css - Gestaltung der oeffentlichen Startseite von social-dent.de
   Uebernommen aus der abgenommenen Fassung dent-webauftritt.de/sd-v3/.

   WICHTIG: jede Regel ist auf "body.onepager" begrenzt. Der Mitgliederbereich
   (body.kunde-bereich) und alle uebrigen Seiten teilen sich mit dieser Seite
   ein einziges Stylesheet (css/main.css) und benutzen dieselben generischen
   Klassen - .btn, .btn-primary, .btn-outline, .container, .form-group,
   .error-msg und .icon stecken auch in den Kampagnen-Masken. Ohne diese
   Begrenzung wuerde die Datei das Dashboard mitgestalten.
   Aus demselben Grund stehen die Farbvariablen auf body.onepager statt auf
   :root - --bg und --border gibt es in main.css bereits mit anderen Werten.

   Header und Footer sind bewusst NICHT enthalten: sie kommen weiter aus
   main.css und sehen dadurch auf jeder Seite gleich aus.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Rueckstellungen gegen main.css
   Diese Klassennamen gibt es dort bereits mit anderer Bedeutung. Weil main.css
   vorher geladen wird und die Werte sonst durchschlagen, hier zuerst auf einen
   neutralen Stand zuruecksetzen - die eigentliche Gestaltung folgt weiter unten.
   -------------------------------------------------------------------------- */

/* main.css macht .hero selbst zu einem zweispaltigen Raster mit fester Breite.
   Hier ist .hero nur die aeussere Section; das Raster liegt eine Ebene tiefer
   in .hero-grid. Ohne diese Ruecknahme wird der Inhalt in eine 639px-Spalte
   gequetscht. Das ::before erzeugt ausserdem einen blauen Verlauf ueber die
   ganze Flaeche. */
body.onepager .hero {
  display: block;
  max-width: none;
  margin: 0;
  grid-template-columns: none;
}
body.onepager .hero::before { content: none; display: none; }

/* Sicherheitsnetz gegen seitliches Verschieben auf schmalen Geraeten: auf den
   Inhaltsbereich gesetzt, nicht auf body - gescrollt wird eine Ebene hoeher, und
   der Kopfbereich liegt als position:fixed ohnehin ausserhalb, bleibt also
   unberuehrt. "clip" statt "hidden", damit kein zusaetzlicher Scroll-Kontext
   entsteht. Betrifft nur diese Seite. */
body.onepager .content-area { overflow-x: clip; }

/* Preisraster und -karten sind in main.css dunkle Kacheln mit eigenem Raster. */
body.onepager .pricing-grid { max-width: none; grid-template-columns: none; }
body.onepager .price-card { background: none; }

/* Der Umschalter monatlich/jaehrlich nutzt dieselben Klassennamen wie das
   Schalter-Element im Mitgliederbereich. */
body.onepager .slider { position: static; background-color: transparent; }

/* social-dent.de — Standalone-Landingpage sd-v3 (kompletter Text-/Design-Relaunch)
   Farbschema NEU: warmes Petrol + Orange, abgeleitet aus dem Social-Dent-Logo
   (navy-petrolfarbene Linien, orange Akzente auf warmem Off-White) — statt des
   kühlen Blaus von sd-v1/sd-v2. Serifen-Headlines (Systemschrift, kein Webfont),
   kein Foto-Hero → weniger Transfer, schnellere LCP. WCAG 2.1 AA-Kontraste. */

body.onepager {
  --petrol: #0d5c63;          /* Primärfarbe, aus Logo-Linienfarbe entwickelt */
  --petrol-deep: #0c3a3f;     /* dunkles Band / Hero */
  --petrol-deeper: #082b2f;
  --petrol-tint: #e3eeee;
  --cta: #bf4d16;             /* Logo-Orange, abgedunkelt für 4,9:1 auf Weiß */
  --cta-dark: #9e3f11;
  --ink: #1e2a29;
  --ink-muted: #4d5f5d;
  --bg: #f8f5ef;              /* warmes Off-White wie Logo-Grundfläche */
  --bg-card: #ffffff;
  --border: #e3ddd0;
  --border-dark: rgba(255, 255, 255, 0.18);
  --success: #1d7a4f;
  --sand: #f1ead9;            /* Cross-Sell-Abgrenzung */
  --font-sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-serif: Charter, "Bitstream Charter", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --max-width: 1180px;
  --radius: 12px;
  --shadow: 0 6px 28px rgba(12, 58, 63, 0.10);
}

body.onepager * { box-sizing: border-box; }
/* scroll-behavior gehoert auf das scrollende Element - das ist <html>, nicht
   <body>. Beim Uebertragen der Regeln ist sie auf body gelandet und war damit
   wirkungslos. css/main.css setzt sie fuer <html> zwar ohnehin, hier aber noch
   einmal explizit, damit die Seite nicht davon abhaengt. */
html:has(body.onepager) { scroll-behavior: smooth; }

/* Der Kopfbereich liegt fest ueber dem Inhalt (position:fixed, 97px hoch).
   Ohne Abstand landet ein angesprungener Abschnitt genau darunter - die
   Ueberschrift ist dann verdeckt und es wirkt, als sei der Sprung danebengegangen. */
body.onepager section[id],
body.onepager aside[id] { scroll-margin-top: 112px; }

body.onepager {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body.onepager img { max-width: 100%; height: auto; display: block; }
body.onepager a { color: var(--petrol); }
body.onepager a:hover { color: var(--petrol-deep); }

body.onepager h1, body.onepager h2, body.onepager h3 { font-family: var(--font-serif); line-height: 1.2; color: var(--ink); }
body.onepager h1 { font-size: clamp(1.9rem, 4.6vw, 3.1rem); margin: 0 0 18px; letter-spacing: -0.01em; }
body.onepager h2 { font-size: clamp(1.5rem, 3vw, 2.15rem); margin: 0 0 14px; }
body.onepager h3 { font-size: 1.12rem; margin: 0 0 8px; }

body.onepager .container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

body.onepager .visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* Skip-Link */
body.onepager .skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--petrol-deep); color: #fff;
  padding: 12px 20px; z-index: 1000; border-radius: 0 0 8px 0; font-weight: 600;
}
body.onepager .skip-link:focus { left: 0; }

a:focus-visible, button:focus-visible, input:focus-visible,
body.onepager textarea:focus-visible, body.onepager select:focus-visible, body.onepager summary:focus-visible {
  outline: 3px solid var(--cta);
  outline-offset: 2px;
}

/* Buttons */
body.onepager .btn {
  display: inline-block; border: 0; cursor: pointer;
  font-family: var(--font-sans); font-weight: 700; font-size: 1rem;
  padding: 14px 26px; border-radius: 999px; text-decoration: none;
  text-align: center; transition: background 0.15s ease, transform 0.15s ease;
}
body.onepager .btn-primary { background: var(--cta); color: #fff; box-shadow: 0 3px 14px rgba(191, 77, 22, 0.32); }
body.onepager .btn-primary:hover { background: var(--cta-dark); color: #fff; transform: translateY(-1px); }
body.onepager .btn-outline {
  background: transparent; color: var(--petrol);
  border: 2px solid var(--petrol);
}
body.onepager .btn-outline:hover { background: var(--petrol-tint); color: var(--petrol-deep); }
body.onepager .btn-block { display: block; width: 100%; }
body.onepager .btn-whatsapp {
  background: #1c8c50; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
}
body.onepager .btn-whatsapp:hover { background: #14693b; color: #fff; }

/* Sections */
body.onepager section { padding: 72px 0; }
body.onepager .section-head { max-width: 760px; margin: 0 auto 44px; text-align: center; }
body.onepager .section-head p { color: var(--ink-muted); font-size: 1.05rem; margin: 0; }
body.onepager .kicker {
  display: inline-block; text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 0.78rem; font-weight: 700; color: var(--cta); margin-bottom: 10px;
}
body.onepager .alt { background: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

/* HERO */
body.onepager .hero {
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(191, 77, 22, 0.22), transparent 60%),
    linear-gradient(155deg, var(--petrol-deep) 0%, var(--petrol-deeper) 70%);
  color: #f4efe6;
  padding: 72px 0 84px;
}
body.onepager .hero-grid {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 56px; align-items: center;
}
body.onepager .hero h1 { color: #fdfaf4; }
body.onepager .hero-eyebrow {
  display: inline-block; margin: 0 0 16px;
  font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em;
  color: #f4c9a8; text-transform: uppercase;
}
body.onepager .hero .lead { font-size: 1.14rem; color: #d9e4e2; margin: 0 0 26px; max-width: 560px; }

body.onepager .hero-platforms {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
}
body.onepager .hero-platforms-label {
  font-size: 0.9rem; font-weight: 600; color: #bcd0cd; margin-right: 4px;
}
body.onepager .platform-chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--ink);
  border-radius: 999px; padding: 7px 15px 7px 10px;
  font-size: 0.9rem; font-weight: 700;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

/* Plattform-Markenfarben (offizielle Logo-Formen, Simple Icons) */
body.onepager .brand-icon { display: inline-block; flex-shrink: 0; }
body.onepager .brand-facebook { fill: #0866FF; }
body.onepager .brand-instagram { fill: #FF0069; }
body.onepager .brand-tiktok { fill: #000000; }
body.onepager .brand-youtube { fill: #FF0000; }

/* Hero-Capture-Karte */
body.onepager .hero-capture {
  background: var(--bg-card); color: var(--ink);
  border-radius: var(--radius); padding: 30px 28px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}
body.onepager .hero-capture-head {
  font-family: var(--font-serif); font-size: 1.3rem; font-weight: 700;
  margin: 0 0 16px; color: var(--petrol-deep);
}
body.onepager .hero-capture input[type="email"] {
  width: 100%; padding: 14px 16px; margin-bottom: 12px;
  border: 2px solid var(--border); border-radius: 10px;
  font-size: 1rem; font-family: var(--font-sans); background: #fff; color: var(--ink);
}
body.onepager .hero-capture input[type="email"]:focus { border-color: var(--petrol); outline: none; }
body.onepager .hero-capture-error, body.onepager .error-msg {
  display: none; color: #b3261e; font-size: 0.88rem; font-weight: 600; margin-top: 6px;
}
body.onepager .hero-capture-note { font-size: 0.85rem; color: var(--ink-muted); margin: 12px 0 0; }
body.onepager .hero-subcta { text-align: center; margin: 16px 0 0; }
body.onepager .hero-subcta a { color: #bcd0cd; font-size: 0.9rem; text-decoration: underline; }
body.onepager .hero-subcta a:hover { color: #fff; }

/* WARUM / Plattform-Wand */
body.onepager .platform-wall-label {
  text-align: center; font-weight: 700; color: var(--ink);
  margin: 0 0 18px; font-size: 1.02rem;
}
body.onepager .platform-wall {
  list-style: none; margin: 0 auto; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 720px;
}
body.onepager .platform-wall li {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 22px 10px; display: flex; flex-direction: column; align-items: center; gap: 10px;
  font-weight: 700; font-size: 0.92rem; box-shadow: var(--shadow);
}
body.onepager .platform-wall-note {
  text-align: center; color: var(--ink-muted); font-size: 0.92rem; margin: 18px auto 0; max-width: 620px;
}

/* Ablauf */
body.onepager .process-list {
  list-style: none; counter-reset: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
}
body.onepager .process-list li {
  background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 24px 20px; position: relative;
}
body.onepager .step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--petrol); color: #fff; font-weight: 800; font-size: 1.05rem;
  margin-bottom: 14px;
}
body.onepager .process-list p { margin: 0; color: var(--ink-muted); font-size: 0.94rem; }

/* Leistungen */
body.onepager .benefit-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
body.onepager .benefit-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 26px 24px; box-shadow: var(--shadow);
}
body.onepager .benefit-card .icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--petrol-tint); color: var(--petrol);
  display: flex; align-items: center; justify-content: center; margin-bottom: 14px;
}
body.onepager .benefit-icons { display: flex; gap: 10px; margin-bottom: 16px; }
body.onepager .benefit-card p { margin: 0; color: var(--ink-muted); font-size: 0.95rem; }

/* Mobile-CTA-Zwischenstopp */
body.onepager .mobile-cta-break { display: none; padding: 8px 0 32px; }

/* Fakten-Band */
body.onepager .stats-band {
  background: linear-gradient(150deg, var(--petrol-deep), var(--petrol-deeper));
  color: #f4efe6; text-align: center;
}
body.onepager .stats-band h2 { color: #fdfaf4; margin-bottom: 40px; }
body.onepager .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
body.onepager .stat { border-left: 1px solid var(--border-dark); padding: 6px 14px; }
body.onepager .stat:first-child { border-left: 0; }
body.onepager .stat .zahl {
  display: block; font-family: var(--font-serif); font-size: 2.4rem; font-weight: 700;
  color: #f2b98c; line-height: 1.1; margin-bottom: 6px;
}
body.onepager .stat .star { color: #d9e4e2; font-size: 1.2rem; vertical-align: super; }
body.onepager .stat .text { font-size: 0.92rem; color: #d9e4e2; }
body.onepager .stats-footnote { margin: 30px 0 0; font-size: 0.8rem; color: #9fb5b2; }

/* Preise */
body.onepager .pricing-toggle {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  font-weight: 600; margin-bottom: 36px; cursor: pointer; flex-wrap: wrap;
}
body.onepager .switch { position: relative; display: inline-block; width: 52px; height: 28px; }
body.onepager .switch input { opacity: 0; width: 0; height: 0; }
body.onepager .slider {
  position: absolute; inset: 0; cursor: pointer;
  background: #cfd8d6; border-radius: 999px; transition: background 0.2s;
}
body.onepager .slider::before {
  content: ""; position: absolute; left: 3px; top: 3px;
  width: 22px; height: 22px; border-radius: 50%;
  background: #fff; transition: transform 0.2s;
}
body.onepager .switch input:checked + .slider { background: var(--petrol); }
body.onepager .switch input:checked + .slider::before { transform: translateX(24px); }
body.onepager .switch input:focus-visible + .slider { outline: 3px solid var(--cta); outline-offset: 2px; }
body.onepager .save-badge {
  background: var(--petrol-tint); color: var(--petrol-deep);
  font-size: 0.78rem; font-weight: 700; border-radius: 999px; padding: 4px 12px;
}

body.onepager .pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
body.onepager .price-card {
  background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 30px 26px; display: flex; flex-direction: column; position: relative;
  min-width: 0;   /* sonst zieht der laengste Listeneintrag die Spalte auf */
}
body.onepager .price-card.is-highlight {
  background: var(--bg-card); border: 2px solid var(--petrol);
  box-shadow: 0 14px 44px rgba(12, 58, 63, 0.16);
}
body.onepager .price-card-badge {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: var(--petrol); color: #fff; font-size: 0.78rem; font-weight: 700;
  border-radius: 999px; padding: 4px 14px; white-space: nowrap;
}
body.onepager .price-card h3 { font-size: 1.35rem; margin-bottom: 4px; }
body.onepager .price-sub { color: var(--ink-muted); font-size: 0.9rem; margin: 0 0 16px; min-height: 2.6em; }
body.onepager .price-amount { font-family: var(--font-serif); font-size: 2.2rem; font-weight: 700; color: var(--petrol-deep); }
body.onepager .price-amount small { font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--ink-muted); }
body.onepager .price-yearly-note { min-height: 1.4em; font-size: 0.85rem; color: var(--success); font-weight: 700; margin: 4px 0 12px; }
body.onepager .price-card ul { list-style: none; margin: 0 0 24px; padding: 0; flex: 1; }
body.onepager .price-card li {
  padding: 8px 0 8px 26px; position: relative; font-size: 0.94rem; border-bottom: 1px dashed var(--border);
}
body.onepager .price-card li::before {
  content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: 800;
}
body.onepager .pricing-note {
  max-width: 760px; margin: 28px auto 0; text-align: center;
  font-size: 0.88rem; color: var(--ink-muted);
}

/* FAQ */
body.onepager .faq-list { max-width: 780px; margin: 0 auto; }
body.onepager .faq-item {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius);
  margin-bottom: 12px; overflow: hidden;
}
body.onepager .faq-item summary {
  cursor: pointer; padding: 18px 22px; font-weight: 700; list-style: none; position: relative;
}
body.onepager .faq-item summary::-webkit-details-marker { display: none; }
body.onepager .faq-item summary::after {
  content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  font-size: 1.4rem; color: var(--petrol); font-weight: 400;
}
body.onepager .faq-item[open] summary::after { content: "–"; }
body.onepager .faq-item p { margin: 0; padding: 0 22px 18px; color: var(--ink-muted); }

/* Finales Lead-Formular */
body.onepager .cta-final { background: var(--petrol-tint); border-top: 1px solid var(--border); }
body.onepager .lead-form-wrap {
  max-width: 520px; margin: 0 auto; background: var(--bg-card);
  border-radius: var(--radius); padding: 32px 30px; box-shadow: var(--shadow);
}
body.onepager .form-group { margin-bottom: 16px; }
body.onepager .form-group label { display: block; font-weight: 700; font-size: 0.92rem; margin-bottom: 6px; }
body.onepager .form-group input {
  width: 100%; padding: 13px 15px; border: 2px solid var(--border); border-radius: 10px;
  font-size: 1rem; font-family: var(--font-sans); background: #fff; color: var(--ink);
}
body.onepager .form-group input:focus { border-color: var(--petrol); outline: none; }
body.onepager .form-trust {
  list-style: none; display: flex; justify-content: center; gap: 18px; flex-wrap: wrap;
  margin: 16px 0 0; padding: 0; font-size: 0.88rem; font-weight: 700; color: var(--petrol-deep);
}
body.onepager .form-trust span { color: var(--success); margin-right: 4px; }
body.onepager .consent-note { font-size: 0.8rem; color: var(--ink-muted); margin: 14px 0 0; text-align: center; }

/* Cross-Sell (Nebenangebot) */
body.onepager .cross-sell {
  background: var(--sand); border-top: 4px solid var(--petrol-deep);
  padding: 64px 0 72px;
}
body.onepager .cross-sell-eyebrow {
  text-align: center; text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 0.76rem; font-weight: 700; color: var(--ink-muted); margin: 0 0 30px;
}
body.onepager .split-block {
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 44px; align-items: start;
  background: var(--petrol-deep); color: #e9efe9; border-radius: var(--radius);
  padding: 40px 38px;
}
body.onepager .split-block h2 { color: #fdfaf4; }
body.onepager .split-block p { color: #cfdcda; font-size: 0.97rem; }
body.onepager .check-list { list-style: none; margin: 0; padding: 0; }
body.onepager .check-list li { padding: 10px 0; display: flex; gap: 10px; align-items: flex-start; font-size: 0.95rem; }
body.onepager .check-list .check { color: #7fd6a8; font-weight: 800; }

body.onepager .whatsapp-quick {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 44px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 36px 34px;
}
body.onepager .whatsapp-quick-intro p { color: var(--ink-muted); }
body.onepager .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.onepager .req { color: var(--cta); }
body.onepager .toggle-row { display: flex; align-items: center; gap: 10px; font-size: 0.93rem; margin: 0 0 18px; cursor: pointer; }
body.onepager .whatsapp-quick-alt { font-size: 0.85rem; color: var(--ink-muted); margin: 14px 0 0; }

/* Sticky Mobile CTA */
body.onepager .sticky-cta {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
  background: var(--petrol-deep); padding: 10px 14px;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.25);
}
body.onepager .sticky-cta form { display: flex; gap: 8px; }
body.onepager .sticky-cta input[type="email"] {
  flex: 1; min-width: 0; padding: 12px 14px; border: 0; border-radius: 10px;
  font-size: 16px; font-family: var(--font-sans);
}
body.onepager .sticky-cta .btn { padding: 12px 18px; white-space: nowrap; }

/* ============ Responsive ============ */
@media (max-width: 980px) {
  body.onepager .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  body.onepager .hero { padding: 52px 0 60px; }
  body.onepager .process-list { grid-template-columns: repeat(2, 1fr); }
  body.onepager .stats-grid { grid-template-columns: repeat(2, 1fr); }
  body.onepager .stat { border-left: 0; }
  body.onepager .pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  body.onepager .price-card.is-highlight { order: -1; }
  body.onepager .split-block,
  body.onepager .whatsapp-quick { grid-template-columns: minmax(0, 1fr); }
  body.onepager .pricing-grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin: 0 auto; }
  body.onepager .price-card.is-highlight { order: -1; }
  /* Regel zu .onepager entfernt: Header/Footer kommen aus main.css */
}

@media (max-width: 720px) {
  body.onepager section { padding: 52px 0; }
  /* Regel zu .onepager entfernt: Header/Footer kommen aus main.css */
  /* Regel zu .onepager entfernt: Header/Footer kommen aus main.css */
  body.onepager .platform-wall { grid-template-columns: repeat(2, 1fr); }
  body.onepager .process-list { grid-template-columns: 1fr; }
  body.onepager .benefit-grid { grid-template-columns: 1fr; }
  body.onepager .form-row { grid-template-columns: 1fr; }
  /* Regel zu .onepager entfernt: Header/Footer kommen aus main.css */
  body.onepager .mobile-cta-break { display: block; }
  body.onepager .sticky-cta { display: block; }
  body.onepager { padding-bottom: 74px; } /* Platz für Sticky-CTA (Fitts's Law, Daumenzone) */
  body.onepager .hero-capture { padding: 24px 20px; }
}

/* --------------------------------------------------------------------------
   MARKENHINWEIS (2026-09-02)
   Die Plattform-Logos sind fremde Marken. Der Entwurf dent-webauftritt.de/sd-v3/
   hatte dazu einen Hinweis im dunklen Footer; beim Uebernehmen in das CMS ist er
   verlorengegangen, weil der Footer hier aus dem gemeinsamen Template des
   Mitgliederbereichs kommt und nicht angefasst wird. Er steht deshalb als
   letzter Block im Seiteninhalt - Farben auf den hellen Untergrund angepasst.
   -------------------------------------------------------------------------- */
body.onepager .markenhinweis-section {
  padding: 0 0 34px;
  background-color: var(--bg);
}
body.onepager .footer-trademark {
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid var(--border);
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--ink-muted);
  text-align: center;
}
