.elementor-kit-35{--e-global-color-primary:#0A0A0A;--e-global-color-secondary:#F2F8FF;--e-global-color-text:#7A7A7A;--e-global-color-accent:#FDB52A;--e-global-color-79bbadb:#FF4445;--e-global-color-4fe8186:#2A66FF;--e-global-color-3f7cd81:#4EC553;--e-global-color-29caf2b:#FBFBFB;--e-global-color-5ec9b0f:#FFF5E0;--e-global-color-87117d2:#FFE9E9;--e-global-color-9e9f588:#E4F9E4;--e-global-color-3165ef0:#02010100;--e-global-color-904cc2c:#00000014;--e-global-color-446efb9:#FFFFFF;--e-global-color-3f5b2a6:#F2F8FF;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-size:60px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.3em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-size:45px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:0.95rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.8em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-5fed5f7-font-family:"DM Sans";--e-global-typography-5fed5f7-font-size:25px;--e-global-typography-5fed5f7-font-weight:500;--e-global-typography-5fed5f7-text-transform:none;--e-global-typography-5fed5f7-font-style:normal;--e-global-typography-5fed5f7-text-decoration:none;--e-global-typography-5fed5f7-line-height:1.5em;--e-global-typography-d3cc8fc-font-family:"DM Sans";--e-global-typography-d3cc8fc-font-size:22px;--e-global-typography-d3cc8fc-font-weight:500;--e-global-typography-d3cc8fc-text-transform:none;--e-global-typography-d3cc8fc-font-style:normal;--e-global-typography-d3cc8fc-text-decoration:none;--e-global-typography-d3cc8fc-line-height:1.5em;--e-global-typography-93584a3-font-family:"DM Sans";--e-global-typography-93584a3-font-size:19px;--e-global-typography-93584a3-font-weight:500;--e-global-typography-93584a3-text-transform:none;--e-global-typography-93584a3-font-style:normal;--e-global-typography-93584a3-text-decoration:none;--e-global-typography-93584a3-line-height:1.5em;--e-global-typography-a84e3de-font-family:"DM Sans";--e-global-typography-a84e3de-font-size:17px;--e-global-typography-a84e3de-font-weight:500;--e-global-typography-a84e3de-text-transform:none;--e-global-typography-a84e3de-font-style:normal;--e-global-typography-a84e3de-text-decoration:none;--e-global-typography-a84e3de-line-height:1.6em;--e-global-typography-4db096e-font-family:"DM Sans";--e-global-typography-4db096e-font-size:16px;--e-global-typography-4db096e-font-weight:600;--e-global-typography-c19f6b5-font-family:"DM Sans";--e-global-typography-c19f6b5-font-size:45px;--e-global-typography-c19f6b5-font-weight:500;--e-global-typography-c19f6b5-text-transform:none;--e-global-typography-c19f6b5-font-style:normal;--e-global-typography-c19f6b5-text-decoration:none;--e-global-typography-c19f6b5-line-height:1.4em;--e-global-typography-c19f6b5-letter-spacing:0px;--e-global-typography-c8a1236-font-family:"DM Sans";--e-global-typography-c8a1236-font-size:0.94rem;--e-global-typography-c8a1236-font-weight:400;--e-global-typography-e9951e0-font-family:"DM Sans";--e-global-typography-e9951e0-font-size:14px;--e-global-typography-e9951e0-font-weight:400;--e-global-typography-e9951e0-text-transform:none;--e-global-typography-e9951e0-letter-spacing:0px;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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-35 button,.elementor-kit-35 input[type="button"],.elementor-kit-35 input[type="submit"],.elementor-kit-35 .elementor-button{background-color:var( --e-global-color-primary );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 );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-radius:10px 10px 10px 10px;padding:16px 32px 16px 32px;}.elementor-kit-35 button:hover,.elementor-kit-35 button:focus,.elementor-kit-35 input[type="button"]:hover,.elementor-kit-35 input[type="button"]:focus,.elementor-kit-35 input[type="submit"]:hover,.elementor-kit-35 input[type="submit"]:focus,.elementor-kit-35 .elementor-button:hover,.elementor-kit-35 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );}.elementor-kit-35 e-page-transition{background-color:#FFBC7D;}.elementor-kit-35 a{color:var( --e-global-color-4fe8186 );}.elementor-kit-35 a:hover{color:var( --e-global-color-primary );}.elementor-kit-35 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-35 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-35 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-5fed5f7-font-family ), Sans-serif;font-size:var( --e-global-typography-5fed5f7-font-size );font-weight:var( --e-global-typography-5fed5f7-font-weight );text-transform:var( --e-global-typography-5fed5f7-text-transform );font-style:var( --e-global-typography-5fed5f7-font-style );text-decoration:var( --e-global-typography-5fed5f7-text-decoration );line-height:var( --e-global-typography-5fed5f7-line-height );}.elementor-kit-35 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-d3cc8fc-font-family ), Sans-serif;font-size:var( --e-global-typography-d3cc8fc-font-size );font-weight:var( --e-global-typography-d3cc8fc-font-weight );text-transform:var( --e-global-typography-d3cc8fc-text-transform );font-style:var( --e-global-typography-d3cc8fc-font-style );text-decoration:var( --e-global-typography-d3cc8fc-text-decoration );line-height:var( --e-global-typography-d3cc8fc-line-height );}.elementor-kit-35 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-93584a3-font-family ), Sans-serif;font-size:var( --e-global-typography-93584a3-font-size );font-weight:var( --e-global-typography-93584a3-font-weight );text-transform:var( --e-global-typography-93584a3-text-transform );font-style:var( --e-global-typography-93584a3-font-style );text-decoration:var( --e-global-typography-93584a3-text-decoration );line-height:var( --e-global-typography-93584a3-line-height );word-spacing:var( --e-global-typography-93584a3-word-spacing );}.elementor-kit-35 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-a84e3de-font-family ), Sans-serif;font-size:var( --e-global-typography-a84e3de-font-size );font-weight:var( --e-global-typography-a84e3de-font-weight );text-transform:var( --e-global-typography-a84e3de-text-transform );font-style:var( --e-global-typography-a84e3de-font-style );text-decoration:var( --e-global-typography-a84e3de-text-decoration );line-height:var( --e-global-typography-a84e3de-line-height );word-spacing:var( --e-global-typography-a84e3de-word-spacing );}.elementor-kit-35 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-e9951e0-font-family ), Sans-serif;font-size:var( --e-global-typography-e9951e0-font-size );font-weight:var( --e-global-typography-e9951e0-font-weight );text-transform:var( --e-global-typography-e9951e0-text-transform );letter-spacing:var( --e-global-typography-e9951e0-letter-spacing );}.elementor-kit-35 input:not([type="button"]):not([type="submit"]),.elementor-kit-35 textarea,.elementor-kit-35 .elementor-field-textual{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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-primary );background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#ECECEC;border-radius:10px 10px 10px 10px;padding:14px 20px 14px 20px;}.elementor-kit-35 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-35 textarea:focus,.elementor-kit-35 .elementor-field-textual:focus{border-style:solid;border-color:#D5D5D5;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-35{--e-global-typography-primary-font-size:47px;--e-global-typography-secondary-font-size:37px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:12px;--e-global-typography-5fed5f7-font-size:22px;--e-global-typography-d3cc8fc-font-size:20px;--e-global-typography-93584a3-font-size:18px;--e-global-typography-a84e3de-font-size:16px;--e-global-typography-4db096e-font-size:15px;--e-global-typography-c19f6b5-font-size:42px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-35 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-35 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-35 h3{font-size:var( --e-global-typography-5fed5f7-font-size );line-height:var( --e-global-typography-5fed5f7-line-height );}.elementor-kit-35 h4{font-size:var( --e-global-typography-d3cc8fc-font-size );line-height:var( --e-global-typography-d3cc8fc-line-height );}.elementor-kit-35 h5{font-size:var( --e-global-typography-93584a3-font-size );line-height:var( --e-global-typography-93584a3-line-height );word-spacing:var( --e-global-typography-93584a3-word-spacing );}.elementor-kit-35 h6{font-size:var( --e-global-typography-a84e3de-font-size );line-height:var( --e-global-typography-a84e3de-line-height );word-spacing:var( --e-global-typography-a84e3de-word-spacing );}.elementor-kit-35 button,.elementor-kit-35 input[type="button"],.elementor-kit-35 input[type="submit"],.elementor-kit-35 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-35 label{font-size:var( --e-global-typography-e9951e0-font-size );letter-spacing:var( --e-global-typography-e9951e0-letter-spacing );}.elementor-kit-35 input:not([type="button"]):not([type="submit"]),.elementor-kit-35 textarea,.elementor-kit-35 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-35{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:34px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:12px;--e-global-typography-5fed5f7-font-size:21px;--e-global-typography-d3cc8fc-font-size:19px;--e-global-typography-93584a3-font-size:17px;--e-global-typography-a84e3de-font-size:16px;--e-global-typography-4db096e-font-size:14px;--e-global-typography-c19f6b5-font-size:40px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-35 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-35 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-35 h3{font-size:var( --e-global-typography-5fed5f7-font-size );line-height:var( --e-global-typography-5fed5f7-line-height );}.elementor-kit-35 h4{font-size:var( --e-global-typography-d3cc8fc-font-size );line-height:var( --e-global-typography-d3cc8fc-line-height );}.elementor-kit-35 h5{font-size:var( --e-global-typography-93584a3-font-size );line-height:var( --e-global-typography-93584a3-line-height );word-spacing:var( --e-global-typography-93584a3-word-spacing );}.elementor-kit-35 h6{font-size:var( --e-global-typography-a84e3de-font-size );line-height:var( --e-global-typography-a84e3de-line-height );word-spacing:var( --e-global-typography-a84e3de-word-spacing );}.elementor-kit-35 button,.elementor-kit-35 input[type="button"],.elementor-kit-35 input[type="submit"],.elementor-kit-35 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-35 label{font-size:var( --e-global-typography-e9951e0-font-size );letter-spacing:var( --e-global-typography-e9951e0-letter-spacing );}.elementor-kit-35 input:not([type="button"]):not([type="submit"]),.elementor-kit-35 textarea,.elementor-kit-35 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.rounded .elementor-cta__bg-wrapper {
    border-radius: 10px;
     border: 1px solid #ccc; /* Default border */
}




