/* Schutzkreis Gieseler Wald – Enhanced Styles 2026 */
:root {
  --ink: #0c1610;
  --forest-950: #0a1a12;
  --forest-900: #0f2a1c;
  --forest-800: #153524;
  --forest-700: #1b4530;
  --moss-600: #2f6b4a;
  --moss-500: #3d8f63;
  --sage-400: #7cb896;
  --cream-100: #f7f3eb;
  --cream-200: #eee6d8;
  --accent: #c26a1e;
  --accent-soft: #e8a66a;
  --danger-700: #8b2525;
  --shadow-sm: 0 4px 16px rgba(8,24,16,0.12);
  --shadow: 0 12px 40px rgba(8,24,16,0.22);
  --shadow-lg: 0 24px 60px rgba(8,24,16,0.35);
  --radius: 16px;
  --radius-sm: 8px;
  --font-display: "Fraunces","Georgia",serif;
  --font-sans: "Source Sans 3",system-ui,sans-serif;
  --max: 1120px;
  --header-h: 72px;
  --transition: 0.2s ease;
}

[data-theme="dark"] {
  --ink: #e8f0e8;
  --cream-100: #0f1a12;
  --cream-200: #162019;
  --forest-900: #e4efe4;
  --forest-800: #c8dcc8;
  --moss-600: #5db882;
  --moss-500: #4da870;
  --sage-400: #7cc896;
  --accent: #e8902a;
  --shadow-sm: 0 4px 16px rgba(0,0,0,0.4);
  --shadow: 0 12px 40px rgba(0,0,0,0.5);
  --shadow-lg: 0 24px 60px rgba(0,0,0,0.65);
}

