.elementor-558 .elementor-element.elementor-element-8df6d96{--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;}.elementor-558 .elementor-element.elementor-element-9372bee.elementor-element{--align-self:center;}.elementor-558 .elementor-element.elementor-element-6bea101{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-558 .elementor-element.elementor-element-6bea101 .elementor-divider-separator{width:78%;}.elementor-558 .elementor-element.elementor-element-6bea101 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-558 .elementor-element.elementor-element-f48ddd1{--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;}.elementor-558 .elementor-element.elementor-element-32c832f{--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;--overlay-opacity:0.5;}.elementor-558 .elementor-element.elementor-element-32c832f::before, .elementor-558 .elementor-element.elementor-element-32c832f > .elementor-background-video-container::before, .elementor-558 .elementor-element.elementor-element-32c832f > .e-con-inner > .elementor-background-video-container::before, .elementor-558 .elementor-element.elementor-element-32c832f > .elementor-background-slideshow::before, .elementor-558 .elementor-element.elementor-element-32c832f > .e-con-inner > .elementor-background-slideshow::before, .elementor-558 .elementor-element.elementor-element-32c832f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-558 .elementor-element.elementor-element-61c4aec{--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;--overlay-opacity:0.65;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-558 .elementor-element.elementor-element-61c4aec:not(.elementor-motion-effects-element-type-background), .elementor-558 .elementor-element.elementor-element-61c4aec > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-transparent );}.elementor-558 .elementor-element.elementor-element-61c4aec::before, .elementor-558 .elementor-element.elementor-element-61c4aec > .elementor-background-video-container::before, .elementor-558 .elementor-element.elementor-element-61c4aec > .e-con-inner > .elementor-background-video-container::before, .elementor-558 .elementor-element.elementor-element-61c4aec > .elementor-background-slideshow::before, .elementor-558 .elementor-element.elementor-element-61c4aec > .e-con-inner > .elementor-background-slideshow::before, .elementor-558 .elementor-element.elementor-element-61c4aec > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-backgroundAccent );--background-overlay:'';}.elementor-558 .elementor-element.elementor-element-3341894.elementor-element{--align-self:center;}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:17px;}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-17px;}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-558 .elementor-element.elementor-element-3341894 .elementor-labels-inline .elementor-field-group > label{padding-left:13px;}body:not(.rtl) .elementor-558 .elementor-element.elementor-element-3341894 .elementor-labels-inline .elementor-field-group > label{padding-right:13px;}body .elementor-558 .elementor-element.elementor-element-3341894 .elementor-labels-above .elementor-field-group > label{padding-bottom:13px;}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group > label, .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-mark-required .elementor-field-label:after{color:var( --e-global-color-backgroundAccent );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-backgroundAccent );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-transparent );border-color:var( --e-global-color-background );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-transparent );border-color:var( --e-global-color-background );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-background );}.elementor-558 .elementor-element.elementor-element-3341894 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"]{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-558 .elementor-element.elementor-element-3341894 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894 .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-background );color:var( --e-global-color-primary );}.elementor-558 .elementor-element.elementor-element-3341894{--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;}.elementor-558 .elementor-element.elementor-element-f922d87{--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;}.elementor-558 .elementor-element.elementor-element-083f4fe{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-558 .elementor-element.elementor-element-083f4fe .elementor-divider-separator{width:100%;}.elementor-558 .elementor-element.elementor-element-083f4fe .elementor-divider{padding-block-start:15px;padding-block-end:15px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-558 .elementor-element.elementor-element-32c832f{--content-width:925px;}.elementor-558 .elementor-element.elementor-element-61c4aec{--width:100%;}}/* Start custom CSS for form, class: .elementor-element-3341894 *//* ============================================================
   HAFFNER AI – KONTAKTFORMULAR über dem Welt-Hintergrund
   Frosted-Glass: Welt scheint durch, Felder nur dezente Kontur.
   Voll responsiv (Desktop / Tablet / Handy). Nur Optik.
   WO EINFÜGEN: Formular-Widget → Erweitert →
   Benutzerdefiniertes CSS. (Feld vorher leeren!)
   ============================================================ */
