
  /* ═══════════════════════════════════════════════════════
     SCHRIFTEN — selbst gehostet (DSGVO-konform)
     Dateien müssen auf dem Server unter /fonts/ liegen:
     /fonts/bebas-neue-400.woff2
     /fonts/barlow-condensed-300.woff2 … -700.woff2
     /fonts/barlow-300.woff2 … -700.woff2
     Bezug: https://fontsource.org/fonts/bebas-neue
             https://fontsource.org/fonts/barlow-condensed
             https://fontsource.org/fonts/barlow
  ═══════════════════════════════════════════════════════ */
  @font-face {
    font-family: 'Bebas Neue';
    src: url('/fonts/bebas-neue-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow Condensed';
    src: url('/fonts/barlow-condensed-300.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow Condensed';
    src: url('/fonts/barlow-condensed-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow Condensed';
    src: url('/fonts/barlow-condensed-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow Condensed';
    src: url('/fonts/barlow-condensed-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow Condensed';
    src: url('/fonts/barlow-condensed-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow';
    src: url('/fonts/barlow-300.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow';
    src: url('/fonts/barlow-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow';
    src: url('/fonts/barlow-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow';
    src: url('/fonts/barlow-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Barlow';
    src: url('/fonts/barlow-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
  }


/* ── CI Tokens ── */
:root {
  --navy:      #060E1F;
  --navy-mid:  #0F2444;
  --navy-card: #0B1D3A;
  --gold:      #D4AF37;
  --gold-l:    #E8CC5A;
  --text:      #D0D8E8;
  --text-m:    #8FA3BE;
  --accent:    #4FA3FF;
  --white:     #ffffff;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html { overflow-x: hidden; }
body { overflow-x: hidden;
  font-family: 'Barlow', sans-serif;
  background: var(--navy);
  color: var(--text);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

/* ── Utility ── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.gold-rule { height: 1px; background: var(--gold); opacity: 0.4; }
.eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
}

/* ── Navbar ── */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(6,14,31,0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(212,175,55,0.25);
}
.navbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px; max-width: 1200px; margin: 0 auto;
}
.navbar-brand {
  display: flex; align-items: center; gap: 12px;
}
.navbar-logo { height: 40px; width: auto; }
.navbar-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  color: var(--gold);
  line-height: 1;
}
.text-gold{color:var(--gold);}
.navbar-name small{display:block;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600;font-size:0.62rem;letter-spacing:0.10em;color:var(--text-m);text-transform:uppercase;line-height:1;margin-top:3px;}
.navbar-sub {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  color: var(--text-m);
  text-transform: uppercase;
  margin-top: 1px;
}
.nav-links {
  display: flex; align-items: center; gap: 32px; list-style: none;
}
.nav-links a {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-m);
  transition: color 0.2s;
}
.nav-links a:hover { color: var(--gold); }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none; cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.15s;
  border-radius: 3px;
  padding: 10px 22px;
}
.btn:hover { transform: translateY(-1px); }
.btn-gold { background: var(--gold); color: var(--navy); }
.btn-gold:hover { background: var(--gold-l); }
.btn-outline {
  background: transparent;
  border: 1.5px solid var(--gold);
  color: var(--gold);
}
.btn-outline:hover { background: var(--gold); color: var(--navy); }
.btn-accent { background: var(--accent); color: var(--white); }
.btn-accent:hover { background: #6db4ff; }

/* ── Hero ── */
.hero {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  position: relative;
  background: var(--navy);
  padding: 120px 24px 80px;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--gold);
}
.hero-bg-glow {
  position: absolute; top: -200px; right: -200px;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(212,175,55,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.hero-inner {
  max-width: 1200px; margin: 0 auto; width: 100%;
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(212,175,55,0.12);
  border: 1px solid rgba(212,175,55,0.3);
  border-radius: 2px;
  padding: 6px 14px;
  margin-bottom: 24px;
  width: fit-content;
}
.hero-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  animation: pulse 4s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }
@media (prefers-reduced-motion: reduce){ .hero-badge-dot{animation:none} }
.hero-badge span {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600; font-size: 0.72rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold);
}
.hero-slogan {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 1.05;
  color: var(--text);
  margin-bottom: 20px;
  letter-spacing: 0.02em;
}
.hero-sub {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600; font-size: 1.1rem;
  color: var(--text); margin-bottom: 12px;
}
.hero-desc {
  font-size: 0.95rem; color: var(--text-m);
  max-width: 460px; margin-bottom: 36px; line-height: 1.7;
}
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-logo-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  align-self: flex-start;
  padding-top: 8px;
}
.hero-logo-wrap img {
  width: clamp(280px, 40vw, 520px);
  height: auto;
  filter: drop-shadow(0 0 60px rgba(212,175,55,0.35));
  transition: filter .3s;
}
.hero-logo-wrap img:hover {
  filter: drop-shadow(0 0 80px rgba(212,175,55,0.55));
}
.hero-meta {
  max-width: 1200px; margin: 48px auto 0;
  display: flex; gap: 32px; flex-wrap: wrap;
}
.hero-meta-item {
  display: flex; flex-direction: column;
}
.hero-meta-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 0.65rem;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-m);
}
.hero-meta-value {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600; font-size: 0.9rem;
  color: var(--text);
}

/* ── Section common ── */
section { padding: 100px 0; }
.section-header { margin-bottom: 56px; }
.section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--text);
  letter-spacing: 0.02em;
  margin-top: 10px;
  margin-bottom: 14px;
}
.section-desc { font-size: 0.95rem; color: var(--text-m); max-width: 560px; line-height: 1.7; }

/* ── Über die Partei ── */
.ueber { background: var(--navy-mid); }
.ueber-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start;
}
.ueber-text p { font-size: 0.95rem; color: var(--text); line-height: 1.8; margin-bottom: 16px; }
.values-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.value-card {
  background: var(--navy-card);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 4px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.value-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--gold);
}
.value-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 0.65rem;
  letter-spacing: 0.1em; color: var(--gold); margin-bottom: 8px;
}
.value-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 1rem;
  color: var(--text); margin-bottom: 6px;
}
.value-desc { font-size: 0.8rem; color: var(--text-m); line-height: 1.5; }