[data-theme="dark"] .bg-warm {
  background: linear-gradient(180deg, #111c14 0%, #0f1a12 100%);
}
[data-theme="dark"] .content-section { background: #0d1710; }
[data-theme="dark"] .accordion__item { background: #162019; border-color: rgba(100,160,120,0.2); }
[data-theme="dark"] .accordion__trigger { background: #111c14; color: #c8dcc8; }
[data-theme="dark"] .accordion__item.is-open .accordion__trigger { background: #162019; }
[data-theme="dark"] .card { background: #162019; border-color: rgba(100,160,120,0.15); }
[data-theme="dark"] .important-box { background: linear-gradient(135deg,#2a1a08,#201408); color: #e8c890; }
[data-theme="dark"] .site-header { background: rgba(10,20,14,0.97); border-bottom-color: rgba(80,140,100,0.2); }
[data-theme="dark"] .main-nav ul { background: #0f1a12; }
[data-theme="dark"] .yt-card { background: #162019; }
[data-theme="dark"] .news-card { background: #162019; border-color: rgba(100,160,120,0.15); }
[data-theme="dark"] .doc-card { background: #162019; border-color: rgba(100,160,120,0.15); }
[data-theme="dark"] .donate-box { background: #162019; }
[data-theme="dark"] .legal-hint { background: rgba(0,0,0,0.3); color: #8aaa8c; border-color: rgba(80,140,100,0.2); }
[data-theme="dark"] .membership-card { background: #0d2018; }
[data-theme="dark"] .bg-forest { background: #0f2a1c; color: #e8f0e8; }
[data-theme="dark"] .petition-list a { background: #162019; color: #c8dcc8; border-color: rgba(100,160,120,0.2); }
[data-theme="dark"] .petition-list a:hover { background: #1f2e22; border-color: var(--moss-500); color: #e8f0e8; }

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

/* Hidden attribute must override flex/grid/block displays */
[hidden] { display: none !important; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream-100);
  font-family: var(--font-sans);
  font-size: 1.075rem;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: background var(--transition), color var(--transition);
}

a { color: var(--moss-600); text-decoration-thickness: 0.08em; text-underline-offset: 0.2em; }
a:hover { color: var(--forest-800); }
img { max-width: 100%; height: auto; display: block; }

.sr-only {
  position:absolute; width:1px; height:1px; padding:0;
  margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

.container {
  width: min(100% - 2.5rem, var(--max));
  margin-inline: auto;
}

/* ——— Scroll Progress ——— */
.scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--moss-500), var(--accent));
  z-index: 9999;
  transition: width 0.1s linear;
}

/* ——— Skip Link ——— */
.skip-link {
  position:absolute; left:0.5rem; top:0.5rem; z-index:1000;
  padding:0.6rem 1rem; background:#fff; color:var(--ink);
  border-radius:8px; transform:translateY(-200%); transition:transform 0.2s;
}
.skip-link:focus { transform:translateY(0); }

/* ——— Cookie Banner ——— */
.cookie-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.6);
  z-index:800; backdrop-filter:blur(4px);
}
.cookie-banner {
  position:fixed; bottom:2rem; left:50%; transform:translateX(-50%);
  z-index:900; width:min(90vw,540px);
  background:var(--cream-100); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); padding:1.5rem 1.75rem;
  border:1px solid rgba(22,52,36,0.15);
}
.cookie-banner h3 { margin:0 0 0.5rem; font-family:var(--font-display); font-size:1.15rem; }
.cookie-banner p { margin:0 0 1rem; font-size:0.95rem; color:#3a4a3f; }
.cookie-banner__actions { display:flex; gap:0.6rem; flex-wrap:wrap; }
[data-theme="dark"] .cookie-banner { background: #162019; }
[data-theme="dark"] .cookie-banner p { color: #a8c4a8; }

/* ——— Header ——— */
.site-header {
  position:sticky; top:0; z-index:200;
  background:rgba(247,243,235,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(22,52,36,0.12);
  transition:background var(--transition);
}

.header-inner {
  display:flex; align-items:center; justify-content:space-between;
  min-height:var(--header-h); gap:1rem; padding:0.4rem 0;
}

.brand {
  display:flex; align-items:center; gap:0.75rem;
  text-decoration:none; color:inherit;
}
.brand__mark {
  width:52px; height:52px; border-radius:50%;
  object-fit:contain; flex-shrink:0;
  background:transparent;
}
.logo-dark { display:none; }
[data-theme="dark"] .logo-light { display:none; }
[data-theme="dark"] .logo-dark { display:block; }

.brand__text { display:flex; flex-direction:column; line-height:1.2; }
.brand__name { font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:-0.01em; }
.brand__tag { font-size:0.78rem; color:#3d5346; font-weight:500; }

.header-controls { display:flex; align-items:center; gap:0.5rem; }

.theme-toggle {
  background:transparent; border:1px solid rgba(22,52,36,0.2);
  border-radius:8px; width:40px; height:40px; cursor:pointer;
  font-size:1.15rem; display:flex; align-items:center; justify-content:center;
  transition:background var(--transition), border-color var(--transition);
}
.theme-toggle:hover { background:rgba(45,106,79,0.12); }

.nav-toggle {
  display:none; border:0; background:var(--forest-800); color:#fff;
  width:44px; height:44px; border-radius:10px; cursor:pointer; font-size:1.2rem;
}
.nav-toggle[aria-expanded="true"] { background:var(--moss-600); }

.main-nav ul {
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:0.1rem 0.2rem;
  align-items:center; justify-content:flex-end;
}
.main-nav a {
  display:block; padding:0.5rem 0.65rem; border-radius:8px;
  color:var(--forest-900); text-decoration:none; font-weight:500; font-size:0.9rem;
  transition:background var(--transition);
}
.main-nav a:hover, .main-nav a:focus-visible {
  background:rgba(45,106,79,0.12); color:var(--forest-800); outline:none;
}
.main-nav a.nav-cta {
  background:var(--forest-800); color:#f8faf8; margin-left:0.2rem;
}
.main-nav a.nav-cta:hover { background:var(--moss-600); color:#fff; }

@media (max-width: 1080px) {
  .nav-toggle { display:flex; align-items:center; justify-content:center; }
  .main-nav {
    position:fixed; inset:var(--header-h) 0 0 0;
    background:rgba(12,22,16,0.4);
    opacity:0; pointer-events:none; transition:opacity 0.25s;
  }
  .main-nav.is-open { opacity:1; pointer-events:auto; }
  .main-nav ul {
    position:absolute; right:0; top:0; width:min(100%,320px);
    height:100%; background:var(--cream-100); padding:1.5rem 1rem 2rem;
    flex-direction:column; align-items:stretch;
    box-shadow:-8px 0 32px rgba(0,0,0,0.15); overflow-y:auto;
  }
  .main-nav a { padding:0.75rem 0.9rem; font-size:1rem; }
}

/* ——— Hero ——— */
.hero {
  position:relative; min-height:min(92vh,960px);
  display:flex; align-items:flex-end;
  color:#f4f0e6; padding:2rem 0 4rem; overflow:hidden;
}
.hero__bg {
  position:absolute; inset:0;
  background:url("../images/luftbild-gieseler-wald.jpg") center/cover no-repeat,
             url("https://images.unsplash.com/photo-1448375240586-882707db888b?w=2000&q=80") center/cover no-repeat;
}
.hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg,
    rgba(9,28,18,0.88) 0%,
    rgba(12,40,28,0.55) 45%,
    rgba(8,22,15,0.92) 100%);
}
.hero__content { position:relative; z-index:1; max-width:46rem; }

.section-logos-right {
  float:right; margin:0 0 1.5rem 2.5rem;
  display:flex; flex-direction:column; align-items:center; gap:1.5rem;
}
.section-logos-right img {
  width:clamp(200px,26vw,420px); height:auto;
  object-fit:contain;
  filter:drop-shadow(0 6px 32px rgba(8,24,16,0.18));
}
.section-logos-right .logo-dark { display:none; }
[data-theme="dark"] .section-logos-right .logo-light { display:none; }
[data-theme="dark"] .section-logos-right .logo-dark { display:block; }
@media (max-width:700px) {
  .section-logos-right { float:none; margin:0 auto 1.5rem; }
}

.hero__kicker {
  text-transform:uppercase; letter-spacing:0.12em;
  font-size:0.78rem; font-weight:700; color:var(--sage-400); margin-bottom:0.6rem;
}
.hero h1 {
  font-family:var(--font-display);
  font-size:clamp(2rem,4.8vw,3rem);
  line-height:1.1; margin:0 0 1rem; font-weight:700;
}
.hero__lead { font-size:1.1rem; line-height:1.6; opacity:0.95; margin:0 0 1.8rem; max-width:40rem; }

.hero__actions { display:flex; flex-wrap:wrap; gap:0.75rem; margin-bottom:2.5rem; }

.hero__stats {
  display:flex; flex-wrap:wrap; gap:1.5rem 3rem;
}
.stat { display:flex; flex-direction:column; }
.stat__num {
  font-family:var(--font-display); font-size:2.2rem; font-weight:700;
  color:#fff; line-height:1;
}
.stat__num::after { content:" +"; font-size:1.2rem; color:var(--sage-400); }
.stat__label { font-size:0.82rem; color:var(--sage-400); text-transform:uppercase; letter-spacing:0.08em; margin-top:0.2rem; }

.scroll-hint {
  position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,0.6); text-decoration:none; font-size:1.4rem;
  animation:bounce 2s infinite;
}
@keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(6px); } }

/* ——— Buttons ——— */
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  gap:0.4rem; padding:0.85rem 1.35rem; border-radius:999px;
  font-weight:700; font-size:0.97rem; text-decoration:none;
  border:2px solid transparent; cursor:pointer;
  transition:transform 0.15s, background 0.15s, border-color 0.15s, color 0.15s;
  white-space:nowrap;
}
.btn:hover { transform:translateY(-1px); }
.btn--primary { background:var(--accent); color:#1a0f05; border-color:var(--accent-soft); }
.btn--primary:hover { background:#d67a2d; color:#1a0f05; }
.btn--ghost { background:rgba(255,255,255,0.12); color:#fff; border-color:rgba(255,255,255,0.4); }
.btn--ghost:hover { background:rgba(255,255,255,0.22); }
.btn--ghost-dark { background:transparent; color:var(--ink); border-color:rgba(22,52,36,0.35); }
.btn--ghost-dark:hover { background:rgba(22,52,36,0.08); }
.btn--ghost-light { background:rgba(255,255,255,0.1); color:#e8f0e8; border-color:rgba(255,255,255,0.3); }
.btn--ghost-light:hover { background:rgba(255,255,255,0.2); }

/* ——— Sections ——— */
section { padding:3.5rem 0; }
.bg-warm { background:linear-gradient(180deg,#fff9f2 0%,var(--cream-100) 100%); }
.bg-forest { background:var(--forest-900); color:#e8f0e8; }
.bg-forest a { color:var(--sage-400); }
.bg-forest a:hover { color:#fff; }
.bg-dark { background:var(--forest-950); color:#e8f0e8; }
.bg-dark a { color:var(--sage-400); }

.section-title {
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.6vw,2.1rem);
  margin:0 0 0.5rem; line-height:1.2; color:var(--forest-900);
}
.bg-forest .section-title, .bg-dark .section-title { color:#f2f6f2; }
.bg-forest .section-lead, .bg-dark .section-lead { color:#b8c9b8; }
.section-lead { max-width:60ch; color:#3a4a3f; margin:0 0 2rem; }
[data-theme="dark"] .section-lead { color:#8aaa8c; }

.prose p { margin:0 0 1rem; max-width:68ch; }
.prose p:last-child { margin-bottom:0; }

.important-box {
  clear:right; margin-top:1.5rem; padding:1.25rem 1.4rem;
  border-radius:var(--radius); border:1px solid rgba(194,106,30,0.45);
  background:linear-gradient(135deg,#fff6eb,#ffebd8); color:#3a2412; font-size:0.98rem;
}
.important-box strong { color:var(--danger-700); }

/* Partners */
.partner-logos { margin-top:1.8rem; }
.partner-logos__label { font-size:0.85rem; color:#5a6a5c; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.6rem; }
.partner-logos__list { display:flex; flex-wrap:wrap; gap:0.5rem; }
.partner-chip {
  display:inline-block; padding:0.35rem 0.9rem; border-radius:999px;
  background:rgba(45,106,79,0.1); border:1px solid rgba(45,106,79,0.25);
  font-size:0.88rem; font-weight:600; color:var(--moss-600); text-decoration:none;
  transition:background var(--transition);
}
.partner-chip:hover { background:rgba(45,106,79,0.18); }

/* ——— Badges ——— */
.badge {
  display:inline-block; font-size:0.75rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.06em;
  padding:0.2rem 0.55rem; border-radius:6px; margin-bottom:0.4rem;
}
.badge--new { background:#e8f5e9; color:#1b5e20; }
.badge--event { background:#e3f2fd; color:#0d47a1; }
.badge--press { background:#fff3e0; color:#e65100; }
.badge--draft { background:#fce4ec; color:#880e4f; }
[data-theme="dark"] .badge--new { background:#1b4020; color:#a8e6b0; }
[data-theme="dark"] .badge--event { background:#0d2040; color:#90caf9; }
[data-theme="dark"] .badge--press { background:#3a2000; color:#ffcc80; }
[data-theme="dark"] .badge--draft { background:#3a0020; color:#f48fb1; }

/* ——— News Grid ——— */
.news-grid {
  display:grid; gap:1.25rem;
  grid-template-columns:repeat(3,1fr);
}
@media (max-width:900px) { .news-grid { grid-template-columns:1fr; } }

.news-card {
  background:#fff; border-radius:var(--radius); padding:1.25rem 1.4rem;
  border:1px solid rgba(22,52,36,0.1); box-shadow:var(--shadow-sm);
  display:flex; gap:1.2rem; align-items:flex-start;
  transition:box-shadow var(--transition), transform var(--transition);
}
.news-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.news-card__date {
  flex-shrink:0; display:flex; flex-direction:column;
  align-items:center; width:52px; padding-top:0.2rem;
}
.news-card__day { font-family:var(--font-display); font-size:1.8rem; font-weight:700; line-height:1; color:var(--forest-800); }
.news-card__month { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:#6a7a6d; }
.news-card__body h3 { font-size:1rem; margin:0.3rem 0 0.4rem; color:var(--forest-900); }
.news-card__body p { font-size:0.9rem; margin:0 0 0.6rem; color:#3a4a3f; }
.news-card__link { font-size:0.9rem; font-weight:700; color:var(--moss-600); text-decoration:none; }
.news-card__link:hover { color:var(--forest-800); text-decoration:underline; }

/* ——— Accordion ——— */
.accordion { display:flex; flex-direction:column; gap:0.6rem; margin-top:1.5rem; }
.accordion__item {
  border-radius:var(--radius); border:1px solid rgba(22,52,36,0.14);
  background:#fff; box-shadow:var(--shadow-sm); overflow:hidden;
  transition:box-shadow var(--transition);
}
.accordion__item:hover { box-shadow:var(--shadow); }
.accordion__trigger {
  width:100%; text-align:left; padding:1.1rem 1.2rem; border:0;
  background:#faf8f3; font-family:var(--font-sans); font-size:1rem;
  font-weight:700; color:var(--forest-800); cursor:pointer;
  display:flex; align-items:flex-start; justify-content:space-between; gap:0.8rem;
}
.accordion__trigger span.num {
  flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  width:1.8rem; height:1.8rem; border-radius:8px;
  background:var(--moss-500); color:#fff; font-size:0.85rem; margin-top:0.05rem;
}
.accordion__panel {
  max-height:0; overflow:hidden;
  transition:max-height 0.35s cubic-bezier(0.4,0,0.2,1), padding 0.2s;
  padding:0 1.2rem; font-size:0.99rem; color:#2a3a2f;
}
.accordion__item.is-open .accordion__panel {
  max-height:800px; padding:0 1.2rem 1.2rem;
}
.accordion__item.is-open .accordion__trigger { background:#fff; border-bottom:1px solid rgba(22,52,36,0.1); }
.accordion__trigger::after { content:"＋"; font-weight:400; color:var(--moss-600); transition:transform 0.2s; }
.accordion__item.is-open .accordion__trigger::after { content:"－"; }
.source-list { margin:0.8rem 0 0; padding:0 0 0 1.1rem; }
.source-list li { margin:0.3rem 0; }
[data-theme="dark"] .accordion__panel { color: #a8c4a8; }

/* ——— Gallery ——— */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.8rem; margin-top:1.2rem;
}
.gallery-item--large {
  grid-column:1/3;
}
@media (max-width:700px) {
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-item--large { grid-column:auto; }
}
.gallery-item {
  position:relative; margin:0; border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer;
  transition:transform var(--transition), box-shadow var(--transition);
}
.gallery-item:hover { transform:scale(1.02); box-shadow:var(--shadow); }
.gallery-item img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; transition:transform 0.4s; }
.gallery-item--large img { aspect-ratio:16/9; }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-item figcaption {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent, rgba(0,0,0,0.7));
  color:#fff; font-size:0.82rem; padding:2rem 0.8rem 0.6rem;
  opacity:0; transition:opacity 0.2s;
}
.gallery-item:hover figcaption { opacity:1; }

/* ——— Lightbox ——— */
.lightbox {
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,0.92); display:flex;
  align-items:center; justify-content:center;
  backdrop-filter:blur(8px);
}
.lightbox__figure { max-width:90vw; max-height:90vh; margin:0; text-align:center; }
.lightbox__figure img { max-width:90vw; max-height:78vh; border-radius:var(--radius-sm); object-fit:contain; }
.lightbox__figure figcaption { color:#ccc; font-size:0.9rem; margin-top:0.8rem; }
.lightbox__close, .lightbox__prev, .lightbox__next {
  position:absolute; background:rgba(255,255,255,0.15); border:0;
  color:#fff; border-radius:50%; width:48px; height:48px;
  font-size:1.2rem; cursor:pointer; transition:background var(--transition);
  display:flex; align-items:center; justify-content:center;
}
.lightbox__close { top:1rem; right:1rem; }
.lightbox__prev { left:1rem; top:50%; transform:translateY(-50%); }
.lightbox__next { right:1rem; top:50%; transform:translateY(-50%); }
.lightbox__close:hover, .lightbox__prev:hover, .lightbox__next:hover { background:rgba(255,255,255,0.3); }

/* ——— Video Tabs ——— */
.video-tabs {
  display:flex; gap:0.5rem; flex-wrap:wrap; margin-bottom:1.5rem;
}
.video-tab {
  padding:0.6rem 1.2rem; border-radius:999px; border:2px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.08); color:#c8e0c8;
  font-weight:600; font-size:0.95rem; cursor:pointer;
  transition:background var(--transition), border-color var(--transition), color var(--transition);
}
.video-tab:hover { background:rgba(255,255,255,0.15); }
.video-tab.active { background:var(--moss-500); border-color:var(--moss-500); color:#fff; }

.tab-panel.hidden { display:none; }

/* ——— YouTube Cards ——— */
.videos-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(3,1fr); }
@media (max-width:900px) { .videos-grid { grid-template-columns:1fr; } }

.yt-card {
  background:rgba(255,255,255,0.07); border-radius:var(--radius);
  border:1px solid rgba(255,255,255,0.12); overflow:hidden;
  transition:transform var(--transition), box-shadow var(--transition);
}
.yt-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }

.yt-card__thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:#000; }
.yt-card__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.yt-card__thumb--placeholder { background:#1a2a1f; display:flex; align-items:center; justify-content:center; }

.yt-placeholder {
  text-align:center; color:#6a8a6d; padding:1rem;
}
.yt-placeholder span { font-size:2.5rem; display:block; margin-bottom:0.5rem; opacity:0.4; }
.yt-placeholder p { margin:0 0 0.3rem; font-weight:600; color:#8aaa8c; }
.yt-placeholder small { font-size:0.8rem; color:#6a8a6d; }

.yt-card__overlay {
  position:absolute; inset:0; background:rgba(0,0,0,0.4);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:0.6rem; opacity:0; transition:opacity var(--transition);
}
.yt-card__thumb:hover .yt-card__overlay { opacity:1; }

.yt-play-btn {
  width:56px; height:56px; border-radius:50%;
  background:var(--accent); border:0; color:#fff;
  font-size:1.4rem; cursor:pointer; display:flex;
  align-items:center; justify-content:center;
  transition:transform 0.15s, background 0.15s;
  box-shadow:0 4px 20px rgba(0,0,0,0.4);
}
.yt-play-btn:hover { transform:scale(1.1); background:#d67a2d; }
.yt-play-btn span { margin-left:3px; }

.yt-privacy-hint {
  font-size:0.72rem; color:rgba(255,255,255,0.8); text-align:center;
  margin:0; padding:0 0.5rem; max-width:200px;
}

.yt-card__info { padding:1rem 1.1rem; }
.yt-card__info h3 { font-family:var(--font-display); font-size:1.05rem; margin:0 0 0.4rem; color:#e8f0e8; }
.yt-card__info p { font-size:0.9rem; color:#a8c4a8; margin:0 0 0.6rem; }

.yt-extern-link { font-size:0.88rem; color:var(--sage-400); font-weight:600; text-decoration:none; }
.yt-extern-link:hover { color:#fff; text-decoration:underline; }

/* Embedded iframe (nach Klick) */
.yt-card__thumb iframe {
  position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* ——— Local Video Player ——— */
.local-video-section {
  display:grid; grid-template-columns:2fr 1fr; gap:1.5rem; align-items:start;
}
@media (max-width:800px) { .local-video-section { grid-template-columns:1fr; } }

.local-player-wrap {
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:#000; aspect-ratio:16/9;
}
.local-player { width:100%; height:100%; display:block; border-radius:var(--radius); }
.local-player-hint {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  color:#5a8a6d; pointer-events:none; padding:1rem;
}
.local-player-hint span { font-size:3rem; display:block; margin-bottom:0.5rem; opacity:0.3; }
.local-player-hint p { margin:0 0 0.3rem; font-weight:600; color:#7aaa8c; }
.local-player-hint small { font-size:0.82rem; color:#5a8a6d; }
.local-player-hint code { background:rgba(255,255,255,0.1); padding:0.1rem 0.3rem; border-radius:4px; }

.local-playlist {
  background:rgba(255,255,255,0.06); border-radius:var(--radius);
  padding:1.2rem; border:1px solid rgba(255,255,255,0.1);
}
.local-playlist h3 { font-family:var(--font-display); font-size:1.05rem; color:#e8f0e8; margin:0 0 0.8rem; }
.playlist-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.4rem; }

.playlist-item {
  width:100%; text-align:left; background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08); border-radius:8px;
  padding:0.65rem 0.8rem; cursor:pointer; color:#c8e0c8;
  display:flex; gap:0.6rem; align-items:center;
  transition:background var(--transition), border-color var(--transition);
}
.playlist-item:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.2); }
.playlist-item.active { background:rgba(61,143,99,0.25); border-color:var(--moss-500); color:#fff; }
.playlist-item__icon { font-size:0.85rem; flex-shrink:0; }
.playlist-item strong { display:block; font-size:0.88rem; }
.playlist-item small { color:#8aaa8c; font-size:0.78rem; }

.playlist-add-hint {
  font-size:0.82rem; color:#6a8a6d; padding:0.5rem 0;
  border-top:1px solid rgba(255,255,255,0.08); margin-top:0.5rem;
}
.playlist-add-hint code { background:rgba(255,255,255,0.1); padding:0.1rem 0.3rem; border-radius:4px; }

/* Drag-and-Drop Zone */
.file-drop-zone {
  margin-top:0.8rem; border:2px dashed rgba(255,255,255,0.2);
  border-radius:var(--radius-sm); padding:1rem; text-align:center;
  color:#6a8a6d; cursor:pointer; transition:border-color var(--transition), background var(--transition);
}
.file-drop-zone:hover, .file-drop-zone.dragover {
  border-color:var(--moss-500); background:rgba(61,143,99,0.1); color:#a8c4a8;
}
.file-drop-zone p { margin:0 0 0.2rem; font-weight:600; }
.file-drop-zone small { font-size:0.8rem; }

/* ——— Cards ——— */
.grid-3 { display:grid; gap:1.25rem; grid-template-columns:repeat(3,1fr); }
@media (max-width:900px) { .grid-3 { grid-template-columns:1fr; } }

.card {
  border-radius:var(--radius); overflow:hidden; background:#fff;
  border:1px solid rgba(22,52,36,0.1); box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
  transition:transform var(--transition), box-shadow var(--transition);
}
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.card--dark { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.1); }
.card--dark:hover { background:rgba(255,255,255,0.1); }

.card__image { aspect-ratio:16/10; object-fit:cover; width:100%; }
.card__body { padding:1.2rem; flex:1; display:flex; flex-direction:column; }
.card__body h3 { font-family:var(--font-display); font-size:1.1rem; margin:0 0 0.5rem; color:var(--forest-900); }
.card--dark .card__body h3 { color:#e8f0e8; }
.card__body p { margin:0 0 0.8rem; font-size:0.92rem; color:#3a4a3f; flex:1; }
.card--dark .card__body p { color:#a8c4a8; }
.card__body a { font-weight:600; align-self:flex-start; color:var(--sage-400); }
.card__body a:hover { color:#fff; }

/* ——— Documents ——— */
.doc-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); }
@media (max-width:700px) { .doc-grid { grid-template-columns:1fr; } }

.doc-card {
  display:flex; gap:1rem; padding:1.25rem;
  background:#fff; border-radius:var(--radius);
  border:1px solid rgba(22,52,36,0.12); box-shadow:var(--shadow-sm);
  text-decoration:none; color:inherit;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.doc-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--moss-500); }
.doc-card--highlight { border-color:var(--accent); background:linear-gradient(135deg,#fffaf5,#fff9f0); }
.doc-card--highlight:hover { border-color:#d67a2d; }
.doc-card__icon { font-size:2rem; flex-shrink:0; }
.doc-card__body h3 { font-family:var(--font-display); font-size:1.05rem; margin:0.25rem 0 0.4rem; color:var(--forest-900); }
.doc-card__body p { font-size:0.9rem; color:#3a4a3f; margin:0 0 0.5rem; }
.doc-card__meta { font-size:0.8rem; color:#6a7a6d; font-style:italic; }
.doc-card__meta code { background:rgba(22,52,36,0.06); padding:0.1rem 0.3rem; border-radius:4px; font-style:normal; }

/* ——— Membership ——— */
.membership-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(3,1fr); margin-bottom:1rem; }
@media (max-width:800px) { .membership-grid { grid-template-columns:1fr; } }

.membership-card {
  background:rgba(255,255,255,0.08); border-radius:var(--radius);
  border:2px solid rgba(255,255,255,0.12); padding:1.5rem;
  display:flex; flex-direction:column; gap:1rem;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
  cursor:pointer;
}
.membership-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:rgba(255,255,255,0.3); }
.membership-card--highlight { border-color:var(--accent-soft); background:rgba(194,106,30,0.15); }
.membership-card.is-selected {
  border-color:var(--moss-500); background:rgba(61,143,99,0.2);
  transform:translateY(-4px); box-shadow:0 0 0 3px rgba(61,143,99,0.35), var(--shadow);
}
.membership-card:not(.membership-card--highlight):not(.is-selected) .btn--primary {
  background:rgba(255,255,255,0.1); color:#e8f0e8;
  border-color:rgba(255,255,255,0.3);
}
.membership-card.is-selected .btn--ghost-light,
.membership-card.is-selected .btn--primary {
  background:var(--accent); color:#1a0f05; border-color:var(--accent-soft);
}

.membership-card__header { display:flex; flex-direction:column; gap:0.3rem; }
.membership-card__icon { font-size:1.8rem; }
.membership-card__header h3 { font-family:var(--font-display); font-size:1.15rem; color:#e8f0e8; margin:0; }
.membership-card__price { font-family:var(--font-display); font-size:2rem; font-weight:700; color:#fff; }
.membership-card__price span { font-size:1rem; font-weight:400; color:#a0c4a0; }

.membership-card__perks { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.4rem; flex:1; }
.membership-card__perks li { font-size:0.9rem; color:#c0d8c0; padding-left:1.2rem; position:relative; }
.membership-card__perks li::before { content:"✓"; position:absolute; left:0; color:var(--sage-400); font-weight:700; }

/* ——— Spenden ——— */
.donate-box {
  background:#fff; border-radius:var(--radius); padding:1.5rem;
  border:1px solid rgba(22,52,36,0.12); box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:1.2rem; margin-top:1.2rem;
}
.donate-box__amounts { display:flex; flex-wrap:wrap; gap:0.5rem; }
.donate-amount {
  padding:0.55rem 1.1rem; border-radius:999px; font-weight:700;
  border:2px solid rgba(22,52,36,0.2); background:transparent;
  color:var(--forest-800); cursor:pointer; font-size:0.95rem;
  transition:all var(--transition);
}
.donate-amount:hover, .donate-amount.active {
  background:var(--moss-500); border-color:var(--moss-500); color:#fff;
}
.donate-box__info p { margin:0 0 0.8rem; color:#3a4a3f; font-size:0.95rem; }

/* ——— Petition List ——— */
.petition-list a {
  display:flex; align-items:flex-start; gap:0.8rem;
  padding:1rem 1.2rem; border-radius:var(--radius);
  background:#fff; margin-bottom:0.6rem; text-decoration:none;
  font-weight:600; color:var(--forest-900);
  border:1px solid rgba(22,52,36,0.12); box-shadow:var(--shadow-sm);
  transition:all var(--transition);
}
.petition-list a:hover {
  background:var(--cream-200); border-color:var(--moss-500);
  transform:translateY(-2px); box-shadow:var(--shadow);
}
.petition-list__icon { font-size:1.2rem; flex-shrink:0; }
.petition-list small { display:block; font-weight:400; opacity:0.75; margin-top:0.15rem; font-size:0.88rem; }

/* ——— Contact Grid ——— */
.contact-grid { display:grid; gap:2.5rem; grid-template-columns:1fr 1.2fr; }
@media (max-width:800px) { .contact-grid { grid-template-columns:1fr; } }

/* ——— Share Buttons ——— */
.social-links { margin-top:1.5rem; }
.share-buttons { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:0.5rem; }
.share-btn {
  display:inline-flex; align-items:center; gap:0.4rem;
  padding:0.5rem 1rem; border-radius:999px; font-size:0.88rem;
  font-weight:700; text-decoration:none; border:0; cursor:pointer;
  transition:transform 0.15s, filter 0.15s;
}
.share-btn:hover { transform:translateY(-1px); filter:brightness(1.1); }
.share-btn--whatsapp { background:#25d366; color:#fff; }
.share-btn--facebook { background:#1877f2; color:#fff; }
.share-btn--twitter { background:#1da1f2; color:#fff; }
.share-btn--copy { background:rgba(22,52,36,0.1); color:var(--forest-800); border:1px solid rgba(22,52,36,0.2); }
[data-theme="dark"] .share-btn--copy { background:rgba(255,255,255,0.1); color:#c8e0c8; border-color:rgba(255,255,255,0.2); }

/* ——— Newsletter Form ——— */
.newsletter-form-wrap {
  background:#fff; border-radius:var(--radius); padding:1.5rem;
  border:1px solid rgba(22,52,36,0.1); box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .newsletter-form-wrap { background:#162019; border-color:rgba(100,160,120,0.15); }
.newsletter-form-wrap h3 { font-family:var(--font-display); font-size:1.15rem; margin:0 0 0.4rem; color:var(--forest-900); }
.newsletter-form-wrap p { font-size:0.9rem; color:#3a4a3f; margin:0 0 1rem; }
[data-theme="dark"] .newsletter-form-wrap p { color:#8aaa8c; }

.newsletter-form { display:flex; flex-direction:column; gap:0.8rem; }
.form-row { display:flex; flex-direction:column; gap:0.25rem; }
.form-row label { font-size:0.88rem; font-weight:600; color:#3a4a3f; }
[data-theme="dark"] .form-row label { color:#a8c4a8; }
.form-row input[type="text"], .form-row input[type="email"] {
  padding:0.65rem 0.9rem; border-radius:var(--radius-sm);
  border:1.5px solid rgba(22,52,36,0.2); background:#fafafa;
  font-size:0.97rem; color:var(--ink); font-family:var(--font-sans);
  transition:border-color var(--transition);
}
.form-row input:focus { outline:none; border-color:var(--moss-500); }
[data-theme="dark"] .form-row input { background:#0f1a12; border-color:rgba(100,160,120,0.25); color:#e8f0e8; }
.form-row--checkbox label { display:flex; gap:0.6rem; font-size:0.85rem; font-weight:400; color:#3a4a3f; cursor:pointer; }
[data-theme="dark"] .form-row--checkbox label { color:#a8c4a8; }
.form-success { color:var(--moss-600); font-weight:600; font-size:0.95rem; margin:0; }

/* ——— Legal ——— */
.legal-hint {
  font-size:0.88rem; color:#5a6a5c; margin-top:1rem;
  padding:0.8rem 1rem; background:rgba(255,255,255,0.6);
  border-radius:8px; border:1px dashed rgba(22,52,36,0.25);
}

/* ——— Footer ——— */
.site-footer { padding:3rem 0 2.5rem; background:var(--forest-950); color:#a8baad; font-size:0.92rem; }
.site-footer a { color:#c8d8c8; }
.site-footer a:hover { color:#fff; }

.footer-grid { display:grid; gap:2rem; grid-template-columns:2fr 1fr; margin-bottom:2rem; }
@media (max-width:700px) { .footer-grid { grid-template-columns:1fr; } }

.impressum-block { line-height:1.8; }
.impressum-block p { margin:0 0 0.6rem; color:#d8e4d8; }
.impressum-block strong { color:#e8f0e8; }

.footer-links h3 { font-size:1rem; color:#e8f0e8; margin:0 0 0.8rem; }
.footer-links ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.3rem; }
.footer-links a { color:#a8baad; text-decoration:none; font-size:0.9rem; }
.footer-links a:hover { color:#fff; text-decoration:underline; }

.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.08); }
.footer-bottom p { margin:0; color:#7a8a7c; font-size:0.88rem; }
.to-top { display:inline-flex; align-items:center; gap:0.3rem; color:#a8baad; text-decoration:none; font-weight:600; transition:color var(--transition); }
.to-top:hover { color:#fff; }

/* ——— FAB (Zurück nach oben) ——— */
.fab-top {
  position:fixed; bottom:1.5rem; right:1.5rem; z-index:500;
  width:48px; height:48px; border-radius:50%;
  background:var(--forest-800); color:#fff; border:0;
  font-size:1.2rem; cursor:pointer; box-shadow:var(--shadow);
  transition:opacity 0.3s, transform 0.3s, background var(--transition);
  display:flex; align-items:center; justify-content:center;
}
.fab-top:hover { background:var(--moss-600); transform:translateY(-2px); }
.fab-top[hidden] { display:none; }

/* ——— Animations ——— */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}
.animate-in { animation:fadeUp 0.5s ease both; }

/* ——— Responsive misc ——— */
@media (max-width:600px) {
  .hero__stats { gap:1rem 2rem; }
  .stat__num { font-size:1.8rem; }
  .hero h1 { font-size:1.8rem; }
  .hero__actions { flex-direction:column; }
  .hero__actions .btn { width:100%; justify-content:center; }
  .share-buttons { flex-direction:column; }
  .share-btn { justify-content:center; }
}
