.elementor-1559 .elementor-element.elementor-element-2df1bed4{--display:flex;--min-height:100vh;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:55px 55px;--row-gap:55px;--column-gap:55px;--padding-top:200px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1559 .elementor-element.elementor-element-2df1bed4:not(.elementor-motion-effects-element-type-background), .elementor-1559 .elementor-element.elementor-element-2df1bed4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-46e0d830{width:var( --container-widget-width, 35% );max-width:35%;--container-widget-width:35%;--container-widget-flex-grow:0;}.elementor-1559 .elementor-element.elementor-element-f1ddd25{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:#2F9250;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:#2F9250;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25.elementor-element{--align-self:center;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group{padding-right:calc( 11px/2 );padding-left:calc( 11px/2 );margin-bottom:25px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-form-fields-wrapper{margin-left:calc( -11px/2 );margin-right:calc( -11px/2 );margin-bottom:-25px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-labels-inline .elementor-field-group > label{padding-left:12px;}body:not(.rtl) .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-labels-inline .elementor-field-group > label{padding-right:12px;}body .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-labels-above .elementor-field-group > label{padding-bottom:12px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label, .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-subgroup label{color:var( --e-global-color-7c3de34 );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-mark-required .elementor-field-label:after{color:#DC1138;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label{font-family:"Outfit", Sans-serif;font-size:25px;font-weight:600;line-height:1.3em;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-html{padding-bottom:0px;color:#1E1E2A;text-transform:none;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-field{color:var( --e-global-color-7c3de34 );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-field, .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#0B0B0B;border-color:#2E2E2E;border-radius:15px 15px 15px 15px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-select-wrapper select{background-color:#0B0B0B;border-color:#2E2E2E;border-radius:15px 15px 15px 15px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-select-wrapper::before{color:#2E2E2E;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button span{justify-content:center;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button{border-style:none;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-next{background-color:#FFFFFF;color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"]{background-color:#FFFFFF;color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-previous{background-color:#FFFFFF;color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-7c3de34 );color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-7c3de34 );color:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-secondary );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-7c3de34 );color:var( --e-global-color-secondary );}@media(max-width:1024px){.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-field, .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-1559 .elementor-element.elementor-element-2df1bed4{--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-1559 .elementor-element.elementor-element-2df1bed4.e-con{--align-self:center;}.elementor-1559 .elementor-element.elementor-element-46e0d830{width:var( --container-widget-width, 279px );max-width:279px;padding:20px 0px 0px 0px;--container-widget-width:279px;--container-widget-flex-grow:0;text-align:center;}.elementor-1559 .elementor-element.elementor-element-f1ddd25{width:100%;max-width:100%;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label{font-size:18px;}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group .elementor-field, .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button span{justify-content:center;}}/* Start custom CSS for form, class: .elementor-element-f1ddd25 *//* Formular Wrapper */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 {
  --form-bg: #050505;
  --form-border: rgba(255, 255, 255, 0.18);
  --form-border-hover: rgba(255, 255, 255, 0.45);
  --form-accent: #9eff5f;
  --form-text: #ffffff;
  --form-muted: rgba(255, 255, 255, 0.68);
  --form-radius: 14px;
  --form-gap: 16px;
  --step-size: 34px;
}

/* Formular Fläche */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-form {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  padding: clamp(20px, 3vw, 36px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

/* =========================
   STEPS / FORTSCHRITT
========================= */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: clamp(28px, 4vw, 42px);
  width: 100%;
}

/* Jeder Schritt nimmt Platz bis zum nächsten Punkt ein */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}

/* Letzter Punkt soll keine unnötige Breite danach haben */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator:last-child {
  flex: 0 0 auto;
}

/* Zahl / Punkt */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__number {
  width: var(--step-size);
  height: var(--step-size);
  min-width: var(--step-size);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: #141414;
  color: var(--form-text);
  font-size: 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.03);
}

/* Aktiver Punkt */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background: var(--form-accent);
  color: #071207;
  border-color: var(--form-accent);
  box-shadow: 0 0 0 5px rgba(158, 255, 95, 0.15);
}

/* Bereits erledigte Punkte */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background: var(--form-accent);
  color: #071207;
  border-color: var(--form-accent);
  box-shadow: 0 0 0 5px rgba(158, 255, 95, 0.15);
}

/* Verbindungslinie zwischen den Punkten */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__separator {
  flex: 1 1 auto;
  height: 2px;
  margin-left: 12px;
  margin-right: 12px;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  position: relative;
  top: 0;
  transition: background 0.25s ease;
}

/* Nur bereits abgeschlossene Schritte färben ihre Linie grün */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__separator {
  background: var(--form-accent);
}

/* Falls Elementor im letzten Step noch einen Separator rendert */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator:last-child .e-form__indicators__indicator__separator {
  display: none !important;
}

