.elementor-7243 .elementor-element.elementor-element-242e077{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7243 .elementor-element.elementor-element-da6d16f{--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7243 .elementor-element.elementor-element-aa61984{--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-7243 .elementor-element.elementor-element-f91496e.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-7243 .elementor-element.elementor-element-38f8415{--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-7243 .elementor-element.elementor-element-38491b7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7243 .elementor-element.elementor-element-38491b7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7243 .elementor-element.elementor-element-f2ed47a .elementor-heading-title{color:var( --e-global-color-adf53d3 );}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-7243 .elementor-element.elementor-element-a246ddd .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:var( --e-global-color-accent );color:#ffffff !important;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-7243 .elementor-element.elementor-element-aa61984{--width:50%;}.elementor-7243 .elementor-element.elementor-element-38f8415{--width:50%;}.elementor-7243 .elementor-element.elementor-element-38491b7{--width:102.544%;}}@media(max-width:1024px) and (min-width:768px){.elementor-7243 .elementor-element.elementor-element-38491b7{--width:100%;}}@media(max-width:1024px){.elementor-7243 .elementor-element.elementor-element-f91496e{width:var( --container-widget-width, 707.4px );max-width:707.4px;--container-widget-width:707.4px;--container-widget-flex-grow:0;}}/* Start custom CSS for html, class: .elementor-element-b1553b3 */.entry-content,
.post-content,
.page-content,
.wp-block-post-content,
.elementor-page .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}
/* ===========================
   FLUENT FORMS – WRAPPER
=========================== */
.contact-form-wrapper {
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 36px 32px;
  box-shadow: 0 4px 24px rgba(1,142,215,0.10);
}

/* ===========================
   LABELS
=========================== */
.contact-form-wrapper .ff-el-input--label label,
.contact-form-wrapper .ff-el-input--label,
.contact-form-wrapper label {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #1d1d1d !important;
  font-family: 'DM Sans', sans-serif !important;
  margin-bottom: 7px !important;
  display: block !important;
}

/* ===========================
   INPUTS, TEXTAREA, SELECT
=========================== */
.contact-form-wrapper .ff-el-form-control,
.contact-form-wrapper input[type="text"],
.contact-form-wrapper input[type="email"],
.contact-form-wrapper input[type="tel"],
.contact-form-wrapper textarea,
.contact-form-wrapper select {
  padding: 12px 16px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 9px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.93rem !important;
  color: #1d1d1d !important;
  background: white !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  display: block !important;
}

/* ===========================
   FOCUS STATE
=========================== */
.contact-form-wrapper .ff-el-form-control:focus,
.contact-form-wrapper input:focus,
.contact-form-wrapper textarea:focus,
.contact-form-wrapper select:focus {
  border-color: #018ed7 !important;
  box-shadow: 0 0 0 3px rgba(1,142,215,0.12) !important;
  outline: none !important;
}

/* ===========================
   TEXTAREA HÖHE
=========================== */
.contact-form-wrapper textarea,
.contact-form-wrapper .ff-el-form-control[type="textarea"] {
  min-height: 110px !important;
  resize: vertical !important;
}

/* ===========================
   FORM GROUPS / ABSTÄNDE
=========================== */
.contact-form-wrapper .ff-el-group,
.contact-form-wrapper .ff-form-group {
  margin-bottom: 18px !important;
}

/* ===========================
   ZWEISPALTIG: VOR- & NACHNAME
   (Fluent Forms Columns)
=========================== */
.contact-form-wrapper .ff-column-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

/* Fluent Forms nutzt oft .ff-t-container + .ff-t-cell */
.contact-form-wrapper .ff-t-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 16px !important;
}

.contact-form-wrapper .ff-t-cell {
  width: auto !important;
  float: none !important;
  padding: 0 !important;
}

/* ===========================
   SUBMIT BUTTON
=========================== */
.contact-form-wrapper .ff-btn-submit,
.contact-form-wrapper button[type="submit"] {
  background: #018ed7 !important;
  color: white !important;
  border: none !important;
  padding: 14px 28px !important;
  border-radius: 9px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  width: 100% !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background 0.2s, transform 0.2s !important;
  margin-top: 4px !important;
}

.contact-form-wrapper .ff-btn-submit:hover,
.contact-form-wrapper button[type="submit"]:hover {
  background: #016bb3 !important;
  transform: translateY(-2px) !important;
}

/* ===========================
   ERFOLGS- & FEHLERMELDUNGEN
=========================== */
.contact-form-wrapper .ff-message-success {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #16a34a !important;
  border-radius: 9px !important;
  padding: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
}

.contact-form-wrapper .ff-el-is-error .error,
.contact-form-wrapper .ff-el-form-control.ff_has_error {
  border-color: #f87171 !important;
}

.contact-form-wrapper .error.text {
  color: #f87171 !important;
  font-size: 0.8rem !important;
  margin-top: 4px !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* ===========================
   DATENSCHUTZ-HINWEIS UNTEN
=========================== */
.contact-form-wrapper .ff-el-group:last-of-type,
.contact-form-wrapper .ff-form-note {
  text-align: center !important;
  font-size: 0.8rem !important;
  color: #64748b !important;
  margin-top: 12px !important;
}

/* ===========================
   RESPONSIVE
=========================== */
@media (max-width: 768px) {
  .contact-form-wrapper {
    padding: 24px 18px !important;
  }

  .contact-form-wrapper .ff-t-container {
    grid-template-columns: 1fr !important;
  }

  .contact-form-wrapper .ff-column-2 {
    grid-template-columns: 1fr !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f91496e */.contact-info .sec-label-tag {
  margin-bottom: 16px;
  display: inline-block;
}

.contact-info h3 {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--text-main);
  margin-bottom: 16px;
  line-height: 1.25;
}

.contact-info > p {
  color: var(--text-muted);
  font-size: 0.97rem;
  line-height: 1.7;
  margin-bottom: 32px;
}

.contact-feature {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-main);
}

.contact-feature-icon {
  width: 40px;
  height: 40px;
  background: #eff6ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-feature-icon svg {
  width: 18px;
  height: 18px;
}/* End custom CSS */
/* Start custom CSS for fluent-form-widget, class: .elementor-element-a246ddd *//* Hintergrund, Rahmen und RUNDE ECKEN für alle Eingabefelder */
.fluentform .ff-el-form-control {
    background-color: #f2f2f2 !important;
    border: none !important;
    border-radius: 8px !important; /* Hier wird es rund */
    color: #333 !important;
    padding: 15px !important;
    height: auto !important;
}

/* Labels ausblenden für den cleanen Look */
.fluentform .ff-el-is-required.ff-el-t-top > label {
    display: none !important;
}

/* Den Senden-Button ebenfalls abrunden */
.fluentform .ff-btn-submit {
    background-color: #0087cb !important;
    border: none !important;
    border-radius: 8px !important; /* Button passend zu den Feldern */
    padding: 15px 40px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    transition: transform 0.2s ease;
}

.fluentform .ff-btn-submit:hover {
    transform: scale(1.02); /* Kleiner MSP-Style Effekt beim Drüberfahren */
}

/* Textarea Höhe */
.fluentform textarea.ff-el-form-control {
    min-height: 150px !important;
}/* End custom CSS */