#elementor-popup-modal-13825{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-13825 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-13825 .dialog-close-button{display:flex;}#elementor-popup-modal-13825 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}/* Start custom CSS for shortcode, class: .elementor-element-3a30272 */@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

/* ===== Pop-up Card + Schatten + Radius ===== */
.elementor-popup-modal .dialog-widget{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 28px 64px rgba(0,0,0,.22);
}
.elementor-popup-modal .dialog-widget-content{
  background:
    linear-gradient(180deg, rgba(59,130,246,.08) 0%, rgba(59,130,246,0) 120px),
    #fff;
  padding:28px 24px 26px;
}

/* ===== Grundtypografie ===== */
.elementor-popup-modal .wpcf7{ font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#12151a; font-weight:400; }

/* ===== Grid 2-spaltig ab 720px ===== */
.jmd-grid-2{ display:block; gap:14px; }
@media (min-width:720px){ .jmd-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; } }

/* ===== Floating label fields ===== */
.jmd-field{ position:relative; margin:10px 0 16px; }
.jmd-field label{
  position:absolute; left:14px; top:14px;
  background:#fff; padding:0 6px;
  color:#6b7280; font-size:14px; line-height:1;
  transform-origin:left top;
  transition: transform .16s ease, color .16s ease, top .16s ease;
  pointer-events:none;
}
.jmd-input{
  width:100%; box-sizing:border-box;
  padding:18px 16px 16px; /* extra top space for label */
  border:1.8px solid #cfd6df; border-radius:14px;
  background:#fff; color:#12151a;
  box-shadow:0 1px 2px rgba(16,24,40,.05), inset 0 1px 0 rgba(255,255,255,.6);
  transition:border-color .18s, box-shadow .18s, background .2s;
}
.jmd-textarea{ min-height:190px; resize:vertical; }

/* Label floaten, wenn Feld Fokus hat oder Inhalt besitzt */
.jmd-field:focus-within label,
.jmd-field :is(input,textarea):not(:placeholder-shown) + label{
  top:-8px; transform:scale(.88);
  color:#3b82f6;
}

/* Fokusrahmen */
.jmd-field :is(input,textarea):focus{
  border-color:#8fa2bb;
  box-shadow:0 0 0 4px rgba(143,162,187,.22);
  outline:0;
}
.elementor-popup-modal .wpcf7 ::placeholder{ color:transparent; } /* wir nutzen das Label als Platzhalter */

/* Pflichtstern an drei Labels */
.jmd-field label[for="cf7-name"]::after,
.jmd-field label[for="cf7-email"]::after,
.jmd-field label[for="cf7-message"]::after{
  content:" *"; color:#e11d48; font-weight:700; margin-left:4px;
}

/* Datei-Upload tidy */
.jmd-file{ margin:6px 0 10px; }
.jmd-file > span{ display:block; font-size:13.5px; color:#374151; margin:0 0 8px; }
#cf7-file{ display:block; width:100%; border:0; background:transparent; color:#111; }
#cf7-file::file-.elementor-13825 .elementor-element.elementor-element-3a30272-button{
  padding:10px 14px; border-radius:999px; border:1.6px solid #cfd6df; background:#fff; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:box-shadow .18s, transform .06s, filter .18s;
}
#cf7-file::file-.elementor-13825 .elementor-element.elementor-element-3a30272-button:hover{ filter:brightness(1.03); box-shadow:0 3px 12px rgba(0,0,0,.08); }
#cf7-file::-webkit-file-upload-button{ padding:10px 14px; border-radius:999px; border:1.6px solid #cfd6df; background:#fff; cursor:pointer; }