/* Füge dies zu den Basis-Styles hinzu (Abschnitt 2 oder ein neuer Abschnitt) */
.cta-form__suffix {
  display: flex;
  align-items: center;
  padding: 0 15px;
  background-color: #f8f9fa; /* Heller Hintergrund */
  color: #6c757d; /* Grauer Text */
  font-size: 0.95em;
  border-left: 1px solid var(--cta-border-color-default); /* Trennlinie links, Standardfarbe */
  white-space: nowrap;
  box-sizing: border-box;
  /* Kein Radius hier, da es Teil des .cta-form ist */
}

/* Füge dies als spezifische Variante hinzu (z.B. nach den Basis .cta-form Styles) */
.cta-form-container--with-suffix .cta-form {
  /* Leichte Anpassung der Rahmenfarbe für diese Variante, optional */
  /* border-color: #dee2e6; */ /* Du kannst auch die Standardfarbe lassen */
}

/* --- Ergänzung innerhalb des bestehenden @media (max-width: 600px) Blocks --- */
@media (max-width: 600px) {
  /* ... bestehende mobile Styles für .cta-form, .sticky-footer etc. ... */

  /* Spezifische Mobile Styles für Form mit Suffix */
  .cta-form-container--with-suffix .cta-form__suffix {
    border-radius: var(--cta-border-radius) !important; /* Voller Radius auf Mobilgeräten */
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding-top: 12px;
    padding-bottom: 12px;
    border: 1px solid #dee2e6 !important; /* Eigener Rand auf Mobilgeräten */
    background-color: #f8f9fa;
    padding-left: 15px;
    padding-right: 15px;
    justify-content: center;
    order: 2; /* Reihenfolge: Input (1), Suffix (2), Button (3) */
    margin-top: 0; /* Sicherstellen, dass kein vertikaler Abstand durch border-left entsteht */
    border-left: none; /* Keine linke Trennlinie im gestapelten Layout */
  }

  /* Stelle sicher, dass die Order für Input und Button korrekt ist (sollte schon so sein) */
   .cta-form-container--with-suffix .cta-form__input-group, /* Oder .cta-form__input wenn keine Gruppe */
   .cta-form-container--with-suffix .cta-form__input {
     order: 1;
   }
   .cta-form-container--with-suffix .cta-form__button {
     order: 3;
   }

   /* Ggf. Feedback auch zentrieren, falls noch nicht global für Mobile gemacht */
   .cta-form-container--with-suffix .form-feedback {
       text-align: center;
       width: 100%;
   }
}