/* ── Bundesvorstand ── */
.vorstand { background: var(--navy); }
.vorstand-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.member-card {
  background: var(--navy-card);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 4px;
  padding: 0;
  overflow: hidden;
  display: flex; flex-direction: column;
}
.member-stripe { height: 3px; background: var(--gold); }
.member-body { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.member-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 0.65rem;
  letter-spacing: 0.1em; color: var(--gold); margin-bottom: 6px;
}
.member-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 1rem;
  color: var(--text); margin-bottom: 4px; line-height: 1.2;
}
.member-rolle {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 400; font-size: 0.8rem;
  color: var(--gold); margin-bottom: 3px; line-height: 1.3;
}
.member-beruf {
  font-family: 'Barlow', sans-serif;
  font-weight: 300; font-size: 0.75rem;
  color: var(--text-m); margin-bottom: 10px;
}
.member-divider {
  height: 1px; background: rgba(212,175,55,0.2); margin-bottom: 10px;
}
.member-bio {
  font-size: 0.78rem; color: var(--text); line-height: 1.55;
  margin-bottom: 10px; flex: 1;
}
.member-quote {
  font-size: 0.75rem; color: var(--accent);
  font-weight: 300; line-height: 1.4;
  font-style: italic;
}

/* ── Mitmachen ── */
.mitmachen { background: var(--navy-mid); }
.mitmachen-inner {
  text-align: center; max-width: 680px; margin: 0 auto;
}
.mitmachen-inner .section-desc { margin: 0 auto 36px; text-align: center; }
.mitmachen-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── Footer ── */
.footer {
  background: var(--navy);
  border-top: 1px solid rgba(212,175,55,0.2);
  padding: 56px 0 32px;
}
.footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px;
  margin-bottom: 48px;
}
.footer-brand { display: flex; flex-direction: column; gap: 12px; }
.footer-logo { height: 48px; width: auto; align-self: flex-start; }
.footer-brand-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem; color: var(--gold); letter-spacing: 0.05em;
}
.footer-brand-sub {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.75rem; font-weight: 600;
  color: var(--text-m); text-transform: uppercase; letter-spacing: 0.08em;
}
.footer-brand-desc { font-size: 0.8rem; color: var(--text-m); line-height: 1.6; margin-top: 4px; }
.footer-col-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 0.75rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-links a {
  font-size: 0.85rem; color: var(--text-m);
  transition: color 0.2s;
}
.footer-links a:hover { color: var(--gold); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 24px; border-top: 1px solid rgba(212,175,55,0.1);
  flex-wrap: wrap; gap: 12px;
}
.footer-bottom p { font-size: 0.75rem; color: var(--text-m); }

/* ── Responsive ── */
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-logo-wrap { display: flex; justify-content: center; padding-top: 0; padding-bottom: 32px; }
  .hero-logo-wrap img { width: clamp(160px, 55vw, 280px); }
  .ueber-grid { grid-template-columns: 1fr; }
  .vorstand-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
}
@media (max-width: 600px) {
  .vorstand-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  section { padding: 72px 0; }
}


/* =============================================
   MISSIONEN
   ============================================= */
.missionen { background: var(--navy); padding: 80px 0; }
.missionen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 24px;
  margin-top: 48px;
}
.mission-card {
  background: var(--navy-card);
  border: 1px solid rgba(212,175,55,0.15);
  border-radius: 8px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.2s;
}
.mission-card:hover { border-color: rgba(212,175,55,0.4); }
.mission-card--nrw { border-color: rgba(79,163,255,0.3); }
.mission-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}
.mission-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2rem;
  color: var(--gold);
  line-height: 1;
}
.mission-scope {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-m);
  border: 1px solid rgba(255,255,255,0.15);
  padding: 3px 8px;
  border-radius: 4px;
}

.bund-wappen-icon{height:16px;width:auto;vertical-align:middle;margin-right:5px;display:inline-block;}
.nrw-wappen-icon{height:18px;width:auto;vertical-align:middle;margin-right:5px;display:inline-block;}
.mission-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.mission-desc { font-size: 0.88rem; color: var(--text-m); line-height: 1.6; margin: 0; }
.mission-target {
  display: flex;
  align-items: baseline;
  gap: 8px;
  background: rgba(212,175,55,0.08);
  border-left: 3px solid var(--gold);
  padding: 10px 14px;
  border-radius: 0 6px 6px 0;
}
.mission-target strong { font-size: 1.15rem; color: var(--gold); font-weight: 700; }
.mission-target span { font-size: 0.8rem; color: var(--text-m); }
.mission-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
.mission-list li { font-size: 0.84rem; color: var(--text-m); line-height: 1.5; }
.program-note {
  margin-top: 40px;
  font-size: 0.78rem;
  color: var(--text-m);
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 20px;
  text-align: center;
}

/* =============================================
   MEINUNG
   ============================================= */
.meinung { background: var(--navy-mid); padding: 80px 0; }
.meinung-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.meinung-text em { color: var(--gold); font-style: normal; }
.meinung-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.meinung-form label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text);
  letter-spacing: 0.03em;
}
.meinung-form textarea {
  width: 100%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 6px;
  padding: 14px;
  color: var(--text-m);
  font-size: 0.9rem;
  font-family: 'Barlow', sans-serif;
  resize: vertical;
  box-sizing: border-box;
}
.meinung-form textarea:focus {
  border-color: rgba(212,175,55,0.5);
  outline: none;
  background: rgba(255,255,255,0.07);
}
.form-notice {
  font-size: 0.8rem;
  color: var(--text-m);
  background: rgba(79,163,255,0.07);
  border-left: 3px solid var(--accent);
  padding: 10px 14px;
  border-radius: 0 6px 6px 0;
  line-height: 1.6;
}
.meinung-form .btn { cursor: pointer; }
@media (max-width: 700px) {
  .meinung-inner { grid-template-columns: 1fr; gap: 32px; }
}

/* =============================================
   UNTERSCHRIFTEN
   ============================================= */