/* Validierungen */
.wpcf7-not-valid{ border-color:#e11d48 !important; }
.wpcf7-not-valid-tip{ color:#e11d48; font-size:.85rem; margin:6px 0 0; }

/* ===== CTA mittig + Premium-Look ===== */
.jmd-submit{ display:flex; justify-content:center; margin-top:12px; }
.jmd-submit .send-btn{ margin:0; }
.wpcf7 input[type="submit"], .wpcf7 .send-btn{
  display:inline-block; padding:14px 34px; border-radius:999px; border:none;
  background:linear-gradient(180deg,#232935,#171b23);
  color:#fff; font-weight:700; letter-spacing:.2px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transition:transform .08s ease, box-shadow .2s, filter .2s;
}
.wpcf7 input[type="submit"]:hover{ transform:translateY(-1px); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.wpcf7 input[type="submit"]:active{ transform:translateY(0); }

/* Systemmeldungen eleganter */
.wpcf7 form .wpcf7-response-output{
  margin:18px 0 0; padding:12px 14px;
  border-radius:12px; border:1.6px solid #e6ebf1; background:#f7fafc; color:#111;
}
/* ===== Soft-Theme Overrides (weniger Schwarz, Weight 400) ===== */

/* Grundschrift weicher + 400 */
.elementor-popup-modal .wpcf7{
  color:#20242b;            /* statt fast-schwarz */
  font-weight:400;
  font-family:'Open Sans',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* Labels: 400 + softer color */
.elementor-popup-modal .wpcf7 .jmd-label{
  font-weight:400;
  color:#323846;            /* dunkles Grau statt Schwarz */
}

/* Inputs/Textarea: hellere Ränder */
.elementor-popup-modal .wpcf7 input[type="text"],
.elementor-popup-modal .wpcf7 input[type="email"],
.elementor-popup-modal .wpcf7 input[type="tel"],
.elementor-popup-modal .wpcf7 textarea{
  font-weight:400;
  border:1.4px solid #d6dee8;    /* heller */
  color:#20242b;
}

/* Fokusring dezenter grau-blau */
.elementor-popup-modal .wpcf7 input:focus,
.elementor-popup-modal .wpcf7 textarea:focus{
  border-color:#a9b6c8;
  box-shadow:0 0 0 3px rgba(169,182,200,.18);
}

/* Datei-Upload-Button weicher */
.elementor-popup-modal .wpcf7 input[type="file"]::file-.elementor-13825 .elementor-element.elementor-element-3a30272-button{
  border-color:#d6dee8;
  color:#20242b;
}

/* Senden-Button: kein hartes Schwarz + Schrift 400 */
.elementor-popup-modal .wpcf7 .send-btn,
.elementor-popup-modal .wpcf7 input[type="submit"]{
  font-weight:400;
  background:linear-gradient(180deg,#3a4250,#2e3542); /* weiches Anthrazit */
  box-shadow:0 10px 20px rgba(0,0,0,.14);
}

/* Hover ebenfalls softer */
.elementor-popup-modal .wpcf7 input[type="submit"]:hover{
  filter:brightness(1.05);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
/* Button zentrieren – funktioniert mit und ohne Wrapper */
.elementor-popup-modal .wpcf7 .jmd-submit{
  display:flex;
  justify-content:center;
}
.elementor-popup-modal .wpcf7 .jmd-submit .send-btn{ margin:0; }

/* Fallback: falls kein .jmd-submit um den Button liegt */
.elementor-popup-modal .wpcf7 input[type="submit"],
.elementor-popup-modal .wpcf7 .send-btn{
  display:block !important;
  width:auto !important;
  margin:14px auto 0 !important;   /* links/rechts auto = mittig */
  border-radius:12px !important;    /* leicht abgerundet */
}

/* (optional) Pop-up selbst leicht abrunden */
.elementor-popup-modal .dialog-widget,
.elementor-popup-modal .dialog-widget-content{
  border-radius:14px;
  overflow:hidden;
}

/* Weicher Fokus statt gepunktetem Outline */
.elementor-popup-modal .wpcf7 input[type="text"]:focus,
.elementor-popup-modal .wpcf7 input[type="email"]:focus,
.elementor-popup-modal .wpcf7 input[type="tel"]:focus,
.elementor-popup-modal .wpcf7 textarea:focus{
  outline: none !important;                 /* dotted weg */
  border-color:#a9b6c8;
  box-shadow:
    0 0 0 4px rgba(169,182,200,.18),        /* sanfter Fokus-Ring */
    0 6px 16px rgba(0,0,0,.08);             /* leichter Drop-Shadow */
  transition: box-shadow .18s, border-color .18s;
}

/* Für reine Tastatur-Nutzer sichtbar lassen (etwas kräftiger) */
.elementor-popup-modal .wpcf7 :is(input,textarea):focus-visible{
  outline: none !important;
  box-shadow:
    0 0 0 4px rgba(147,158,174,.22),
    0 8px 18px rgba(0,0,0,.10);
}

/* Firefox-Sonderfall (verhindert gepunktete Linie) */
.elementor-popup-modal .wpcf7 input:-moz-focusring,
.elementor-popup-modal .wpcf7 textarea:-moz-focusring{
  outline: none;
}

/* Optional: Datei-Button ohne dotted Outline */
.elementor-popup-modal .wpcf7 input[type="file"]::file-.elementor-13825 .elementor-element.elementor-element-3a30272-button:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(169,182,200,.22), 0 4px 10px rgba(0,0,0,.06);
}
/* explizit die drei Pflicht-Labels markieren (IDs aus deinem Formular) */
.elementor-popup-modal .wpcf7 label[for="cf7-name"]::after,
.elementor-popup-modal .wpcf7 label[for="cf7-email"]::after,
.elementor-popup-modal .wpcf7 label[for="cf7-message"]::after{
  content:" *";
  color:#e11d48;
  font-weight:700;
  margin-left:4px;
}
/* Weicher, verlaufender Schatten beim Fokus */
.elementor-popup-modal .wpcf7 input[type="text"]:focus,
.elementor-popup-modal .wpcf7 input[type="email"]:focus,
.elementor-popup-modal .wpcf7 input[type="tel"]:focus,
.elementor-popup-modal .wpcf7 textarea:focus{
  outline: none !important;
  border-color:#b8c4d4;
  /* dünner innerer Ring + weicher Halo + leichter Drop-Shadow */
  box-shadow:
    0 0 0 2px rgba(184,196,212,.18) !important,
    0 0 18px 8px rgba(184,196,212,.12) !important,
    0 8px 20px rgba(0,0,0,.06) !important;
  transition: box-shadow .18s ease, border-color .18s ease;
}

/* Für Tastatur-Nutzer etwas sichtbarer, aber weiterhin weich */
.elementor-popup-modal .wpcf7 :is(input,textarea):focus-visible{
  outline: none !important;
  box-shadow:
    0 0 0 2px rgba(184,196,212,.24) !important,
    0 0 20px 10px rgba(184,196,212,.14) !important,
    0 10px 24px rgba(0,0,0,.08) !important;
}

/* Firefox: alte dotted-outline unterbinden */
.elementor-popup-modal .wpcf7 input:-moz-focusring,
.elementor-popup-modal .wpcf7 textarea:-moz-focusring{
  outline: none !important;
}

/* Label soll auch dann floaten, wenn es VOR dem Feld steht */
.elementor-popup-modal .wpcf7 .jmd-field:has(:is(input,textarea):not(:placeholder-shown)) label,
.elementor-popup-modal .wpcf7 .jmd-field:has(:is(input,textarea):-webkit-autofill) label{
  top:-8px;
  transform:scale(.88);
  color:#3b82f6;
}
/* Placeholder bei Floating Labels ausblenden */
.elementor-popup-modal .wpcf7 .jmd-field :is(input,textarea)::placeholder{ color:transparent; }/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-a0756c9 */@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

/* ===== Pop-up Card + Schatten + Radius ===== */
.elementor-popup-modal .dialog-widget{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 28px 64px rgba(0,0,0,.22);
}
.elementor-popup-modal .dialog-widget-content{
  background:
    linear-gradient(180deg, rgba(59,130,246,.08) 0%, rgba(59,130,246,0) 120px),
    #fff;
  padding:28px 24px 26px;
}

/* ===== Grundtypografie ===== */
.elementor-popup-modal .wpcf7{ font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#12151a; font-weight:400; }

/* ===== Grid 2-spaltig ab 720px ===== */
.jmd-grid-2{ display:block; gap:14px; }
@media (min-width:720px){ .jmd-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; } }

/* ===== Floating label fields ===== */
.jmd-field{ position:relative; margin:10px 0 16px; }
.jmd-field label{
  position:absolute; left:14px; top:14px;
  background:#fff; padding:0 6px;
  color:#6b7280; font-size:14px; line-height:1;
  transform-origin:left top;
  transition: transform .16s ease, color .16s ease, top .16s ease;
  pointer-events:none;
}
.jmd-input{
  width:100%; box-sizing:border-box;
  padding:18px 16px 16px; /* extra top space for label */
  border:1.8px solid #cfd6df; border-radius:14px;
  background:#fff; color:#12151a;
  box-shadow:0 1px 2px rgba(16,24,40,.05), inset 0 1px 0 rgba(255,255,255,.6);
  transition:border-color .18s, box-shadow .18s, background .2s;
}
.jmd-textarea{ min-height:190px; resize:vertical; }

/* Label floaten, wenn Feld Fokus hat oder Inhalt besitzt */
.jmd-field:focus-within label,
.jmd-field :is(input,textarea):not(:placeholder-shown) + label{
  top:-8px; transform:scale(.88);
  color:#3b82f6;
}

/* Fokusrahmen */
.jmd-field :is(input,textarea):focus{
  border-color:#8fa2bb;
  box-shadow:0 0 0 4px rgba(143,162,187,.22);
  outline:0;
}
.elementor-popup-modal .wpcf7 ::placeholder{ color:transparent; } /* wir nutzen das Label als Platzhalter */

/* Pflichtstern an drei Labels */
.jmd-field label[for="cf7-name"]::after,
.jmd-field label[for="cf7-email"]::after,
.jmd-field label[for="cf7-message"]::after{
  content:" *"; color:#e11d48; font-weight:700; margin-left:4px;
}

/* Datei-Upload tidy */
.jmd-file{ margin:6px 0 10px; }
.jmd-file > span{ display:block; font-size:13.5px; color:#374151; margin:0 0 8px; }
#cf7-file{ display:block; width:100%; border:0; background:transparent; color:#111; }
#cf7-file::file-.elementor-13825 .elementor-element.elementor-element-a0756c9-button{
  padding:10px 14px; border-radius:999px; border:1.6px solid #cfd6df; background:#fff; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:box-shadow .18s, transform .06s, filter .18s;
}
#cf7-file::file-.elementor-13825 .elementor-element.elementor-element-a0756c9-button:hover{ filter:brightness(1.03); box-shadow:0 3px 12px rgba(0,0,0,.08); }
#cf7-file::-webkit-file-upload-button{ padding:10px 14px; border-radius:999px; border:1.6px solid #cfd6df; background:#fff; cursor:pointer; }

/* Validierungen */
.wpcf7-not-valid{ border-color:#e11d48 !important; }
.wpcf7-not-valid-tip{ color:#e11d48; font-size:.85rem; margin:6px 0 0; }

/* ===== CTA mittig + Premium-Look ===== */
.jmd-submit{ display:flex; justify-content:center; margin-top:12px; }
.jmd-submit .send-btn{ margin:0; }
.wpcf7 input[type="submit"], .wpcf7 .send-btn{
  display:inline-block; padding:14px 34px; border-radius:999px; border:none;
  background:linear-gradient(180deg,#232935,#171b23);
  color:#fff; font-weight:700; letter-spacing:.2px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transition:transform .08s ease, box-shadow .2s, filter .2s;
}
.wpcf7 input[type="submit"]:hover{ transform:translateY(-1px); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.wpcf7 input[type="submit"]:active{ transform:translateY(0); }

/* Systemmeldungen eleganter */
.wpcf7 form .wpcf7-response-output{
  margin:18px 0 0; padding:12px 14px;
  border-radius:12px; border:1.6px solid #e6ebf1; background:#f7fafc; color:#111;
}/* End custom CSS */