.elementor-580 .elementor-element.elementor-element-bbcdb1e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-580 .elementor-element.elementor-element-f75337f{padding:0px 0px 20px 0px;text-align:center;}.elementor-580 .elementor-element.elementor-element-f75337f .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-group.recaptcha_v3-bottomleft, .elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-580 .elementor-element.elementor-element-e7c336f .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-580 .elementor-element.elementor-element-e7c336f .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-580 .elementor-element.elementor-element-e7c336f .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-type-html{padding-bottom:0px;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-button[type="submit"]{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-580 .elementor-element.elementor-element-e7c336f{--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-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-580 .elementor-element.elementor-element-bbcdb1e{--content-width:800px;}}/* Start custom CSS for form, class: .elementor-element-e7c336f *//* =========================================================
  Elementor Formular: kontaktformular
  Stil passend zu 17webseiten.de
  Keine Font Family
========================================================= */

#kontaktformular {
  color: #0F1230;
}

/* Formular Wrapper */
#kontaktformular .elementor-form {
  background: #ffffff;
  border: 1px solid rgba(15, 18, 48, 0.09);
  border-radius: 34px;
  padding: 34px;
  box-shadow: 0 18px 44px rgba(15, 18, 48, 0.06);
}

/* Step Bereich */
#kontaktformular .e-form__indicators {
  margin-bottom: 30px;
}

/* Step Indicator Wrapper */
#kontaktformular .e-form__indicators__indicator {
  align-items: center;
}

/* Step Zahlen */
#kontaktformular .e-form__indicators__indicator__number {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #F7F7FA;
  border: 1px solid rgba(15, 18, 48, 0.12);
  color: #0F1230;
  font-weight: 900;
  transition: all .2s ease;
}

/* Aktiver Step */
#kontaktformular .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background: #FFB000;
  border-color: #FFB000;
  color: #0F1230;
}

/* Erledigter Step */
#kontaktformular .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background: #0F1230;
  border-color: #0F1230;
  color: #ffffff;
}

/* Step Text */
#kontaktformular .e-form__indicators__indicator__label {
  color: rgba(15, 18, 48, 0.68);
  font-size: 14px;
  font-weight: 800;
  margin-top: 8px;
}

/* Aktiver Step Text */
#kontaktformular .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label {
  color: #0F1230;
}

/* Linie zwischen Steps */
#kontaktformular .e-form__indicators__indicator__separator {
  background-color: rgba(15, 18, 48, 0.12);
}

/* Erledigte Linie */
#kontaktformular .e-form__indicators__indicator--state-completed + .e-form__indicators__indicator .e-form__indicators__indicator__separator,
#kontaktformular .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__separator {
  background-color: #FFB000;
}

/* Labels */
#kontaktformular .elementor-field-label {
  color: #0F1230;
  font-weight: 800;
  margin-bottom: 8px;
}

/* Pflichtstern */
#kontaktformular .elementor-mark-required .elementor-field-label::after {
  color: #FFB000;
}

/* Eingabefelder */
#kontaktformular .elementor-field,
#kontaktformular .elementor-field-textual {
  background: #F7F7FA;
  border: 1px solid rgba(15, 18, 48, 0.10);
  border-radius: 18px;
  color: #0F1230;
  min-height: 54px;
  padding: 14px 16px;
  font-size: 16px;
  box-shadow: none;
  transition: all .2s ease;
}

/* Textarea */
#kontaktformular textarea.elementor-field-textual {
  min-height: 140px;
  resize: vertical;
}

/* Placeholder */
#kontaktformular .elementor-field::placeholder,
#kontaktformular .elementor-field-textual::placeholder {
  color: rgba(15, 18, 48, 0.42);
}

/* Fokus */
#kontaktformular .elementor-field:focus,
#kontaktformular .elementor-field-textual:focus {
  background: #ffffff;
  border-color: #FFB000;
  box-shadow: 0 0 0 4px rgba(255, 176, 0, 0.16);
  outline: none;
}

/* Select */
#kontaktformular select.elementor-field-textual {
  appearance: none;
  cursor: pointer;
}

/* Checkbox / Radio Gruppen */
#kontaktformular .elementor-field-subgroup {
  display: grid;
  gap: 10px;
}