.unterschriften { background: var(--navy); padding: 80px 0; }
.unterschriften-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.unterschrift-card {
  background: var(--navy-card);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.unterschrift-card--primary {
  border-color: rgba(212,175,55,0.3);
  background: rgba(212,175,55,0.04);
}
.unterschrift-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.6rem;
  color: var(--gold);
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.unterschrift-num small {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-m);
  font-family: 'Barlow', sans-serif;
}
.unterschrift-card h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.unterschrift-card p { font-size: 0.86rem; color: var(--text-m); line-height: 1.6; margin: 0; }
.unterschrift-card small { font-size: 0.77rem; color: var(--text-m); }
.unterschrift-pending {
  font-size: 0.82rem;
  color: var(--text-m);
  border: 1px dashed rgba(255,255,255,0.15);
  padding: 10px 14px;
  border-radius: 6px;
  text-align: center;
}
@media (max-width: 800px) {
  .unterschriften-grid { grid-template-columns: 1fr; }
}

/* =============================================
   STIMMEN
   ============================================= */
.stimmen { background: var(--navy-mid); padding: 80px 0; }
.stimmen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.stimme-card {
  background: var(--navy-card);
  border: 1px solid rgba(212,175,55,0.15);
  border-radius: 8px;
  padding: 28px;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.stimme-card blockquote {
  margin: 0;
  border-left: 3px solid var(--gold);
  padding-left: 16px;
}
.stimme-card blockquote p {
  font-size: 1rem;
  color: #fff;
  line-height: 1.7;
  font-style: italic;
  margin: 0;
}
.stimme-card figcaption {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.stimme-card figcaption strong { font-size: 0.9rem; color: var(--text); }
.stimme-card figcaption span { font-size: 0.78rem; color: var(--text-m); }
@media (max-width: 800px) {
  .stimmen-grid { grid-template-columns: 1fr; }
}

/* =============================================
   FOOTER FAQ
   ============================================= */
.footer-faq { margin-top: 56px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,0.08); }
.footer-faq-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.faq-item {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  overflow: hidden;
}
.faq-item summary {
  padding: 14px 16px;
  font-size: 0.87rem;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  color: var(--gold);
  font-size: 1.2rem;
  font-weight: 300;
  transition: transform 0.2s;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p {
  padding: 4px 16px 14px;
  font-size: 0.84rem;
  color: var(--text-m);
  line-height: 1.7;
  margin: 0;
}
.faq-item p a { color: var(--gold); text-decoration: none; }
.faq-item p a:hover { text-decoration: underline; }
@media (max-width: 700px) {
  .faq-grid { grid-template-columns: 1fr; }
}

/* =============================================
   FOOTER LEGAL
   ============================================= */
.footer-legal {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.legal-item {
  flex: 1;
  min-width: 240px;
}
.legal-item summary {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-m);
  cursor: pointer;
  list-style: none;
  padding: 8px 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.legal-item summary::-webkit-details-marker { display: none; }
.legal-content {
  margin-top: 12px;
  font-size: 0.82rem;
  color: var(--text-m);
  line-height: 1.7;
}
.legal-content a { color: var(--gold); text-decoration: none; }
.legal-content a:hover { text-decoration: underline; }


  /* ═══════════════════════════════════════════════════════
     MOBILE NAVIGATION — Hamburger-Menü
  ═══════════════════════════════════════════════════════ */
  .navbar-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0; padding: 0;
  }
  .navbar-links li a {
    display: block;
    padding: 8px 12px;
    color: var(--text);
    text-decoration: none;
    font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s;
  }
  .navbar-links li a:hover { color: var(--gold); }

  .navbar-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px; height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
  }
  .navbar-toggle span {
    display: block;
    width: 100%; height: 2px;
    background: var(--gold);
    border-radius: 2px;
    transition: transform 0.25s, opacity 0.25s;
  }

  /* Hamburger → X Animation */
  .navbar.open .navbar-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .navbar.open .navbar-toggle span:nth-child(2) {
    opacity: 0;
  }
  .navbar.open .navbar-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  @media (max-width: 1024px) {
    .navbar-toggle { display: flex; }

    .navbar-links {
      display: none;
      position: absolute;
      top: 100%;
      left: 0; right: 0;
      flex-direction: column;
      align-items: stretch;
      background: rgba(6,14,31,0.98);
      border-bottom: 2px solid rgba(212,175,55,0.4);
      padding: 8px 0 16px;
      gap: 0;
    }
    .navbar.open .navbar-links { display: flex; }

    .navbar-links li a {
      padding: 14px 24px;
      font-size: 1rem;
      border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .navbar-cta {
      margin: 12px 24px 0 !important;
      text-align: center;
    }
  }

  
  /* ═══════════════════════════════════════════════════════
     BARRIEREFREIHEIT — :focus-visible (WCAG 2.1 AA / BFSG)
  ═══════════════════════════════════════════════════════ */
  *:focus:not(:focus-visible) { outline: none; }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: .01ms !important;
      transition-duration: .01ms !important;
    }
  }
  *:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
    border-radius: 3px;
  }
  a:focus-visible,
  button:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 4px;
  }
  /* Skip-to-content Link (Tastaturnavigation) */
  .skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    background: var(--gold);
    color: var(--navy);
    padding: 10px 20px;
    font-weight: 700;
    border-radius: 0 0 6px 6px;
    z-index: 9999;
    transition: top 0.2s;
    text-decoration: none;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .skip-link:focus-visible { top: 0; }

  
  /* ═══════════════════════════════════════════════════════
     IMPRESSUM + DATENSCHUTZ — immer sichtbar (§ 5 DDG)
  ═══════════════════════════════════════════════════════ */
  .footer-legal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-top: 32px;
    border-top: 1px solid rgba(212,175,55,0.2);
    margin-top: 32px;
  }
  @media (max-width: 900px) {
    .footer-legal { grid-template-columns: 1fr; }
  }
  .impressum-visible,
  .datenschutz-visible {
    padding: 24px;
    background: rgba(11,29,58,0.6);
    border: 1px solid rgba(212,175,55,0.12);
    border-radius: 8px;
  }
  .legal-heading {
    font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gold);
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(212,175,55,0.2);
  }
  .legal-content {
    font-size: 0.78rem;
    line-height: 1.65;
    color: var(--text-m);
  }
  .legal-content p { margin: 0 0 12px; }
  .legal-content p:last-child { margin-bottom: 0; }
  .legal-content a { color: var(--gold); }
  .legal-content strong { color: var(--text); font-weight: 600; }
  .legal-note {
    font-size: 0.72rem;
    color: rgba(143,163,190,0.7);
    font-style: italic;
  }

  
  /* WAHLRECHT-HINWEIS */
  .wahlrecht-hinweis {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: rgba(212,175,55,0.08);
    border: 1px solid rgba(212,175,55,0.35);
    border-left: 4px solid var(--gold);
    border-radius: 6px;
    padding: 18px 20px;
    margin: 32px 0 24px;
    color: var(--text-m);
    font-size: 0.85rem;
    line-height: 1.6;
  }
  .wahlrecht-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
    color: var(--gold);
    margin-top: 2px;
  }
  .wahlrecht-hinweis strong { color: var(--text); }

  
