/* DAV Chemnitz – Sportklettern Mockup (leicht in DAV360 nachbaubar)
   - Layout via einfache .container / .grid Klassen
   - Keine Frameworks, nur CSS Grid/Flex
*/
:root{
  --green:#2f6b3f;
  --green-2:#3a7d4e;
  --red:#9b2b2b;
  --bg:#f5f7f6;
  --card:#ffffff;
  --text:#1b1f1d;
  --muted:#5b6760;
  --border:#d9e1dc;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --radius:14px;
  --max:1100px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border-radius:12px}
small{color:var(--muted)}

.header{
  background:#fff;border-bottom:1px solid var(--border);
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:14px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.brand{display:flex;align-items:center;gap:10px}
.brand-badge{
  width:34px;height:34px;border-radius:10px;background:var(--green);
}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{color:var(--text);padding:8px 10px;border-radius:10px}
.nav a:hover{background:#eef3ef;text-decoration:none}

.container{max-width:var(--max);margin:0 auto;padding:22px 18px}
.hero{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-inner{
  display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch;
}
.hero-content{padding:28px}
.hero h1{margin:0 0 10px;font-size:38px;line-height:1.08}
.hero p{margin:0;color:var(--muted);font-size:16px;max-width:62ch}
.hero-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  background:#fff;color:var(--text);font-weight:600;
}
.btn:hover{background:#f0f5f1;text-decoration:none}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:hover{background:var(--green-2)}
.hero-media{
  min-height:240px;background:linear-gradient(135deg,#e7efe9,#f2f6f3);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.hero-media .media-note{
  border:1px dashed var(--border);border-radius:12px;padding:14px 16px;background:#fff;
  color:var(--muted);max-width:360px;text-align:center;
}

.section{margin-top:18px}
.section-title{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:18px 0 10px;
}
.section-title h2{margin:0;font-size:24px}
.section-title p{margin:0;color:var(--muted);font-size:14px}

.grid{display:grid;gap:14px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width: 920px){
  .hero-inner{grid-template-columns:1fr}
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-2{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}

.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;
}
.card-body{padding:16px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;border:1px solid var(--border);
  background:#f0f5f1;color:var(--green);font-weight:700;font-size:12px;
}
.badge.red{background:#fbefef;color:var(--red);border-color:#f0d1d1}
.badge.gray{background:#eef1ef;color:#3b4841}
.card h3{margin:10px 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:14px}

.split{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
@media (max-width: 920px){ .split{grid-template-columns:1fr} }

.callout{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 16px;box-shadow:var(--shadow);
}
.callout h3{margin:0 0 8px}
.list{margin:0;padding-left:18px;color:var(--muted)}
.list li{margin:6px 0}

.footer{
  margin-top:24px;padding:18px;background:#fff;border-top:1px solid var(--border);
}
.footer-inner{max-width:var(--max);margin:0 auto;padding:0 18px;color:var(--muted);font-size:13px}
hr.sep{border:none;border-top:1px solid var(--border);margin:14px 0}
