.elementor-2047 .elementor-element.elementor-element-073ec85{--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-2047 .elementor-element.elementor-element-c81f79d{--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-2047 .elementor-element.elementor-element-b30aa95{--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-2047 .elementor-element.elementor-element-51b0a9e.elementor-element{--align-self:center;}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:17px;}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-17px;}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-labels-inline .elementor-field-group > label{padding-left:11px;}body:not(.rtl) .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-labels-inline .elementor-field-group > label{padding-right:11px;}body .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-labels-above .elementor-field-group > label{padding-bottom:11px;}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group > label, .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-type-html{padding-bottom:1px;color:var( --e-global-color-text );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-background );border-color:var( --e-global-color-background );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-background );border-color:var( --e-global-color-background );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-background );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .e-form__buttons__wrapper__button-next{background-color:#121212;color:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"]{background-color:#121212;color:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"] svg *{fill:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2047 .elementor-element.elementor-element-51b0a9e .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e .e-form__buttons__wrapper__button-previous:hover{background-color:var( --e-global-color-background );color:var( --e-global-color-primary );}.elementor-2047 .elementor-element.elementor-element-51b0a9e{--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-2047 .elementor-element.elementor-element-d658b2c{--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-2047 .elementor-element.elementor-element-7277ad9{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-2047 .elementor-element.elementor-element-7277ad9 .elementor-divider-separator{width:100%;}.elementor-2047 .elementor-element.elementor-element-7277ad9 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2047 .elementor-element.elementor-element-b30aa95{--content-width:907px;}}/* Start custom CSS for form, class: .elementor-element-51b0a9e *//* ============================================================
   HAFFNER AI – FORMULAR-STYLING (Elementor Pro)
   Glassmorphism-Look, voll responsiv (Desktop / Tablet / Handy).
   Verändert nur die Optik – Daten-/E-Mail-Logik bleibt unberührt.
   WO EINFÜGEN: Form-Widget → "Erweitert" → "Benutzerdefiniertes CSS"
   Breite/Zentrierung wird MANUELL am Container eingestellt.
   ============================================================ */

/* ---- Eingabefelder, Textarea, Auswahl ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field {
    background: rgba(0, 191, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    padding: 16px 18px !important;
    font-size: 1rem !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease !important;
    box-shadow: none !important;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group input.elementor-field {
    min-height: 54px !important;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group textarea.elementor-field {
    min-height: 130px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
}
/* ---- Platzhalter-Text ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
    opacity: 1 !important;
}
/* ---- Fokus-Zustand: blauer Glow ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field:focus {
    border-color: rgba(0, 191, 255, 0.6) !important;
    background: rgba(0, 191, 255, 0.07) !important;
    box-shadow: 0 0 0 3px rgba(0, 191, 255, 0.12),
                0 0 22px -6px rgba(0, 191, 255, 0.5) !important;
    outline: none !important;
}
/* ---- Labels ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group > label {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-bottom: 9px !important;
    letter-spacing: 0.01em;
}
/* ---- Abstände zwischen den Feldern ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-form-fields-wrapper {
    gap: 4px 0;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group {
    margin-bottom: 8px;
}
/* ---- Absende-Button ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"] {
    background: linear-gradient(135deg, #00BFFF 0%, #0099FF 100%) !important;
    color: #001018 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.01em;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 38px !important;
    margin-top: 18px;
    box-shadow: 0 10px 30px -8px rgba(0, 191, 255, 0.6) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease !important;
    cursor: pointer;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 44px -8px rgba(0, 191, 255, 0.7) !important;
    filter: brightness(1.06);
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-type-submit {
    justify-content: center !important;
}
/* ---- Checkbox-/Optionstexte dezent ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-subgroup label,
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-option label {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.85rem !important;
}
/* ---- Bestätigungs-/Fehlermeldung: zentriert, weiches Weiß, blaue Links ---- */
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-message {
    text-align: center !important;
    margin-top: 34px !important;
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-message.elementor-message-success {
    color: rgba(226, 232, 240, 0.78) !important;   /* elegantes, gedämpftes Weiß */
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-message.elementor-message-success p {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .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-2047 .elementor-element.elementor-element-51b0a9e .elementor-message.elementor-message-success::before {
    color: #22c55e !important;
}
.elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-message.elementor-message-danger {
    color: #ff8a8a !important;
}

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

/* ============================================================
   HANDY (bis 767px) – volle Breite, kein iPhone-Zoom, sauberer Button
   ============================================================ */
@media (max-width: 767px) {
    /* Button volle Breite, weniger seitlicher Innenabstand */
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"] {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 1rem !important;
    }
    /* Felder: 16px Schrift verhindert Auto-Zoom auf iPhones */
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field {
        font-size: 16px !important;
        padding: 14px 16px !important;
    }
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group textarea.elementor-field {
        min-height: 120px !important;
    }
    /* Labels minimal kleiner */
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group > label {
        font-size: 0.9rem !important;
    }
    /* Erfolgsmeldung: etwas weniger Abstand + Rand zum Schirm */
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .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-2047 .elementor-element.elementor-element-51b0a9e .elementor-field-group .elementor-field {
        padding: 13px 14px !important;
        border-radius: 12px !important;
    }
    .elementor-2047 .elementor-element.elementor-element-51b0a9e .elementor-button[type="submit"] {
        padding: 15px 16px !important;
        font-size: 0.98rem !important;
    }
}/* End custom CSS */