.elementor-71 .elementor-element.elementor-element-3043ebd{--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:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-71 .elementor-element.elementor-element-3043ebd:not(.elementor-motion-effects-element-type-background), .elementor-71 .elementor-element.elementor-element-3043ebd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-1c56aad ) 0%, #F2295B00 100%);}.elementor-71 .elementor-element.elementor-element-0223675{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-71 .elementor-element.elementor-element-331ff1f{--spacer-size:119px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-71 .elementor-element.elementor-element-5a13f2f{text-align:center;}.elementor-71 .elementor-element.elementor-element-5a13f2f .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-71 .elementor-element.elementor-element-6c0fa84{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );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-71 .elementor-element.elementor-element-6ffcde3{text-align:center;color:#52666B;}.elementor-71 .elementor-element.elementor-element-9e827d0{--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:96px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-71 .elementor-element.elementor-element-9e827d0:not(.elementor-motion-effects-element-type-background), .elementor-71 .elementor-element.elementor-element-9e827d0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBF9F5;}.elementor-71 .elementor-element.elementor-element-b3258be{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-71 .elementor-element.elementor-element-6709656{--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;--gap:24px 24px;--row-gap:24px;--column-gap:24px;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:#E3E0D8;--border-color:#E3E0D8;--border-radius:24px 24px 24px 24px;--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-71 .elementor-element.elementor-element-6709656:not(.elementor-motion-effects-element-type-background), .elementor-71 .elementor-element.elementor-element-6709656 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-71 .elementor-element.elementor-element-88c4672{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--border-radius:16px 16px 16px 16px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-71 .elementor-element.elementor-element-88c4672:not(.elementor-motion-effects-element-type-background), .elementor-71 .elementor-element.elementor-element-88c4672 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F0E9;}.elementor-71 .elementor-element.elementor-element-6ed3588{color:#52666B;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-71 .elementor-element.elementor-element-0223675{--content-width:1200px;}.elementor-71 .elementor-element.elementor-element-b3258be{--content-width:1200px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}/* Start custom CSS for shortcode, class: .elementor-element-c9adbcb *//* ============================================================
   Kontaktformular – Custom Styling
   Elementor Shortcode-Widget mit Contact Form 7 (wpcf7-f423-p71-o1)
   ------------------------------------------------------------
   Einfügen unter:
   Elementor → Website-Einstellungen → Benutzerdefiniertes CSS
   (oder WordPress-Customizer → Zusätzliches CSS)
   ============================================================ */

.wpcf7-form {
  --cf-accent: #1b6f66;      /* Petrol/Teal – Akzentfarbe */
  --cf-accent-bg: #e8f5f2;   /* helles Teal für ausgewählte Karte */
  --cf-navy: #16374a;        /* dunkles Blau – Überschriften/Button */
  --cf-border: #e1e4e8;      /* neutrale Rahmenfarbe */
  --cf-radius: 12px;
}

/* ---------------------------------------------------------
   1) "Wen möchtest du kontaktieren?" als Auswahlkarten
   --------------------------------------------------------- */
.etw-cf7-recipient p > label {
  display: block;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--cf-navy);
  margin-bottom: .9rem;
}

.wpcf7-form-control.wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  width: 100%;
}

@media (max-width: 780px) {
  .wpcf7-form-control.wpcf7-radio { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .wpcf7-form-control.wpcf7-radio { grid-template-columns: 1fr; }
}

.wpcf7-list-item {
  margin: 0 !important;
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1rem;
  border: 1.5px solid var(--cf-border);
  border-radius: var(--cf-radius);
  background: #fff;
  cursor: pointer;
  font-size: .95rem;
  color: #333;
  transition: border-color .15s ease, background-color .15s ease,
              box-shadow .15s ease, transform .1s ease;
}

.wpcf7-list-item label:hover {
  border-color: var(--cf-accent);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

.wpcf7-list-item input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--cf-accent);
}

