.elementor-2663 .elementor-element.elementor-element-0924eb8{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2663 .elementor-element.elementor-element-0924eb8:not(.elementor-motion-effects-element-type-background), .elementor-2663 .elementor-element.elementor-element-0924eb8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F9FC;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button span{gap:10px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group > label, .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-subgroup label{color:#272727;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group > label{font-size:12px;font-weight:700;text-transform:uppercase;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-97804be );font-size:15px;font-weight:700;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group .elementor-field{color:#000000;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-color:#0000002B;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-color:#0000002B;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-group .elementor-select-wrapper::before{color:#0000002B;}.elementor-2663 .elementor-element.elementor-element-e0717ca .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2663 .elementor-element.elementor-element-e0717ca{--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 form, class: .elementor-element-e0717ca *//* Box-Design (Exakt wie dein Screenshot) */
.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload {
    border: 2px dashed #b0bcc9 !important;
    background-color: #f8fbff !important;
    padding: 20px 20px 20px 80px !important;
    border-radius: 4px;
    text-align: left;
    position: relative;
    min-height: 100px !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

/* Verstecktes Input-Feld */
.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload input[type="file"] {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
}

/* Texte & Icon */
.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload::before {
    content: 'Datei auswählen oder hier ablegen';
    font-size: 17px;
    font-weight: bold;
    color: #0d2c4d;
    z-index: 1;
}

.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload::after {
    content: 'PDF, DXF, DWG, STEP, JPG, PNG – max. 20 MB';
    font-size: 12px;
    color: #8c97a4;
    margin-top: 4px;
    z-index: 1;
}

.elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230d2c4d'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 25px center !important; 
    background-size: 35px !important;
}

/* Mobil-Optimierung für kleine Screens (Handy) */
@media (max-width: 767px) {
    .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload {
        min-height: 70px !important; /* Noch flacher */
        padding-left: 60px !important; /* Weniger Abstand links */
        padding-right: 15px !important;
        overflow: hidden; /* Verhindert, dass Text rausschwimmt */
    }
    
    /* Textgröße anpassen */
    .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload::before {
        font-size: 14px !important;
        white-space: nowrap; /* Verhindert hässliche Umbrüche im Haupttext */
    }
    
    .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload::after, 
    .file-list-display {
        font-size: 11px !important;
        max-width: 100%;
        word-break: break-all; /* Erzwingt Umbruch bei extrem langen Dateinamen */
        display: block;
    }

    /* Icon etwas kleiner und besser positioniert */
    .elementor-2663 .elementor-element.elementor-element-e0717ca .elementor-field-type-upload {
        background-size: 28px !important;
        background-position: 15px center !important;
    }

    /* Löschen-Button schmaler machen */
    .remove-files-btn {
        font-size: 10px !important;
        margin-top: 5px;
    }
}

/* Container für die Dateiliste */
.file-list-display {
    font-size: 13px;
    color: #E64415;
    font-weight: bold;
    margin-top: 5px;
    z-index: 11; /* Über dem unsichtbaren Input */
}

/* Der Löschen-Button */
.remove-files-btn {
    margin-top: 10px;
    font-size: 11px;
    text-transform: uppercase;
    color: #8c97a4;
    cursor: pointer;
    text-decoration: underline;
    z-index: 12;
    display: none; /* Erst anzeigen wenn Dateien da sind */
}

.remove-files-btn:hover {
    color: #E64415;
}

/* Wenn Dateien da sind, blenden wir den Standard-Untertext aus */
.has-files::after {
    display: none !important;
}/* End custom CSS */