/* GREENDAYS4FUTURE / Kreativteam e.V. — gemeinsames Stylesheet für alle Seiten */

/* Lokal gehostete Schriften (kein Google-Fonts-Fremdaufruf — DSGVO-konform ohne Cookie-Hinweis) */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-400.woff2') format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-500.woff2') format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/barlow-600.woff2') format('woff2');}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/barlow-700.woff2') format('woff2');}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500 700;font-display:swap;src:url('fonts/source-serif-4.woff2') format('woff2');}

:root{
  --bg:#f7f8f0;
  --ink:#182518;
  --muted:#5c6b59;
  --line:#e3e8d8;
  --brand-dark:#0c2b0f;
  --brand-dark-2:#163a1a;
  --brand-dark-line:#2a4d2c;
  --brand:#004607;
  --accent:#c9a227;
  --on-dark:#f7f8f0;
  --on-dark-muted:#c3d4bb;
  --kt-accent:#8a4fae;
  --kt-accent-2:#c94f9e;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Barlow',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-decoration:none;}
a:hover{color:var(--brand-dark);}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;text-wrap:balance;margin:0;}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(20px,4vw,64px);}
section{padding-block:clamp(48px,7vw,88px);}
.eyebrow{font-weight:700;font-size:12.5px;letter-spacing:1.8px;text-transform:uppercase;color:#4c7a52;}
.eyebrow.on-dark{color:#a9d38f;}
.eyebrow.kt{color:var(--kt-accent);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;font-family:'Barlow',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.2px;cursor:pointer;border-radius:3px;white-space:nowrap;border:1.5px solid transparent;}
.btn-accent{background:var(--accent);color:var(--brand-dark);border-color:var(--accent);}
.btn-outline-dark{background:transparent;color:var(--brand);border-color:var(--brand);}
.btn-outline-light{background:transparent;color:var(--on-dark);border-color:#4c7a52;}
.btn-on-light{background:var(--on-dark);color:var(--brand);border-color:var(--on-dark);}
.btn-kt{background:var(--kt-accent);color:#fff;border-color:var(--kt-accent);}
.card{border:1px solid var(--line);background:#fff;}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.grid-2{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:56px;align-items:center;}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.section-head{max-width:680px;margin:0 auto 48px auto;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;}
.section-head.left{margin:0 0 40px 0;text-align:left;align-items:flex-start;}
.icon{color:#a9d38f;}

/* Header + Sidebar (identisch auf jeder Seite) */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:16px;gap:16px;}
.brandmark{display:flex;align-items:center;gap:12px;}
.brandmark img{width:38px;height:38px;object-fit:contain;border-radius:50%;}
.brand-name{font-family:'Source Serif 4',serif;font-weight:700;font-size:19px;color:var(--brand);line-height:1.1;}
.brand-sub{font-weight:600;font-size:10px;letter-spacing:1.3px;color:#8a6fae;text-transform:uppercase;}
nav.main{display:flex;align-items:center;gap:26px;}
nav.main a{font-weight:500;font-size:14.5px;color:#3a4a37;}
nav.main a.active,nav.main a:hover{color:var(--brand);}
.breadcrumb{font-size:13px;color:var(--muted);padding-block:14px;border-bottom:1px solid var(--line);background:#fff;}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:var(--brand);}

/* Seiten-Hero (für Unterseiten, kompakter als Startseiten-Hero) */
.page-hero{background:var(--brand-dark);padding-block:clamp(40px,6vw,64px);}
.page-hero h1{color:var(--on-dark);font-size:clamp(28px,3.6vw,42px);line-height:1.16;max-width:26ch;}
.page-hero p{color:var(--on-dark-muted);font-size:16.5px;line-height:1.6;max-width:56ch;margin:10px 0 0 0;}
.page-hero.kt{background:linear-gradient(135deg,#3a1f4d 0%,var(--brand-dark) 65%);}

.stat-num{font-family:'Source Serif 4',serif;font-weight:700;font-size:clamp(30px,3.4vw,40px);color:var(--brand);}
.stat-label{font-size:14.5px;font-weight:600;}
.stat-sub{font-size:13px;color:var(--muted);}
.dark-section{background:var(--brand-dark);}
.way-card{background:var(--brand-dark-2);border:1px solid var(--brand-dark-line);padding:32px 28px;display:flex;flex-direction:column;gap:15px;}
.way-card h3{font-family:'Source Serif 4',serif;font-weight:600;font-size:20px;color:var(--on-dark);}
.way-card p{font-size:14.5px;line-height:1.6;color:var(--on-dark-muted);flex:1;margin:0;}
.proj-card{display:flex;flex-direction:column;}
.proj-media{height:140px;background:var(--brand-dark);display:flex;align-items:center;justify-content:center;}
.proj-body{padding:24px;display:flex;flex-direction:column;gap:11px;flex:1;}
.proj-body h3{font-family:'Source Serif 4',serif;font-weight:600;font-size:18px;}
.proj-body p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0;}
.founder-photo{width:100%;height:320px;object-fit:cover;border-radius:2px;}
.quote{font-family:'Source Serif 4',serif;font-style:italic;font-size:18px;line-height:1.6;color:#3a4a37;max-width:44ch;margin:0;}
.cta-banner{background:var(--brand-dark);text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;}

/* Textseiten-Inhalt (Fließtext-Sektionen) */
.prose{max-width:760px;}
.prose h2{font-size:clamp(22px,2.4vw,27px);margin-bottom:14px;}
.prose p{font-size:16px;line-height:1.7;color:#2c3a2a;margin:0 0 18px 0;}
.prose ul{margin:0 0 18px 0;padding-left:20px;}
.prose li{font-size:15.5px;line-height:1.65;color:#2c3a2a;margin-bottom:8px;}
.info-box{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);padding:22px 26px;font-size:15px;line-height:1.6;color:#2c3a2a;}
.info-box.kt{border-left-color:var(--kt-accent);}
.step-list{counter-reset:step;display:flex;flex-direction:column;gap:0;}
.step-item{display:grid;grid-template-columns:40px 1fr;gap:18px;padding-block:18px;border-top:1px solid var(--line);}
.step-item:last-child{border-bottom:1px solid var(--line);}
.step-num{counter-increment:step;font-family:'Source Serif 4',serif;font-weight:700;font-size:18px;color:var(--brand);}
.step-num::before{content:counter(step);}
.step-item h4{font-size:15.5px;font-weight:600;margin:0 0 4px 0;}
.step-item p{font-size:14px;color:var(--muted);margin:0;line-height:1.55;}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;}
.tag{font-size:13px;font-weight:600;padding:7px 14px;border:1px solid var(--line);border-radius:999px;color:var(--brand);background:#fff;}
.progress-track{height:10px;background:#e3e8d8;border-radius:999px;overflow:hidden;}
.progress-fill{height:100%;background:var(--accent);}
.contact-row{display:flex;flex-wrap:wrap;gap:32px;}
.contact-item{display:flex;flex-direction:column;gap:4px;}
.contact-item .label{font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#8a978a;}
.contact-item .value{font-size:18px;font-weight:600;color:var(--brand);}

/* Trust / Impact / Footer (wie Startseite) */
.trustbar{background:#fff;border-bottom:1px solid var(--line);}
.trust-inner{display:flex;flex-wrap:wrap;align-items:center;gap:32px;padding-block:32px;}
.trust-label{font-size:12.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#8a978a;white-space:nowrap;}
.trust-logos{display:flex;flex-wrap:wrap;align-items:center;gap:28px;flex:1;}
.trust-logos img{height:30px;width:auto;filter:grayscale(100%);opacity:.75;}
.logo-slot{height:30px;padding:0 18px;display:flex;align-items:center;justify-content:center;border:1.5px dashed #c9d2ba;border-radius:3px;color:#a3ae9a;font-size:12.5px;font-weight:600;white-space:nowrap;}
.trust-cta{font-size:14px;font-weight:600;color:var(--brand);white-space:nowrap;}
footer.site{background:#081f0a;color:var(--on-dark-muted);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-block:44px 32px;border-bottom:1px solid #1d3a1f;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col-title{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7d9578;margin-bottom:4px;}
.footer-col span{font-size:14px;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block:20px;font-size:12.5px;color:#7d9578;}
.social{display:flex;gap:12px;margin-top:4px;}

@media (max-width:820px){
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;gap:28px;}
  .grid-4{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.main{display:none;}
  .step-item{grid-template-columns:32px 1fr;}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
  .trust-inner{gap:16px;}
  .grid-4{grid-template-columns:1fr;}
  .contact-row{gap:20px;}
}

/* Partner-Logoband: nahtlose Endlos-Schleife (Marquee), kein Zurückspringen */
.partner-slider{background:#fff;border-bottom:1px solid var(--line);padding-block:32px;}
.partner-slider-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
.partner-slider-head .trust-label{margin:0;}
.slider-viewport{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
  mask-image:linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}
.slider-track{
  display:flex;
  gap:20px;
  width:max-content;
  animation:gd4f-marquee 32s linear infinite;
}
.partner-slider:hover .slider-track,
.slider-track:focus-within{
  animation-play-state:paused;
}
@keyframes gd4f-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.slider-slide{
  flex:0 0 220px;
  display:flex;
  align-items:center;
  justify-content:center;
  height:110px;
  border:1px solid var(--line);
  background:#fff;
  padding:16px;
  box-sizing:border-box;
}
.slider-slide img{max-width:100%;max-height:100%;object-fit:contain;}
@media (prefers-reduced-motion: reduce){
  .slider-track{animation:none;}
}
@media (max-width:480px){ .slider-slide{flex:0 0 170px;height:90px;} .slider-track{gap:12px;} }

/* Formulare (Kontakt, Förderzusage) */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13.5px;font-weight:600;color:var(--ink);}
.field input,.field select,.field textarea{font-family:'Barlow',sans-serif;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:1px;}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);}
.consent input{margin-top:3px;}
.field-hint{font-size:12.5px;color:var(--muted);margin:0;}

/* Auswahl-Gruppen als Pillen (Unterstützungsart, Beträge, Sichtbarkeit) */
fieldset.choice-group{border:none;margin:0;padding:0;}
fieldset.choice-group legend{font-size:13.5px;font-weight:600;color:var(--ink);padding:0;margin-bottom:8px;}
.choice-row{display:flex;flex-wrap:wrap;gap:10px;}
.choice-pill{position:relative;}
.choice-pill input{position:absolute;opacity:0;width:1px;height:1px;}
.choice-pill label{display:inline-flex;align-items:center;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;background:#fff;}
.choice-pill input:checked + label{background:var(--brand);border-color:var(--brand);color:#fff;}
.choice-pill input:focus-visible + label{outline:2px solid var(--brand);outline-offset:2px;}

@media (max-width:620px){ .form-grid{grid-template-columns:1fr;} }

/* Erfolgs-/Fehlermeldung nach Formular-Versand (per JS anhand ?gesendet= gesteuert) */
.form-notice{display:none;padding:16px 20px;border-radius:3px;font-size:14.5px;margin-bottom:20px;}
.form-notice.show{display:block;}
.form-notice.ok{background:#e6f2df;border:1px solid #b9d9a3;color:#204a1a;}
.form-notice.error{background:#fbeaea;border:1px solid #e7b6b6;color:#7a2020;}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