/* Karte farblich hervorheben, wenn ausgewählt (moderne Browser) */
.wpcf7-list-item:has(input:checked) label {
  border-color: var(--cf-accent);
  background: var(--cf-accent-bg);
  color: var(--cf-accent);
  font-weight: 600;
}

.wpcf7-list-item-label {
  line-height: 1.3;
}

/* ---------------------------------------------------------
   2) Zwei Felder pro Zeile (Vorname/Nachname, E-Mail/Telefon)
   --------------------------------------------------------- */
.etw-cf7-row > p {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin: 0;
}

/* das trennende <br> zwischen den beiden Labels ausblenden,
   die <br> INNERHALB eines Labels (vor dem Eingabefeld) bleiben erhalten */
.etw-cf7-row > p > br {
  display: none;
}

.etw-cf7-row > p > label {
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin: 0;
}

/* ---------------------------------------------------------
   3) Allgemeine Feld-Beschriftungen
   --------------------------------------------------------- */
.wpcf7-form p > label {
  font-weight: 600;
  color: var(--cf-navy);
  font-size: .92rem;
}

/* ---------------------------------------------------------
   4) Eingabefelder, Select, Textarea
   --------------------------------------------------------- */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-select {
  width: 100%;
  box-sizing: border-box;
  padding: .7rem .9rem;
  margin-top: .35rem;
  border: 1.5px solid var(--cf-border);
  border-radius: 8px;
  font-size: .95rem;
  color: #2b2b2b;
  background-color: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.wpcf7-form-control.wpcf7-textarea {
  resize: vertical;
  min-height: 140px;
}

.wpcf7-form-control:focus {
  outline: none;
  border-color: var(--cf-accent);
  box-shadow: 0 0 0 3px var(--cf-accent-bg);
}

.wpcf7-form-control.wpcf7-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2316374a'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.17l3.71-3.94a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  background-size: 14px;
  padding-right: 2.2rem;
  cursor: pointer;
}

.wpcf7-form ::placeholder {
  color: #9aa1a8;
}

/* ---------------------------------------------------------
   5) Datenschutz-Checkbox
   --------------------------------------------------------- */
.wpcf7-acceptance .wpcf7-list-item-label {
  font-size: .85rem;
  color: #555;
  line-height: 1.5;
}

.wpcf7-acceptance input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: .5rem;
  vertical-align: middle;
  accent-color: var(--cf-accent);
}

/* ---------------------------------------------------------
   6) Absenden-Button
   --------------------------------------------------------- */
.wpcf7-form-control.wpcf7-submit {
  background-color: var(--cf-navy);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: .85rem 2.4rem;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background-color .15s ease, transform .1s ease;
}

.wpcf7-form-control.wpcf7-submit:hover {
  background-color: #1f4a63;
  transform: translateY(-1px);
}

.wpcf7-form-control.wpcf7-submit:active {
  transform: translateY(0);
}

/* ---------------------------------------------------------
   7) Status-/Fehlermeldungen
   --------------------------------------------------------- */
.wpcf7-response-output {
  border-radius: 8px !important;
  padding: .8rem 1rem !important;
  font-size: .9rem;
}

/* ---------------------------------------------------------
   8) Hinweis-Box unterhalb des Formulars
   Hinweis: Die Element-ID (elementor-element-88c4672) kann sich
   ändern, falls das Element in Elementor neu erstellt wird.
   Alternative generische Regel als Fallback ist ebenfalls
   angegeben (wirkt auf jedes Text-Editor-Widget direkt nach
   dem Formular-Container).
   --------------------------------------------------------- */
.elementor-element-88c4672 {
  background-color: #f4efe6 !important;
  border-radius: var(--cf-radius);
  padding: 1.1rem 1.3rem;
}

.elementor-element-88c4672 p {
  margin: 0;
  font-size: .88rem;
  color: #4a4a4a;
  line-height: 1.5;
}

.elementor-element-88c4672 strong {
  color: var(--cf-navy);
}/* End custom CSS */