.elementor-2373 .elementor-element.elementor-element-8a5b56a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-2373 .elementor-element.elementor-element-cbe2297{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2373 .elementor-element.elementor-element-b0ac289{width:var( --container-widget-width, 520px );max-width:520px;--container-widget-width:520px;--container-widget-flex-grow:0;}.elementor-2373 .elementor-element.elementor-element-b0ac289 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-2373 .elementor-element.elementor-element-b0ac289 .sasi-heading{text-align:left;}.elementor-2373 .elementor-element.elementor-element-b0ac289 .sasi-heading__sub{color:#FFFFFF;background-color:var( --e-global-color-accent );border-color:var( --e-global-color-primary );}.elementor-2373 .elementor-element.elementor-element-b0ac289 .sasi-heading__sub span{background:#FFFFFF;color:var( --e-global-color-accent );}.elementor-2373 .elementor-element.elementor-element-760e0f0{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2373 .elementor-element.elementor-element-59d0dd3{width:var( --container-widget-width, 542px );max-width:542px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;--container-widget-width:542px;--container-widget-flex-grow:0;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:400;color:#696969;}.elementor-2373 .elementor-element.elementor-element-e4a14d1{width:var( --container-widget-width, 275px );max-width:275px;--container-widget-width:275px;--container-widget-flex-grow:0;}.elementor-2373 .elementor-element.elementor-element-e4a14d1 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-2373 .elementor-element.elementor-element-e4a14d1 .sasi-icon-list-item:not(:last-child, .--inline-item){margin-bottom:10px;}.elementor-2373 .elementor-element.elementor-element-e4a14d1 .sasi-icon-list-item.--inline-item:not(:last-child){margin-right:10px;}.elementor-2373 .elementor-element.elementor-element-e4a14d1 .sasi-icon-list-item{color:#0E0E0E;font-size:22px;font-weight:500;line-height:30px;}.elementor-2373 .elementor-element.elementor-element-0b70af1{--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-2373 .elementor-element.elementor-element-7a60a1d{--display:flex;--gap:15px 15px;--row-gap:15px;--column-gap:15px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#EEEEEE;--border-color:#EEEEEE;--border-radius:14px 14px 14px 14px;--margin-top:-88px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:55px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-2373 .elementor-element.elementor-element-2b8b969{--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-2373 .elementor-element.elementor-element-eca2850{--spacer-size:150px;}@media(max-width:1024px){.elementor-2373 .elementor-element.elementor-element-8a5b56a{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;}.elementor-2373 .elementor-element.elementor-element-cbe2297{--grid-auto-flow:row;}.elementor-2373 .elementor-element.elementor-element-b0ac289{width:100%;max-width:100%;}.elementor-2373 .elementor-element.elementor-element-59d0dd3{width:100%;max-width:100%;}.elementor-2373 .elementor-element.elementor-element-e4a14d1{width:100%;max-width:100%;}}@media(max-width:767px){.elementor-2373 .elementor-element.elementor-element-cbe2297{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2373 .elementor-element.elementor-element-b0ac289 .sasi-heading__title{font-size:32px;line-height:40px;}.elementor-2373 .elementor-element.elementor-element-760e0f0{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2373 .elementor-element.elementor-element-e4a14d1 .sasi-icon-list-item{font-size:18px;line-height:28px;}.elementor-2373 .elementor-element.elementor-element-7a60a1d{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}}@media(min-width:768px){.elementor-2373 .elementor-element.elementor-element-760e0f0{--width:100%;}.elementor-2373 .elementor-element.elementor-element-7a60a1d{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2373 .elementor-element.elementor-element-760e0f0{--width:100%;}.elementor-2373 .elementor-element.elementor-element-7a60a1d{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-5a4e05b *//* ===== FORMULAR CONTAINER ===== */
.sasi-cf-form.main-form {
    background: #ffffff;
    padding: 50px;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.sasi-cf-form.main-form h3 {
    font-size: 28px;
    font-weight: 700;
    color: #0E0E0E;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #1c7798;
}

/* =====================================================
   CF7 RESET: p/br/spans erzeugen oft den "zu großen Abstand"
   ===================================================== */
.sasi-cf-form.main-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.sasi-cf-form.main-form br {
    display: none !important; /* verhindert CF7 Zeilenumbrüche die Abstand erzeugen */
}

/* ===== 2-SPALTEN LAYOUT ===== */
.sasi-cf-form.main-form .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 18px;
    width: 100%;
}

.sasi-cf-form.main-form .form-col {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
}

/* =====================================================
   LABEL SPACING: Textbox-Labels näher an Inputs
   - Textfeld Labels sitzen in .form-col
   - Pill-Überschriften sind direkte Kinder der Form
   ===================================================== */

/* Standard: etwas kompakter */
.sasi-cf-form.main-form label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #333;
    margin-bottom: 8px;
}

/* Textfelder: näher dran */
.sasi-cf-form.main-form .form-col > label {
    margin-bottom: 4px !important;
}

/* Pill-Überschriften (direkt in der Form): wieder etwas Luft */
.sasi-cf-form.main-form > label {
    margin-bottom: 8px !important;
}

/* CF7 Wrapper: kein zusätzlicher Abstand */
.sasi-cf-form.main-form .wpcf7-form-control-wrap {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== INPUT & TEXTAREA ===== */
.sasi-cf-form.main-form input[type="text"],
.sasi-cf-form.main-form input[type="email"],
.sasi-cf-form.main-form input[type="tel"],
.sasi-cf-form.main-form textarea {
    width: 100%;
    max-width: 100%;
    display: block;
    padding: 14px 18px !important;
    margin: 0 !important;                 /* WICHTIG: kein Default-Margin */
    border: 1px solid #CFE2F0 !important;
    border-radius: 10px !important;
    font-size: 15px;
    color: #333;
    background: #F7FDFC !important;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.sasi-cf-form.main-form input:focus,
.sasi-cf-form.main-form textarea:focus {
    outline: none !important;
    border-color: #48B4DD !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(72, 180, 221, 0.2) !important;
}

.sasi-cf-form.main-form textarea {
    min-height: 140px;
    resize: vertical;
}

.sasi-cf-form.main-form input::placeholder,
.sasi-cf-form.main-form textarea::placeholder {
    color: #8FA2B5 !important;
}

/* =========================================================
   PILL-FELDER (CF7 RADIO/CHECKBOX)
   ========================================================= */

.sasi-cf-form.main-form .cf-field-pills {
    margin: 10px 0 25px 0;
}

/* Flex/GAP auf dem CF7-Control selbst */
.sasi-cf-form.main-form .cf-field-pills .wpcf7-form-control {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 14px !important;
    align-items: flex-start;
}

/* CF7 Default margins killen */
.sasi-cf-form.main-form .cf-field-pills .wpcf7-list-item {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
}

/* Inputs verstecken */
.sasi-cf-form.main-form .cf-field-pills input[type="checkbox"],
.sasi-cf-form.main-form .cf-field-pills input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none;
}

/* Pill Label */
.sasi-cf-form.main-form .cf-field-pills .wpcf7-list-item-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    background: #F7FDFC !important;
    border: 1px solid #CFE2F0 !important;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    color: #333 !important;
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
    white-space: nowrap;
    line-height: 1;
}

/* Hover */
.sasi-cf-form.main-form .cf-field-pills .wpcf7-list-item-label:hover {
    border-color: #48B4DD !important;
    color: #1C7798 !important;
    background: #ffffff !important;
}

/* Checked */
.sasi-cf-form.main-form .cf-field-pills input[type="checkbox"]:checked + .wpcf7-list-item-label,
.sasi-cf-form.main-form .cf-field-pills input[type="radio"]:checked + .wpcf7-list-item-label {
    background: #1C7798 !important;
    border-color: #1C7798 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(28, 119, 152, 0.25);
}

/* ===== DATENSCHUTZ CHECKBOX ===== */
.sasi-cf-form.main-form label.consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    font-weight: 400;
    color: #666;
    line-height: 1.6;
    margin: 26px 0 16px 0;
}

