 .stepper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1350px;
    margin: 40px auto;
    font-family: sans-serif;
    padding: 20px 10px;
    margin-bottom: 0px;
  }

  .step {
    display: flex;
    align-items: center;
    position: relative;
    /* Erlaubt den Steps, den verfügbaren Platz gleichmäßig zu füllen */
    flex: 1; 
  }

  /* Verhindert, dass der letzte Schritt sich unnötig dehnt */
  .step:last-child {
    flex: none;
  }

  .step-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--permagrau);
    border: 2px solid var(--permagrau);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: var(--permaweiss);
    z-index: 2;
    flex-shrink: 0; /* Kreis darf nicht gequetscht werden */
  }

  .step-label {
    margin-left: 10px;
    margin-right: 15px;
    white-space: nowrap;
    color: var(--permaweiss);
    font-size: 14px;
    z-index: 2;
  }

  /* Die Linie zwischen den Schritten */
  .step-line, .step-line:last-child {
    flex-grow: 1;
    height: 2px;
    background-color: var(--permaweiss) !important;
    margin-right: 15px;
    z-index: 1;
  }

.max-stage .step-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--permaweiss);
    border: 3px solid var(--orange2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: var(--permagrau);
    z-index: 2;
    flex-shrink: 0; /* Kreis darf nicht gequetscht werden */
  }

.max-stage .step-line {
    flex-grow: 1;
    height: 2px;
    background-color: var(--orange2);
    margin-right: 15px;
    z-index: 1;
  }


  /* --- ZUSTÄNDE --- */

  /* Aktiv */
  .step.active .step-circle {
    border-color: #C99901;
    color: var(--permaweiss);
    box-shadow: 0 0 8px rgba(33, 150, 243, 0.3);
	background: #C99901;
  }
  .step.active .step-label {
    color: var(--permaweiss);
    font-weight: bold;
  }

  /* Erledigt */
  .step.done .step-circle {
    background-color: var(--braun1);
    border-color: var(--braun1);
    color: var(--permaweiss);
  }
  .step.done .step-label {
    color: var(--permaweiss);
  }
  .step.done .step-line {
    background-color: var(--braun1);
  }


@media (max-width: 1350px) {
  .stepper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    /* 20px oben/unten, 30px links/rechts Abstand zum Rand */
    padding: 20px 30px;
    width: 100%;
    margin: 40px auto 0 auto;
    box-sizing: border-box; /* Damit das Padding die 100% Breite nicht sprengt */
  }

  /* DIE LINIE: Jetzt angepasst an das Padding */
  .stepper::before {
    content: "";
    position: absolute;
    top: 36px; /* 20px Padding + 16px halber Kreis */
    /* 30px Padding + 16px (halber Kreis) = 46px */
    left: 46px;
    right: 46px;
    height: 2px;
    background-color: var(--permaweiss);
    z-index: 1;
  }

  .step-line {
    display: none !important;
  }

  .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    flex: 1;
  }

  /* Ausrichtung der äußeren Steps */
  .step:first-child { align-items: flex-start; }
  .step:last-child { align-items: flex-end; }

  .step-circle {
    width: 32px;
    height: 32px;
    z-index: 3;
    background-color: var(--permagrau);
    flex-shrink: 0;
  }

  .step-label {
    margin-top: 10px;
    font-size: 13px;
    white-space: normal;
    text-align: center;
    width: 100%;
    color: var(--permaweiss);
  }

  /* Label-Korrektur damit sie bündig mit den Kreisen stehen */
  .step:first-child .step-label {
    text-align: left;
    width: auto;
    max-width: 100px; /* Begrenzt die Breite, damit es nicht in Step 2 ragt */
  }
  .step:last-child .step-label {
    text-align: right;
    width: auto;
    max-width: 100px;
  }
}

@media (max-width: 750px) {
  .stepper {
    flex-wrap: wrap; /* Erlaubt den Umbruch in die zweite Zeile */
    justify-content: center; /* Zentriert die Zeilen */
    padding: 20px 10px;
    gap: 30px 0; /* Vertikaler Abstand zwischen den Zeilen */
  }

  /* Wir entfernen die durchgehende Hintergrund-Linie von vorhin */
  .stepper::before {
    display: none;
  }

  .step {
    flex: 0 0 33.33%; /* Jeder Step nimmt genau ein Drittel der Breite ein */
    min-width: 33.33%;
    align-items: center !important; /* Alle Kreise mittig in ihrem Drittel */
    margin-bottom: 10px;
  }

  .step-label {
    text-align: center !important;
    width: 100%;
    font-size: 12px;
    max-width: none !important; /* Hebt die 100px Begrenzung von vorhin auf */
  }

  /* --- NEUE LINIEN-LOGIK FÜR DAS 3x2 RASTER --- */

  /* Wir blenden die alten Linien wieder ein, aber passen sie an */
  .step:not(:last-child) .step-line {
    display: block !important;
    position: absolute;
    height: 2px;
    background-color: var(--permaweiss);
    top: 16px;
    left: 50%;
    width: 100%;
    z-index: 1;
  }

  /* Die Linie nach dem 3. Step (Ende der ersten Reihe) muss weg */
  .step:nth-child(3) .step-line {
    display: none !important;
  }

  /* Die Linie nach dem 6. Step (Ende der zweiten Reihe) ist eh schon weg */
}

@media (max-width: 350px) {
  .stepper {
    flex-direction: column; /* Schritte untereinander */
    align-items: flex-start; /* Alles links bündig */
    padding: 20px 30px;
    gap: 0; /* Wir regeln den Abstand über die Steps selbst */
  }

  /* Hintergrund-Linie vom 750px-Schritt sicherheitshalber ausblenden */
  .stepper::before {
    display: none;
  }

  .step {
    flex: 0 0 auto;
    width: 100%;
    flex-direction: row; /* Kreis und Label nebeneinander */
    align-items: center;
    justify-content: flex-start;
    padding-bottom: 30px; /* Der vertikale Abstand zwischen den Punkten */
    position: relative;
  }

  /* Letzter Step braucht keinen Abstand nach unten */
  .step:last-child {
    padding-bottom: 0;
  }

  .step-circle {
    margin-right: 15px; /* Abstand zwischen Kreis und Text */
    z-index: 2;
  }

  .step-label {
    margin: 0;
    text-align: left !important;
    font-size: 14px;
    width: auto;
  }

  /* --- VERTIKALE LINIE --- */
  .step:not(:last-child) .step-line {
    display: block !important;
    position: absolute;
    left: 16px; /* Mitte des 32px Kreises */
    top: 16px; /* Startet direkt unter dem Kreis */
    width: 2px; /* Linie ist jetzt schmal */
    height: 100%; /* So hoch wie das padding-bottom des Steps */
    background-color: var(--permaweiss);
    z-index: 1;
    margin: 0;
  }
}

/* Styling für die Sprachbox im Theme */
#langwahl .api-lang-switcher {
    margin-bottom: 25px;
    padding: 15px;
    background-color: #fcfcfc;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

#langwahl .api-lang-switcher label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333;
}

#langwahl .api-lang-switcher select {
    width: 100%;
    max-width: 300px;
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid #cccccc;
    border-radius: 4px;
}

.DropdownDE , .DropdownEN{
	display:none !important;
}