/* ── OE CSS Bridge ── */
:root{
  --b:var(--navy);--b2:var(--navy-mid);--b0:var(--navy-card);
  --g:var(--gold);--g2:var(--gold-l);
  --w:var(--text);--w3:var(--text-m);
  --border-main:1px solid rgba(212,175,55,.15);
}
/* Layout helpers */
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.ui-group{display:flex;flex-direction:column;gap:16px}
.ui-grid{display:grid;gap:24px}
.ui-grid--2{grid-template-columns:repeat(2,1fr)}
.ui-grid--3{grid-template-columns:repeat(3,1fr)}
.ui-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.ui-grid--2,.ui-grid--3,.ui-grid--4{grid-template-columns:1fr!important}}
@media(max-width:600px){.ui-grid--2{grid-template-columns:1fr}}

/* Cards */
.ui-card{
  background:var(--navy-card);border:var(--border-main);
  border-radius:12px;padding:28px;
  transition:transform .25s,box-shadow .25s
}
.ui-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.35)}

/* Form elements */
.ui-field{display:flex;flex-direction:column;gap:6px}
.ui-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-m)}
.ui-input{
  background:rgba(255,255,255,.06);border:1px solid rgba(212,175,55,.2);
  border-radius:8px;padding:12px 16px;color:var(--text);
  font-size:1rem;font-family:inherit;width:100%;box-sizing:border-box;
  transition:border-color .2s
}
.ui-input:focus{outline:none;border-color:var(--gold)}
.ui-input::placeholder{color:var(--text-m)}
.ui-text{color:var(--text);line-height:1.65}
.ui-text--sm{font-size:.9rem;color:var(--text-m);line-height:1.6}
.ui-text--caption{font-size:.8rem;color:var(--text-m)}
.ui-badge{
  display:inline-block;padding:4px 10px;border-radius:20px;font-size:.78rem;
  font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  background:rgba(212,175,55,.15);color:var(--gold);border:1px solid rgba(212,175,55,.3)
}
.ui-checkbox-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.85rem;color:var(--text-m)}
.ui-checkbox-row input{margin-top:3px;accent-color:var(--gold);flex-shrink:0}

/* Buttons */
.btn--primary{
  background:var(--gold);color:#000;border:none;border-radius:8px;
  padding:12px 28px;font-weight:700;font-size:1rem;cursor:pointer;
  transition:background .2s,transform .15s;white-space:nowrap
}
.btn--primary:hover{background:var(--gold-l);transform:translateY(-1px)}
.btn--secondary{
  background:transparent;color:var(--gold);border:1px solid var(--gold);
  border-radius:8px;padding:12px 28px;font-weight:600;font-size:1rem;
  cursor:pointer;transition:background .2s
}
.btn--secondary:hover{background:rgba(212,175,55,.1)}

/* Typography */
.display-lg{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;letter-spacing:.04em}
.display-sm{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:.04em}
.sec-title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);
  letter-spacing:.06em;color:var(--text);margin-bottom:12px
}
.journey-label{
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;display:block
}
.miss-num{
  font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:rgba(212,175,55,.15);
  line-height:1;margin-bottom:8px
}

/* Section dividers */
.sec-divider-gold{
  border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.3),transparent);
  margin:0
}
.sec-divider-icon{
  text-align:center;padding:16px 0;font-size:1.2rem;color:rgba(212,175,55,.4);
  position:relative
}

/* FAQ */
.faq-item{border-bottom:var(--border-main);padding:0}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;cursor:pointer;font-weight:600;font-size:1rem;color:var(--text);
  user-select:none
}
.faq-q:hover{color:var(--gold)}
.faq-icon{font-size:1.3rem;color:var(--gold);transition:transform .3s;line-height:1}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;
  color:var(--text-m);line-height:1.7;font-size:.95rem
}
.faq-a.open{max-height:400px;padding-bottom:20px}

/* Newsletter bar */
.nl-bar{
  background:linear-gradient(135deg,var(--navy-mid) 0%,#0d1e3a 100%);
  border-top:1px solid rgba(212,175,55,.2);border-bottom:1px solid rgba(212,175,55,.2);
  padding:40px 0
}
.nl-inner{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap}
.nl-inner>div{flex:1;min-width:220px}
.nl-inner form{flex:2;min-width:280px}
.nl-field-row{display:flex;gap:12px;flex-wrap:wrap}
.nl-field-row .ui-input{flex:1;min-width:200px}

/* Spenden amount/turnus buttons */
.spenden-amt-btn,.spenden-turnus-btn{
  background:rgba(255,255,255,.06);border:1px solid rgba(212,175,55,.2);
  border-radius:8px;padding:10px 20px;color:var(--text);cursor:pointer;
  font-size:.95rem;transition:all .2s
}
.spenden-amt-btn.active,.spenden-turnus-btn.active,
.spenden-amt-btn:hover,.spenden-turnus-btn:hover{
  background:rgba(212,175,55,.15);border-color:var(--gold);color:var(--gold)
}

/* Petition spinner */
.befragung-spinner{display:none}
.befragung-loading .befragung-spinner{display:inline-block}

/* Progress bars */
.unterschriften-bar{
  background:rgba(255,255,255,.08);border-radius:20px;height:10px;overflow:hidden;margin:16px 0
}
.unterschriften-bar-fill{
  height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l));
  border-radius:20px;transition:width 1s ease
}

/* Table styles for Beiträge */
.beitraege-table{width:100%;border-collapse:collapse;font-size:.92rem}
.beitraege-table th{
  background:rgba(212,175,55,.12);color:var(--gold);font-weight:700;
  padding:14px 18px;text-align:left;border-bottom:1px solid rgba(212,175,55,.25);
  font-family:'Barlow Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem
}
.beitraege-table td{
  padding:14px 18px;border-bottom:var(--border-main);color:var(--text);vertical-align:top
}
.beitraege-table tr:last-child td{border-bottom:none}
.beitraege-table tr:hover td{background:rgba(212,175,55,.04)}
.beitraege-table .amount{font-variant-numeric:tabular-nums;font-weight:600;color:var(--gold-l)}
.beitraege-table .star-row td{background:rgba(212,175,55,.06)}

