*{box-sizing:border-box}
:root{--bg:#111;--fg:#eaeaea;--muted:#cfcfcf;--accent:#ff2a2a;--panel:#1b1b1b;--line:#2a2a2a}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,Segoe UI,Roboto,Arial}
a{color:#9cd3ff;text-decoration:none}a:hover{opacity:.9}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

.site-header{position:sticky;top:0;background:#0f0f0f;border-bottom:1px solid var(--line);z-index:20}
.site-header .logo{color:#fff;font-weight:800;margin-right:auto}
.site-header nav ul{display:flex;gap:12px;list-style:none;margin:0;padding:14px 0;align-items:center}
.site-header nav a{display:inline-block;padding:8px 12px;border-radius:10px}
.site-header nav a.btn{background:var(--accent);color:#fff}
.site-header nav a.btn-outline{border:1px solid var(--accent);color:var(--accent)}
.site-header nav a.active{border-bottom:2px solid var(--accent)}

.sub-hero{
  position:relative;
  height:55vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.sub-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.1));
}
.sub-hero .inner{
  position:relative;
  z-index:1;
  background:rgba(0,0,0,.3);
  padding:18px 22px;
  border-radius:14px;
  max-width:900px;
}
.sub-hero h1{margin:6px 0 4px}
.kicker{letter-spacing:.12em;text-transform:uppercase;color:#ddd;font-size:.8rem}
.lead{color:#ddd;margin-top:.4rem}

/* Hero-Bilder – ohne fixed, fixed kommt nur auf Desktop */
.home-hero{background:url('home-hero.jpg') center/cover no-repeat}
.aktuell-hero{background:url('aktuell-hero.jpg') center/cover no-repeat}
.schulung-hero{background:url('schulung-hero.jpg') center/cover no-repeat}
.munition-hero{background:url('munition-hero.jpg') center/cover no-repeat}

/* eigenes Hero für Waffensachkunde */
.waffen-hero{
  background-image:url('waffensachkunde-hero.jpg');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin:24px 0;
}
.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
}
.badge{
  display:inline-block;
  padding:2px 8px;
  border:1px solid #0f0;
  color:#0f0;
  border-radius:999px;
  font-size:.78rem;
  margin-bottom:6px;
}

.timeline{margin:18px 0;border-left:2px solid var(--line);padding-left:14px}
.timeline .step{margin:10px 0}
.callout{
  background:linear-gradient(90deg,rgba(255,0,0,.12),rgba(255,0,0,.06));
  border:1px solid rgba(255,0,0,.25);
  padding:14px;
  border-radius:12px;
  text-align:center;
  margin:20px 0;
}
.cta{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  padding:8px 14px;
  border-radius:10px;
  margin-top:8px;
}

.footer{
  background:#2b2b2b;
  border-top:1px solid var(--line);
  margin-top:24px;
}
.footer .cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  padding:26px 0;
}
.footer h4{margin:0 0 8px}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin:6px 0}

.footer-links{
  text-align:center;
  padding:10px 0;
  border-top:1px solid var(--line);
  background:#151515;
}
.footer-links a{color:#ff6e6e}
small.muted{color:var(--muted)}

main.container{padding:26px 16px}
form input,form textarea,form button{
  width:100%;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#0f0f0f;
  color:#fff;
}
form textarea{min-height:180px}
form button{
  background:var(--accent);
  border:none;
  margin-top:8px;
}

/* --- Dropdown under Shop --- */
nav ul{position:relative}
nav li.has-dropdown{position:relative}
nav li.has-dropdown > a{display:inline-block}
nav li.has-dropdown .dropdown{
  position:absolute;
  left:0;
  top:100%;
  display:none;
  min-width:220px;
  background:#1b1b1b;
  border:1px solid #2a2a2a;
  border-radius:10px;
  padding:10px 0;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:50;
}
nav li.has-dropdown:hover .dropdown{display:block}
nav li.has-dropdown .dropdown li{list-style:none;margin:0}
nav li.has-dropdown .dropdown a{
  display:block;
  padding:10px 14px;
  text-decoration:none;
  color:var(--fg);
  white-space:nowrap;
}
nav li.has-dropdown .dropdown a:hover{
  background:#242424;
  color:#fff;
}
/* Space so the hero doesn't jump behind dropdown */
header{position:relative;z-index:1}

/* --- Brand repositioning & style --- */
.site-header{background:#121212;border-bottom:1px solid #222}
.site-header .container{
  position:relative;
  padding:14px 0 8px 0;
}

/* ⭐ Hier ist der neue rote Schriftzug ⭐ */
.site-header .brand{
  position:absolute;
  left:-80px;
  top:22px;
  font-size:28px;
  font-weight:800;
  letter-spacing:.3px;
  text-decoration:none;

  /* Metallic-Rot passend zu Buttons (#ff2a2a) */
  background: linear-gradient(135deg,
    #5c0d0d 0%,
    #a81515 18%,
    #ff2a2a 40%,
    #ff5454 58%,
    #c21818 78%,
    #6d0f0f 100%
  );

  background-size:200% auto;
  background-position:0 0;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,0.18),
               0 8px 24px rgba(0,0,0,0.35);
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));
}

/* prevent overlap with nav */
.site-header nav{padding-left:340px}

/* hover shimmer */
.site-header .brand:hover{
  opacity:.98;
  background-position:120% 0;
  transition:background-position .8s ease;
}

/* --- Footer contact centering --- */
.footer .container{
  justify-content:flex-start;
  text-align:left;
}
.footer .container > div{
  max-width:520px;
  margin-left:clamp(160px,24vw,360px);
}

/* Guard: remove bullets in any nav list */
nav ul{list-style:none}

/* ---- Parallax nur auf Desktop ---- */
@media (min-width: 901px){
  .home-hero,
  .aktuell-hero,
  .schulung-hero,
  .munition-hero,
  .waffen-hero{
    background-attachment:fixed;
  }
}

/* ------------------------
   MOBILE FIX – Bilder korrekt anzeigen
------------------------- */
@media (max-width: 900px){

  .sub-hero{
    height:40vh;
  }

  .waffen-hero{
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    background-color:#000;
  }
}

/* ------------------------
   LOGO: Zweizeilig auf Handy
------------------------- */
@media (max-width: 900px){
  .site-header .logo,
  header .logo {
    white-space: normal !important;
    text-overflow: unset !important;
    overflow: visible !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }
}