/* ==========================================================================
   LaunchPress Custom CSS - Combined & Optimized
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Variablen (Global)
   -------------------------------------------------------------------------- */
:root {
  --cta-primary-color: #2A66FF;
  --cta-primary-text-color: #F2F8FF;
  --cta-hover-color: #FDB52A;
  --cta-hover-text-color: #000000;
  --cta-disabled-color: #6c757d;
  --cta-input-bg: #fff;
  --cta-input-text: #333;
  --cta-input-placeholder: #adb5bd;
  --cta-border-color-default: #ccc; /* Standard-Rahmenfarbe */
  --cta-border-radius: 8px;
  --cta-success-color: #28a745;
  --cta-error-color: #dc3545;
  --cta-info-color: #6c757d; /* Für neutrale Hinweise */
  --cta-focus-ring-color: rgba(42, 102, 255, 0.3); /* Vereinheitlicht */

  /* Slider spezifische Variablen */
  --slider-border-color: #e5e7eb;
  --slider-shadow-color: rgba(0, 0, 0, 0.04);
  --slider-gap: 40px;
  --slider-arrow-size: 45px;
}

/* --------------------------------------------------------------------------
   2. Basis CTA Formular Styles (für beide Formulare)
   -------------------------------------------------------------------------- */
.cta-form-container {
  /* Basis-Container, falls benötigt */
  position: relative; /* Wichtig für Feedback-Positionierung darunter */
}

