.elementor-72 .elementor-element.elementor-element-4840056{--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-72 .elementor-element.elementor-element-fafc59d{--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-72 .elementor-element.elementor-element-79c6e2e{--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-72 .elementor-element.elementor-element-d0b7a9e{--spacer-size:50px;}.elementor-72 .elementor-element.elementor-element-4b30a7a{--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-72 .elementor-element.elementor-element-6c67964{--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-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-72 .elementor-element.elementor-element-9416a7b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:-9px -9px -9px -9px;}.elementor-72 .elementor-element.elementor-element-024df7f{--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-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-type-html{padding-bottom:0px;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-button[type="submit"]{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-72 .elementor-element.elementor-element-588a5b5{--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;}.elementor-72 .elementor-element.elementor-element-3626798{--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-72 .elementor-element.elementor-element-1cde0c0{--spacer-size:50px;}.elementor-72 .elementor-element.elementor-element-6916f1e{--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-72 .elementor-element.elementor-element-c32f6ee.elementor-element{--align-self:center;}.elementor-72 .elementor-element.elementor-element-f5a4302{--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-72 .elementor-element.elementor-element-da69d60{--spacer-size:128px;}@media(min-width:768px){.elementor-72 .elementor-element.elementor-element-4840056{--width:100%;}.elementor-72 .elementor-element.elementor-element-6c67964{--width:50%;}.elementor-72 .elementor-element.elementor-element-024df7f{--width:50%;}}/* Start custom CSS *//************************************************************
 elbe3D • Kontakt (seitenlokal)
 – Scope: NUR innerhalb .contact-scope
 – Look: Glass-Card, klare Ringe, CI-Buttons, saubere Felder
*************************************************************/

/* ---------- CI-Variablen (nur lokal in dieser Section) ---------- */
.contact-scope{
  --brand:        #1A56FF;
  --brand-600:    #184EE6;
  --ink:          #0B1324;
  --muted:        #334155;
  --line:         #E5E7EB;
  --glass:        rgba(255,255,255,.72);
  --glass-strong: rgba(255,255,255,.84);
  --radius:       22px;
  --chip-radius:  14px;
  --shadow:       0 24px 60px rgba(2,6,23,.14);
}

/* ---------- Layout / Grid ---------- */
.contact-scope .contact-main{ padding-block:clamp(32px,6vw,84px) }
.contact-scope .wrap{ max-width:1200px; margin-inline:auto; padding-inline:clamp(16px,3vw,24px) }

.contact-scope .contact-grid{
  display:grid;
  grid-template-columns: 1.08fr 1fr;
  gap:clamp(20px,3vw,36px);
  align-items:start;
}
@media (max-width:980px){
  .contact-scope .contact-grid{ grid-template-columns:1fr }
}

/* ---------- Karten (Foto + Formular) ---------- */
.contact-scope .card{
  position:relative;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.48);
  background:var(--glass);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  box-shadow:var(--shadow);
  overflow:hidden;
}

/* Foto-Karte */
.contact-scope .photo-card{ min-height:380px }
.contact-scope .photo-img{ width:100%; height:100%; object-fit:cover; display:block }

/* Caption unten links */
.contact-scope .photo-caption{
  position:absolute; inset:auto 14px 14px 14px;
  background:var(--glass-strong);
  border:1px solid rgba(255,255,255,.55);
  border-radius:var(--chip-radius);
  padding:10px 12px;
  color:var(--ink);
  box-shadow:0 12px 28px rgba(2,6,23,.12);
  max-width:min(85%,460px);
}
.contact-scope .photo-caption strong{ display:block; font-weight:800 }
.contact-scope .photo-caption span{ display:block; color:var(--muted); margin-top:2px }

/* Formular-Karte */
.contact-scope .contact-form.card{
  background:#fff; border-color:#fff;
  padding:clamp(20px,3.4vw,30px);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* ---------- Formular-Felder (Elementor Pro + Fallbacks) ---------- */
.contact-scope .contact-form .elementor-field-group .elementor-field,
.contact-scope .contact-form .elementor-select-wrapper select,
.contact-scope .contact-form input[type="text"],
.contact-scope .contact-form input[type="email"],
.contact-scope .contact-form input[type="tel"],
.contact-scope .contact-form input[type="url"],
.contact-scope .contact-form input[type="number"],
.contact-scope .contact-form textarea,
.contact-scope .contact-form select{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:.9em 1em;
  background:#fff;
  color:var(--ink);
  box-shadow:none; outline:none; font:inherit;
}
.contact-scope .contact-form textarea,
.contact-scope .contact-form textarea.elementor-field-textual{ min-height:140px; resize:vertical }

/* Fokus-Ring */
.contact-scope .contact-form .elementor-field:focus,
.contact-scope .contact-form .elementor-select-wrapper select:focus,
.contact-scope .contact-form input:focus,
.contact-scope .contact-form textarea:focus{
  border-color:transparent;
  outline:2px solid var(--brand);
  outline-offset:2px;
}

/* Abstände zwischen Feldern */
.contact-scope .contact-form .elementor-field-group{ margin-bottom:12px }

/* Checkboxen / Radio */
.contact-scope .contact-form input[type="checkbox"],
.contact-scope .contact-form input[type="radio"]{
  accent-color:var(--brand);
  width:18px; height:18px;
}

/* ---------- Datei-Upload als EIN Feld (Button + Dateiname) ---------- */
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]{
  display:block; width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:.78em 1em;             /* Platz für Dateiname */
  background:#fff; color:#334155;
  cursor:pointer; line-height:1.2;
  transition: box-shadow .2s, border-color .2s;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:focus{
  border-color:transparent; outline:2px solid var(--brand); outline-offset:2px;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::file-body.elementor-page-72-button,
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::-webkit-file-upload-button{
  margin:-.78em 12px -.78em -1em;      /* bündig links in den Rahmen */
  border:0; border-radius:12px 0 0 12px;
  padding:.78em 1em;
  background:var(--brand); color:#fff; font-weight:700; cursor:pointer;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::file-body.elementor-page-72-button:hover,
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::-webkit-file-upload-button:hover{
  background:var(--brand-600);
}

/* ---------- Buttons (CI, ohne Header) ---------- */
.contact-scope .contact-form .elementor-button,
.contact-scope .contact-form button,
.contact-scope .contact-form input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  background:var(--brand); color:#fff;
  border:1px solid transparent;
  border-radius:20px;
  padding:.88em 1.2em;
  font-weight:700;
  box-shadow:0 16px 40px rgba(2,6,23,.08);
  transition:transform .08s ease, background .2s ease;
  cursor:pointer;
}
.contact-scope .contact-form .elementor-button:hover,
.contact-scope .contact-form button:hover,
.contact-scope .contact-form input[type="submit"]:hover{
  background:var(--brand-600); transform:translateY(-1px);
}

/* ---------- Meldungen dezent ---------- */
.contact-scope .contact-form .elementor-message-danger{ color:#B91C1C; border-radius:14px; padding:10px 12px }

/* ================================================================
   Kontakt – HERO (dezent, ohne Seiten-Hintergrund; nur Glass-Card)
   ================================================================ */

/* Section: keine Hintergründe, nur Luft */
.contact-scope .contact-hero{
  padding-block: clamp(28px, 6vw, 72px);
  background: transparent;
}

/* Wrap: normal in den Contentfluss integriert */
.contact-scope .contact-hero .wrap{
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 24px);
}

/* Glass-Card (schwebend, dezent) */
.contact-scope .contact-hero .hero-card{
  position: relative;
  background: var(--glass);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: var(--radius);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: var(--shadow);
  padding: clamp(18px, 3vw, 28px);
  max-width: min(980px, 100%);
  margin-inline: auto;
}

/* kleine Schattenfahne */
.contact-scope .contact-hero .hero-card::after{
  content:"";
  position:absolute; left:12%; right:12%; bottom:-12px; height:20px;
  border-radius:999px;
  background: radial-gradient(60% 120% at 50% 50%, rgba(2,6,23,.18), rgba(2,6,23,0) 70%);
  filter: blur(7px);
  pointer-events:none;
}

/* Typo zurückhaltend */
.contact-scope .contact-hero .eyebrow{
  margin:0 0 6px; letter-spacing:.08em; text-transform:uppercase;
  font-weight:800; font-size:12px; color:#6B7280;
}
.contact-scope .contact-hero .hero-title{
  margin:.1em 0 .4em; color:var(--ink);
  line-height:1.16; font-size: clamp(24px, 3.6vw, 36px);
}
.contact-scope .contact-hero .lead{
  color:var(--muted);
  font-size: clamp(15px, 2vw, 18px);
  max-width: 70ch;
  margin: 0;
}

/* Chips – klein, dezent */
.contact-scope .contact-hero .chip-row{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;
}
.contact-scope .contact-hero .chip{
  display:inline-flex; align-items:center;
  font-weight:700; font-size:.92rem;
  padding:6px 10px; border-radius:999px;
  background:#EEF2FF; border:1px solid #E0E7FF; color:#0F172A; text-decoration:none;
  transition: transform .06s ease, box-shadow .25s ease, background-color .25s ease;
}
.contact-scope .contact-hero .chip:hover{
  transform:translateY(-1px); background:#E6ECFF;
  box-shadow:0 0 0 3px rgba(37,99,235,.22);
}

/* Fakten – kompakt */
.contact-scope .contact-hero .fact-row{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; color:#111827;
  font-size:.95rem;
}
.contact-scope .contact-hero .fact-row .dot{ position:relative; padding-left:14px }
.contact-scope .contact-hero .fact-row .dot::before{
  content:""; position:absolute; left:0; top:.6em;
  width:6px; height:6px; border-radius:999px; background:var(--brand);
}

/* Motion reduzieren */
@media (prefers-reduced-motion: reduce){
  .contact-scope .contact-hero .chip,
  .contact-scope .contact-form .elementor-button{ transition:none !important }
}

/* ================================================================
   SICHERHEITSNETZ: evtl. alte Full-Bleed-/Overlay-Regeln neutralisieren
   – damit bleibt NUR die Card „glassy“; keine flächige Tönung
   ================================================================ */
.contact-scope .contact-hero::before{
  content:none !important; display:none !important; background:transparent !important;
}
/* Falls irgendwo Full-Bleed (100vw/±50vw) aktiv war, hier zurücknehmen: */
.contact-scope .contact-hero{
  width:auto; max-width:unset; left:auto; right:auto;
  margin-left:0; margin-right:0;
}









/* ============================================
   Kontakt • Elementor-Upload hübsch (CI-Style)
   – wirkt NUR in .contact-scope
   ============================================ */

.contact-scope .contact-form .elementor-field-group.elementor-field-type-upload{
  /* Falls Theme Margins setzt – etwas Luft */
  margin-bottom: 12px;
}

/* Das Upload-Feld als EIN durchgehendes Feld rendern */
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]{
  display:block;
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:.82em 1em;                 /* Platz rechts für Dateiname */
  background:#fff;
  color:#334155;                      /* Dateiname */
  line-height:1.2;
  cursor:pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  box-shadow:none;
  outline:none;
  /* damit der linke Button bündig „im Feld“ sitzt */
  overflow:hidden;
}

/* Fokus/Hover auf dem gesamten Feld */
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:hover{
  border-color:#CBD5E1;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:focus{
  border-color:transparent;
  outline:2px solid var(--brand);
  outline-offset:2px;
}

/* Der eigentliche Upload-Button (links integriert) */
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::file-body.elementor-page-72-button,
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::-webkit-file-upload-button{
  margin: -.82em 12px -.82em -1px;   /* bündig links in den Rahmen */
  padding: .82em 1.05em;
  border:0;
  border-radius:12px 0 0 12px;
  background: var(--brand);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition: background-color .18s ease, transform .06s ease;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::file-body.elementor-page-72-button:hover,
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]::-webkit-file-upload-button:hover{
  background: var(--brand-600);
  transform: translateY(-1px);
}

/* Dezent disabled (falls durch Regeln gesperrt) */
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:disabled{
  background:#F8FAFC;
  color:#94A3B8;
  cursor:not-allowed;
}
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:disabled::file-body.elementor-page-72-button,
.contact-scope .contact-form .elementor-field-type-upload input[type="file"]:disabled::-webkit-file-upload-button{
  background:#A5B4FC;
  cursor:not-allowed;
}

/* Fehlerzustand schlank & CI-konform */
.contact-scope .contact-form .elementor-field-group.elementor-field-type-upload.elementor-error input[type="file"]{
  border-color:#EF4444;
  outline:2px solid rgba(239,68,68,.25);
  outline-offset:2px;
}
.contact-scope .contact-form .elementor-field-group.elementor-field-type-upload .elementor-field-description,
.contact-scope .contact-form .elementor-field-group.elementor-field-type-upload .elementor-field-subgroup .elementor-message{
  margin-top:6px;
  font-size:.92rem;
}

/* Mobile: etwas kompakter */
@media (max-width:520px){
  .contact-scope .contact-form .elementor-field-type-upload input[type="file"]{
    padding:.78em .9em;
  }
  .contact-scope .contact-form .elementor-field-type-upload input[type="file"]::file-body.elementor-page-72-button,
  .contact-scope .contact-form .elementor-field-type-upload input[type="file"]::-webkit-file-upload-button{
    padding:.78em .95em;
  }
}/* End custom CSS */