/* ==== Base ==== */
:root{
  --bg:#0b1015;
  --fg:#e8ecef;
  --muted:#a6b0bb;
  --accent:#e6b34a; /* warm yellow for headings */
  --brand:#e0422e;  /* red accent */
  --ok:#35c684;     /* green for status up */
  --border:#1b2633;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: Outfit, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height:1.6;
}

/* ==== Layout ==== */
.container{max-width:1100px; margin:0 auto; padding:0 16px}
.site-header{position:sticky; top:0; z-index:50; backdrop-filter: blur(8px); background:#0b1015cc; border-bottom:1px solid var(--border)}
.nav{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--fg); font-weight:700}
.brand .logo-mark{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:8px; background:linear-gradient(180deg, #21303f, #14202b); border:1px solid var(--border); font-weight:800}
.brand-name{letter-spacing:.3px}

.menu{display:flex; gap:18px}
.menu a{color:var(--fg); text-decoration:none; opacity:.9}
.menu a:hover{opacity:1; text-decoration:underline}
.burger{display:none; background:transparent; border:1px solid var(--border); border-radius:10px; padding:8px}
.burger span{display:block; width:22px; height:2px; background:#cad3dd; margin:4px 0}
.mobile-nav{display:grid; gap:10px; padding:10px 16px; border-bottom:1px solid var(--border); background:#0b1015}

/* ==== Hero ==== */
.hero{
  position:relative; min-height:56vh; display:grid; align-items:end;
  background-image: linear-gradient(180deg, #0b101580 0%, #0b1015 75%), url('background.png');
  background-size: cover; background-position:center;
  border-bottom:1px solid var(--border);
}

.hero-overlay{position:absolute; inset:0; background: radial-gradient(1000px 500px at 15% 10%, rgba(0,0,0,.35), transparent)}
.hero-inner{position:relative; padding:64px 0}
.hero h1{font-size: clamp(32px, 5vw, 54px); line-height:1.1; margin:0 0 8px; font-weight:800; color:var(--accent); text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero h1 span{color:#fff}
.lead{max-width:760px; color:var(--fg); opacity:.9; margin:0 0 18px}
.cta-row{display:flex; gap:10px; flex-wrap:wrap}
.btn{display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:12px; text-decoration:none; font-weight:700; border:1px solid var(--border)}
.btn.primary{background: linear-gradient(180deg, #e2543d, #c53b27); border-color:#8c2c20; box-shadow: 0 10px 30px -15px rgba(226,84,61,.6)}
.btn.ghost{background:transparent; color:#e6edf5}
.btn.success{background: linear-gradient(180deg, #2fbf7a, #239a62); border-color:#1b7249}

/* ==== Sections ==== */
.main{padding:28px 0 60px}
.grid{display:grid; gap:16px}
.grid.two{grid-template-columns: 1fr}
@media (min-width: 860px){ .grid.two{grid-template-columns: 1fr 1fr}}
.card{background: linear-gradient(180deg, #0f151c, #0a1016); border:1px solid var(--border); border-radius:16px; padding:18px}
.card h2{margin:6px 0 10px; font-size:22px; color:#ffe3ab}
.card.accent{outline:1px dashed #334454}
.small{font-size:.92rem}
.muted{color:var(--muted)}

.checklist{padding-left:18px}
.checklist li{margin:6px 0}

.kv{display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:10px}
.kv > div{display:flex; align-items:center; justify-content:space-between; background:#0c141c; border:1px solid var(--border); border-radius:12px; padding:10px 12px}
.kv span{color:var(--muted); font-size:.95rem}
.kv code{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; padding:2px 6px; background:#0a1118; border:1px solid var(--border); border-radius:8px}

.status-line{display:flex; align-items:center; gap:10px}
.dot{width:10px; height:10px; border-radius:999px; background:#c43d2a; box-shadow:0 0 0 3px rgba(196,61,42,.25)}
.dot.up{background:var(--ok); box-shadow:0 0 0 3px rgba(53,198,132,.25)}

.news{padding-left:18px}
.news li{margin:6px 0}

/* ==== Spenden ==== */
.donate-grid{display:grid; gap:10px; grid-template-columns:1fr}
@media (min-width:700px){ .donate-grid{grid-template-columns:repeat(3,1fr)}}
.donate button{width:100%}
.donate.custom{display:flex; gap:10px; margin-top:10px}
.donate.custom input{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid var(--border);
  background:#0a1118; color:var(--fg)
}

/* ==== Footer ==== */
.footer{border-top:1px solid var(--border); padding:18px 0; background:#0a0f14}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:10px}
.footer-nav{display:flex; gap:14px}
.footer a{color:var(--muted); text-decoration:none}
.footer a:hover{text-decoration:underline}

/* ==== Responsive ==== */
@media (max-width:860px){
  .menu{display:none}
  .burger{display:inline-flex}
}
