/*
Theme Name: Feuerwehr Campus
Theme URI: https://feuerwehr-campus.de
Author: Feuerwehr Campus
Description: Das offizielle E-Learning Theme fuer Feuerwehrangehoerige.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: feuerwehr-campus
*/

:root {
  --fire-red: #CC1100;
  --fire-orange: #FF6600;
  --black: #0A0A0A;
  --dark: #111111;
  --dark2: #1A1A1A;
  --dark3: #222222;
  --surface: #2A2A2A;
  --border: #333333;
  --text: #F0F0F0;
  --text-muted: #999999;
  --success: #22C55E;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Source Sans 3',sans-serif; background:var(--black); color:var(--text); overflow-x:hidden; }
html { scroll-behavior:smooth; }
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--fire-red); border-radius:3px; }
.alert-bar { background:var(--fire-red); padding:8px 20px; text-align:center; font-size:13px; letter-spacing:1px; display:flex; align-items:center; justify-content:center; gap:10px; animation:pulsebar 3s infinite; }
@keyframes pulsebar { 0%,100%{background:var(--fire-red)} 50%{background:#E01500} }
.alert-bar .dot { width:8px; height:8px; background:#fff; border-radius:50%; animation:blink 1s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
.site-header { background:rgba(10,10,10,0.96); border-bottom:2px solid var(--fire-red); padding:0 30px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:99; height:70px; backdrop-filter:blur(10px); }
.site-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.logo-icon { width:44px; height:44px; background:var(--fire-red); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:22px; }
.logo-text .main { font-family:'Oswald',sans-serif; font-size:20px; font-weight:700; color:var(--text); }
.logo-text .sub { font-size:11px; color:var(--fire-orange); letter-spacing:2px; text-transform:uppercase; }
.main-navigation ul { list-style:none; display:flex; gap:6px; }
.main-navigation a { color:var(--text-muted); text-decoration:none; font-size:14px; font-weight:600; padding:8px 14px; border-radius:4px; transition:all 0.2s; }
.main-navigation a:hover { color:var(--text); background:var(--surface); }
.btn { font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:1px; padding:9px 22px; border-radius:4px; cursor:pointer; border:none; transition:all 0.2s; text-decoration:none; display:inline-flex; align-items:center; gap:7px; }
.btn-primary { background:var(--fire-red); color:#fff; }
.btn-primary:hover { background:#E01500; transform:translateY(-1px); }
.btn-secondary { background:transparent; color:var(--text-muted); border:1px solid var(--border); }
.btn-secondary:hover { border-color:var(--fire-red); color:var(--text); }
.btn-sm { padding:6px 14px; font-size:12px; }
.hero { padding:100px 30px 80px; text-align:center; background:radial-gradient(ellipse 120% 60% at 50% 110%, rgba(204,17,0,0.08) 0%, transparent 70%), var(--black); }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(204,17,0,0.1); border:1px solid rgba(204,17,0,0.3); border-radius:20px; padding:6px 16px; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--fire-orange); margin-bottom:30px; }
.hero h1 { font-family:'Oswald',sans-serif; font-size:clamp(42px,7vw,82px); font-weight:700; line-height:1.05; letter-spacing:-1px; margin-bottom:24px; max-width:900px; margin-left:auto; margin-right:auto; }
.hero h1 .accent { color:var(--fire-red); }
.hero p { font-size:18px; color:var(--text-muted); max-width:580px; margin:0 auto 40px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:60px; }
.hero-stats { display:flex; gap:50px; justify-content:center; flex-wrap:wrap; padding-top:50px; border-top:1px solid var(--border); }
.stat .number { font-family:'Oswald',sans-serif; font-size:36px; font-weight:700; color:var(--fire-red); display:block; }
.stat .label { font-size:13px; color:var(--text-muted); }
.wp-section { padding:80px 30px; }
.container { max-width:1200px; margin:0 auto; }
.section-header { text-align:center; margin-bottom:60px; }
.section-tag { font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--fire-red); margin-bottom:12px; }
.section-header h2 { font-family:'Oswald',sans-serif; font-size:clamp(28px,4vw,44px); font-weight:700; margin-bottom:14px; }
.section-header p { color:var(--text-muted); max-width:520px; margin:0 auto; line-height:1.7; }
.features-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.feature-card { background:var(--dark2); border:1px solid var(--border); border-radius:10px; padding:28px; transition:all 0.3s; position:relative; overflow:hidden; }
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--fire-red),var(--fire-orange)); opacity:0; transition:opacity 0.3s; }
.feature-card:hover { border-color:rgba(204,17,0,0.4); transform:translateY(-2px); }
.feature-card:hover::before { opacity:1; }
.feature-icon { width:48px; height:48px; background:rgba(204,17,0,0.15); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px; }
.feature-card h3 { font-family:'Oswald',sans-serif; font-size:18px; margin-bottom:10px; }
.feature-card p { color:var(--text-muted); font-size:14px; line-height:1.6; }
.modules-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.module-card { background:var(--dark2); border:1px solid var(--border); border-radius:10px; overflow:hidden; transition:all 0.3s; }
.module-card:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(0,0,0,0.4); border-color:rgba(204,17,0,0.3); }
.module-thumb { height:120px; display:flex; align-items:center; justify-content:center; font-size:48px; }
.module-thumb.open { background:linear-gradient(135deg,rgba(204,17,0,0.2),rgba(139,0,0,0.3)); }
.module-thumb.locked { background:var(--dark3); }
.module-info { padding:18px; }
.module-info h4 { font-family:'Oswald',sans-serif; font-size:16px; margin-bottom:8px; }
.module-info p { font-size:13px; color:var(--text-muted); margin-bottom:14px; line-height:1.5; }
.module-meta { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--text-muted); }
.badge { padding:3px 10px; border-radius:12px; font-size:11px; font-weight:600; }
.badge-open { background:rgba(34,197,94,0.15); color:var(--success); }
.badge-locked { background:rgba(255,255,255,0.05); color:var(--text-muted); }
.qual-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.qual-item { background:var(--dark2); border:1px solid var(--border); border-radius:8px; padding:20px; display:flex; align-items:center; gap:14px; }
.qual-badge { min-width:40px; height:40px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif; font-size:12px; font-weight:700; }
.qs0{background:var(--dark3);border:1px solid var(--border)}
.qs1{background:#1E40AF}
.qs2{background:#065F46}
.qs3{background:#7C3AED}
.gf{background:var(--fire-red)}
.zf{background:#92400E}
.lf{background:#0F172A;border:1px solid var(--fire-orange)}
.vf{background:linear-gradient(135deg,var(--fire-red),#8B0000)}
.qual-info strong { font-size:14px; font-family:'Oswald',sans-serif; display:block; }
.qual-info span { font-size:12px; color:var(--text-muted); }
.org-types { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:20px; }
.org-badge { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:6px 16px; font-size:13px; color:var(--text-muted); }
.org-badge.active { background:rgba(204,17,0,0.1); border-color:rgba(204,17,0,0.4); color:var(--text); }
.wp-divider { height:1px; background:linear-gradient(90deg,transparent,var(--border),transparent); margin:0 30px; }
.site-footer { background:var(--dark3); border-top:1px solid var(--border); padding:50px 30px 30px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; max-width:1200px; margin:0 auto 40px; }
.footer-brand p { font-size:14px; color:var(--text-muted); line-height:1.7; margin-top:14px; max-width:280px; }
.footer-col h4 { font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px; }
.footer-col ul { list-style:none; }
.footer-col ul li a { color:var(--text-muted); text-decoration:none; font-size:14px; line-height:2; transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--fire-red); }
.footer-bottom { max-width:1200px; margin:0 auto; padding-top:20px; border-top:1px solid var(--border); display:flex; justify-content:space-between; font-size:13px; color:var(--text-muted); flex-wrap:wrap; gap:10px; }
.wp-content { max-width:900px; margin:0 auto; padding:60px 30px; }
.wp-content h1,.wp-content h2 { font-family:'Oswald',sans-serif; margin-bottom:16px; }
.wp-content p { color:var(--text-muted); line-height:1.7; margin-bottom:16px; }
.wp-content a { color:var(--fire-red); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:5px; background:none; border:none; }
.hamburger span { width:24px; height:2px; background:var(--text); border-radius:2px; }
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.site-header{padding:0 16px}.main-navigation{display:none}.hamburger{display:flex}.wp-section{padding:60px 16px}.hero{padding:70px 16px 60px}.footer-grid{grid-template-columns:1fr}.hero-stats{gap:30px}}