.cta-form {
  display: flex;
  align-items: stretch; /* Gleiche Höhe für Input & Button */
  gap: 0;
  border-radius: var(--cta-border-radius);
  border: 1px solid var(--cta-border-color-default); /* Standardrahmen */
  background-color: var(--cta-input-bg);
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  position: relative; /* Für :focus-within */
  overflow: hidden; /* Verhindert, dass Button-Radius überschrieben wird */
}

/* Verbesserter Fokus-Indikator für die ganze Gruppe */
.cta-form:focus-within {
  border-color: var(--cta-primary-color);
  box-shadow: 0 0 0 3px var(--cta-focus-ring-color);
}

.cta-form__input-group {
  flex-grow: 1;
  position: relative; /* Für die Positionierung der Icons */
  display: flex; /* Input und Indikator nebeneinander */
  /* Kein eigener Radius hier, wird vom .cta-form gesteuert */
}

.cta-form__input {
  flex-grow: 1;
  padding: 15px 45px 15px 20px; /* Platz rechts für Icons */
  font-size: 1em;
  border: none !important; /* Wichtig gegen Theme/Elementor Overrides */
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent;
  color: var(--cta-input-text);
  box-sizing: border-box;
  width: 100%;
  min-width: 150px;
  border-radius: var(--cta-border-radius) 0 0 var(--cta-border-radius) !important; /* Nur links Radius */
}

