body {
  font-family: sans-serif;
  background-color: #2f2d2d;
  color: #fcfcfc;
  margin: 0;
}

/* --- Struktur --- */
.container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap; /* Wichtig für kleine Displays */
}
.main{  display: flex;
  flex-direction: row;
  justify-content: center;
}
.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap; /* Neu: Elemente umbrechen */
}

header h1 {
  text-align: center;
}

#alive {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
}

.is-post {
  padding-left: 10px;
  text-align: center;
}

.is-post h3 {
  text-align: center;
}

.leistungen {
  padding: 5px;
}

.kontakt {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#copyright {

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin:  5%;
  padding-top: 3%;
  text-decoration: none;
  border-top: 1px solid #fcfcfc;

}
.footer {
margin: 1%;

}

/* --- Navigation --- */
nav {
  border-bottom: 1px solid #fcfcfc;
}

.navigation ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  list-style: none;
  margin-top: 1em;
  padding: 0;
  flex-wrap: wrap; /* Neu: Zeilenumbruch für schmale Displays */
}

.navigation a {
  text-decoration: none;
  align-content: center;
  padding: 1em;
  color: #fcfcfc;
  display: block;
}

.navigation a:hover {
  color: #fc7c10;
}

.logo {
  text-decoration: none;
}

.links  a {
  color: #fcfcfc;
  text-decoration: none;

}
#agb{
  text-align: center;
  margin:5%;
}
#agb:hover{
  color: #fc7c10;
}
/*  :root{ --bg:#0f1724; --card:#0b1220; --accent:#06b6d4; }*/
.slider{margin-left:10%; padding:1%; width:80%; max-width:900px; background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.05)); border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(2,6,23,0.7)}
.slides{position:relative; height:56vw; max-height:560px; min-height:240px; display:flex;}
.slide{position:absolute; inset:0; opacity:0; transform:scale(1.02); transition:opacity .6s ease, transform .6s ease; display:flex; align-items:center; justify-content:center}
.slide img{width:100%; height:100%; object-fit:cover; display:block}
.slide.active{opacity:1; transform:scale(1)}

/* controls*/
.controls{left:0; right:0; top:0; bottom:0; display:flex; align-items:center; justify-content:space-between; padding:0 12px}
.btn{background:rgba(0,0,0,0.35); border:1px solid rgba(255,255,255,0.03); color:#fff; width:44px; height:44px; border-radius:8px; display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(4px)}
.btn:active{transform:scale(.98)}

/* pagination dots */
.dots{display:flex; gap:8px; position: absolute; left:50%; transform:translateX(-50%);}
.dot{width:12px; height:12px; border-radius:999px; background:rgba(255,255,255,0.18); cursor:pointer; border:1px solid rgba(255,255,255,0.04)}
.dot.active{background:var(--accent); box-shadow:0 4px 10px rgba(6,182,212,0.18)}
/* caption */
.caption{position:absolute; left:18px; bottom:18px; background:linear-gradient(90deg, rgba(0,0,0,0.5), rgba(255,255,255,0.02)); padding:10px 14px; border-radius:8px; max-width:70%; backdrop-filter:blur(4px)}
.caption h3{margin:0 0 4px 0; font-size:16px}
.caption p{margin:0; font-size:13px; opacity:.9}

/* small screens */
@media (max-width:600px){
  .slides{height:64vw}
  .caption{max-width:86%; left:12px; bottom:12px}
  .btn{width:40px;height:40px}
}
/* ===================================================== */
/* RESPONSIVE DESIGN */
/* ===================================================== */

/* --- Smartphones (< 768px) --- */
@media (min-width: 10em) and (max-width: 40em)  {

  .container,.main,.row,#alive {
    flex-direction: column;
    align-items: center;
  }

  nav {
    text-align: center;
  }

  .navigation ul {
    flex-direction: column;
    gap: 0;
  }

  .navigation a {
    padding: 0.8em 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  .row {
    flex-direction: column;
  }
  #alive {
    flex-direction: column;
  }

  .is-post {
    padding-left: 0;
  }

  #copyright {
    justify-content: center;
    text-align: center;
    padding: 1em 0;
  }

  img {
    max-width: 100%;
    height: auto;
  }
}

/* --- Tablets (768px – 1200px) --- */
@media (max-width: 1200px) {
  .container,
  .row {
    padding: 10px;
  }
}