/* Checkbox / Radio Label */
#kontaktformular .elementor-field-option {
  background: #F7F7FA;
  border: 1px solid rgba(15, 18, 48, 0.10);
  border-radius: 18px;
  padding: 14px 16px;
  color: rgba(15, 18, 48, 0.78);
  line-height: 1.45;
  transition: all .2s ease;
}

/* Checkbox / Radio Inputs */
#kontaktformular .elementor-field-option input {
  accent-color: #FFB000;
  margin-right: 8px;
}

/* Checkbox / Radio Hover */
#kontaktformular .elementor-field-option:hover {
  background: #ffffff;
  border-color: rgba(255, 176, 0, 0.75);
}

/* Datei Upload */
#kontaktformular input[type="file"] {
  background: #F7F7FA;
  border: 1px dashed rgba(15, 18, 48, 0.20);
  border-radius: 18px;
  padding: 18px;
  color: rgba(15, 18, 48, 0.72);
}

/* Feldgruppen Abstand */
#kontaktformular .elementor-field-group {
  margin-bottom: 18px;
}

/* Fehlermeldungen */
#kontaktformular .elementor-message-danger,
#kontaktformular .elementor-field-group .elementor-message {
  color: #b42318;
  font-weight: 700;
  font-size: 14px;
  margin-top: 8px;
}

/* Erfolgsnachricht */
#kontaktformular .elementor-message-success {
  background: rgba(255, 176, 0, 0.14);
  border: 1px solid rgba(255, 176, 0, 0.35);
  border-radius: 18px;
  padding: 16px 18px;
  color: #0F1230;
  font-weight: 800;
}

/* Button Wrapper */
#kontaktformular .elementor-field-type-submit,
#kontaktformular .e-form__buttons {
  margin-top: 18px;
}

/* Buttons allgemein */
#kontaktformular .elementor-button,
#kontaktformular .e-form__buttons__wrapper__button {
  min-height: 54px;
  border-radius: 999px;
  padding: 16px 26px;
  font-weight: 900;
  background: #FFB000;
  color: #0F1230;
  border: 1px solid #FFB000;
  text-decoration: none;
  box-shadow: none;
  transition: all .2s ease;
}

/* Button Hover */
#kontaktformular .elementor-button:hover,
#kontaktformular .e-form__buttons__wrapper__button:hover {
  background: #0F1230;
  color: #ffffff;
  border-color: #0F1230;
  transform: translateY(-2px);
}

/* Zurück Button bei Steps */
#kontaktformular .e-form__buttons__wrapper__button-previous {
  background: #ffffff;
  color: #0F1230;
  border: 1px solid rgba(15, 18, 48, 0.18);
}

/* Zurück Button Hover */
#kontaktformular .e-form__buttons__wrapper__button-previous:hover {
  background: #0F1230;
  color: #ffffff;
  border-color: #0F1230;
}

/* Button Texte */
#kontaktformular .elementor-button-text {
  color: inherit;
}

/* Step Buttons Layout */
#kontaktformular .e-form__buttons {
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

/* Mehrspaltige Felder etwas sauberer */
#kontaktformular .elementor-column .elementor-field-group,
#kontaktformular .elementor-field-group.elementor-col-50,
#kontaktformular .elementor-field-group.elementor-col-33,
#kontaktformular .elementor-field-group.elementor-col-25 {
  padding-left: 8px;
  padding-right: 8px;
}

/* =========================================================
  Mobile
========================================================= */

@media (max-width: 767px) {
  #kontaktformular .elementor-form {
    border-radius: 26px;
    padding: 24px;
  }

  #kontaktformular .e-form__indicators {
    gap: 10px;
  }

  #kontaktformular .e-form__indicators__indicator__label {
    font-size: 12px;
  }

  #kontaktformular .e-form__indicators__indicator__number {
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }

  #kontaktformular .e-form__buttons {
    flex-direction: column;
  }

  #kontaktformular .elementor-button,
  #kontaktformular .e-form__buttons__wrapper__button {
    width: 100%;
  }

  #kontaktformular .elementor-field-group.elementor-col-50,
  #kontaktformular .elementor-field-group.elementor-col-33,
  #kontaktformular .elementor-field-group.elementor-col-25 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}/* End custom CSS */