/* Testimonials / Stimmen */
.stimme-card-oe{
  background:var(--navy-card);border:var(--border-main);border-radius:12px;
  padding:28px 28px 24px;display:flex;flex-direction:column;gap:16px
}
.stimme-quote{font-size:1.05rem;line-height:1.7;color:var(--text);font-style:italic}
.stimme-quote::before{content:'"';color:var(--gold);font-size:1.4rem;line-height:1;display:block;margin-bottom:4px}
.stimme-author{font-size:.85rem;color:var(--gold);font-weight:700;letter-spacing:.05em}
.stimme-sub{font-size:.8rem;color:var(--text-m);margin-top:2px}

/* Landtag card */
.landtag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}
@media(max-width:700px){.landtag-grid{grid-template-columns:1fr}}
.landtag-card{
  background:var(--navy-card);border:var(--border-main);border-radius:12px;
  padding:24px;display:flex;flex-direction:column;gap:8px
}
.landtag-card-icon{font-size:1.8rem;margin-bottom:4px}
.landtag-card h4{font-size:1rem;font-weight:700;color:var(--text);margin:0}
.landtag-card p{font-size:.88rem;color:var(--text-m);line-height:1.5;margin:0}
/* ── End OE CSS Bridge ── */


/* Cookie Banner entfernt: keine Tracking-Cookies (DSE v1.3) */

/* Back to Top */
#back-to-top{
  position:fixed;bottom:80px;right:24px;z-index:998;
  width:44px;height:44px;border-radius:50%;
  background:var(--navy-card);border:1px solid rgba(212,175,55,.3);
  color:var(--gold);font-size:1.2rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(20px);
  transition:opacity .3s,transform .3s,background .2s;
  pointer-events:none
}
#back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:all}
#back-to-top:hover{background:rgba(212,175,55,.15)}

/* Navbar dropdown */
.nav-dropdown{position:relative}
.nav-dropdown>a{cursor:pointer;display:flex;align-items:center;gap:4px}
.nav-dropdown>a::after{
  content:'▾';font-size:.75rem;color:var(--gold);
  transition:transform .25s
}
.nav-dropdown:hover>a::after,.nav-dropdown.open>a::after{transform:rotate(180deg)}
.nav-dropdown-menu{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  min-width:200px;background:var(--navy-card);border:1px solid rgba(212,175,55,.2);
  border-radius:10px;padding:8px 0;z-index:200;
  opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-8px);
  transition:opacity .2s,transform .2s;box-shadow:0 12px 32px rgba(0,0,0,.4)
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu{
  opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)
}
.nav-dropdown-menu a{
  display:block;padding:10px 18px;font-size:.88rem;color:var(--text-m);
  text-decoration:none;transition:background .15s,color .15s;white-space:nowrap
}
.nav-dropdown-menu a:hover{background:rgba(212,175,55,.08);color:var(--gold)}
.nav-dropdown-menu a+a{border-top:1px solid rgba(212,175,55,.08)}

/* Active nav link */
.nav-link.active{color:var(--gold)!important}
.nav-link.active::after{width:100%!important}

/* Countdown in hero */
.countdown-wrap{
  display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:20px 0 0
}
.countdown-block{
  background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.2);
  border-radius:10px;padding:12px 20px;text-align:center;min-width:70px
}
.countdown-num{
  font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--gold);
  line-height:1;display:block
}
.countdown-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-m)}


/* ══════════════════════════════════════
   SPA PAGE ROUTER
   ══════════════════════════════════════ */
.spa-page{display:none}
.spa-page[data-active]{display:block;animation:spaFadeIn .18s ease}
@keyframes spaFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Ensure within-page sections layout naturally */
.spa-page section,.spa-page .section,.spa-page .nl-bar{display:block}

/* ══════════════════════════════════════
   REBUILT NAVBAR
   ══════════════════════════════════════ */
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.spa-nav-link{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text-m);
  padding:8px 14px;border-radius:6px;cursor:pointer;
  text-decoration:none;transition:color .2s,background .2s;
  position:relative;white-space:nowrap
}
.spa-nav-link:hover{color:var(--text);background:rgba(255,255,255,.05)}
.spa-nav-link.active{color:var(--gold)}
.spa-nav-link.active::after{
  content:'';position:absolute;bottom:-2px;left:14px;right:14px;
  height:2px;background:var(--gold);border-radius:1px
}

/* Dropdown for Mitmachen */
.nav-drop{position:relative}
.nav-drop-menu{
  position:absolute;top:calc(100% + 8px);left:50%;
  transform:translateX(-50%) translateY(-6px);
  min-width:210px;background:var(--navy-card);
  border:1px solid rgba(212,175,55,.2);border-radius:10px;
  padding:6px 0;z-index:300;
  opacity:0;pointer-events:none;
  transition:opacity .18s,transform .18s;
  box-shadow:0 12px 40px rgba(0,0,0,.5)
}
.nav-drop:hover .nav-drop-menu,
.nav-drop.open .nav-drop-menu{
  opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)
}
.nav-drop-menu a{
  display:flex;align-items:center;gap:10px;
  padding:10px 18px;font-size:.88rem;color:var(--text-m);
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s
}
.nav-drop-menu a:hover{background:rgba(212,175,55,.08);color:var(--gold)}
.nav-drop-menu a+a{border-top:1px solid rgba(212,175,55,.07)}
.nav-drop-chevron{
  font-size:.7rem;color:var(--gold);margin-left:4px;
  display:inline-block;transition:transform .2s
}
.nav-drop:hover .nav-drop-chevron{transform:rotate(180deg)}

