/* Farben direkt — keine CSS-Variablen für maximale iOS-Kompatibilität */
* { margin:0; padding:0; -webkit-box-sizing:border-box; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { background-color:#024530; color:#e8f5e0; font-family:'Lora',Georgia,serif; font-size:17px; line-height:1.75; overflow-x:hidden; -webkit-text-size-adjust:100%; }

/* ── Navigation ── */
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-pack:justify; -webkit-justify-content:space-between; justify-content:space-between; -webkit-box-align:center; -webkit-align-items:center; align-items:center; padding:1rem clamp(1.5rem,5vw,5rem); background-color:rgba(2,69,48,0.97); border-bottom:1px solid #0a6040; }
.nav-logo { font-family:'JetBrains Mono',monospace; font-size:0.9rem; color:#6ee87e; letter-spacing:0.1em; text-transform:uppercase; }
.nav-logo span { color:#f0b84a; }
nav ul { list-style:none; display:-webkit-box; display:-webkit-flex; display:flex; gap:1.5rem; }
nav a { color:#a0c8a0; text-decoration:none; font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; transition:color 0.2s; }
nav a:hover { color:#f0b84a; }
nav a.nav-active { color:#f0b84a; border-bottom:1px solid #d4a030; padding-bottom:2px; }
/* Sprachauswahl Desktop-Sidebar */
#lang-sidebar { display:none; position:fixed; right:42px; top:50%; transform:translateY(-50%); z-index:199; flex-direction:column; align-items:center; gap:0.4rem; background:rgba(20,31,20,0.88); border:1px solid #0a6040; border-right:none; padding:0.6rem 0.45rem; border-radius:4px 0 0 4px; }
#lang-flags-nav { display:none; gap:0.4rem; align-items:center; margin-left:0.5rem; }
#lang-flags-mobile-nav { display:none; gap:0.35rem; align-items:center; }
section > *:not(.section-full):not(.hero-img-wrap) { max-width:860px; margin-left:auto; margin-right:auto; }
.hero-img-wrap { max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
section { padding-left:clamp(1.5rem,5vw,5rem); padding-right:clamp(1.5rem,5vw,5rem); }

/* ── Hero ── */
.hero { background-color:#024530; position:relative; }
.hero-img-wrap { position:relative; width:100%; height:60vw; min-height:300px; max-height:560px; overflow:hidden; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.hero-content { position:relative; z-index:1; margin-top:-7rem; padding-bottom:4rem; max-width:860px; }
.hero-tag { font-family:'JetBrains Mono',monospace; font-size:0.7rem; color:#d4a030; letter-spacing:0.2em; text-transform:uppercase; margin-bottom:1.5rem; }
.hero h1 { font-family:'Playfair Display',serif; font-size:3.5rem; font-weight:400; line-height:1.1; color:#ffffff; max-width:800px; margin-bottom:1.5rem; }
.hero h1 em { font-style:italic; color:#6ee87e; }
.hero-sub { font-size:1.15rem; color:#e8f5e0; max-width:780px; font-weight:400; line-height:1.85; margin-bottom:2rem; }
.live-badge { display:-webkit-inline-box; display:-webkit-inline-flex; display:inline-flex; -webkit-box-align:center; -webkit-align-items:center; align-items:center; gap:0.6rem; padding:0.5rem 1.2rem; background-color:rgba(45,106,45,0.2); border:1px solid #0a7050; margin-bottom:2rem; font-family:'JetBrains Mono',monospace; font-size:0.8rem; color:#6ee87e; }
.live-dot { width:8px; height:8px; background-color:#6ee87e; border-radius:50%; -webkit-animation:pulse 1.5s ease-in-out infinite; animation:pulse 1.5s ease-in-out infinite; }
.hero-buttons { display:-webkit-box; display:-webkit-flex; display:flex; gap:1rem; -webkit-flex-wrap:wrap; flex-wrap:wrap; }

/* ── Buttons ── */
.btn { display:inline-block; padding:0.85rem 1.5rem; font-family:'JetBrains Mono',monospace; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; cursor:pointer; border:none; -webkit-border-radius:0; border-radius:0; -webkit-transition:background-color 0.2s,color 0.2s; transition:background-color 0.2s,color 0.2s; }
.btn-green { background-color:#0a7050; color:#ffffff; }
.btn-green:hover { background-color:#3a9e5a; }
.btn-amber { background-color:transparent; color:#f0b84a; border:1px solid #d4a030; }
.btn-amber:hover { background-color:rgba(200,136,42,0.12); }

/* ── Sections ── */
section { padding:3rem 0; }
.section-label { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#d4a030; letter-spacing:0.25em; text-transform:uppercase; margin-bottom:1rem; }
h2 { font-family:'Playfair Display',serif; font-size:2.4rem; font-weight:400; color:#ffffff; line-height:1.2; margin-bottom:1.2rem; }
h2 em { font-style:italic; color:#6ee87e; }
.section-desc { color:#a0c8a0; max-width:560px; margin-bottom:2.5rem; font-size:1.05rem; }

/* ── Cards ── */
.bg-dark { background-color:rgba(0,0,0,0.28); }
.border-t { border-top:1px solid #0a6040; }
.border-b { border-bottom:1px solid #0a6040; }
.cards-grid { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:1.5rem; }
.card { -webkit-box-flex:1; -webkit-flex:1 1 260px; flex:1 1 260px; padding:1.8rem; background-color:rgba(0,0,0,0.22); border:1px solid #0a6040; border-left:3px solid #0a7050; }
.card-icon { font-size:1.8rem; margin-bottom:0.75rem; display:block; }
.card h3 { font-family:'Playfair Display',serif; font-size:1.2rem; color:#ffffff; margin-bottom:0.6rem; }
.card p { color:#a0c8a0; font-size:0.95rem; line-height:1.6; }

/* ── Steps ── */
.steps-grid { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:1.5rem; counter-reset:steps; }
.step { -webkit-box-flex:1; -webkit-flex:1 1 200px; flex:1 1 200px; padding:1.8rem; background-color:rgba(0,0,0,0.28); border:1px solid #0a6040; border-top:3px solid #d4a030; counter-increment:steps; position:relative; }
.step-num { font-family:'JetBrains Mono',monospace; font-size:2rem; color:#0a6040; position:absolute; top:1rem; right:1.2rem; line-height:1; }
.step h3 { font-family:'Playfair Display',serif; font-size:1.15rem; color:#f0b84a; margin-bottom:0.6rem; }
.step p { color:#a0c8a0; font-size:0.9rem; line-height:1.6; }
.step-cost { margin-top:0.8rem; font-family:'JetBrains Mono',monospace; font-size:0.75rem; color:#6ee87e; }

/* ── Datenfluss ── */
.flow-row { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-box-align:center; -webkit-align-items:center; align-items:center; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:0.75rem; margin-top:2.5rem; -webkit-box-pack:center; -webkit-justify-content:center; justify-content:center; }
.flow-node { padding:1.2rem 1.5rem; background-color:rgba(0,0,0,0.22); border:1px solid #0a6040; text-align:center; min-width:130px; }
.flow-node-icon { font-size:1.8rem; display:block; margin-bottom:0.4rem; }
.flow-node h4 { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#6ee87e; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:0.3rem; }
.flow-node p { font-size:0.8rem; color:#a0c8a0; }
.flow-arrow { color:#d4a030; font-size:1.3rem; font-family:'JetBrains Mono',monospace; }

/* ── Spenden ── */
.donate-box { padding:2.5rem; background-color:rgba(0,0,0,0.28); border:1px solid #0a6040; border-top:3px solid #d4a030; max-width:680px; }
.donate-box p { color:#a0c8a0; margin-bottom:1.8rem; font-size:1rem; }
.amounts { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:0.75rem; margin-bottom:1.8rem; }
.amt-btn { padding:0.55rem 1.3rem; background-color:rgba(0,0,0,0.22); border:1px solid #0a6040; color:#e8f5e0; font-family:'JetBrains Mono',monospace; font-size:0.8rem; cursor:pointer; -webkit-appearance:none; }
.amt-btn.active { border-color:#d4a030; color:#f0b84a; background-color:rgba(200,136,42,0.1); }
.donate-buttons { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:1rem; margin-bottom:1rem; }
.donate-note { font-family:'JetBrains Mono',monospace; font-size:0.7rem; color:#a0c8a0; line-height:1.8; }

/* ── Bewerbungsformular ── */
.apply-badge { display:inline-flex; align-items:center; gap:0.5rem; padding:0.4rem 1rem; background-color:rgba(200,136,42,0.1); border:1px solid #d4a030; font-family:'JetBrains Mono',monospace; font-size:0.7rem; color:#f0b84a; letter-spacing:0.08em; margin-bottom:1.5rem; }
.form-wrap { max-width:580px; margin-top:2.5rem; }
.form-group { margin-bottom:1.3rem; }
label { display:block; font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#a0c8a0; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.4rem; }
input, select, textarea { width:100%; padding:0.8rem 1rem; background-color:#ffffff; border:1px solid #0a6040; color:#1a1a1a; font-family:'Lora',serif; font-size:1rem; outline:none; -webkit-border-radius:0; border-radius:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a9e4a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; cursor:pointer; }
input:focus, select:focus, textarea:focus { border-color:#3a9e5a; }
textarea { height:100px; resize:vertical; }
.form-note { margin-top:0.8rem; font-size:0.85rem; color:#a0c8a0; font-style:italic; }

/* ── Über ── */
.about-grid { display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:3rem; margin-top:2.5rem; }
.about-text { -webkit-flex:1 1 300px; flex:1 1 300px; }
.about-text p { color:#a0c8a0; margin-bottom:1.2rem; font-size:1rem; }
.about-text strong { color:#e8f5e0; }
.facts { -webkit-flex:1 1 260px; flex:1 1 260px; }
.fact { padding:1.3rem; background-color:rgba(0,0,0,0.22); border-left:3px solid #0a7050; margin-bottom:1rem; }
.fact-num { font-family:'Playfair Display',serif; font-size:2.2rem; color:#6ee87e; line-height:1; margin-bottom:0.2rem; }
.fact p { color:#a0c8a0; font-size:0.9rem; }

/* ── Footer ── */
footer { padding:2.5rem 0; border-top:1px solid #0a6040; background-color:#024530; }
.footer-logo { font-family:'JetBrains Mono',monospace; font-size:0.85rem; color:#6ee87e; margin-bottom:0.5rem; }
.footer-info { font-family:'JetBrains Mono',monospace; font-size:0.7rem; color:#a0c8a0; line-height:2; }
.footer-info a { color:#6ee87e; text-decoration:none; }

/* ── Animationen ── */
@-webkit-keyframes pulse { 0%,100%{opacity:0.4} 50%{opacity:1} }
@keyframes pulse { 0%,100%{opacity:0.4} 50%{opacity:1} }

/* ── Hamburger ── */
.hamburger { display:none; -webkit-flex-direction:column; flex-direction:column; gap:5px; cursor:pointer; padding:6px 4px; background:none; border:none; z-index:101; }
.hamburger span { display:block; width:26px; height:2px; background:#e8f5e0; border-radius:2px; }

/* ── Layout ── */
.page-wrap { max-width:860px; margin:0 auto; padding:0 clamp(1.5rem,5vw,5rem); }
.section-inner { max-width:1100px; margin:0 auto; }
.mobile-menu { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(2,69,48,0.97); z-index:999; -webkit-flex-direction:column; flex-direction:column; -webkit-align-items:center; align-items:center; -webkit-justify-content:center; justify-content:center; gap:1.8rem; }
.mobile-menu a { font-family:'JetBrains Mono',monospace; font-size:1.1rem; color:#e8f5e0; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; }
.mobile-menu a:hover { color:#6ee87e; }
.mobile-menu-close { position:absolute; top:1.2rem; right:1.4rem; background:none; border:none; color:#e8f5e0; font-size:1.8rem; cursor:pointer; line-height:1; }
.mobile-lang { display:flex; gap:0.6rem; margin-top:1rem; align-items:center; }

/* ── Förderer-Hint ── */
.foerderer-hint-box { display:none; margin-top:0.75rem; padding:1rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #d4a030; }

/* ── Broschüre Block ── */
.broschuere-section { position:relative; overflow:hidden; }
.broschuere-img { width:100%; height:480px; object-fit:cover; object-position:center 30%; display:block; filter:brightness(0.85) saturate(1.0); }
.broschuere-overlay { position:absolute; top:0; left:0; right:0; bottom:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem clamp(1.5rem,5vw,5rem); background:linear-gradient(to bottom, rgba(20,31,20,0.3) 0%, rgba(20,31,20,0.6) 100%); }
.broschuere-label { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#d4a030; letter-spacing:0.25em; text-transform:uppercase; margin-bottom:1rem; }
.broschuere-captions { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; margin-bottom:1.5rem; }
.broschuere-captions span { font-family:'JetBrains Mono',monospace; font-size:0.75rem; color:#6ee87e; letter-spacing:0.08em; }
.broschuere-captions span::before { content:"·"; margin-right:0.5rem; color:#3a9e5a; }
.broschuere-captions span:first-child::before { content:""; margin-right:0; }
.broschuere-tagline { font-family:'Playfair Display',serif; font-size:1.9rem; font-weight:400; color:#ffffff; line-height:1.3; margin-bottom:2rem; max-width:620px; }
.broschuere-tagline em { font-style:italic; color:#6ee87e; }
.broschuere-btn { display:inline-flex; align-items:center; gap:0.6rem; padding:0.9rem 2rem; background-color:#0a7050; color:#ffffff; font-family:'JetBrains Mono',monospace; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; transition:background-color 0.2s; margin-bottom:0.8rem; }
.broschuere-btn:hover { background-color:#3a9e5a; }
.broschuere-note { font-family:'JetBrains Mono',monospace; font-size:0.65rem; color:#a0c8a0; letter-spacing:0.05em; }
/* Flaggen in Nav bei mittlerer Breite, Sidebar erst ab 900px */
@media (min-width:601px) and (max-width:899px) {
  #lang-flags-nav { display:flex; }
}
@media (min-width:900px) {
  #lang-sidebar { display:flex; }
}
@media (max-width:600px) {
  .broschuere-img { height:320px; }
  .broschuere-tagline { font-size:1.4rem; }
  .broschuere-captions { gap:0.8rem; flex-direction:column; align-items:center; }
}

/* ── Social Sharing Floating Bar ── */
.social-bar {
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:200;
  display:flex;
  flex-direction:column;
  gap:0;
}
.social-bar a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  background-color:rgba(2,69,48,0.92);
  border:1px solid #0a6040;
  border-right:none;
  color:#a0c8a0;
  text-decoration:none;
  transition:background-color 0.2s, color 0.2s;
  position:relative;
}
.social-bar a:first-child { border-top-left-radius:4px; }
.social-bar a:last-child  { border-bottom-left-radius:4px; }
.social-bar a:hover { background-color:#0a6040; color:#6ee87e; }
.social-bar a svg { width:18px; height:18px; fill:currentColor; }
.social-bar a .tip {
  position:absolute;
  right:48px;
  background:#0a6040;
  color:#e8f5e0;
  font-family:'JetBrains Mono',monospace;
  font-size:0.65rem;
  padding:3px 8px;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transition:opacity 0.15s;
}
.social-bar a:hover .tip { opacity:1; }

/* ── Checkbox fix ── */
input[type="checkbox"], input[type="radio"] {
  -webkit-appearance:auto;
  appearance:auto;
}

/* ── Node panel req list ── */
#node-req-list li {
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
  color:#a0c8a0;
  font-size:0.95rem;
  line-height:1.6;
}
#node-req-list li::before {
  content:"✓";
  color:#3a9e5a;
  font-family:'JetBrains Mono',monospace;
  font-size:0.8rem;
  margin-top:3px;
  flex-shrink:0;
}

/* ── Mobile ── */
@media (max-width:600px) {
  nav ul { display:none !important; }
  nav { padding:0.9rem 1.2rem; }
  .hamburger { display:-webkit-flex !important; display:flex !important; }
  #lang-flags-mobile-nav { display:flex; }
  .hero h1 { font-size:2.2rem; }
  .hero-img-wrap { height:72vw; min-height:220px; }
  .hero-content { margin-top:-4.5rem; padding:0 0 3rem; max-width:100%; }
  .page-wrap { margin-left:1.2rem; }
  h2 { font-size:1.9rem; }
  section { padding:2.5rem 1.2rem; }
  .flow-row { -webkit-flex-direction:column; flex-direction:column; }
  .flow-arrow { -webkit-transform:rotate(90deg); transform:rotate(90deg); }
  .social-bar { top:auto; bottom:0; right:0; left:0; transform:none; flex-direction:row; justify-content:center; border-top:1px solid #0a6040; }
  .social-bar a { width:48px; height:44px; border:none; border-right:1px solid #0a6040; border-radius:0; }
  .social-bar a:first-child { border-top-left-radius:0; }
  .social-bar a:last-child  { border-bottom-left-radius:0; border-right:none; }
  .social-bar a .tip { display:none; }
}