.cta-form__input::placeholder {
  color: var(--cta-input-placeholder);
  opacity: 1;
}

/* Indikator-Bereich (rechts im Input) */
.cta-form__indicator {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 40px; /* Breite für das Icon */
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none; /* Damit man durchklicken kann */
}

.cta-form__icon {
  display: none; /* Standardmäßig alle Icons ausblenden */
  width: 18px;
  height: 18px;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

/* Lade-Animation */
.cta-form__icon--loading {
  animation: cta-spin 1s linear infinite;
  color: var(--cta-primary-color);
}
@keyframes cta-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Icon-Farben */
.cta-form__icon--valid { color: var(--cta-success-color); }
.cta-form__icon--invalid { color: var(--cta-error-color); }

/* Icons einblenden basierend auf Input-Klassen (funktioniert für beide Forms) */
.cta-form__input.loading + .cta-form__indicator .cta-form__icon--loading,
.cta-form__input.valid + .cta-form__indicator .cta-form__icon--valid,
.cta-form__input.invalid + .cta-form__indicator .cta-form__icon--invalid {
  display: block;
  opacity: 1;
  transform: scale(1);
}

/* Button Styling */
.cta-form__button {
  cursor: pointer;
  padding: 15px 25px;
  font-size: 1em;
  font-weight: 600;
  border: none !important; /* Wichtig gegen Theme/Elementor Overrides */
  border-radius: 0 var(--cta-border-radius) var(--cta-border-radius) 0 !important; /* Nur rechts Radius */
  white-space: nowrap;
  background-color: var(--cta-primary-color) !important; /* Wichtig gegen Elementor Button Styles */
  color: var(--cta-primary-text-color) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; /* Verhindert Schrumpfen */
  outline: none; /* Fokus wird von .cta-form gehandhabt */
}

.cta-form__button:hover:not(:disabled) {
  background-color: var(--cta-hover-color) !important;
  color: var(--cta-hover-text-color) !important;
}

.cta-form__button:disabled {
  background-color: var(--cta-disabled-color) !important;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Feedback Styling (unter dem Formular) */
.form-feedback {
  display: block;
  font-size: 0.85em;
  color: var(--cta-error-color); /* Standard rot */
  margin-top: 0.5rem;
  min-height: 1.3em; /* Platz reservieren, um Springen zu vermeiden */
  padding-left: 5px;
  transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
  opacity: 1;
  text-align: left; /* Standard linksbündig */
}

/* Feedback Typen (über JS Klassen gesetzt) */
.form-feedback.feedback-type--success { color: var(--cta-success-color); }
.form-feedback.feedback-type--error { color: var(--cta-error-color); }
.form-feedback.feedback-type--info { color: var(--cta-info-color); }

/* Stil für klickbaren Vorschlag */
.form-feedback .suggestion-prefix {
   /* Kein spezieller Style nötig, ist Teil des Textes */
}
.form-feedback .suggestion-link {
  color: var(--cta-primary-color);
  text-decoration: underline;
  cursor: pointer;
  font-weight: 500;
  margin-left: 5px; /* Kleiner Abstand zum Prefix/Fehlertext */
}
.form-feedback .suggestion-link:hover {
  text-decoration: none;
  color: var(--cta-hover-color);
}

/* --------------------------------------------------------------------------
   3. Template Slider Styles (Nur für Formular 2)
   -------------------------------------------------------------------------- */
.template-slider {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  padding-top: 70px; /* Platz für Pfeile */
}

.slider-container {
  position: relative;
  overflow: visible; /* Erlaubt Schatten etc. */
}

button.slider-arrow {
  position: absolute;
  top: -55px; /* Position über dem Slider */
  width: var(--slider-arrow-size) !important; /* Use variable */
  height: var(--slider-arrow-size) !important; /* Use variable */
  background: #fff;
  border: 1px solid var(--slider-border-color); /* Use variable */
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--slider-arrow-size) * 0.4);
  color: #4b5563;
  box-shadow: 0 1px 4px var(--slider-shadow-color); /* Use variable */
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  padding: 0px;
  z-index: 10;
}
.slider-arrow:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #adb5bd;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.slider-arrow--prev { right: calc(var(--slider-arrow-size) + 10px); }
.slider-arrow--next { right: 0; }
.slider-arrow:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #f9fafb;
  border-color: var(--slider-border-color);
  box-shadow: none;
}

