/* 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%; }

/* nav/.hamburger/#lang-sidebar-Basisstile jetzt zentral in base.html (Aufräumen
   2026-08-02 -- diese Kopie war veraltet und hätte den neuen Mobile-Overflow-Fix
   in base.html überschrieben, siehe dortige @media(max-width:480px)). */
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::before {
  content:''; position:absolute; inset:0;
  background-image:url('https://www.openmyconet.de/mykorrhiza-tile.jpg');
  background-repeat:repeat; background-size:320px 320px;
  opacity:0.25; pointer-events:none; z-index:0;
}
.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:'Lora',Georgia,serif; font-size:0.75rem; color:#d4a030; letter-spacing:0.08em; 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; }

/* ── Playlist-Player-CSS jetzt zentral in base.html (Phase 4 Erweiterung 1d) ── */

/* ── Buttons ── */
.btn { display:inline-block; padding:0.85rem 1.5rem; font-family:'Lora',Georgia,serif; font-size:0.8rem; letter-spacing:0.04em; 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:'Lora',Georgia,serif; 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; }
/* aria-hidden (dekorative Nummerierung), aber Lighthouses color-contrast wertet
   das nicht als Ausschluss -> Farbe trotzdem auf >=3:1 (grosser Text) heben. */
.step-num { font-family:'JetBrains Mono',monospace; font-size:2rem; color:#4a8a68; 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 h3 { 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:'Lora',Georgia,serif; 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 NICHT hier ueberschreiben -- site-base.css setzt Farbe +
   Unterstrich (Link im Fliesstext muss ohne Farbe erkennbar bleiben). */

@-webkit-keyframes pulse { 0%,100%{opacity:0.4} 50%{opacity:1} }
@keyframes pulse { 0%,100%{opacity:0.4} 50%{opacity:1} }

.page-wrap { max-width:860px; margin:0 auto; padding:0 clamp(1.5rem,5vw,5rem); }
.section-inner { max-width:1100px; margin:0 auto; }

.foerderer-hint-box { margin-top:0.75rem; padding:1rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #d4a030; }

/* ── Broschüre-CSS jetzt auf medien.html (Phase 4 Erweiterung 1b) ── */
@media (min-width:601px) {
  #lang-sidebar { display:flex; }
}

/* ── 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; }

input[type="checkbox"], input[type="radio"] { -webkit-appearance:auto; appearance:auto; }

#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; }

@media (max-width:900px) {
  nav { padding:0.9rem 1.2rem; }
  .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; }
}

@keyframes hamburger-pulse {
  0%   { border-color:#0a6040; box-shadow: 0 0 0 0 rgba(110,232,126,0); }
  50%  { border-color:#6ee87e; box-shadow: 0 0 0 3px rgba(110,232,126,0.15); }
  100% { border-color:#0a6040; box-shadow: 0 0 0 0 rgba(110,232,126,0); }
}

.nav-tools { display:flex; align-items:center; gap:0.5rem; margin-left:auto; margin-right:1rem; }
.nav-tool-btn { background:none; border:none; padding:2px; cursor:pointer; display:flex; align-items:center; transition:opacity 0.2s, transform 0.2s; border-radius:12px; overflow:hidden; }
.nav-tool-btn:hover { opacity:0.85; transform:scale(1.05); }
.nav-tool-label { font-family:'Lora',Georgia,serif; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; color:#6ee87e; }
.nav-tool-label-faq { color:#d4a030; }
#omn-fab, #omn-faq-fab { display:none !important; }

/* ── Migration index.html Inline-Styles -> Klassen (CSP-Haertung, 4/N) ── */
.mg-cb-accent { width:auto; margin-top:3px; accent-color:#f0b84a; flex-shrink:0; }
.mg-imgband { position:relative; overflow:hidden; height:280px; }
.mg-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding-left:clamp(1.5rem,5vw,5rem); padding-right:clamp(1.5rem,5vw,5rem); }
.mg-cb-label { display:flex; align-items:flex-start; gap:0.6rem; cursor:pointer; text-transform:none; letter-spacing:0; font-size:0.85rem; color:#a0c8a0; }
.mg-section-pad-b { padding:2rem clamp(1.5rem,5vw,5rem) 3rem; }
.mg-section-pad-a { padding-top:3rem; padding-bottom:3rem; padding-left:clamp(1.5rem,5vw,5rem); padding-right:clamp(1.5rem,5vw,5rem); }
.mg-section-band { background-color:#024530; border-top:1px solid #0a6040; }
.mg-radio-accent { width:auto; accent-color:#f0b84a; }
.mg-bgimg-52 { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; filter:brightness(0.52) saturate(0.9); }
.mg-honeypot { position:absolute; left:-9999px; top:-9999px; }
.mg-mb-2 { margin-bottom:2rem; }
.mg-mono-hint { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#a0c8a0; line-height:1.7; }
.mg-radio-label { display:flex; align-items:center; gap:0.5rem; cursor:pointer; font-size:0.9rem; color:#e8f5e0; text-transform:none; letter-spacing:0; }
.mg-p-info { color:#e8f5e0; font-size:0.95rem; line-height:1.7; }
.mg-vision-app-card { flex:1 1 340px; padding:1.5rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #0a7050; }
.mg-vision-app-card--alt { border-left-color:#3a9e5a; }
.mg-vision-app-label { font-family:'Lora',Georgia,serif; font-size:0.75rem; color:#d4a030; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:0.75rem; }
.mg-vision-app-text { color:#e8f5e0; font-size:1rem; line-height:1.7; margin-bottom:0.5rem; }
.mg-vision-app-italic { color:#a0c8a0; font-size:0.9rem; font-style:italic; }
.mg-vision-app-italic--alt { color:#6ee87e; }
/* Einzelfaelle (je genau ein Auftreten im Markup) — Klassennamen fortlaufend, Werte 1:1 aus dem Original-style-Attribut übernommen. */
.ic-1 { display:flex; align-items:center; text-decoration:none; }
.ic-2 { height:52px; width:auto; display:block; }
.ic-3 { padding:0; background-color:#024530; }
.ic-4 { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; filter:brightness(0.72) saturate(0.9); }
.ic-5 { position:absolute; bottom:0; left:0; right:0; height:180px; background:linear-gradient(to top, #024530 0%, transparent 100%); }
.ic-6 { width:100%; max-width:100%; height:160px; position:relative; margin-bottom:1.5rem; overflow:hidden; }
.ic-7 { width:100%; height:100%; display:block; max-width:100%; }
.ic-8 { border:1px solid #d4a030; color:#d4a030; background:transparent; cursor:pointer; }
.ic-9 { cursor:pointer;border:1px solid #6ee87e;color:#6ee87e;background:transparent; }
.ic-10 { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; filter:brightness(0.55) saturate(0.9); }
.ic-11 { padding:2rem clamp(1.5rem,5vw,5rem) 1.5rem; }
.ic-12 { color:#e8f5e0; font-size:1.15rem; line-height:1.85; margin-bottom:1.5rem; }
.ic-13 { color:#a0c8a0; font-size:1.05rem; line-height:1.85; margin-bottom:1.5rem; }
.ic-14 { margin:1.5rem 0 2.5rem; padding:1.4rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #d4a030; }
.ic-15 { color:#e8f5e0; font-size:1rem; line-height:1.75; margin-bottom:0.9rem; }
.ic-16 { color:#a0c8a0; font-size:0.95rem; line-height:1.7; margin-bottom:1.5rem; max-width:700px; }
.ic-17 { display:flex; flex-wrap:wrap; gap:1rem; margin-top:0.5rem; }
.ic-18 { margin-top:1.5rem; padding:1rem 0 0; border-top:1px solid #0a6040; }
.ic-19 { margin-top:1rem; color:#a0c8a0; font-size:0.9rem; }
.ic-20 { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; filter:brightness(0.50) saturate(0.85); }
.ic-21 { background-color:#012a1e; border-top:1px solid #0a6040; padding:3rem clamp(1.5rem,5vw,5rem); }
.ic-22 { color:#a0c8a0; font-size:1rem; line-height:1.8; max-width:760px; margin-top:1rem; }
.ic-23 { color:#e8f5e0; font-style:italic; font-size:0.95rem; margin-top:1rem; }
.ic-24 { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.8rem; }
.ic-25 { margin-top:1.5rem; color:#a0c8a0; font-size:0.9rem; max-width:700px; }
.ic-26 { background-color:#024530; border-top:1px solid #0a6040; padding-top:3rem; padding-bottom:3rem; padding-left:clamp(1.5rem,5vw,5rem); padding-right:clamp(1.5rem,5vw,5rem); }
.ic-27 { margin-top:1.5rem; margin-bottom:2rem; max-width:640px; }
.ic-28 { color:#b0d4b0; font-size:0.95rem; line-height:1.7; margin-bottom:1.2rem; }
.ic-29 { display:inline-flex; align-items:center; gap:0.6rem; font-size:0.85rem; padding:0.9rem 2rem; background:#0a7050; border:1px solid #6ee87e; color:#fff; text-decoration:none; }
.ic-30 { display:inline-flex; align-items:center; gap:0.6rem; font-size:0.85rem; padding:0.9rem 2rem; background:transparent; border:1px solid #d4a030; color:#f0b84a; text-decoration:none; }
.ic-31 { display:flex; flex-wrap:wrap; gap:1rem; margin-top:0.5rem; margin-bottom:1.5rem; }
.ic-32 { display:flex; align-items:center; justify-content:center; width:160px; height:100px; background:#ffffff; border-radius:4px; margin-bottom:0.7rem; overflow:hidden; }
.ic-33 { max-width:100%; max-height:100%; object-fit:contain; display:block; }
.ic-34 { font-family:'Playfair Display',serif; font-size:1.1rem; color:#ffffff; margin-bottom:0.3rem; }
.ic-35 { font-family:'JetBrains Mono',monospace; font-size:0.68rem; color:#a0c8a0; margin-bottom:0.6rem; line-height:1.55; }
.ic-36 { display:flex; justify-content:space-between; align-items:center; }
.ic-37 { font-family:'JetBrains Mono',monospace; font-size:0.63rem; color:#d4a030; letter-spacing:0.08em; text-transform:uppercase; }
.ic-38 { font-family:'JetBrains Mono',monospace; font-size:0.6rem; color:#6ee87e; }
.ic-39 { display:block; flex:1 1 240px; padding:1.3rem 1.5rem; background-color:rgba(0,0,0,0.22); border:1px solid #0a6040; border-left:3px solid #0a7050; text-decoration:none; transition:border-color 0.2s; }
.ic-40 { flex:1 1 240px; padding:1.3rem 1.5rem; background-color:rgba(0,0,0,0.22); border:1px solid #0a6040; border-left:3px solid #0a7050; }
.ic-41 { margin-bottom:1.4rem; padding:0.9rem 1rem; border:1px solid #0a6040; background:rgba(0,0,0,0.18); font-family:'JetBrains Mono',monospace; font-size:0.75rem; color:#a0c8a0; }
.ic-42 { display:flex; align-items:flex-start; gap:10px; cursor:pointer; line-height:1.6; }
.ic-43 { margin-top:3px; accent-color:#6ee87e; width:15px; height:15px; flex-shrink:0; }
.ic-44 { color:#f0b84a; }
.ic-45 { display:inline-flex;align-items:center;gap:0.5rem; }
.ic-46 { text-align:center; margin-top:0.5rem; font-style:italic; color:#e8f5e0; }
.ic-47 { color:#f0b84a; font-family:'Lora',Georgia,serif; font-size:0.85rem; margin-bottom:0.5rem; }
.ic-48 { display:inline-block; padding:0.6rem 1.4rem; background:transparent; color:#f0b84a; border:1px solid #d4a030; font-family:'Lora',Georgia,serif; font-size:0.8rem; letter-spacing:0.04em; text-transform:uppercase; text-decoration:none; }
.ic-49 { color:#a0c8a0; font-size:0.8rem; margin-top:0.5rem; font-style:italic; }
.ic-50 { height:80px; }
.ic-51 { color:#a0c8a0; font-size:0.85rem; line-height:1.7; margin-top:0.5rem; }
.ic-52 { padding:1.2rem; background-color:rgba(0,0,0,0.28); border:1px solid #0a6040; border-left:3px solid #6ee87e; }
.ic-53 { font-family:'JetBrains Mono',monospace; font-size:0.8rem; color:#6ee87e; margin-bottom:0.9rem; }
.ic-54 { margin:1rem 0 1.2rem; padding:0.8rem 1rem; background-color:#024530; border-left:2px solid #0a7050; }
.ic-55 { position:fixed; top:0; left:0; right:0; bottom:0; z-index:1000; background:rgba(2,69,48,0.97); overflow-y:auto; padding:2rem clamp(1.5rem,5vw,4rem); }
.ic-56 { position:fixed; top:1.2rem; right:1.4rem; background:none; border:none; color:#e8f5e0; font-size:1.8rem; cursor:pointer; z-index:1001; line-height:1; }
.ic-57 { max-width:680px; margin:0 auto; padding-top:3rem; }
.ic-58 { font-family:'Lora',Georgia,serif; font-size:0.72rem; color:#d4a030; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.8rem; }
.ic-59 { padding:1.2rem 1.4rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #d4a030; margin-bottom:1.2rem; }
.ic-60 { padding:1.2rem 1.4rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #f0b84a; margin-bottom:2rem; }
.ic-61 { font-family:'Lora',Georgia,serif; font-size:0.75rem; color:#d4a030; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:1rem; }
.ic-62 { list-style:none; padding:0; display:flex; flex-direction:column; gap:0.5rem; }
.ic-63 { margin-top:1rem; padding:0.8rem 1rem; background-color:rgba(0,0,0,0.28); border-left:3px solid #0a7050; }
.ic-64 { color:#6ee87e; font-size:0.9rem; font-family:'JetBrains Mono',monospace; }
.ic-65 { display:flex; gap:0.6rem; }
.ic-66 { flex:1; }
.ic-67 { flex:0 0 auto; padding:0 1rem; background:transparent; color:#f0b84a; border:1px solid #d4a030; cursor:pointer; }
.ic-68 { font-size:0.75rem; color:#a0c8a0; margin-top:0.4rem; }
.ic-69 { font-size:0.75rem; color:#e88; margin-top:0.4rem; }
.ic-70 { height:220px; margin-top:0.6rem; border:1px solid #0a6040; }
.ic-71 { height:130px; }
.ic-72 { margin:1rem 0 1.5rem; padding:0.8rem 1rem; background-color:#024530; border-left:2px solid #0a7050; }
.ic-73 { width:100%; }
.ic-74 { margin-top:1.5rem; display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.ic-75 { cursor:pointer; border:1px solid #6ee87e; color:#6ee87e; background:transparent; }
.ic-76 { position:fixed; bottom:1.4rem; right:1.2rem; z-index:890; width:44px; height:44px; border-radius:50%; background-color:#0a7050; border:1px solid #0a6040; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,0.5); transition:background-color 0.2s, opacity 0.25s; opacity:0; pointer-events:none; }
.ic-76.is-visible { opacity:1; pointer-events:auto; }
.ic-77 { width:18px; height:18px; fill:#ffffff; }

/* ── CSP-Haertung: Zustands-Klassen statt element.style.x = ... ────────────── */
/* #lang-sidebar sitzt auf Desktop knapp ueber der Social-Bar (7 Icons a 42px,
   vertikal zentriert -> Oberkante bei calc(50% - 147px)); ersetzt das
   fruehere JS-Repositioning in base.html. */
@media (min-width: 901px) {
  #lang-sidebar { top:auto; transform:none; bottom:calc(50% + 147px); }
}
/* Registrierungsformular: bei Rolle "Foerderer" abgedimmt (statt .style.opacity je Feld) */
#reg-form.is-foerderer input,
#reg-form.is-foerderer textarea,
#reg-form.is-foerderer #reg-btn { opacity:0.3; }
/* Formular-Buttons: Zustandsfarbe nach dem Absenden (statt .style.backgroundColor) */
.btn.btn-state-ok  { background-color:#3a9e5a; }
.btn.btn-state-err { background-color:#8b2020; }
/* Node-Bewerbung: Erfolgsmeldung mehrzeilig (statt 5x .style.*) */
.btn.btn-state-ok-multiline { background-color:#3a9e5a; font-size:0.75rem; height:auto; white-space:normal; line-height:1.5; padding:1rem; }