/* =========================
   HEADLINES / LABELS
========================= */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-step .elementor-field-label,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label {
  color: var(--form-text);
  font-size: clamp(20px, 2.2vw, 27px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-mark-required .elementor-field-label:after {
  color: #ff3d5a;
  font-size: 1.1em;
}

/* =========================
   INPUTS
========================= */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 input,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 select {
  width: 100%;
  border-radius: 13px !important;
  border: 1px solid var(--form-border) !important;
  background: rgba(255, 255, 255, 0.065) !important;
  color: var(--form-text) !important;
  padding: 15px 16px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  transition: all 0.22s ease;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea {
  min-height: 120px;
  resize: vertical;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 input::placeholder,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea::placeholder {
  color: rgba(255, 255, 255, 0.42);
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 input:focus,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea:focus,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 select:focus {
  border-color: var(--form-accent) !important;
  box-shadow: 0 0 0 4px rgba(158, 255, 95, 0.12) !important;
  outline: none !important;
}

/* =========================
   RADIO KARTEN
========================= */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--form-gap);
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option {
  position: relative;
  min-height: 145px;
  padding: 22px 18px;
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  background: rgba(255, 255, 255, 0.035);
  color: var(--form-text);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.22s ease;
  cursor: pointer;
  overflow: hidden;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option:hover {
  border-color: var(--form-border-hover);
  background: rgba(255, 255, 255, 0.065);
  transform: translateY(-2px);
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option label {
  color: var(--form-text);
  font-size: clamp(14px, 1.35vw, 17px);
  line-height: 1.35;
  font-weight: 700;
  cursor: pointer;
  margin: 0;
  width: 100%;
}

/* Aktive Radio-Auswahl */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option:has(input[type="radio"]:checked) {
  border-color: var(--form-accent);
  background: rgba(158, 255, 95, 0.11);
  box-shadow: 0 0 0 4px rgba(158, 255, 95, 0.12);
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option:has(input[type="radio"]:checked)::after {
  content: "✓";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--form-accent);
  color: #071207;
  font-size: 14px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================
   BUTTONS
========================= */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  margin-top: 26px;
  width: 100% !important;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  flex: none !important;
}

/* Zurück komplett ausblenden */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper:has(.e-form__buttons__wrapper__button-previous),
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-previous {
  display: none !important;
}

/* Alle Buttons */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons .elementor-button,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons button {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 54px;
  border-radius: 13px !important;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  transition: all 0.22s ease;
  box-shadow: none;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Weiter */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-next {
  background: #ffffff !important;
  color: #050505 !important;
  border: 1px solid #ffffff !important;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-next:hover {
  background: var(--form-accent) !important;
  border-color: var(--form-accent) !important;
  color: #071207 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(158, 255, 95, 0.15);
}

/* Absenden */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-submit,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"] {
  background: #ffffff !important;
  color: #050505 !important;
  border: 1px solid #ffffff !important;
}

.elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons__wrapper__button-submit:hover,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-button[type="submit"]:hover {
  background: var(--form-accent) !important;
  border-color: var(--form-accent) !important;
  color: #071207 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(158, 255, 95, 0.15);
}

/* Fehlermeldungen */
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-message,
.elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-error {
  color: #ff6b7a;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 8px;
}

/* =========================
   TABLET
========================= */
@media (max-width: 1024px) {
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-subgroup {
    grid-template-columns: 1fr;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option {
    min-height: 112px;
    padding: 20px;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 {
    --step-size: 30px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-form {
    padding: 20px;
    border-radius: 16px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators {
    margin-bottom: 28px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__number {
    font-size: 13px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.03);
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
    box-shadow: 0 0 0 4px rgba(158, 255, 95, 0.15);
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__separator {
    margin-left: 8px;
    margin-right: 8px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-step .elementor-field-label,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 18px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 input,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 select {
    font-size: 16px !important;
    padding: 15px 16px !important;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 textarea {
    min-height: 105px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-subgroup {
    gap: 12px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option {
    min-height: auto;
    padding: 18px 16px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-radio .elementor-field-option label {
    font-size: 15px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons {
    gap: 12px;
    margin-top: 24px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons .elementor-button,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__buttons button {
    min-height: 52px;
    font-size: 15px;
  }
}

/* Sehr kleine Screens */
@media (max-width: 390px) {
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 {
    --step-size: 28px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-form {
    padding: 18px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__number {
    font-size: 12px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .e-form__indicators__indicator__separator {
    margin-left: 6px;
    margin-right: 6px;
  }

  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-type-step .elementor-field-label,
  .elementor-1559 .elementor-element.elementor-element-f1ddd25 .elementor-field-group > label {
    font-size: 19px;
  }
}/* End custom CSS */