.sasi-cf-form.main-form label.consent .wpcf7-form-control-wrap {
    flex-shrink: 0;
}

.sasi-cf-form.main-form label.consent input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    accent-color: #1c7798;
    cursor: pointer;
    margin-top: 2px !important;
}

/* ===== SUBMIT BUTTON ===== */
.sasi-cf-form.main-form .no-bot {
    margin-top: 10px;
    margin-bottom: 10px;
}

.sasi-cf-form.main-form .sasi-btn {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #4CB1DB !important;
    color: #ffffff !important;
    padding: 0 0 0 24px !important;
    border: none !important;
    border-radius: 50px !important;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: hidden;
    height: 52px;
}

.sasi-cf-form.main-form .sasi-btn .sasi-text {
    padding-right: 16px;
}

.sasi-cf-form.main-form .sasi-btn .sasi-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #1C7798 !important;
    border-radius: 50%;
    margin: 4px;
    transition: all 0.3s ease;
    border: none !important;
}

.sasi-cf-form.main-form .sasi-btn .sasi-icon i,
.sasi-cf-form.main-form .sasi-btn .sasi-icon svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    transition: all 0.3s ease;
}

/* Hover */
.sasi-cf-form.main-form .sasi-btn:hover {
    background: #1C7798 !important;
}

.sasi-cf-form.main-form .sasi-btn:hover .sasi-icon {
    background: #ffffff !important;
}

.sasi-cf-form.main-form .sasi-btn:hover .sasi-icon i,
.sasi-cf-form.main-form .sasi-btn:hover .sasi-icon svg {
    color: #1C7798 !important;
    fill: #1C7798 !important;
}

/* Keine Outlines */
.sasi-cf-form.main-form .sasi-btn,
.sasi-cf-form.main-form .sasi-btn:hover,
.sasi-cf-form.main-form .sasi-btn:focus,
.sasi-cf-form.main-form .sasi-btn:active {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Spinner */
.sasi-cf-form.main-form .wpcf7-spinner {
    margin-left: 15px;
}

/* ===== DISCLAIMER unter dem Senden-Button ===== */
.sasi-cf-form.main-form .form-disclaimer {
    margin: 10px 0 0 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: #6b7a88;
}

.sasi-cf-form.main-form .form-disclaimer a {
    color: #1C7798;
    text-decoration: underline;
    font-weight: 600;
}

.sasi-cf-form.main-form .form-disclaimer a:hover {
    color: #4CB1DB;
}

/* ===== ERROR STATES ===== */
.sasi-cf-form.main-form .wpcf7-not-valid {
    border-color: #e74c3c !important;
}

.sasi-cf-form.main-form .wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .sasi-cf-form.main-form {
        padding: 30px 20px;
    }

    .sasi-cf-form.main-form h3 {
        font-size: 22px;
    }

    .sasi-cf-form.main-form .form-row {
        flex-direction: column;
        gap: 14px;
    }

    .sasi-cf-form.main-form .cf-field-pills .wpcf7-form-control {
        gap: 10px 10px !important;
    }

    .sasi-cf-form.main-form .cf-field-pills .wpcf7-list-item-label {
        padding: 10px 16px;
        font-size: 13px;
        white-space: normal;
        line-height: 1.25;
        text-align: center;
    }
}/* End custom CSS */