/* ---- Eingabefelder, Textarea, Dropdown ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field {
    background: transparent !important;               /* durchsichtig, Welt voll sichtbar */
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    padding: 16px 18px !important;
    font-size: 1rem !important;
    transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease !important;
    box-shadow: none !important;
}
/* einzeilige Felder luftiger */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group input.elementor-field {
    min-height: 54px !important;
}
/* Textarea */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group textarea.elementor-field {
    min-height: 130px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
}
/* Dropdown / Auswahl (falls noch ein Select verwendet wird) */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group select.elementor-field {
    min-height: 54px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    color-scheme: dark !important;   /* zwingt eine evtl. Optionsliste dunkel */
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group select.elementor-field option {
    background: #0c1420 !important;
    color: #ffffff !important;
}
/* ---- Platzhalter-Text: hell genug für die dunkle Erde ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    opacity: 1 !important;
}
/* ---- Fokus: dezenter blauer Rand beim Reinklicken ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field:focus {
    border-color: rgba(0, 191, 255, 0.6) !important;
    background: transparent !important;
    box-shadow: 0 0 0 2px rgba(0, 191, 255, 0.12) !important;
    outline: none !important;
}
/* ---- Labels ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group > label {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-bottom: 9px !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);   /* Lesbarkeit auf hellen Erd-Stellen */
}
/* ---- Abstände ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group { margin-bottom: 10px; }
/* ---- extra Luft ober- und unterhalb der Anfrage-Auswahl ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group-field_7f9edfb {
    margin-top: 16px !important;
    margin-bottom: 18px !important;
}
/* ---- Button: dezent, Glas-Look mit blauem Rand ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"] {
    background: rgba(0, 191, 255, 0.10) !important;
    color: #00BFFF !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    border: 1px solid rgba(0, 191, 255, 0.45) !important;
    border-radius: 50px !important;
    padding: 15px 40px !important;
    margin-top: 12px;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    box-shadow: none !important;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important;
    cursor: pointer;
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"]:hover {
    background: rgba(0, 191, 255, 0.18) !important;
    border-color: rgba(0, 191, 255, 0.7) !important;
    transform: translateY(-2px) !important;
}
/* Button zentriert */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-type-submit { justify-content: center !important; }

/* ---- Bestätigungs-/Fehlermeldung: zentriert, weiches Weiß, blaue Links ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message {
    text-align: center !important;
    margin-top: 34px !important;
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message.elementor-message-success {
    color: rgba(226, 232, 240, 0.78) !important;   /* elegantes, gedämpftes Weiß */
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message.elementor-message-success p {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message.elementor-message-success a {
    color: #00BFFF !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    text-underline-offset: 3px !important;
}
/* ---- Haken vor der Erfolgsmeldung explizit GRÜN ---- */
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message.elementor-message-success::before {
    color: #22c55e !important;
}
.elementor-558 .elementor-element.elementor-element-3341894 .elementor-message.elementor-message-danger {
    color: #ff8a8a !important;
}

/* ============================================================
   TABLET (bis 1024px) – etwas kompaktere Abstände
   ============================================================ */
@media (max-width: 1024px) {
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field {
        padding: 15px 17px !important;
    }
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-message {
        margin-top: 30px !important;
    }
}

/* ============================================================
   HANDY (bis 767px) – volle Breite, kein iPhone-Zoom, Radios untereinander
   ============================================================ */
@media (max-width: 767px) {
    /* Button volle Breite, ruhigerer Innenabstand */
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"] {
        width: 100% !important;
        padding: 15px 20px !important;
    }
    /* Felder: 16px Schrift verhindert Auto-Zoom auf iPhones */
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field {
        font-size: 16px !important;
        padding: 14px 16px !important;
    }
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group textarea.elementor-field {
        min-height: 120px !important;
    }
    /* Labels minimal kleiner */
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group > label {
        font-size: 0.9rem !important;
    }
    /* Anfrage-Auswahl: Optionen untereinander statt in einer Reihe */
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group-field_7f9edfb .elementor-field-subgroup {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    /* Erfolgsmeldung: etwas weniger Abstand + Rand zum Schirm */
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-message {
        margin-top: 26px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        line-height: 1.65 !important;
    }
}

/* ============================================================
   KLEINE HANDYS (bis 380px) – z.B. iPhone SE
   ============================================================ */
@media (max-width: 380px) {
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-field-group .elementor-field {
        padding: 13px 14px !important;
        border-radius: 12px !important;
    }
    .elementor-558 .elementor-element.elementor-element-3341894 .elementor-button[type="submit"] {
        padding: 14px 16px !important;
        font-size: 1rem !important;
    }
}/* End custom CSS */