.slider-track {
  display: flex;
  gap: var(--slider-gap); /* Use variable */
  transition: transform 0.5s ease;
  padding: 10px 0; /* Kleiner Puffer für Schatten */
}

.slider-item {
  flex: 0 0 calc((100% - 2 * var(--slider-gap)) / 3); /* Standard 3 Items */
  min-width: calc((100% - 2 * var(--slider-gap)) / 3);
  box-sizing: border-box;
}

/* Accessibility: Radio Button visuell verstecken */
.template-radio {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; /* Added */
  border-width: 0; /* Added */
}

.template-card {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--slider-border-color);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 5px var(--slider-shadow-color);
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  position: relative;
  height: 100%; /* Wichtig für gleiche Höhe */
  overflow: hidden; /* Falls Inhalte überlaufen */
}
.template-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.07);
  border-color: #d1d5db; /* Leicht dunklerer Rand beim Hover */
}

/* Radio Button Fokus Styling (auf der Karte) */
.template-radio:focus + .template-card,
.template-radio:focus-visible + .template-card { /* Modernere Variante */
  outline: none;
  box-shadow: 0 0 0 3px var(--cta-focus-ring-color); /* Fokus-Ring */
}

/* Checked State */
.template-radio:checked + .template-card {
  border-color: var(--cta-primary-color);
  box-shadow: 0 5px 15px rgba(42, 102, 255, 0.1);
}

/* Visueller Radio-Indikator (Kreis oben links) */
.template-card::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 20px;
  height: 20px;
  border: 1px solid #adb5bd;
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.2s;
  z-index: 1;
}
.template-card::after { /* Innerer Punkt */
  content: "";
  position: absolute;
  top: 17px; /* Zentriert im ::before */
  left: 17px; /* Zentriert im ::before */
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cta-primary-color);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.2s, transform 0.2s;
  z-index: 1;
}
.template-radio:checked + .template-card::before { border-color: var(--cta-primary-color); }
.template-radio:checked + .template-card::after { opacity: 1; transform: scale(1); }

.template-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #E0F2FE; /* Helles Blau */
  color: #0284C7; /* Dunkleres Blau */
  padding: 3px 8px;
  font-size: 0.7em;
  font-weight: 600;
  border-radius: 4px;
  z-index: 1;
}

.template-image {
  aspect-ratio: 16 / 10;
  background: #f3f4f6; /* Platzhalterfarbe */
  overflow: hidden;
  /* Kein Radius hier, wird von .template-card gesteuert */
}
.template-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; /* Verhindert ungewollten Leerraum */
}

/* Spezielle Styles für die "Nur WP" Karte */
.template-card--standard .template-content {
  flex-grow: 1; /* Nimmt verfügbaren Platz ein */
  padding: 30px 20px;
  text-align: center;
  background: #F7F8FA;
  font-size: 14px;
  color: #0A0A0A;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px; /* Mindesthöhe für Konsistenz */
}
.template-card--standard .template-content strong {
  display: block; /* Eigene Zeile */
  margin-bottom: 5px;
}

.template-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  border-top: 1px solid #f3f4f6; /* Leichte Trennlinie */
  background: #fff;
  margin-top: auto; /* Drückt Footer nach unten */
}
.template-card--standard .template-footer {
  justify-content: center; /* Nur Titel zentrieren */
}

.template-title {
  font-weight: 600;
  font-size: 0.9em;
  color: #1f2937; /* Dunkles Grau */
}

