/* lead.css - Zielgruppen-/Conversion-Seiten (Veranstalter werden, Für Vereine, Für Gewerbe).
 * Branded Landing-Look: Navy/Cream-Rhythmus, Gold-Akzente, regionale Glaubwürdigkeit.
 * Nutzt die Tokens aus tokens.css. Mobile First. */

/* ---------- Hero ----------
   Der Unterseiten-Hero (.lead-hero + Subelemente .lead-hero__inner / .lead-eyebrow /
   .lead-lead / .lead-hero__actions / .lead-trust) liegt jetzt ZENTRAL in layout.css
   und gilt für ALLE Unterseiten. Früher hier definiert und auf idee/preise kopiert
   -> Drift. Nicht wieder hierher zurückholen. Siehe _rules/design-und-typografie.md. */

/* ---------- Stats-Band (regionale Glaubwürdigkeit) ---------- */
/* Sonnenland-Verlauf als Band hinter den KPIs - exakt wie idee .stats-section
   (heller Blau-Gold-Verlauf). Trägt die Sektions-Polsterung; das innere
   .lead-stats-Grid läuft dadurch ohne eigene vertikale Polsterung. */
.lead-stats-band {
  background: linear-gradient(135deg, #eaf2f8 0%, #f2eedf 55%, #fef3cd 100%);
  padding: var(--sp-12) var(--sp-6);
}
.lead-stats {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4);
  max-width: 1100px; margin: 0 auto;
}
@media (min-width: 720px) { .lead-stats { grid-template-columns: repeat(4, 1fr); } }
.lead-stat {
  text-align: center; padding: var(--sp-5) var(--sp-4);
  background: #fff; border: 1px solid var(--border-1, #e4e8ee);
  border-radius: var(--radius-lg, 16px); box-shadow: 0 6px 18px rgba(1, 66, 106, 0.05);
}
.lead-stat__num { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; color: var(--brand-navy); line-height: 1; }
.lead-stat__num span { color: var(--brand-orange); }
.lead-stat__label { display: block; margin-top: 6px; font-size: var(--fs-sm); color: var(--text-muted, #5c6578); line-height: 1.4; }
/* Highlight-Karte in Gold - analog idee .stat-card--highlight (Sonnenland-Akzent).
   Schrift in dunklem Röstbraun (--color-on-accent), WCAG-sicher auf Gold. */
.lead-stat--highlight {
  background: linear-gradient(160deg, var(--brand-orange) 0%, var(--brand-orange-soft) 100%);
  border-color: var(--brand-orange);
}
.lead-stat--highlight .lead-stat__num,
.lead-stat--highlight .lead-stat__num span { color: var(--color-on-accent, #4A3300); }
.lead-stat--highlight .lead-stat__label { color: var(--color-on-accent, #4A3300); opacity: 0.85; }

/* ---------- Sektionen ---------- */
/* Lead-/Service-Seiten: Inhaltsbreite wie idee (~1100px); Header/Footer bleiben am --container-max-Rahmen */
.lead-page .section-inner { max-width: 1100px; }

/* ---------- Benefit-Karten ---------- */
.lead-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); }
@media (min-width: 720px) { .lead-grid { grid-template-columns: repeat(2, 1fr); } .lead-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.lead-card {
  background: #fff; border: 1px solid var(--border-1, #e4e8ee); border-radius: var(--radius-lg, 16px);
  padding: var(--sp-5); box-shadow: 0 6px 18px rgba(1, 66, 106, 0.05);
  display: flex; flex-direction: column; gap: var(--sp-2);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.lead-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(1, 66, 106, 0.10); border-color: rgba(245, 197, 24, 0.5); }
.lead-card__badge {
  width: 48px; height: 48px; border-radius: 14px; flex: 0 0 auto;
  background: rgba(245, 197, 24, 0.16); color: var(--gold-deep, #806400);
  display: flex; align-items: center; justify-content: center; margin-bottom: var(--sp-1);
}
.lead-card__badge svg { width: 24px; height: 24px; }
.lead-card h3 { font-size: 1.18rem; color: var(--brand-navy); margin: 0; }
.lead-card p { color: var(--text-muted, #5c6578); line-height: 1.55; margin: 0; }
.lead-card__more { margin-top: auto; padding-top: var(--sp-3); font-weight: 700; color: var(--brand-navy); text-decoration: none; }
.lead-card__more:hover { color: var(--gold-deep, #806400); }

/* Paket-Karten komplett klickbar (Dennis 11.06.): Stretched-Link -
   der .lead-card__more-Anker spannt sich unsichtbar über die ganze Karte.
   Gilt nur für Preis-Karten (.lead-card--preis), nicht für Benefit-Karten. */
.lead-card--preis { position: relative; cursor: pointer; }
.lead-card--preis .lead-card__more::after { content: ""; position: absolute; inset: 0; }
.lead-card--preis:focus-within { outline: 2px solid var(--brand-navy, #01426a); outline-offset: 2px; }
.lead-card--preis .lead-card__more:focus-visible { outline: none; }

/* ---------- Paket-/Preis-Karten (Lead-Seiten) ----------
 * NUR die Paket-Karten in den Pakete-Sektionen (fuer-vereine / fuer-gewerbe)
 * werden eingefärbt - greift den Look der passenden Box auf /preise auf.
 * Marker: .lead-card--preis (gemeinsam) + spezifischer Box-Modifier.
 * Die übrigen .lead-card (Warum-/Partner-Karten) bleiben unberührt.
 * Mobile First: Basis = Farbtöne/Verlauf, ab 769px nur subtile Schatten-Differenz. */

/* Einstiegs-Box (Basic/Standard): ruhiger, warmer Pioneer-Ton - analog
   .paket--pioneer auf /preise (dezenter Cream/Pioneer-Verlauf, kein Goldakzent). */
.lead-card--basic,
.lead-card--gewerbe-standard {
  background: linear-gradient(180deg, var(--pioneer-pink, #fff3e0) 0%, #fff 62%);
  border-color: rgba(245, 197, 24, 0.22);
}

/* Empfohlene Box (Vereine Plus / Gewerbe Premium): prominenter mit Gold-Akzent -
   analog .paket--featured.paket--pioneer auf /preise (warmer Sonnenland-Gold-Schimmer
   plus Gold-Oberkante und feiner Goldrahmen). */
.lead-card--verein-plus,
.lead-card--gewerbe-premium {
  background:
    linear-gradient(180deg, rgba(245, 197, 24, 0.20) 0%, rgba(245, 197, 24, 0.07) 38%, #fff 78%),
    radial-gradient(circle at top right, rgba(245, 197, 24, 0.16), transparent 55%);
  border-top: 4px solid var(--brand-orange, #F5C518);
  border-color: rgba(245, 197, 24, 0.40);
  box-shadow: 0 8px 28px rgba(1, 66, 106, 0.12), 0 0 0 1px rgba(245, 197, 24, 0.16);
}
/* Hover der empfohlenen Box: Goldrahmen bleibt erhalten (sonst überschreibt .lead-card:hover) */
.lead-card--verein-plus:hover,
.lead-card--gewerbe-premium:hover { border-color: rgba(245, 197, 24, 0.6); }

/* Preis auf den eingefärbten Boxen hervorheben:
   Einstieg dezent navy (Standard), empfohlene Box in dunklem Wappen-Gold. */
.lead-card--verein-plus .lead-price b,
.lead-card--gewerbe-premium .lead-price b { color: var(--gold-deep, #806400); }

/* ---------- Zielgruppen-Fork (zwei große Karten) ---------- */
.lead-fork { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); }
@media (min-width: 820px) { .lead-fork { grid-template-columns: repeat(2, 1fr); } }
.lead-fork__card {
  border-radius: var(--radius-lg, 16px); padding: var(--sp-6);
  display: flex; flex-direction: column; gap: var(--sp-3);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.lead-fork__card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(1, 66, 106, 0.14); }
.lead-fork__card--verein { background: #fff; border: 1px solid var(--border-1, #e4e8ee); }
.lead-fork__card--gewerbe { background: linear-gradient(160deg, var(--brand-navy), var(--brand-navy-deep)); color: #fff; }
.lead-fork__tag { font-size: var(--fs-sm); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.lead-fork__card--verein .lead-fork__tag { color: var(--gold-deep, #806400); }
.lead-fork__card--gewerbe .lead-fork__tag { color: var(--brand-orange); }
.lead-fork__card h3 { font-family: var(--font-display, Georgia, serif); font-size: 1.5rem; margin: 0; }
.lead-fork__card--verein h3 { color: var(--brand-navy); }
.lead-fork__card--gewerbe h3 { color: #fff; }
.lead-fork__card p { line-height: 1.6; margin: 0; }
.lead-fork__card--verein p { color: var(--text-muted, #5c6578); }
.lead-fork__card--gewerbe p { color: rgba(255, 255, 255, 0.85); }
.lead-fork__more { margin-top: auto; padding-top: var(--sp-2); font-weight: 700; text-decoration: none; align-self: flex-start; }
.lead-fork__card--verein .lead-fork__more { color: var(--brand-navy); }
.lead-fork__card--gewerbe .lead-fork__more { color: #fff; }

/* ---------- Schritte (nummeriert) ---------- */
.lead-steps { display: grid; grid-template-columns: 1fr; gap: var(--sp-5); counter-reset: step; }
@media (min-width: 720px) { .lead-steps { grid-template-columns: repeat(3, 1fr); } }
.lead-step { position: relative; padding-top: var(--sp-2); }
.lead-step__n {
  width: 44px; height: 44px; border-radius: 50%; background: var(--brand-navy); color: var(--brand-orange);
  display: flex; align-items: center; justify-content: center; font-family: var(--font-display, Georgia, serif);
  font-weight: 700; font-size: 1.2rem; margin-bottom: var(--sp-3);
}
.lead-step h3 { font-size: 1.1rem; color: var(--brand-navy); margin: 0 0 6px; }
.lead-step p { color: var(--text-muted, #5c6578); line-height: 1.55; margin: 0; }

/* ---------- Vorteils-Checkliste ---------- */
.lead-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--sp-3); }
@media (min-width: 720px) { .lead-checks { grid-template-columns: repeat(2, 1fr); } }
.lead-checks li { position: relative; padding-left: 36px; line-height: 1.55; color: var(--text-strong, #14233a); }
.lead-checks li::before {
  content: "✓"; position: absolute; left: 0; top: -1px; width: 24px; height: 24px; border-radius: 50%;
  background: rgba(245, 197, 24, 0.18); color: var(--gold-deep, #806400);
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px;
}
.lead-checks strong { color: var(--brand-navy); }

/* ---------- Preis-Teaser ---------- */
.lead-price { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.lead-price b { font-size: 1.6rem; color: var(--brand-navy); font-family: var(--font-display, Georgia, serif); }
.lead-fork__card--gewerbe .lead-price b { color: #fff; }
.lead-price span { color: var(--text-muted, #5c6578); font-size: var(--fs-sm); }
.lead-fork__card--gewerbe .lead-price span { color: rgba(255, 255, 255, 0.7); }

/* ---------- CTA-Band ---------- */
.lead-cta {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-navy-deep)); color: #fff;
  border-radius: var(--radius-lg, 16px); padding: var(--sp-8) var(--sp-6); text-align: center;
  max-width: 1100px; margin: var(--sp-10) auto var(--sp-10);
}
.lead-cta::after { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 120% at 90% 0%, rgba(245,197,24,.18), transparent 60%); pointer-events: none; }
.lead-cta > * { position: relative; }
.lead-cta h2 { color: #fff; font-family: var(--font-display, Georgia, serif); font-size: clamp(1.5rem, 3.6vw, 2.1rem); margin: 0 0 var(--sp-2); }
.lead-cta p { color: rgba(255, 255, 255, 0.85); margin: 0 auto var(--sp-5); max-width: 56ch; }
/* Button als Block-Level-Box (statt inline-flex aus .btn-Basis): sonst ragt die
   Button-Unterkante aus der Text-Zeilenbox und frisst den margin-top der Notiz ->
   Notiz klebte sichtbar am Button. So wird der Abstand ab echter Button-Kante gemessen. */
.lead-cta .btn { display: flex; width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; }
/* Spezifität: .lead-cta p (0,0,1,1) würde sonst margin-top:0 erzwingen und den
   Abstand zum Button platt machen. p.lead-cta__note (0,0,2,1) gewinnt. */
/* 0.8 statt 0.6: auf dem hellsten Navy-Verlaufsstop (#0d5689) braucht der Hinweistext >=4.5:1 (WCAG 1.4.3). */
.lead-cta p.lead-cta__note { font-size: var(--fs-sm); color: rgba(255, 255, 255, 0.8); margin-top: var(--sp-6); }
.lead-cta__note a { color: var(--brand-orange); }

/* ===== TEMP DEV-ONLY: CTA-Box Sonnenland-hell mit Wow-Stufen (W0/W2/W3) via body[data-ctavar] =====
   Gesetzt vom Toggle in footer.php (nur PRE_LAUNCH). Prod-neutral (ohne Attribut keine Wirkung).
   Alle drei = helle Sonnenland-Box, nur die Aufwertung unterscheidet sich:
   W0 = Schatten + dezenter Gold-Glow · W2 = + Gold-Sonnenaufgang-Kante oben · W3 = + Sonnenstrahlen-Motiv.
   Nach der Entscheidung diesen Block + CTA-Eintrag im Toggle entfernen und die inline-Gold-Link-
   Styles aus den Seiten raus (statt des !important-Override hier). */
/* B - Navy weicher (dunkel, nur hellerer Verlauf) */
body[data-ctavar="b"] .lead-cta { background: linear-gradient(135deg, #0d5689, #013a5e); }
/* W0/W2/W3 - gemeinsame helle Sonnenland-Basis */
body[data-ctavar^="w"] .lead-cta { background: var(--gradient-sonnenland); color: var(--brand-navy); border: 1px solid var(--border-1); box-shadow: var(--shadow-md); }
body[data-ctavar^="w"] .lead-cta h2 { color: var(--brand-navy); }
body[data-ctavar^="w"] .lead-cta p { color: var(--text-body); }
body[data-ctavar^="w"] .lead-cta p.lead-cta__note { color: var(--text-muted); }
body[data-ctavar^="w"] .lead-cta__note a { color: var(--gold-deep) !important; }
body[data-ctavar^="w"] .lead-cta::after { background: radial-gradient(90% 120% at 90% 0%, rgba(245,197,24,.30), transparent 60%); }
/* WCAG 1.4.11: Auf der hellen Sonnenland-CTA-Box braucht der goldene Primär-Button eine
   Navy-Kante, damit seine Begrenzung >=3:1 zum hellen Grund hat (wie im Hero, layout.css). */
body[data-ctavar^="w"] .lead-cta .btn--primary { border-color: var(--brand-navy); box-shadow: 0 2px 10px rgba(1, 66, 106, 0.28); }
/* W2: Gold-Sonnenaufgang-Kante oben */
body[data-ctavar="w2"] .lead-cta { box-shadow: 0 6px 18px rgba(1,66,106,.10), 0 2px 4px rgba(1,66,106,.05); }
body[data-ctavar="w2"] .lead-cta::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 2; background: linear-gradient(90deg, transparent, var(--brand-orange) 18%, var(--gold-soft, #FFD43B) 50%, var(--brand-orange) 82%, transparent); }
/* W3: dezentes KONTEXT-Motiv unten rechts (pro Seite via .lead-cta--<thema>); Glow bleibt auf ::after.
   Motiv navy, halbtransparent, teils angeschnitten. Standard ohne Modifier = Sonne (Sonnenland). */
body[data-ctavar="w3"] .lead-cta::before {
  content: ""; position: absolute; right: -22px; bottom: -22px; width: 140px; height: 140px;
  z-index: 0; opacity: .12; pointer-events: none;
  background-repeat: no-repeat; background-position: center; background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='6' stroke-linecap='round'><circle cx='100' cy='100' r='32'/><line x1='100' y1='20' x2='100' y2='46'/><line x1='100' y1='154' x2='100' y2='180'/><line x1='20' y1='100' x2='46' y2='100'/><line x1='154' y1='100' x2='180' y2='100'/><line x1='44' y1='44' x2='62' y2='62'/><line x1='138' y1='138' x2='156' y2='156'/><line x1='156' y1='44' x2='138' y2='62'/><line x1='62' y1='138' x2='44' y2='156'/></g></svg>");
}
body[data-ctavar="w3"] .lead-cta--vereine::before,
body[data-ctavar="w3"] .lead-cta--partner::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 78 H56 L92 96'/><path d='M180 78 H148 L112 60 L84 76 L96 92 L120 80'/><path d='M148 96 L172 118 H180'/><path d='M56 78 L36 118 H20'/><path d='M96 92 L120 116 M108 100 L128 124 M122 110 L138 130 M134 122 L146 138'/></g></svg>"); }
body[data-ctavar="w3"] .lead-cta--gewerbe::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M40 80 L52 44 H148 L160 80'/><path d='M48 80 V160 H152 V80'/><line x1='40' y1='80' x2='160' y2='80'/></g><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linejoin='round'><path d='M40 80 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0'/></g></svg>"); }
body[data-ctavar="w3"] .lead-cta--kontakt::before,
body[data-ctavar="w3"] .lead-cta--newsletter::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><rect x='30' y='72' width='128' height='90' rx='10'/><path d='M30 84 L94 126 L158 84'/></g></svg>"); }
body[data-ctavar="w3"] .lead-cta--faq::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M40 44 H160 a16 16 0 0 1 16 16 V128 a16 16 0 0 1 -16 16 H92 L60 176 V144 H40 a16 16 0 0 1 -16 -16 V60 a16 16 0 0 1 16 -16 Z' fill='none' stroke='%2301426a' stroke-width='3' stroke-linejoin='round'/><path d='M82 80 a18 18 0 1 1 24 17 c-6 3 -6 8 -6 14' fill='none' stroke='%2301426a' stroke-width='4' stroke-linecap='round'/><circle cx='100' cy='126' r='3.5' fill='%2301426a'/></svg>"); }
body[data-ctavar="w3"] .lead-cta--kalender::before,
body[data-ctavar="w3"] .lead-cta--veranstalter::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><rect x='34' y='52' width='132' height='114' rx='10'/><line x1='34' y1='84' x2='166' y2='84'/><line x1='68' y1='38' x2='68' y2='62'/><line x1='132' y1='38' x2='132' y2='62'/></g></svg>"); }
body[data-ctavar="w3"] .lead-cta--gemeinde::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 160'><g fill='none' stroke='%2301426a' stroke-width='2.5'><circle cx='40' cy='60' r='10'/><circle cx='100' cy='40' r='10'/><circle cx='160' cy='70' r='10'/><circle cx='110' cy='120' r='10'/><line x1='50' y1='62' x2='90' y2='44' stroke-dasharray='3 4'/><line x1='110' y1='44' x2='150' y2='66' stroke-dasharray='3 4'/><line x1='100' y1='52' x2='108' y2='108' stroke-dasharray='3 4'/></g></svg>"); }
/* ===== /TEMP DEV ===== */
/* Runde CTA-Karte nie bis an den Display-Rand: seitlicher Abstand, solange das
   Fenster schmaler als Kartenbreite (1100) + Gutter ist. Auf breiten Screens
   greift weiter die Zentrierung (margin: ... auto ...). */
@media (max-width: 1140px) {
  .lead-cta { margin-left: var(--sp-4); margin-right: var(--sp-4); }
}

/* ---------- Kontakt ---------- */
/* Einheitliche Inhaltsbreite der zweispaltigen Formular-Sektionen (kontakt, registrieren;
   newsletter/kalender-abo nutzen dieselben 1040px in ihren eigenen Grids - Standard 11.06.). */
.contact-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-6); align-items: start; max-width: 1040px; margin: 0 auto; }
/* Ab Tablet: Formular links (breit), Info-Sidebar rechts (schmal).
   DOM-Reihenfolge bleibt aside->card (Mobile: Info zuerst), Desktop dreht via order. */
@media (min-width: 860px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr) 330px; }
  .contact-grid .contact-card { order: 1; }
  .contact-grid .contact-aside { order: 2; }
}
.contact-aside h2 { font-family: var(--font-display, Georgia, serif); color: var(--brand-navy); font-size: 1.35rem; margin: 0 0 var(--sp-2); }
.contact-aside p { color: var(--text-muted, #5c6578); line-height: 1.6; margin: 0 0 var(--sp-2); }
.contact-mail { font-weight: 700; color: var(--brand-navy); font-size: 1.1rem; text-decoration: none; border-bottom: 2px solid rgba(245, 197, 24, 0.5); }
.contact-mail:hover { color: var(--gold-deep, #806400); }
.contact-points { list-style: none; padding: 0; margin: var(--sp-5) 0 0; display: grid; gap: var(--sp-3); }
.contact-points li { position: relative; padding-left: 30px; color: var(--text-strong, #14233a); line-height: 1.5; }
.contact-points li svg { position: absolute; left: 0; top: 3px; width: 18px; height: 18px; color: var(--gold-deep, #806400); }
.contact-card { background: #fff; border: 1px solid var(--border-1, #e4e8ee); border-radius: var(--radius-lg, 16px); padding: var(--sp-6); box-shadow: 0 6px 18px rgba(1, 66, 106, 0.05); }
/* Auth-Formularfelder in der Contact-Card etwas kompakter rahmen */
.contact-card .auth-field { margin-bottom: var(--sp-4); }
.contact-card .auth-btn { width: 100%; }
/* Registrierung nutzt dasselbe Grid: die auth-card übernimmt die (breite) Formular-Spalte */
.contact-grid .auth-card { order: 1; max-width: none; width: 100%; }
@media (min-width: 860px) { .contact-grid > .contact-aside { position: sticky; top: calc(var(--header-h, 84px) + 16px); } }
/* Variante: Begleitspalte LINKS, Formular rechts (registrieren + kontakt - wie newsletter/
   kalender-abo). Breite kommt vom .contact-grid-Standard (1040px zentriert). */
@media (min-width: 860px) {
  .contact-grid--aside-left { grid-template-columns: 330px minmax(0, 1fr); gap: var(--sp-10, 40px); }
  .contact-grid--aside-left > .contact-aside { order: 1; }
  .contact-grid--aside-left > .auth-card,
  .contact-grid--aside-left > .contact-card { order: 2; }
}

/* ---------- DEZENTE SEKTIONS-GRAFIKEN ----------
 * Exakt nach dem Muster der idee-Seite (idee.css): eine sehr dezente,
 * themenbezogene SVG-Strichgrafik unten rechts, hinter dem Inhalt.
 * Bewusst NICHT an die globale .section gehängt, sondern an eigene
 * Marker-Klassen (.lead-fx + .lead-fx--<thema>), damit idee/preise und
 * andere Seiten unberührt bleiben. Brand-Navy %2301426a, Gold %23F5C518.
 * Mobile First: Basis = kleine Grafik, ab 769px additiv vergrößern. */
.lead-fx {
  position: relative;
  overflow: hidden;
}
.lead-fx::after {
  content: '';
  position: absolute;
  /* Basis = Mobil (analog idee-Mobile): klein und sehr ruhig */
  bottom: -17px;
  right: -17px;
  width: 221px;
  height: 196px;
  pointer-events: none;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
  opacity: 0.06;
}
/* Direkter Inhalt (.section-inner) liegt über der Grafik */
.lead-fx > * { position: relative; z-index: 1; }
/* Ab Tablet/Desktop: volle Größe wie auf idee (Desktop-Standard) */
@media (min-width: 769px) {
  .lead-fx::after {
    bottom: -34px;
    right: -34px;
    width: 476px;
    height: 425px;
    opacity: 0.07;
  }
  /* In zweispaltigen Sektionen (section--split) sitzt rechts die Kachelspalte -
     das Motiv würde dahinter verschwinden. Darum links unter die Textspalte,
     wo Freifläche ist, und etwas kleiner, damit es nicht in den Lesetext ragt. */
  .section--split.lead-fx::after {
    left: -40px;
    right: auto;
    width: 392px;
    height: 350px;
    background-position: bottom left;
  }
}

/* Wegweiser/Pfeile - "Wähle deinen Weg" (Fork) */
.lead-fx--signpost::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='100' y1='40' x2='100' y2='185'/><path d='M40 60 H120 L142 76 L120 92 H40 Z'/><path d='M160 110 H80 L58 126 L80 142 H160 Z'/></g></svg>");
}
/* Menschen/Herz - Community / "Gute Gründe" / "Eure Vorteile" */
.lead-fx--community::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><circle cx='62' cy='66' r='20'/><path d='M30 150 a32 32 0 0 1 64 0'/><circle cx='138' cy='66' r='20'/><path d='M106 150 a32 32 0 0 1 64 0'/></g><path d='M100 132 c-14 -12 -26 -20 -26 -34 a14 14 0 0 1 26 -7 a14 14 0 0 1 26 7 c0 14 -12 22 -26 34 Z' fill='%23F5C518' fill-opacity='0.5' stroke='%23F5C518' stroke-width='2.5' stroke-linejoin='round'/></svg>");
}
/* Brief + Sonne - "Newsletter" (Mail) */
.lead-fx--mail::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><rect x='30' y='72' width='128' height='90' rx='10'/><path d='M30 84 L94 126 L158 84'/></g><circle cx='156' cy='58' r='20' fill='%23F5C518'/></svg>");
}
/* Smartphone mit Kalender-Pin - "So einfach geht's" (Steps) */
.lead-fx--steps::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'><rect x='60' y='28' width='80' height='144' rx='12'/><line x1='60' y1='52' x2='140' y2='52'/><line x1='60' y1='156' x2='140' y2='156'/></g><g fill='%2301426a' fill-opacity='0.18'><rect x='70' y='62' width='60' height='8' rx='2'/><rect x='70' y='78' width='42' height='8' rx='2'/><rect x='70' y='94' width='54' height='8' rx='2'/><rect x='70' y='110' width='38' height='8' rx='2'/></g><g><circle cx='100' cy='42' r='2.5' fill='%2301426a'/><circle cx='150' cy='130' r='22' fill='%23F5C518'/><path d='M150 121 L150 139 M141 130 L159 130' stroke='%2301426a' stroke-width='3' stroke-linecap='round'/></g></svg>");
}
/* Euro/Preisschild - "Vereins-Pakete" / "Gewerbe-Pakete" */
.lead-fx--price::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M44 44 H104 L160 100 L104 156 L44 100 Z'/><circle cx='74' cy='74' r='9'/></g><g fill='none' stroke='%23F5C518' stroke-width='3' stroke-linecap='round'><path d='M132 88 a24 24 0 1 0 0 24'/><line x1='104' y1='94' x2='128' y2='94'/><line x1='102' y1='106' x2='126' y2='106'/></g></svg>");
}
/* Schaufenster/Laden - "Deine Vorteile" (Gewerbe) */
.lead-fx--store::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M40 80 L52 44 H148 L160 80'/><path d='M48 80 V160 H152 V80'/><line x1='40' y1='80' x2='160' y2='80'/></g><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linejoin='round'><path d='M40 80 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0 a14 14 0 0 0 28 0'/></g><rect x='86' y='116' width='28' height='44' fill='none' stroke='%23F5C518' stroke-width='3'/></svg>");
}
/* Handschlag - "Warum Partnerschaft" */
.lead-fx--handshake::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 78 H56 L92 96'/><path d='M180 78 H148 L112 60 L84 76 L96 92 L120 80'/><path d='M148 96 L172 118 H180'/><path d='M56 78 L36 118 H20'/><path d='M96 92 L120 116 M108 100 L128 124 M122 110 L138 130 M134 122 L146 138'/></g><circle cx='100' cy='150' r='10' fill='%23F5C518' fill-opacity='0.5' stroke='%23F5C518' stroke-width='2.5'/></svg>");
}
/* Verbundene Karten-Pins - "Wer passt" (Region), analog idee .section-region */
.lead-fx--region::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 160'><g fill='none' stroke='%2301426a' stroke-width='2.5'><circle cx='40' cy='60' r='10'/><circle cx='100' cy='40' r='10'/><circle cx='160' cy='70' r='10'/><circle cx='110' cy='120' r='10'/><line x1='50' y1='62' x2='90' y2='44' stroke-dasharray='3 4'/><line x1='110' y1='44' x2='150' y2='66' stroke-dasharray='3 4'/><line x1='100' y1='52' x2='108' y2='108' stroke-dasharray='3 4'/></g></svg>");
}

/* --- Gemeinde-Motive (gleicher Stil: Navy-Linien + Gold-Akzent) ---
   Für die Gemeinde-Infoseiten, inhaltspassend je Sektion. */
/* Laubbaum + Sonne - Natur / Wald / Briesetal / Sehenswertes & Natur */
.lead-fx--nature::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><circle cx='150' cy='52' r='18' fill='%23F5C518' fill-opacity='0.5' stroke='%23F5C518' stroke-width='2.5'/><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><circle cx='96' cy='78' r='42'/><path d='M96 120 V178'/><path d='M96 146 L68 124 M96 134 L126 110'/><path d='M74 178 H118'/></g></svg>");
}
/* S-Bahn-Front auf Gleis - Lage & Anbindung */
.lead-fx--rail::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M58 156 V66 a22 22 0 0 1 22 -22 h40 a22 22 0 0 1 22 22 V156'/><rect x='72' y='60' width='56' height='30' rx='6'/><line x1='58' y1='102' x2='142' y2='102'/><line x1='100' y1='102' x2='100' y2='156'/><path d='M38 170 H162 M50 184 H150'/></g><circle cx='78' cy='128' r='8' fill='%23F5C518'/><circle cx='122' cy='128' r='8' fill='%23F5C518'/></svg>");
}
/* Klassizistisches Gebäude mit Säulen - Sehenswertes & Geschichte / Denkmal */
.lead-fx--heritage::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M42 76 L100 40 L158 76 Z'/><line x1='38' y1='88' x2='162' y2='88'/><path d='M56 88 V152 M80 88 V152 M120 88 V152 M144 88 V152'/><line x1='44' y1='152' x2='156' y2='152'/><line x1='34' y1='166' x2='166' y2='166'/></g><circle cx='100' cy='62' r='7' fill='%23F5C518'/></svg>");
}
/* Wimpelkette - Veranstaltungen & Treffpunkte / Feste */
.lead-fx--festival::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M16 66 Q100 112 184 66' fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round'/><g stroke='%2301426a' stroke-width='2.5' stroke-linejoin='round'><path d='M34 74 L54 71 L45 96 Z' fill='%23F5C518' fill-opacity='0.55'/><path d='M62 84 L82 83 L73 108 Z' fill='none'/><path d='M92 89 L112 89 L102 114 Z' fill='%23F5C518' fill-opacity='0.55'/><path d='M120 87 L140 84 L132 110 Z' fill='none'/><path d='M148 79 L168 74 L161 100 Z' fill='%23F5C518' fill-opacity='0.55'/></g></svg>");
}
/* Backsteinmauer - Grenzgeschichte (Glienicke) */
.lead-fx--wall::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><rect x='40' y='62' width='120' height='96'/><line x1='40' y1='94' x2='160' y2='94'/><line x1='40' y1='126' x2='160' y2='126'/><path d='M72 62 V94 M104 62 V94 M136 62 V94'/><path d='M56 94 V126 M88 94 V126 M120 94 V126 M152 94 V126'/><path d='M72 126 V158 M104 126 V158 M136 126 V158'/></g><rect x='105' y='95' width='30' height='30' fill='%23F5C518' fill-opacity='0.45'/></svg>");
}
/* Windmühle - Mühlen, Moore und Seen (Mühlenbecker Land) */
.lead-fx--mill::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%2301426a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M76 170 L86 100 H114 L124 170 Z'/><path d='M84 100 Q100 84 116 100'/><rect x='91' y='142' width='18' height='28'/><path d='M100 96 L62 58 M100 96 L138 134 M100 96 L138 58 M100 96 L62 134'/></g><circle cx='100' cy='96' r='7' fill='%23F5C518'/></svg>");
}

/* Heraldisches Schild mit Sonne - Wappen / Farbschema (sonnenland) */
.lead-fx--wappen::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M100 38 L152 54 V102 C152 134 130 156 100 170 C70 156 48 134 48 102 V54 Z' fill='none' stroke='%2301426a' stroke-width='3' stroke-linejoin='round'/><circle cx='100' cy='94' r='15' fill='%23F5C518' fill-opacity='0.5' stroke='%23F5C518' stroke-width='2.5'/><g stroke='%2301426a' stroke-width='2.5' stroke-linecap='round'><line x1='100' y1='66' x2='100' y2='58'/><line x1='100' y1='122' x2='100' y2='130'/><line x1='72' y1='94' x2='64' y2='94'/><line x1='128' y1='94' x2='136' y2='94'/></g></svg>");
}
/* Sonne mit Strahlen - "Daraus wurde Sonnenland" */
.lead-fx--sonne::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><circle cx='100' cy='100' r='34' fill='%23F5C518' fill-opacity='0.5' stroke='%23F5C518' stroke-width='2.5'/><g stroke='%2301426a' stroke-width='3' stroke-linecap='round'><line x1='100' y1='30' x2='100' y2='14'/><line x1='100' y1='170' x2='100' y2='186'/><line x1='30' y1='100' x2='14' y2='100'/><line x1='170' y1='100' x2='186' y2='100'/><line x1='51' y1='51' x2='39' y2='39'/><line x1='149' y1='51' x2='161' y2='39'/><line x1='51' y1='149' x2='39' y2='161'/><line x1='149' y1='149' x2='161' y2='161'/></g></svg>");
}

/* ---------- Kalender-Abo-Builder (kalender-abo.php) ---------- */
/* Mobile First: ein Block, Felder gestapelt; ab Tablet zweispaltige Selects. */
.kabo-builder {
  max-width: 720px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--color-border, #e6e6e6);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  box-shadow: 0 8px 28px rgba(1, 66, 106, 0.08);
}
.kabo-field { display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-5); }
.kabo-field:last-child { margin-bottom: 0; }
.kabo-field > label {
  font-weight: var(--fw-semi, 600);
  font-size: var(--fs-sm);
  color: var(--brand-navy, #01426a);
}
.kabo-field select,
.kabo-url {
  width: 100%;
  font-size: var(--fs-md);
  font-family: inherit;
  color: var(--color-text, #1a1a1a);
  background: #fff;
  border: 1.5px solid var(--color-border, #cfd8df);
  border-radius: var(--radius-sm);
  padding: var(--sp-3) var(--sp-4);
}
.kabo-field select:focus,
.kabo-url:focus {
  outline: none;
  border-color: var(--brand-navy, #01426a);
  box-shadow: 0 0 0 3px rgba(1, 66, 106, 0.15);
}
.kabo-url {
  background: var(--color-cream, #faf6ee);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: var(--fs-sm);
}
.kabo-urlrow { display: flex; flex-direction: column; gap: var(--sp-2); }
.kabo-copybtn { white-space: nowrap; }
.kabo-copied { margin: 0; color: var(--brand-navy, #01426a); font-size: var(--fs-sm); font-weight: var(--fw-semi, 600); }
.kabo-copied::before { content: "✓ "; color: var(--brand-orange); font-weight: 800; }
.kabo-actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin: var(--sp-6) 0; }
.kabo-actions .btn { flex: 1 1 auto; text-align: center; }
.kabo-hint { margin: 0; font-size: var(--fs-sm); line-height: var(--lh-normal); color: var(--color-text-soft, #5a6b76); }

@media (min-width: 600px) {
  .kabo-urlrow { flex-direction: row; align-items: center; }
  .kabo-url { flex: 1 1 auto; }
  .kabo-actions .btn { flex: 0 1 auto; }
}

/* 3-Schritt-Erklärung „Was ist ein Kalender-Abo?".
   Mobile First: gestapelte Schritte, ab Tablet drei Spalten nebeneinander. */
.kabo-steps {
  list-style: none;
  margin: var(--sp-6) auto 0;
  padding: 0;
  max-width: 820px;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.kabo-steps li {
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
}
.kabo-step-num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--brand-navy, #01426a);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-md);
}
.kabo-steps strong {
  display: block;
  color: var(--brand-navy, #01426a);
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  margin-bottom: var(--sp-1);
}
.kabo-steps p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  color: var(--color-text-soft, #5a6b76);
}

@media (min-width: 769px) {
  .kabo-steps { grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
}
