.elementor-1745 .elementor-element.elementor-element-fdf3a38{--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-1745 .elementor-element.elementor-element-68d9300{--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-1745 .elementor-element.elementor-element-939a39f{--divider-border-style:solid;--divider-color:#000;--divider-border-width:9.2px;}.elementor-1745 .elementor-element.elementor-element-939a39f .elementor-divider-separator{width:94%;}.elementor-1745 .elementor-element.elementor-element-939a39f .elementor-divider{padding-block-start:50px;padding-block-end:50px;}.elementor-1745 .elementor-element.elementor-element-5f29db4{--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-1745 .elementor-element.elementor-element-5171511{--display:flex;--min-height:0px;--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;--justify-content:center;}.elementor-1745 .elementor-element.elementor-element-5171511.e-con{--align-self:center;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group{padding-right:calc( 31px/2 );padding-left:calc( 31px/2 );margin-bottom:21px;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-form-fields-wrapper{margin-left:calc( -31px/2 );margin-right:calc( -31px/2 );margin-bottom:-21px;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-type-html{padding-bottom:0px;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-background );border-color:var( --e-global-color-background );}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-background );border-color:var( --e-global-color-background );}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-background );}.elementor-1745 .elementor-element.elementor-element-7aea83d .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-background );color:var( --e-global-color-primary );transition-duration:0ms;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"]{background-color:var( --e-global-color-background );color:var( --e-global-color-primary );transition-duration:0ms;}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"] svg *{fill:var( --e-global-color-primary );transition-duration:0ms;}.elementor-1745 .elementor-element.elementor-element-7aea83d .e-form__buttons__wrapper__button-previous{color:#ffffff;transition-duration:0ms;}.elementor-1745 .elementor-element.elementor-element-7aea83d .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-backgroundAccent );color:var( --e-global-color-primary );}.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-primary );}.elementor-1745 .elementor-element.elementor-element-7aea83d .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1745 .elementor-element.elementor-element-7aea83d{--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-1745 .elementor-element.elementor-element-32eeba4{--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-1745 .elementor-element.elementor-element-e64c2b9{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-1745 .elementor-element.elementor-element-e64c2b9 .elementor-divider-separator{width:100%;}.elementor-1745 .elementor-element.elementor-element-e64c2b9 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1745 .elementor-element.elementor-element-5f29db4{--content-width:746px;}}/* Start custom CSS for form, class: .elementor-element-7aea83d *//* ============================================================
   HAFFNER AI – KONTAKTFORMULAR (komplett, fertig zum Einfügen)
   Voll responsiv (Desktop / Tablet / Handy). Nur Optik.
   Formular-Widget -> Erweitert -> Benutzerdefiniertes CSS
   (Feld vorher leeren, dann alles hier einfügen)
   ============================================================ */
/* ---- Eingabefelder, Textarea, Dropdown ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-field {
    background: transparent !important;
    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;
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group input.elementor-field {
    min-height: 54px !important;
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group textarea.elementor-field {
    min-height: 130px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group select.elementor-field {
    min-height: 54px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    color-scheme: dark !important;   /* falls ein Dropdown genutzt wird: Liste dunkel */
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group select.elementor-field option {
    background: #0c1420 !important;
    color: #ffffff !important;
}
/* ---- Platzhalter ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    opacity: 1 !important;
}
/* ---- Fokus ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .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-1745 .elementor-element.elementor-element-7aea83d .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);
}
/* ---- Abstaende ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group { margin-bottom: 10px; }
/* ---- Button (gefüllt, kräftig – Conversion-Stil) ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .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: 12px;
    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-1745 .elementor-element.elementor-element-7aea83d .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-1745 .elementor-element.elementor-element-7aea83d .elementor-field-type-submit { justify-content: center !important; }

/* ---- Erfolgsmeldung: dezent grau, Abstand, nur Link blau ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-success {
    color: rgba(255, 255, 255, 0.65) !important;
    margin-top: 28px !important;
    line-height: 1.7 !important;
    font-size: 0.98rem !important;
    text-align: center !important;
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-success a {
    color: #00BFFF !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-success a:hover {
    color: #33ccff !important;
}
/* ---- Haken vor der Erfolgsmeldung explizit GRÜN ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-success::before {
    color: #22c55e !important;
}
/* ---- Fehlermeldung ---- */
.elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-danger {
    color: #ff8a8a !important;
    text-align: center !important;
}

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

/* ============================================================
   HANDY (bis 767px) – volle Breite, kein iPhone-Zoom, Radios untereinander
   ============================================================ */
@media (max-width: 767px) {
    /* Button normal breit (nicht gestreckt), mit passendem Innenabstand für die Pille */
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"] {
        width: auto !important;
        padding: 15px 32px !important;
    }
    /* Felder: 16px Schrift verhindert Auto-Zoom auf iPhones */
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-field {
        font-size: 16px !important;
        padding: 14px 16px !important;
    }
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group textarea.elementor-field {
        min-height: 120px !important;
    }
    /* Labels minimal kleiner */
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group > label {
        font-size: 0.9rem !important;
    }
    /* Radio-/Auswahloptionen untereinander statt in einer Reihe */
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-field-type-radio .elementor-field-subgroup {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    /* Erfolgsmeldung: Rand zum Schirm */
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-message.elementor-message-success {
        margin-top: 24px !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-1745 .elementor-element.elementor-element-7aea83d .elementor-field-group .elementor-field {
        padding: 13px 14px !important;
        border-radius: 12px !important;
    }
    .elementor-1745 .elementor-element.elementor-element-7aea83d .elementor-button[type="submit"] {
        padding: 14px 24px !important;
        font-size: 1rem !important;
    }
}/* End custom CSS */