.elementor-866 .elementor-element.elementor-element-b464c24{--display:flex;--justify-content:space-evenly;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#12121200;--border-color:#12121200;--border-radius:25px 25px 25px 25px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--padding-top:45px;--padding-bottom:45px;--padding-left:45px;--padding-right:45px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > 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 );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );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 );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .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 );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{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 );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-866 .elementor-element.elementor-element-8dd67b6{width:100%;max-width:100%;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:var( --e-global-color-primary );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-866 .elementor-element.elementor-element-8dd67b6.elementor-element{--align-self:stretch;}.elementor-866 .elementor-element.elementor-element-8dd67b6 > .elementor-widget-container{border-style:none;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:25px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-25px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:0.9rem;font-weight:400;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-type-html{font-family:"Inter", Sans-serif;font-weight:400;line-height:1.6rem;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-field, .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-subgroup label{font-family:"TitilliumWeb", Sans-serif;font-size:1.1rem;font-weight:400;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){border-color:#D8D8DB;border-width:1px 1px 1px 1px;border-radius:25px 25px 25px 25px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-select-wrapper select{border-color:#D8D8DB;border-width:1px 1px 1px 1px;border-radius:25px 25px 25px 25px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-select-wrapper::before{color:#D8D8DB;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button{font-family:"Outfit", Sans-serif;font-size:0.9rem;font-weight:400;border-radius:25px 25px 25px 25px;padding:10px 10px 10px 10px;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:var( --e-global-color-706b492 );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:var( --e-global-color-706b492 );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-706b492 );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-706b492 );color:var( --e-global-color-primary );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-706b492 );color:var( --e-global-color-text );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-message{font-family:"TitilliumWeb", Sans-serif;font-size:1.1rem;font-weight:400;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__indicators__indicator, .elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__indicators__indicator__label{font-family:"TitilliumWeb", Sans-serif;font-size:1.2rem;font-weight:400;}#elementor-popup-modal-866{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-866 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-866 .dialog-close-button{display:flex;}#elementor-popup-modal-866 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(max-width:1024px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-group .elementor-field, .elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-field-subgroup label{font-size:1rem;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-message{font-size:1rem;}.elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__indicators__indicator, .elementor-866 .elementor-element.elementor-element-8dd67b6 .e-form__indicators__indicator__label{font-size:1rem;}}@media(max-width:767px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-866 .elementor-element.elementor-element-8dd67b6 .elementor-button{font-size:0.85rem;}}/* Start custom CSS for form, class: .elementor-element-8dd67b6 */.popup-step-title {
  text-align: center;
  margin-bottom: 20px;
  font-family: inherit;
}

.popup-step-label {
  display: block;
  width: fit-content;
  margin: 0 auto 18px auto;
  padding: 10px 22px;
  border-radius: 999px;
  background: #eaf3fb;
  color: #0077c8;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.popup-step-title h2 {
  margin: 0 0 10px;
  color: #222222;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}

.popup-step-title p {
  margin: 0;
  color: #666666;
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}




/* =========================================================
   VEZ Formular – Elementor Form Widget / CSS Klasse: vez-form
   Acceptance bleibt ORIGINAL (nicht gestylt)
   ========================================================= */

.vez-form .elementor-form{
  margin: 0 auto;
}

/* =========================================================
   Textfelder, Selects, Textarea (KEINE Checkboxen!)
   ========================================================= */

.vez-form input.elementor-field-textual,
.vez-form textarea.elementor-field-textual,
.vez-form select.elementor-field{
  width: 100%;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 20px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.vez-form input.elementor-field-textual::placeholder,
.vez-form textarea.elementor-field-textual::placeholder{
  opacity: .55;
}

.vez-form input.elementor-field-textual:focus,
.vez-form textarea.elementor-field-textual:focus,
.vez-form select.elementor-field:focus{
  outline: none;
  border-color: rgba(249,149,79,.9);
  box-shadow: 0 0 0 4px rgba(249,149,79,.20);
}

/* Feldabstände */
.vez-form .elementor-field-group{
  margin-bottom: 14px;
}

/* =========================================================
   Angebots-Checkboxen (NICHT Acceptance!) – Layout Grid
   ========================================================= */

/* Desktop: 3 Spalten */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-subgroup{
  margin-top: 0px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 8px;
}

/* Tablet: 2 Spalten */
@media (max-width: 1024px){
  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-subgroup{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
  }
}

/* Mobile: 2 Spalten */
@media (max-width: 767px){
  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-subgroup{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* Sehr kleine Phones: 1 Spalte (<= 380px) */
@media (max-width: 380px){
  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-subgroup{
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* =========================================================
   WICHTIG: Checkbox & Radio GLOBAL RESET
   (damit Acceptance NIE kaputt geht)
   ========================================================= */

.vez-form input[type="checkbox"].elementor-field,
.vez-form input[type="radio"].elementor-field{
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* =========================================================
   Submit Button
   ========================================================= */

.vez-form .elementor-button{
  width: 100%;
  border-radius: 25px;
  padding: 14px 14px;
  font-weight: 700;
  border: 1px solid rgba(249,149,79,.65);
  background: #F9954F;
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}

.vez-form .elementor-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  filter: brightness(0.98);
}

/* =========================================================
   Erfolg & Fehler Meldungen
   ========================================================= */

.vez-form .elementor-message{
  border-radius: 30px;
  padding: 12px 14px;
}

/* =========================================================
   Angebots-Checkboxen als echte Select-Cards (NICHT Acceptance)
   - Checkbox ist unsichtbar
   - ganze Karte klickbar
   - Text mittig + deutsches Hyphenation
   ========================================================= */

.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option{
  position: relative;
  display: flex;
  justify-content: center;   /* horizontal zentriert */
  align-items: center;       /* vertikal zentriert */
  text-align: center;
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 50px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.03);
  transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
  min-height: 65px;          /* sorgt für ruhige Höhen */
}

/* Checkbox unsichtbar – aber klickbar über die ganze Karte */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option input[type="checkbox"]{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  margin: 0;
  z-index: 2;
}

/* Label als Text-Content */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option label{
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;

  font-weight: 600;
  font-size: 14px;
  line-height: 1.25;

  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;

  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  -webkit-locale: "de";
  cursor: pointer;
}

/* Hover */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option:hover{
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  border-color: rgba(249,149,79,.45);
}

/* Checked: farblich aktiv */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option:has(input[type="checkbox"]:checked){
  border-color: rgba(249,149,79,.85);
  background: rgba(249,149,79,.10);
  box-shadow: 0 0 0 4px rgba(249,149,79,.18);
}

/* Fokus (Keyboard) */
.vez-form
.elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
.elementor-field-option:has(input[type="checkbox"]:focus-visible){
  border-color: rgba(249,149,79,.85);
  box-shadow: 0 0 0 4px rgba(249,149,79,.18);
}

/* Mobile: etwas kompakter */
@media (max-width: 767px){
  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-option{
    padding: 12px 10px;
    min-height: 78px; /* etwas mehr Platz für Umbruch */
  }

  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-option label{
    font-size: 13px;
    line-height: 1.2;
  }
}

/* <= 380px: 1 Spalte + lesbarer */
@media (max-width: 380px){
  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-option{
    min-height: 64px;
  }

  .vez-form
  .elementor-field-type-checkbox:not(.elementor-field-type-acceptance)
  .elementor-field-option label{
    font-size: 14px;
  }
}/* End custom CSS */