/* Mobile nav */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:101}
.nav-hamburger,.nav-mobile-close{background:none;border:0;-webkit-appearance:none;appearance:none}
.nav-hamburger span{
  display:block;width:22px;height:2px;background:var(--text);
  border-radius:1px;transition:all .25s
}
.nav-mobile-overlay{
  display:none;position:fixed;inset:0;z-index:99;
  background:rgba(6,14,31,.97);backdrop-filter:blur(16px);
  flex-direction:column;align-items:center;justify-content:center;gap:8px
}
.nav-mobile-overlay.open{display:flex}
.spa-nav-mobile-link{
  font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.1em;
  color:var(--text-m);cursor:pointer;padding:12px 24px;border-radius:8px;
  text-decoration:none;transition:color .2s,background .2s;width:260px;text-align:center
}
.spa-nav-mobile-link:hover,.spa-nav-mobile-link.active{color:var(--gold)}
.nav-mobile-close{
  position:absolute;top:24px;right:24px;font-size:1.8rem;color:var(--text-m);
  cursor:pointer;background:none;border:none;padding:8px;transition:color .2s
}
.nav-mobile-close:hover{color:var(--gold)}
.nav-mobile-divider{width:60px;height:1px;background:rgba(212,175,55,.2);margin:8px auto}
.nav-mobile-cta{
  margin-top:16px;background:var(--gold);color:#000;border:none;
  border-radius:8px;padding:14px 36px;font-weight:700;font-size:1rem;
  cursor:pointer;text-decoration:none
}

@media(max-width:900px){
  .nav-links{display:none}
  .nav-hamburger{display:flex}
}

/* ══ Schriftzug „Die Liga der Gerechten HELDEN“ in der mobilen Navigation ══ */
.nav-wordmark{display:none}
.wp-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin:0 auto}
@media(max-width:760px){.wp-grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .nav-wordmark{display:flex;flex:1 1 auto;min-width:0;justify-content:center;align-items:baseline;
    gap:.24em;margin:0 10px;font-family:'Bebas Neue',sans-serif;font-size:clamp(13px,4.3vw,38px);
    line-height:1;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;color:#dfe5ef;text-decoration:none}
  .nav-wordmark .w2{color:var(--gold);font-size:.8em}
  .nav-wordmark .w3{font-size:1.5em}
}


/* ══ v13: Nav inner fix ══ */
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:1280px;margin:0 auto;padding:0 24px}

/* ══ v13: Footer rebuild ══ */
.footer{background:var(--navy);border-top:1px solid rgba(212,175,55,.15);margin-top:0;padding:0}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr;
  gap:48px;padding:64px 40px 48px;max-width:1280px;margin:0 auto
}
.footer-brand-col{}
.footer-logo-v13{height:52px;width:52px;object-fit:contain;margin-bottom:16px;display:block}
.footer-name{
  font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.12em;
  color:var(--gold);line-height:1
}
.footer-subtitle{
  font-family:'Barlow Condensed',sans-serif;font-size:.9rem;
  color:var(--text-m);letter-spacing:.04em;margin:4px 0 12px
}
.footer-tagline{
  font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.5;
  border-top:1px solid rgba(212,175,55,.12);padding-top:12px;margin-top:4px
}
.footer-col-head{
  font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--gold);
  margin-bottom:16px;padding-bottom:8px;
  border-bottom:1px solid rgba(212,175,55,.15)
}
.footer-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.footer-nav-list a{
  font-size:.88rem;color:var(--text-m);text-decoration:none;
  cursor:pointer;transition:color .15s;padding:2px 0;display:block
}
.footer-nav-list a:hover{color:var(--gold)}
.footer-nav-list .sub-link{padding-left:14px;font-size:.82rem;opacity:.75}
.footer-nav-list .sub-link:hover{opacity:1;color:var(--gold)}
.footer-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-contact-list li{font-size:.85rem;color:var(--text-m);line-height:1.4}
.footer-contact-list a{color:var(--text-m);text-decoration:none;transition:color .15s}
.footer-contact-list a:hover{color:var(--gold)}
.footer-contact-list .addr{font-size:.78rem;opacity:.6;margin-top:4px}
.footer-social-head{
  font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--gold);
  margin:28px 0 12px;padding-bottom:8px;
  border-bottom:1px solid rgba(212,175,55,.15)
}
.footer-social-icons{display:flex;gap:12px;flex-wrap:wrap}
.footer-social-icon{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(212,175,55,.15);
  color:var(--text-m);text-decoration:none;transition:all .2s;font-size:1.1rem
}
.footer-social-icon:hover{background:var(--gold);color:#000;border-color:var(--gold);transform:translateY(-2px)}
.footer-bottom-bar{
  border-top:1px solid rgba(212,175,55,.1);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  padding:20px 40px;max-width:1280px;margin:0 auto
}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.3)}
.footer-legal-links{display:flex;gap:20px;align-items:center}
.footer-legal-btn{
  font-size:.78rem;color:rgba(255,255,255,.4);background:none;border:none;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
  transition:color .15s;padding:0;font-family:inherit
}
.footer-legal-btn:hover{color:var(--gold)}

/* ══ Legal Modal ══ */
.legal-modal-overlay{
  display:none;position:fixed;inset:0;z-index:500;
  background:rgba(6,14,31,.92);backdrop-filter:blur(12px);
  overflow-y:auto;padding:40px 20px
}
.legal-modal-overlay.open{display:block}
.legal-modal-box{
  max-width:860px;margin:0 auto;
  background:var(--navy-card);border:1px solid rgba(212,175,55,.2);
  border-radius:16px;padding:48px 48px 40px;position:relative
}
.legal-modal-close{
  position:absolute;top:20px;right:20px;font-size:1.4rem;
  background:none;border:none;color:var(--text-m);cursor:pointer;
  padding:6px;border-radius:6px;transition:color .15s
}
.legal-modal-close:hover{color:var(--gold)}
.legal-modal-box h3{
  font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.08em;
  color:var(--gold);margin:0 0 24px
}
.legal-modal-box h4{color:var(--gold);font-size:.9rem;margin:20px 0 6px}
.legal-modal-box p{font-size:.88rem;line-height:1.7;color:var(--text-m);margin-bottom:12px}
.legal-modal-box strong{color:var(--text)}
.legal-modal-box a{color:var(--accent)}

@media(max-width:860px){
  .footer-grid{grid-template-columns:1fr;gap:32px;padding:40px 24px 32px}
  .footer-bottom-bar{padding:16px 24px}
}


/* ══ v14 Mobile Fixes ══════════════════════════════════════ */

/* Footer-Bottom auf sehr kleinen Screens */
@media(max-width:480px){
  .footer-bottom-bar{
    flex-direction:column;align-items:flex-start;gap:8px;
    padding:14px 20px
  }
  .footer-legal-links{gap:12px}
  .footer-copy{font-size:.7rem}
}

