/* Grundlegende Typografie */
h1, h2, h3 {
  font-family: 'Orbitron', sans-serif;
}

body, p, a, span {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
  color: #fff;
  background-color: black;
}

/* Leistungen Section */
#leistungen {
  padding: 6rem 1rem;
  background-color: rgba(0,0,0,0.95);
}

#leistungen .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

#leistungen h2 {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 2rem;
  text-align: center;
  color: white;
}

/* Einzelne Punkte */
.leistung {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 4rem;
  gap: 2rem;
}

.leistung .text {
  flex: 1 1 400px;
}

.leistung .text h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.leistung .text p {
  font-size: 1rem;
  line-height: 1.75rem;
  color: #A5A5A5;
}

.leistung .text a {
  color: #4fa3ff;
  text-decoration: underline;
}

.leistung .text a:hover {
  color: #1a73e8;
}

.image-container {
  flex: 1 1 300px;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
}

.image-container img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  transition: transform 0.3s;
}

.image-container img:hover {
  transform: scale(1.03);
}

/* Spezifisches Layout für jeden Punkt */
/* Punkt 1: Text + Bild direkt übereinander */
.punkt-1 {
  display: block;         /* Flex deaktivieren */
  text-align: center;
}

.punkt-1 .text {
  margin-bottom: 0.5rem;  /* nur kleiner Abstand zum Bild */
}

.punkt-1 .image-container img {
  width: 100%;
  max-height: 150px;      /* gewünschte Höhe */
  object-fit: cover;      /* Bild wird beschnitten, nicht verzerrt */
  object-position: 0 -75px;/* 50px nach unten verschoben */
  display: block;
}





.punkt-2 {
  flex-direction: row;
  align-items: center;   /* Bild wird vertikal mittig zum Text */
}

.punkt-2 .image-container {
  order: 2;
  max-width: 200px;
  border: none;
  box-shadow: none;
  align-self: center;    /* stellt sicher, dass es mittig bleibt */
  margin-top: 50px;
}


.punkt-3 {
  flex-direction: row;    /* Bild links, Text rechts */
  align-items: center;    /* vertikal mittig */
}

.punkt-3 .image-container {
  max-width: 350px;
  margin-right: 2rem;     /* Abstand zum Text */
  border: 1px solid rgba(255,255,255,0.1); /* optional wieder aktivieren */
  border-radius: 1rem;
  overflow: hidden;
  order: 0;               /* Standard: Bild zuerst */
}

.punkt-3 .text {
  flex: 1 1 400px;
}

/* Punkt 4 */
.punkt-4 {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.punkt-4 .image-container {
  order: 2;
  max-width: 350px;
  border-radius: 1rem;
  overflow: hidden;

  align-self: center;   /* wichtig */
  margin-top: 0;        /* verhindert Verschiebung */
}

/* Punkt 5 */
.punkt-5 {
  flex-direction: row;
  align-items: center;
}

.punkt-5 .image-container {
  max-width: 350px;
  margin-right: 2rem;
  border-radius: 1rem;
  overflow: hidden;
}

.punkt-5 .text {
  flex: 1 1 400px;
}


/* Footer */
footer {
  border-top: 1px solid rgba(255,255,255,0.1);
  background-color: rgba(0,0,0,0.9);
  padding: 2.5rem 1rem;
  text-align: center;
}

footer p {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.6);
  margin-bottom: 1rem;
}

footer .footer-links a {
  margin: 0 0.5rem;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
}

footer .footer-links a:hover {
  color: white;
}

@media(max-width: 876px) {

  .leistung {
    display: block;
    text-align: left;
  }

  .leistung .image-container {
    display: none;
  }

  .leistung .text {
    width: 100%;
  }

  .leistung .text h3 {
    margin-top: 1.5rem;
  }
}