.template-preview {
  font-size: 0.8em;
  color: var(--cta-primary-color);
  text-decoration: none;
  font-weight: 500;
}
.template-preview:hover,
.template-preview:focus {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   4. Sticky Footer Styles (Nur für Formular 2)
   -------------------------------------------------------------------------- */
.sticky-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #F2F8FF; /* Heller Blauton */
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.05);
  padding: 10px 20px;
  z-index: 1000;
  opacity: 0; /* Startet unsichtbar */
  transform: translateY(100%); /* Startet außerhalb des Screens */
  transition: opacity 0.3s ease, transform 0.3s ease;
  visibility: hidden; /* Verhindert Interaktion im versteckten Zustand */
}
.sticky-footer.visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.sticky-footer-inner {
  max-width: 1200px; /* Gleiche Breite wie Slider */
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* Umbruch auf kleinen Screens */
}

.sticky-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #0A0A0A;
  flex-shrink: 0; /* Verhindert Schrumpfen */
  min-width: 0; /* Erlaubt Schrumpfen bei Bedarf */
}

.sticky-preview .preview-image-wrapper {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Preview Images im Sticky Footer - mit !important wegen Elementor Overrides */
/* Grund für !important: Elementor/Theme setzt oft globale img Styles (max-width: 100%, height: auto) */
#sticky-footer .sticky-preview .preview-image-wrapper img.preview-img {
  width: 35px !important;
  height: 35px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0, 0, 0, 0.08) !important;
  object-fit: cover !important;
  background: #fff !important; /* Falls Bild transparent ist */
  display: block !important;
  max-width: none !important; /* Überschreibt max-width: 100% */
  box-sizing: border-box !important;
}
#sticky-footer .sticky-preview .img-divider {
  width: 1px !important;
  height: 30px !important; /* Etwas kleiner als Bildhöhe */
  background: #ccc !important;
}

.sticky-preview .preview-text {
  line-height: 1.3;
}
.sticky-preview strong {
  display: block;
  font-weight: 600;
  font-size: 0.9em;
}
.sticky-preview span {
  font-size: 0.8em;
  color: #555; /* Etwas dunkleres Grau */
}

/* Anpassung des CTA Formulars im Sticky Footer */
.sticky-footer .cta-form-container {
  flex-grow: 1; /* Nimmt verfügbaren Platz */
  min-width: 280px; /* Mindestbreite für Input/Button */
  max-width: 450px; /* Maximale Breite */
}

.sticky-footer .cta-form {
  /* Im Sticky Footer hat das Formular *keinen* eigenen Rand */
  border: none;
  /* Hintergrund kommt vom .sticky-footer selbst */
  background-color: transparent;
}

.sticky-footer .cta-form__input-group {
    /* Der Input-Bereich bekommt hier den Rand und Hintergrund */
    border: 1px solid var(--cta-border-color-default);
    border-radius: var(--cta-border-radius);
    background-color: var(--cta-input-bg);
    overflow: hidden; /* Rundung beibehalten */
}

/* Kleinere Schrift/Padding im Sticky Footer */
.sticky-footer .cta-form__input {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 15px;
  font-size: 0.9em;
  /* Kein eigener Radius links mehr nötig, wird von input-group übernommen */
   border-radius: 0 !important;
}
.sticky-footer .cta-form__button {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 0.9em;
   /* Kein eigener Radius rechts mehr nötig, wird von input-group übernommen */
  border-radius: 0 !important;
}

/* Feedback im Sticky Footer (bleibt unter dem Input/Button) */
.sticky-footer .form-feedback {
  font-size: 0.8em;
  margin-top: 4px;
  padding-left: 0; /* Kein Einzug nötig */
}


/* --------------------------------------------------------------------------
   5. Responsive Styles
   -------------------------------------------------------------------------- */

/* Tablet & kleinere Desktops */
@media (max-width: 992px) {
  :root {
    --slider-gap: 30px; /* Weniger Abstand im Slider */
  }
  .slider-item {
    flex-basis: calc((100% - var(--slider-gap)) / 2); /* 2 Items sichtbar */
    min-width: calc((100% - var(--slider-gap)) / 2);
  }
}

