.elementor-5902 .elementor-element.elementor-element-787f013{--display:flex;}.elementor-widget-global .elementor-field-group > label, .elementor-widget-global .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-global .elementor-field-type-html{color:var( --e-global-color-text );}.elementor-widget-global .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-global .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-global .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-global .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-global{--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-5902 .elementor-element.elementor-global-5770 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:16px;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-16px;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-5902 .elementor-element.elementor-global-5770 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-5902 .elementor-element.elementor-global-5770 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-5902 .elementor-element.elementor-global-5770 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-primary );}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group .elementor-field{color:#1D1D1D;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group .elementor-field, .elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-subgroup label{font-size:12px;font-weight:400;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:#A1A1A180;border-radius:60px 60px 60px 60px;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:#A1A1A180;border-radius:60px 60px 60px 60px;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-group .elementor-select-wrapper::before{color:#A1A1A180;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-button{font-weight:var( --e-global-typography-primary-font-weight );border-radius:60px 60px 60px 60px;padding:10px 30px 10px 30px;}.elementor-5902 .elementor-element.elementor-global-5770 .e-form__buttons__wrapper__button-next{background-color:#001EDC;color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-button[type="submit"]{background-color:#001EDC;color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-5902 .elementor-element.elementor-global-5770{--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;}/* Start custom CSS for global, class: .elementor-global-5770 */.elementor-5902 .elementor-element.elementor-global-5770 h2,
.elementor-5902 .elementor-element.elementor-global-5770 p{
    color: #001EDC;
}
.elementor-5902 .elementor-element.elementor-global-5770 h2{
    font-weight: bold;
}
.elementor-5902 .elementor-element.elementor-global-5770 .header{
    padding-bottom: 20px;
    padding-top: 60px;
}
.elementor-5902 .elementor-element.elementor-global-5770 .header.note{
    padding-top: 10px;
    padding-bottom: 40px;
}
.elementor-5902 .elementor-element.elementor-global-5770 textarea{
    margin-top: 15px;
    border-color: #A1A1A180 ;
    border-radius: 10px !important;
}

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-text input,
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-email input,
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-textarea textarea{
    box-shadow: 0px 0px 4px 0px rgb(0 0 0 / 20%);
}
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-text label,
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-date label,
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-email label{
    display: none;
}

/* --- UPLOAD-FELDER STYLING --- */

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-upload {
    position: relative;
    display: flex;
    flex-direction: row;       /* Elemente nebeneinander */
    align-items: center;        /* Vertikal perfekt zentrieren */
    justify-content: flex-start;/* Linksbündig ausrichten */
    width: 100%;
    padding-bottom: 40px;
    gap: 20px;
}

@media (max-width: 767px) {
    .elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-upload {
        padding-bottom: 10px;
    }
    .elementor-5902 .elementor-element.elementor-global-5770 .header{
        padding-bottom: 0px;
    }
}

/* Das unsichtbare originale Input-Feld genau über das Label (den Button) legen */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-upload input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;  /* Passt sich der ungefähren Breite deines Buttons an */
    height: 52px;  /* Passt sich der ungefähren Höhe deines Buttons an */
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-acceptance{
    padding-top: 20px;
}

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-acceptance label{
    font-size: 16px !important;
}
    
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-acceptance .elementor-field-label{
    display: none;
}

.elementor-field-type-submit{
    padding-top: 60px;
} 

/* Das Label als den neuen blauen Button stylen */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-upload .elementor-field-label {
    display: inline-block;
    background-color: #0026e6; 
    color: #ffffff; 
    width: 180px;               /* FESTE BREITE: Damit alle Buttons gleich lang sind */
    padding: 16px 0 !important; /* Innenabstand oben/unten, links/rechts über Breite geregelt */
    border-radius: 50px; 
    font-weight: normal;
    text-align: center;
    transition: background-color 0.3s ease;
    margin-bottom: 0; 
    pointer-events: none; /* Klicks gehen durch das Label direkt auf den unsichtbaren Input */
}

/* Hover-Effekt */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-type-upload:hover .elementor-field-label {
    background-color: #001ec4; 
}

/* Status-Info (Text daneben) */
.elementor-5902 .elementor-element.elementor-global-5770 .upload-status-info {
    font-size: 14px;
    margin-top: 0;              /* Kein Abstand nach oben nötig im Row-Layout */
    text-align: left;           /* Linksbündig neben dem Button */
    line-height: 1.3;
    display: inline-block;      /* Verhindert ungewollte Zeilenumbrüche */
}

/* Zustand: Noch offen (Rot/Rosa) */
.elementor-5902 .elementor-element.elementor-global-5770 .upload-status-info.status-offen {
    color: #ff6b6b; 
}

/* Zustand: Erfolgreich geladen (Grau) */
.elementor-5902 .elementor-element.elementor-global-5770 .upload-status-info .status-success {
    color: #888888;
}

/* Dateiname */
.elementor-5902 .elementor-element.elementor-global-5770 .upload-status-info .status-filename {
    color: #aaaaaa;
    font-size: 12px;
    word-break: break-all;
}

/* --- CHECKBOXEN (RUND MIT BLAUEM HÄKCHEN) --- */

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-option {
    display: flex;
    align-items: center;
    gap: 10px;
}

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-acceptance-field {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-option label {
    position: relative;
    cursor: pointer;
    color: #666;
    font-size: 16px;
    line-height: 1.4;
    padding-left: 40px;
}

/* Das leere Kästchen (Hier jetzt wieder rund) */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-field-option label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    border: 2px solid #cfcfcf;
    border-radius: 50%; /* Wieder komplett rund eingestellt */
    background: #fff;
    box-sizing: border-box;
    box-shadow: 0px 0px 4px 0px rgb(0 0 0 / 20%);
    transition: border-color 0.2s ease;
}

/* Rahmen färbt sich blau beim Anklicken */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-acceptance-field:checked + label::before {
    border-color: #001EDC; 
}

/* Das blaue Häkchen (Checkmark) */
/* Das blaue Häkchen (Checkmark) - Perfekt zentriert */
.elementor-5902 .elementor-element.elementor-global-5770 .elementor-acceptance-field:checked + label::after {
    content: "";
    position: absolute;
    left: 10px;                  /* Leicht nach rechts verschoben (vorher 9px) */
    top: calc(50% - 1px);        /* Einen Pixel nach oben korrigiert für eine optische Mitte */
    width: 6px;
    height: 12px;
    border: solid #001EDC;       /* Blaues Häkchen */
    border-width: 0 3px 3px 0;
    transform: translateY(-50%) rotate(45deg);
    box-sizing: border-box;
}/* End custom CSS */