/* ═══════════════════════════════════════════════════════════
   index.css – Styles für die Startseite (index.html)
   Layout- und Sektions-Styles. Gemeinsames Design-Tokens-System,
   Navigation, Hamburger und Dark-Mode liegen in style.css.
   ═══════════════════════════════════════════════════════════ */

*, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    /* Design-Tokens, Reset, Schrift und Dark-Mode kommen aus style.css. */

    html {
      scroll-behavior: smooth;
    }

    /* Basis (Reset, Tokens, Schrift) kommt aus style.css.
       Die Startseite nutzt --surface als Seitenhintergrund. */
    body {
      font-family: var(--font);
      font-size: 16px;
      line-height: 1.6;
      color: var(--gray-800);
      background: var(--surface);
      -webkit-font-smoothing: antialiased;
    }

    /* Navigation: siehe gemeinsame style.css */

    /* ─── HERO ────────────────────────────────────────────── */
    .hero {
      background: linear-gradient(135deg, var(--blue-900) 0%, #312e81 60%, #4c1d95 100%);
      color: var(--white);
      padding: 80px 24px 100px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 30% 50%, rgba(59,130,246,.3) 0%, transparent 60%),
                  radial-gradient(ellipse at 70% 20%, rgba(168,85,247,.25) 0%, transparent 50%);
    }

    .hero-inner {
      max-width: 780px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    .hero-logo {
      display: block;
      width: fit-content;
      background: var(--white);
      padding: 16px;
      border-radius: var(--radius-lg);
      margin: 0 auto 32px;
      box-shadow: 0 10px 40px rgba(0,0,0,.25);
    }

    .hero-logo img {
      display: block;
      width: 230px;
      height: auto;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 100px;
      padding: 6px 16px;
      font-size: .8rem;
      font-weight: 500;
      letter-spacing: .04em;
      text-transform: uppercase;
      margin-bottom: 28px;
    }

    .hero h1 {
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 700;
      line-height: 1.15;
      margin-bottom: 20px;
      letter-spacing: -.02em;
    }

    .hero h1 em {
      font-style: normal;
      background: linear-gradient(90deg, var(--teal-400), #818cf8);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero p {
      font-size: 1.15rem;
      line-height: 1.7;
      color: rgba(255,255,255,.8);
      max-width: 600px;
      margin: 0 auto 40px;
    }

    .hero-actions {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 28px;
      border-radius: 10px;
      font-size: 1rem;
      font-weight: 600;
      text-decoration: none;
      transition: transform .15s, box-shadow .15s, background .15s;
      cursor: pointer;
      border: none;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      background: var(--white);
      color: var(--blue-700);
      box-shadow: 0 4px 20px rgba(0,0,0,.2);
    }

    .btn-primary:hover {
      box-shadow: 0 8px 30px rgba(0,0,0,.3);
    }

    .btn-outline {
      background: rgba(255,255,255,.1);
      color: var(--white);
      border: 1px solid rgba(255,255,255,.3);
    }

    .btn-outline:hover {
      background: rgba(255,255,255,.18);
    }

    /* ─── SECTION WRAPPER ─────────────────────────────────── */
    section {
      padding: 80px 24px;
    }

    .section-inner {
      max-width: 1100px;
      margin: 0 auto;
    }

    .section-label {
      display: inline-block;
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--link-color);
      margin-bottom: 12px;
    }

    .section-title {
      font-size: clamp(1.6rem, 3.5vw, 2.4rem);
      font-weight: 700;
      color: var(--gray-900);
      letter-spacing: -.02em;
      line-height: 1.25;
      margin-bottom: 16px;
    }

    .section-sub {
      font-size: 1.05rem;
      color: var(--gray-600);
      max-width: 620px;
      line-height: 1.7;
    }

    /* ─── ÜBER UNS ────────────────────────────────────────── */
    #ueber-uns {
      background: var(--gray-50);
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
      margin-top: 48px;
    }

    .about-text p {
      color: var(--gray-600);
      line-height: 1.8;
      margin-bottom: 16px;
    }

    .about-text p:last-child {
      margin-bottom: 0;
    }

    .about-stat-list {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .about-stat {
      background: var(--surface);
      border: 1px solid var(--gray-200);
      border-radius: var(--radius);
      padding: 24px;
      display: flex;
      align-items: flex-start;
      gap: 16px;
      box-shadow: var(--shadow-sm);
      transition: box-shadow .2s, transform .2s;
    }

    .about-stat:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    .about-stat-icon {
      font-size: 1.6rem;
      flex-shrink: 0;
      line-height: 1;
    }

    .about-stat h3 {
      font-size: .95rem;
      font-weight: 600;
      color: var(--gray-900);
      margin-bottom: 4px;
    }

    .about-stat p {
      font-size: .875rem;
      color: var(--gray-500);
      line-height: 1.5;
    }

    /* ─── ANGEBOTE ────────────────────────────────────────── */
    #angebote {
      background: var(--surface);
    }

    .offer-header {
      max-width: 620px;
      margin-bottom: 48px;
    }

    .offer-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .offer-card {
      background: var(--gray-50);
      border: 1px solid var(--gray-200);
      border-radius: var(--radius-lg);
      padding: 32px;
      transition: box-shadow .2s, transform .2s, border-color .2s;
    }

    .offer-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-4px);
      border-color: var(--blue-200);
    }

    .offer-icon {
      font-size: 2rem;
      margin-bottom: 16px;
      display: block;
    }

    .offer-card h3 {
      font-size: 1.05rem;
      font-weight: 600;
      color: var(--gray-900);
      margin-bottom: 10px;
    }

    .offer-card p {
      font-size: .9rem;
      color: var(--gray-600);
      line-height: 1.6;
    }

    .offer-tag {
      display: inline-block;
      margin-top: 16px;
      padding: 4px 12px;
      border-radius: 100px;
      font-size: .75rem;
      font-weight: 600;
      background: var(--blue-50);
      color: var(--blue-700);
    }

    .offer-tag-paused {
      font-size: 1rem;
      padding: 6px 16px;
      background: var(--gray-100);
      color: var(--gray-600);
    }

    .btn-disabled {
      pointer-events: none;
      opacity: .5;
      cursor: not-allowed;
    }

    /* ─── FORSCHUNG ───────────────────────────────────────── */
    #forschung {
      background: linear-gradient(180deg, var(--blue-50) 0%, var(--purple-50) 100%);
    }

    .research-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      margin-top: 48px;
      align-items: start;
    }

    .research-text .section-title {
      margin-bottom: 20px;
    }

    .research-text p {
      color: var(--gray-600);
      line-height: 1.8;
      margin-bottom: 16px;
    }

    .research-highlight {
      background: linear-gradient(135deg, var(--blue-600), var(--purple-600));
      color: var(--white);
      border-radius: var(--radius-lg);
      padding: 32px;
      margin-top: 24px;
    }

    .research-highlight p {
      color: rgba(255,255,255,.85);
      font-size: .95rem;
      line-height: 1.7;
      margin: 0;
    }

    .research-highlight strong {
      color: var(--white);
      font-weight: 600;
    }

    .research-cards {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .research-card {
      background: var(--surface);
      border-radius: var(--radius);
      padding: 24px;
      border-left: 4px solid var(--blue-500);
      box-shadow: var(--shadow-sm);
      transition: box-shadow .2s;
    }

    .research-card:hover {
      box-shadow: var(--shadow-md);
    }

    .research-card:nth-child(2) { border-color: var(--purple-500); }
    .research-card:nth-child(3) { border-color: var(--teal-500); }

    .research-card h3 {
      font-size: .95rem;
      font-weight: 600;
      color: var(--gray-900);
      margin-bottom: 6px;
    }

    .research-card p {
      font-size: .875rem;
      color: var(--gray-500);
      line-height: 1.5;
    }

    /* ─── MITMACHEN ───────────────────────────────────────── */
    #mitmachen {
      background: var(--surface);
    }

    .join-header {
      max-width: 620px;
      margin-bottom: 48px;
    }

    .status-badge {
      display: inline-block;
      margin-bottom: 12px;
      padding: 6px 14px;
      border-radius: 100px;
      font-size: .8rem;
      font-weight: 600;
      background: #fef3c7;
      color: #92400e;
      border: 1px solid #fde68a;
    }

    .join-ways {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
      margin-bottom: 48px;
    }

    .join-way {
      display: flex;
      gap: 20px;
      padding: 28px;
      background: var(--gray-50);
      border-radius: var(--radius);
      border: 1px solid var(--gray-200);
      transition: box-shadow .2s;
    }

    .join-way:hover {
      box-shadow: var(--shadow-md);
    }

    .join-way-icon {
      font-size: 1.8rem;
      flex-shrink: 0;
      line-height: 1;
    }

    .join-way h3 {
      font-size: 1rem;
      font-weight: 600;
      color: var(--gray-900);
      margin-bottom: 6px;
    }

    .join-way p {
      font-size: .875rem;
      color: var(--gray-600);
      line-height: 1.6;
    }

    .community-box {
      background: var(--blue-50);
      border: 1px solid var(--blue-200);
      border-radius: var(--radius-lg);
      padding: 40px;
      text-align: center;
    }

    .community-box h3 {
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--accent-strong-text);
      margin-bottom: 12px;
    }

    .community-box p {
      color: var(--blue-700);
      margin-bottom: 24px;
      font-size: .95rem;
    }

    .community-links {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .community-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 22px;
      background: var(--surface);
      border: 1px solid var(--blue-200);
      border-radius: 10px;
      text-decoration: none;
      font-weight: 600;
      font-size: .9rem;
      color: var(--blue-700);
      transition: background .15s, box-shadow .15s;
    }

    .community-link:hover {
      background: var(--blue-600);
      color: var(--white);
      border-color: var(--blue-600);
      box-shadow: 0 4px 12px rgba(37,99,235,.3);
    }

    /* ─── SPENDEN ─────────────────────────────────────────── */
    #spenden {
      background: var(--gray-50);
      border-bottom: 1px solid var(--gray-200);
    }

    .donation-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      align-items: start;
      margin-top: 40px;
    }

    .donation-card {
      background: var(--surface);
      border: 1px solid var(--blue-200);
      border-radius: var(--radius-lg);
      padding: 32px;
      box-shadow: var(--shadow-sm);
    }

    .donation-card h3 {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--accent-strong-text);
      margin-bottom: 20px;
    }

    .donation-row {
      display: flex;
      flex-direction: column;
      gap: 2px;
      padding: 12px 0;
      border-bottom: 1px solid var(--blue-100, var(--gray-200));
    }

    .donation-row:last-of-type {
      border-bottom: none;
    }

    .donation-label {
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--gray-600);
    }

    .donation-value {
      font-size: 1.05rem;
      font-weight: 600;
      color: var(--gray-900);
      word-break: break-word;
    }

    .donation-value.mono {
      font-variant-numeric: tabular-nums;
      letter-spacing: .04em;
    }

    .donation-hint {
      margin-top: 20px;
      background: var(--blue-50);
      border: 1px solid var(--blue-200);
      border-radius: var(--radius);
      padding: 16px 18px;
      font-size: .9rem;
      color: var(--blue-700);
      line-height: 1.6;
    }

    .donation-text p {
      color: var(--gray-600);
      line-height: 1.7;
      margin-bottom: 16px;
    }

    /* ─── KONTAKT ─────────────────────────────────────────── */
    #kontakt {
      background: var(--gray-50);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      margin-top: 48px;
    }

    .contact-info h3 {
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--gray-900);
      margin-bottom: 20px;
    }

    .contact-item {
      display: flex;
      gap: 14px;
      margin-bottom: 20px;
      align-items: flex-start;
    }

    .contact-item-icon {
      font-size: 1.2rem;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .contact-item p {
      font-size: .95rem;
      color: var(--gray-600);
      line-height: 1.6;
    }

    .contact-item strong {
      display: block;
      font-weight: 600;
      color: var(--gray-800);
      margin-bottom: 2px;
    }

    .board-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 24px;
    }

    .board-item {
      background: var(--surface);
      border: 1px solid var(--gray-200);
      border-radius: var(--radius);
      padding: 16px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .board-item-name {
      font-weight: 600;
      color: var(--gray-800);
      font-size: .95rem;
    }

    .board-item-role {
      font-size: .8rem;
      color: var(--gray-500);
      text-align: right;
    }

    /* ─── IMPRESSUM ───────────────────────────────────────── */
    #impressum {
      background: var(--surface);
    }

    .impressum-box {
      background: var(--gray-50);
      border: 1px solid var(--gray-200);
      border-radius: var(--radius-lg);
      padding: 40px;
      margin-top: 32px;
    }

    .impressum-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
    }

    .impressum-section h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--gray-900);
      margin-bottom: 12px;
      padding-bottom: 8px;
      border-bottom: 2px solid var(--gray-200);
    }

    .impressum-section p,
    .impressum-section address {
      font-style: normal;
      font-size: .9rem;
      color: var(--gray-600);
      line-height: 1.8;
    }

    .impressum-note {
      margin-top: 32px;
      padding-top: 24px;
      border-top: 1px solid var(--gray-200);
      font-size: .85rem;
      color: var(--gray-500);
      line-height: 1.7;
    }

    /* ─── FOOTER ──────────────────────────────────────────── */
    footer {
      background: #111827;
      color: rgba(255,255,255,.6);
      padding: 40px 24px;
      text-align: center;
    }

    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
    }

    .footer-logo {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 8px;
    }

    footer p {
      font-size: .875rem;
      line-height: 1.6;
    }

    footer a {
      color: rgba(255,255,255,.7);
      text-decoration: none;
    }

    footer a:hover {
      color: var(--white);
    }

    .footer-divider {
      margin: 0 8px;
    }

    /* ─── RESPONSIVE ──────────────────────────────────────── */
    @media (max-width: 900px) {
      .about-grid,
      .research-layout,
      .contact-grid,
      .donation-grid,
      .impressum-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }

      .offer-grid {
        grid-template-columns: 1fr 1fr;
      }

      .join-ways {
        grid-template-columns: 1fr;
      }
    }

    /* Hamburger-Menü: siehe gemeinsame style.css */

    @media (max-width: 640px) {
      section {
        padding: 56px 20px;
      }

      .offer-grid {
        grid-template-columns: 1fr;
      }

      .hero {
        padding: 60px 20px 80px;
      }

      .hero-actions {
        flex-direction: column;
        align-items: center;
      }

      .btn {
        width: 100%;
        max-width: 320px;
        justify-content: center;
      }

      .impressum-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Reduzierte Bewegung: siehe gemeinsame style.css */

/* ─── TEASER: STELLENANGEBOTE ───────────────────────────────── */
.stellen-teaser-card {
      background: linear-gradient(135deg, var(--blue-600), var(--purple-600));
      color: var(--white);
      border-radius: var(--radius-lg);
      padding: 48px 40px;
      box-shadow: var(--shadow-lg);
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 32px;
      align-items: center;
    }
    .stellen-teaser-actions {
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: stretch;
    }
    @media (max-width: 720px) {
      .stellen-teaser-card { grid-template-columns: 1fr; padding: 36px 26px; }
      .stellen-teaser-actions { flex-direction: row; flex-wrap: wrap; }
      .stellen-teaser-actions .btn { flex: 1 1 auto; }
    }

/* ─── AUSGELAGERTES INLINE-STYLING (früher style="" in index.html) ─── */

/* Alternative Section-Hintergrund (z. B. #datenschutz) */
.section-alt {
  background: var(--gray-50);
}

/* Generische Karten-Überschrift (Spenden, Vorstand) */
.card-heading {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 20px;
}

/* Link innerhalb von Karten, ohne Unterstreichung */
.card-inline-link {
  color: var(--link-color);
  text-decoration: none;
}

.card-inline-link:hover {
  text-decoration: underline;
}

/* Kompakter „Jetzt anfragen"-Button in der Smartwatch-Karte */
.btn-block-sm {
  margin-top: 16px;
  display: inline-block;
}

/* Signal-/WhatsApp-/Gruppenfinder-Chips (Digitale-Community-Karte) */
.chip-row {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
}

.chip-green  { background: #e7f8ee; color: #15803d; }
.chip-blue   { background: #eff6ff; color: #1d4ed8; }
.chip-purple { background: #f5f3ff; color: #6d28d9; }

/* Stellen-Teaser: Eyebrow, Titel, Lead, Buttons */
.teaser-eyebrow {
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(255,255,255,.16);
  color: #fff;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.teaser-title {
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0 0 14px;
}

.teaser-lead {
  font-size: 1.05rem;
  color: rgba(255,255,255,.92);
  max-width: 44rem;
  margin: 0;
}

.teaser-btn {
  justify-content: center;
}

/* Community-Links linksbündig ausrichten (Spenden-Text) */
.community-links-left {
  justify-content: flex-start;
}

/* Datenschutz/Abschnitte: Abstand zur vorherigen Section-Box */
.impressum-section-spaced {
  margin-top: 28px;
}

/* Footer: Partner-Logos (heller Rahmen) + zweite Linkzeile */
.partner-logo {
  display: inline-block;
  margin-top: 24px;
  background: #fff;
  padding: 12px 16px;
  border-radius: 8px;
}

.partner-logo img {
  max-width: 240px;
  height: auto;
  display: block;
}

.footer-links-row {
  margin-top: 12px;
}