/* Tablet Portrait & große Smartphones */
@media (max-width: 768px) {
  :root {
    --slider-gap: 20px;
    --slider-arrow-size: 36px; /* Kleinere Pfeile */
  }
  .template-slider {
    padding: 15px;
    padding-top: 60px; /* Etwas weniger Platz für Pfeile */
  }
  .slider-container { padding: 0; } /* Kein horizontaler Padding mehr */
  .slider-item {
    flex-basis: 70%; /* Scrollt teilweise rein */
    min-width: 70%;
  }
  button.slider-arrow {
    top: -45px; /* Näher am Slider */
  }
  .slider-arrow--prev { right: calc(var(--slider-arrow-size) + 8px); } /* Näher zusammen */
}

/* Smartphones */
@media (max-width: 600px) {
   /* --- Sticky Footer Anpassungen (Mobile) --- */
  .sticky-footer { padding: 10px 15px; }
  .sticky-footer-inner {
      gap: 10px;
      justify-content: center; /* Zentrieren, da alles untereinander */
  }

  /* Sticky Preview Bilder kleiner */
  #sticky-footer .sticky-preview .preview-image-wrapper img.preview-img {
    width: 30px !important;
    height: 30px !important;
  }
  #sticky-footer .sticky-preview .img-divider {
    height: 25px !important; /* Passend zu 30px */
  }
  .sticky-preview strong { font-size: 0.8em; }
  .sticky-preview span { font-size: 0.7em; }

  /* Sticky Footer Formular wird gestapelt */
  .sticky-footer .cta-form {
    flex-direction: column; /* Untereinander */
    gap: 8px; /* Abstand zwischen Input-Gruppe und Button */
    width: 100%; /* Volle Breite */
  }
  .sticky-footer .cta-form__input-group {
     order: 1; /* Input zuerst */
     width: 100%;
     border-radius: var(--cta-border-radius) !important; /* Voller Radius */
  }
  .sticky-footer .cta-form__input {
     padding: 10px 12px;
     font-size: 0.9em;
      border-radius: var(--cta-border-radius) 0 0 var(--cta-border-radius) !important; /* Links Radius, falls Icons noch da */
  }
  .sticky-footer .cta-form__indicator { padding-right: 8px; }
  .sticky-footer .cta-form__icon { width: 16px; height: 16px; }

  .sticky-footer .cta-form__button {
    order: 2; /* Button danach */
    width: 100%; /* Volle Breite */
    border-radius: var(--cta-border-radius) !important; /* Voller Radius */
    padding: 10px 15px;
    font-size: 0.9em;
    justify-content: center; /* Text zentrieren */
  }
  .sticky-footer .cta-form-container {
     width: 100%;
     max-width: none;
     min-width: 0;
  }
  .sticky-footer .form-feedback {
     order: 3; /* Feedback ganz unten */
     font-size: 0.75em;
     margin-top: 4px;
     width: 100%; /* Volle Breite */
     text-align: center; /* Feedback zentrieren */
  }

  /* --- Slider Anpassungen (Mobile) --- */
  .slider-item {
    flex-basis: 80%;
    min-width: 80%;
  }
  .template-card--standard .template-content {
    padding: 20px 15px;
    font-size: 13px;
    min-height: 120px; /* Etwas niedriger */
  }
  .template-footer { padding: 10px 12px; }
  .template-title { font-size: 0.85em; }
  button.slider-arrow { top: -40px; }
}

/* Kleinere Smartphones */
@media (max-width: 480px) {
  .slider-item {
    flex-basis: 85%; /* Fast volle Breite */
    min-width: 85%;
  }

  /* Optional: Sticky Preview auf kleinsten Screens ganz ausblenden */
  /*
  .sticky-preview {
      display: none;
  }
  .sticky-footer-inner {
      justify-content: center; // Nur noch Formular zentrieren
  }
  */
}/* End custom CSS */