/* Countdown auf kleinen Screens */
@media(max-width:480px){
  .countdown-wrap{gap:8px}
  .countdown-num{font-size:1.8rem}
  .countdown-block{min-width:52px}
}

/* Hero-Content Padding auf kleinen Screens */
@media(max-width:480px){
  .hero-inner{gap:24px;padding:0 4px}
  .hero-slogan{font-size:clamp(2rem,9vw,3.2rem)}
  .hero-cta{flex-direction:column;gap:10px}
  .hero-cta .btn{width:100%;text-align:center}
}

/* Nav-Mobile-Overlay auf 375px */
@media(max-width:400px){
  .spa-nav-mobile-link{font-size:1.5rem;padding:10px 16px;width:220px}
}

/* SPA-Pages min-height Smartphone */
@media(max-width:900px){
  .spa-page[data-active]{min-height:calc(100vh - 64px)}
}

/* Container Padding auf kleinen Screens */
@media(max-width:480px){
  .container{padding-left:16px;padding-right:16px}
  section{padding:48px 0}
}

/* Mitmachen-Seite Karten auf Smartphone */
@media(max-width:480px){
  .petition,.spenden-card,.beitrags-card{padding:20px 16px}
}

/* Vorstand Grid auf 375px: 1 Spalte */
@media(max-width:480px){
  .vorstand-grid{grid-template-columns:1fr}
  .vorstand-card{max-width:320px;margin:0 auto}
}


/* ══ v2.0 Lovable API — HELDEN CI Styles ══════════════════ */

/* Loading state */
.helden-api-loading {
  display:flex;align-items:center;justify-content:center;
  gap:12px;padding:48px;color:var(--text-m);font-size:.9rem;
  font-family:'Barlow',sans-serif;
}
.helden-spinner {
  width:20px;height:20px;border:2px solid var(--navy-mid);
  border-top-color:var(--gold);border-radius:50%;
  animation:helden-spin .8s linear infinite;display:inline-block;
}
@keyframes helden-spin { to { transform:rotate(360deg) } }

/* Nachrichten-Grid (Partei-Seite) */
.helden-news-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;
}
.helden-news-card {
  background:var(--navy-card);
  border:1px solid rgba(212,175,55,.15);
  border-radius:12px;
  padding:24px;
  display:flex;flex-direction:column;gap:10px;
  transition:border-color .2s,transform .2s;
}
.helden-news-card:hover {
  border-color:rgba(212,175,55,.4);
  transform:translateY(-2px);
}
.helden-news-card time {
  font-size:.75rem;color:var(--gold);
  font-family:'Barlow Condensed',sans-serif;letter-spacing:.05em;text-transform:uppercase;
}
.helden-news-card h3 {
  font-family:'Bebas Neue',sans-serif;font-size:1.3rem;
  color:var(--text);letter-spacing:.04em;line-height:1.2;margin:0;
}
.helden-news-card p {
  font-family:'Barlow',sans-serif;font-size:.88rem;
  color:var(--text-m);line-height:1.5;margin:0;
}
.helden-news-empty {
  text-align:center;padding:40px;color:var(--text-m);
  font-family:'Barlow',sans-serif;font-size:.9rem;
}

/* Dokumente-Tabelle (Transparenz-Seite) */
.helden-doc-table {
  width:100%;border-collapse:collapse;
  font-family:'Barlow',sans-serif;
}
.helden-doc-table thead th {
  font-family:'Barlow Condensed',sans-serif;font-size:.8rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  border-bottom:1px solid rgba(212,175,55,.3);padding:10px 16px;
  text-align:left;
}
.helden-doc-row {
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .15s;
}
.helden-doc-row:hover { background:rgba(212,175,55,.05); }
.helden-doc-row td {
  padding:14px 16px;font-size:.9rem;color:var(--text-m);vertical-align:middle;
}
.helden-doc-row td:first-child { color:var(--text);font-weight:500; }
.helden-doc-cat {
  display:inline-block;padding:3px 10px;border-radius:20px;
  font-size:.72rem;font-family:'Barlow Condensed',sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
  background:rgba(212,175,55,.12);color:var(--gold);
}
.helden-doc-dl {
  display:inline-flex;align-items:center;gap:6px;
  color:var(--gold);text-decoration:none;font-size:.85rem;
  font-family:'Barlow Condensed',sans-serif;letter-spacing:.04em;
  padding:4px 12px;border:1px solid rgba(212,175,55,.3);border-radius:6px;
  transition:background .2s,border-color .2s;white-space:nowrap;
}
.helden-doc-dl:hover {
  background:rgba(212,175,55,.15);border-color:var(--gold);
}
.helden-doc-empty {
  text-align:center;padding:48px;color:var(--text-m);
  font-family:'Barlow',sans-serif;font-size:.9rem;
}

/* Petition Live (Mitmachen-Seite) */
.helden-desc { white-space: pre-line; }
.helden-app-cta { display:block; text-align:center; text-decoration:none; margin-top:20px; }
.helden-poll-optlist { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:8px; }
.helden-poll-optlist li { padding:12px 16px; border:1px solid rgba(212,175,55,.25); border-radius:12px; color:var(--text); }
.helden-poll-results { display:grid; gap:12px; margin-top:16px; }
.helden-poll-result-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:6px; color:var(--text); font-size:.95rem; }
.helden-poll-result-head span:last-child { color:var(--gold); font-variant-numeric:tabular-nums; font-weight:700; }
.helden-sources { margin: 12px 0 16px; font-size: .82rem; color: var(--text-m); }
.helden-sources-title { margin: 0 0 4px; font-weight: 600; }
.helden-sources ul { margin: 0; padding-left: 18px; }
.helden-sources li { margin: 2px 0; }
.helden-sources a { color: var(--gold); text-decoration: underline; word-break: break-word; }
.helden-petition-card {
  background:var(--navy-card);
  border:1px solid rgba(212,175,55,.15);
  border-radius:12px;padding:32px;margin-bottom:24px;
}
.helden-petition-card h3 {
  font-family:'Bebas Neue',sans-serif;font-size:1.8rem;
  color:var(--text);letter-spacing:.04em;margin:0 0 8px;
}
.helden-petition-card p {
  font-family:'Barlow',sans-serif;font-size:.9rem;
  color:var(--text-m);line-height:1.5;margin:0 0 20px;
}
.helden-petition-counter {
  font-family:'Bebas Neue',sans-serif;font-size:2.6rem;
  color:var(--gold);line-height:1;
}
.helden-petition-goal {
  font-family:'Barlow',sans-serif;font-size:.82rem;
  color:var(--text-m);margin:4px 0 12px;
}
.helden-petition-bar {
  height:8px;border-radius:4px;
  background:rgba(255,255,255,.08);
  margin-bottom:24px;overflow:hidden;
}
.helden-petition-bar-fill {
  height:100%;background:var(--gold);
  border-radius:4px;transition:width .6s ease;
}
.helden-petition-form {
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
@media(max-width:580px){
  .helden-petition-form { grid-template-columns:1fr; }
}
.helden-petition-form .ui-field { display:flex;flex-direction:column;gap:4px; }
.helden-petition-msg {
  font-family:'Barlow',sans-serif;font-size:.88rem;
  margin-top:4px;padding:10px 14px;border-radius:6px;
}
.helden-petition-msg.ok  { background:rgba(212,175,55,.12);color:var(--gold); }
.helden-petition-msg.err { background:rgba(234,106,103,.1);color:#EA6A67; }

/* Polls / Befragungen (Mitmachen-Seite) */
.helden-poll-card {
  background:var(--navy-card);
  border:1px solid rgba(212,175,55,.15);
  border-radius:12px;padding:28px;margin-bottom:20px;
}
.helden-poll-card h3 {
  font-family:'Bebas Neue',sans-serif;font-size:1.5rem;
  color:var(--text);letter-spacing:.04em;margin:0 0 4px;
}
.helden-poll-question {
  font-family:'Barlow',sans-serif;font-size:.9rem;
  color:var(--text-m);margin:0 0 16px;
}
.helden-poll-options {
  display:flex;flex-direction:column;gap:10px;
}
.helden-poll-btn {
  background:transparent;
  border:1px solid rgba(212,175,55,.25);
  border-radius:8px;padding:10px 16px;
  color:var(--text-m);font-family:'Barlow',sans-serif;font-size:.9rem;
  cursor:pointer;text-align:left;
  transition:background .2s,border-color .2s,color .2s;
}
.helden-poll-btn:hover {
  background:rgba(212,175,55,.1);
  border-color:rgba(212,175,55,.5);color:var(--text);
}
.helden-poll-btn.voted {
  background:rgba(212,175,55,.15);
  border-color:var(--gold);color:var(--gold);
  cursor:default;
}
.helden-poll-thanks {
  font-family:'Barlow',sans-serif;font-size:.9rem;
  color:var(--gold);margin-top:12px;
  padding:10px 14px;background:rgba(212,175,55,.08);
  border-radius:6px;
}

/* Responsive doc table */
@media(max-width:680px){
  .helden-doc-table thead { display:none; }
  .helden-doc-row { display:block;padding:12px 0; }
  .helden-doc-row td {
    display:block;padding:4px 12px;border:none;
  }
}


.mission-more{display:inline-block;margin-top:14px;color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;text-decoration:none}
.mission-more:hover{color:var(--gold-l);text-decoration:underline}

.sp-head{position:sticky;top:0;z-index:50;background:rgba(6,14,31,.96);border-bottom:1px solid rgba(212,175,55,.15)}
.sp-head-in{max-width:1140px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.sp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.04em}
.sp-brand img{height:38px;width:auto}.sp-brand b{color:var(--gold);font-weight:400}
.sp-nav{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto}
.sp-nav a{color:var(--text-m);text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem}
.sp-nav a:hover,.sp-nav a[aria-current]{color:var(--gold)}
.sp-crumb{max-width:1140px;margin:0 auto;padding:16px 24px 0;font-size:.8rem;color:var(--text-m)}.sp-crumb a{color:var(--gold);text-decoration:none}
.sp-foot{border-top:1px solid rgba(212,175,55,.15);margin-top:60px;padding:32px 24px;text-align:center;font-size:.85rem;color:var(--text-m)}
.sp-foot a{color:var(--gold);text-decoration:none;margin:0 8px;display:inline-block}
.sp-cta{text-align:center;margin:40px auto 0}.sp-cta a{display:inline-block;background:var(--gold);color:#060E1F;padding:14px 28px;border-radius:6px;font-weight:700;text-decoration:none;margin:6px}
.legal-page-box{max-width:820px;margin:40px auto;padding:0 24px}
.faq-a{display:block!important;max-height:none!important;opacity:1!important}
.mp{max-width:880px;margin:0 auto;padding:32px 24px 0;color:var(--text);line-height:1.7}
.mp h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:.03em;color:var(--white);line-height:1.05;margin:6px 0 18px}
.mp h2{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.03em;color:var(--gold);margin:36px 0 10px}
.mp .eyebrow{color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}
.mp .lead{font-size:1.25rem;color:var(--white);border-left:3px solid var(--gold);padding-left:16px;margin:0 0 24px}
.mp p{margin:0 0 14px}.mp strong{color:var(--white)}
.mp table{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:.95rem;display:block;overflow-x:auto}
.mp th,.mp td{border-bottom:1px solid rgba(212,175,55,.18);padding:10px 12px;text-align:left;vertical-align:top}
.mp th{color:var(--gold);font-family:'Barlow Condensed',sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}
.mp ol,.mp ul{padding-left:22px;margin:0 0 16px}
.mp .note{font-size:.85rem;color:var(--text-m);margin-top:28px}
.mp .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:20px 0}
.mp .card{display:block;background:var(--navy-card);border:1px solid rgba(212,175,55,.18);border-radius:10px;padding:18px;text-decoration:none;color:var(--text)}
.mp .card:hover{border-color:var(--gold)}.mp .card b{display:block;color:var(--white);font-size:1.1rem;margin:4px 0 6px}
.mp .card span{color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.08em}
.mp .pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px}.mp .pager a{color:var(--gold);text-decoration:none}
.mp dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:12px 0 20px}.mp dt{color:var(--text-m)}.mp dd{margin:0;color:var(--white)}
@media(max-width:700px){.sp-head{position:static}.sp-nav{margin-left:0}.mp dl{grid-template-columns:1fr}}
