.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#467095;}.elementor-kit-6 a:hover{color:#35597A;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   Wertklar: Bildformate, Hover, Motion
   ============================================================ */
:root {
  --wk-navy: #1A2A3D; --wk-blau: #467095;
  --wk-linie: #E2E9F0; --wk-soft: #F4F7FA;
  --wk-out: cubic-bezier(0.23, 1, 0.32, 1);
  --wk-inout: cubic-bezier(0.77, 0, 0.175, 1);
}

/* ---------- Bildformate ------------------------------------ */
.wk-hero-foto img {
  width: 100%; height: clamp(320px, 40vw, 520px);
  object-fit: cover; border-radius: 18px; display: block;
}
.elementor .elementor-element.elementor-element-3bfd84d, .elementor .elementor-element.elementor-element-8b1f361, .elementor .elementor-element.elementor-element-414fa93, .elementor .elementor-element.elementor-element-94b1266, .elementor .elementor-element.elementor-element-5f8669b { overflow: hidden; border-radius: 14px; }
/* Bild-Widgets sind Flex-Items und schrumpfen sonst auf Inhaltsbreite bzw. 0 */
.wk-hero-foto,
.elementor .elementor-element.elementor-element-3bfd84d .elementor-widget-image, .elementor .elementor-element.elementor-element-8b1f361 .elementor-widget-image, .elementor .elementor-element.elementor-element-414fa93 .elementor-widget-image, .elementor .elementor-element.elementor-element-94b1266 .elementor-widget-image, .elementor .elementor-element.elementor-element-5f8669b .elementor-widget-image {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  min-width: 0;
}
.wk-hero-foto > .elementor-widget-container,
.elementor .elementor-element.elementor-element-3bfd84d .elementor-widget-image > .elementor-widget-container, .elementor .elementor-element.elementor-element-8b1f361 .elementor-widget-image > .elementor-widget-container, .elementor .elementor-element.elementor-element-414fa93 .elementor-widget-image > .elementor-widget-container, .elementor .elementor-element.elementor-element-94b1266 .elementor-widget-image > .elementor-widget-container, .elementor .elementor-element.elementor-element-5f8669b .elementor-widget-image > .elementor-widget-container { width: 100%; }
.elementor .elementor-element.elementor-element-3bfd84d img, .elementor .elementor-element.elementor-element-8b1f361 img, .elementor .elementor-element.elementor-element-414fa93 img, .elementor .elementor-element.elementor-element-94b1266 img, .elementor .elementor-element.elementor-element-5f8669b img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  display: block; border-radius: 14px;
  transition: transform 620ms var(--wk-inout), box-shadow 300ms var(--wk-out);
  box-shadow: 0 1px 3px rgba(26,42,61,.06), 0 10px 30px rgba(26,42,61,.07);
}
.elementor .elementor-element.elementor-element-5f8669b img {
  aspect-ratio: 4 / 5; max-height: 560px; border-radius: 18px;
}
@media (max-width: 1024px) {
  .elementor .elementor-element.elementor-element-5f8669b img { aspect-ratio: 16 / 10; max-height: 380px; }
  .elementor .elementor-element.elementor-element-3bfd84d img, .elementor .elementor-element.elementor-element-8b1f361 img, .elementor .elementor-element.elementor-element-414fa93 img, .elementor .elementor-element.elementor-element-94b1266 img, .elementor .elementor-element.elementor-element-5f8669b img { aspect-ratio: 16 / 9; }
}

/* ---------- Fokus ------------------------------------------ */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, .elementor-button:focus-visible {
  outline: 3px solid var(--wk-blau); outline-offset: 3px; border-radius: 6px;
}

/* ---------- Sprungmarken ----------------------------------- */
html { scroll-behavior: smooth; }
:where(#start, #leistungen, #leistungsumfang, #ablauf, #ueber-uns, #kontakt) {
  scroll-margin-top: 96px;
}

/* ---------- Buttons ---------------------------------------- */
.elementor-button, .elementor-field-type-submit button {
  transition: background-color 180ms var(--wk-out),
              box-shadow 200ms var(--wk-out), transform 140ms var(--wk-out);
}
.elementor-button:active, .elementor-field-type-submit button:active { transform: scale(0.975); }
@media (hover: hover) and (pointer: fine) {
  .elementor-button:hover, .elementor-field-type-submit button:hover {
    box-shadow: 0 4px 14px rgba(26,42,61,.18);
  }
}

/* ---------- Leistungskarten -------------------------------- */
.elementor .elementor-element.elementor-element-7d57993, .elementor .elementor-element.elementor-element-a6b5669, .elementor .elementor-element.elementor-element-0f89983, .elementor .elementor-element.elementor-element-6e56cc9 {
  border: none !important;
  box-shadow: 0 1px 2px rgba(26,42,61,.05), 0 10px 30px rgba(26,42,61,.07);
  transition: transform 260ms var(--wk-out), box-shadow 260ms var(--wk-out);
  cursor: pointer;
}
.elementor .elementor-element.elementor-element-7d57993 .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-a6b5669 .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-0f89983 .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-6e56cc9 .elementor-icon-box-icon .elementor-icon { transition: transform 280ms var(--wk-out); display: inline-block; }
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-element.elementor-element-7d57993:hover, .elementor .elementor-element.elementor-element-a6b5669:hover, .elementor .elementor-element.elementor-element-0f89983:hover, .elementor .elementor-element.elementor-element-6e56cc9:hover {
    transform: translateY(-4px);
    box-shadow: 0 2px 6px rgba(26,42,61,.06), 0 20px 48px rgba(26,42,61,.13) !important;
  }
  .elementor .elementor-element.elementor-element-7d57993:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-a6b5669:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-0f89983:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-6e56cc9:hover .elementor-icon-box-icon .elementor-icon { transform: scale(1.14) translateY(-2px); }
}
.elementor .elementor-element.elementor-element-7d57993:active, .elementor .elementor-element.elementor-element-a6b5669:active, .elementor .elementor-element.elementor-element-0f89983:active, .elementor .elementor-element.elementor-element-6e56cc9:active { transform: translateY(-1px); }

/* ---------- Leistungszeilen -------------------------------- */
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-element.elementor-element-c75ebae:hover .elementor-element-3bfd84d img, .elementor .elementor-element.elementor-element-1c0f95b:hover .elementor-element-8b1f361 img, .elementor .elementor-element.elementor-element-24c3d3f:hover .elementor-element-414fa93 img, .elementor .elementor-element.elementor-element-5d3abf4:hover .elementor-element-94b1266 img {
    transform: scale(1.04);
    box-shadow: 0 2px 6px rgba(26,42,61,.09), 0 20px 50px rgba(26,42,61,.14) !important;
  }
}
.elementor .elementor-element.elementor-element-c75ebae .elementor-icon-list-items, .elementor .elementor-element.elementor-element-1c0f95b .elementor-icon-list-items, .elementor .elementor-element.elementor-element-24c3d3f .elementor-icon-list-items, .elementor .elementor-element.elementor-element-5d3abf4 .elementor-icon-list-items { columns: 2; column-gap: 32px; }
.elementor .elementor-element.elementor-element-c75ebae .elementor-widget-text-editor p, .elementor .elementor-element.elementor-element-1c0f95b .elementor-widget-text-editor p, .elementor .elementor-element.elementor-element-24c3d3f .elementor-widget-text-editor p, .elementor .elementor-element.elementor-element-5d3abf4 .elementor-widget-text-editor p { max-width: 62ch; }
.elementor .elementor-element.elementor-element-c75ebae .elementor-icon-list-items > li, .elementor .elementor-element.elementor-element-1c0f95b .elementor-icon-list-items > li, .elementor .elementor-element.elementor-element-24c3d3f .elementor-icon-list-items > li, .elementor .elementor-element.elementor-element-5d3abf4 .elementor-icon-list-items > li { break-inside: avoid; }
@media (max-width: 900px) { .elementor .elementor-element.elementor-element-c75ebae .elementor-icon-list-items, .elementor .elementor-element.elementor-element-1c0f95b .elementor-icon-list-items, .elementor .elementor-element.elementor-element-24c3d3f .elementor-icon-list-items, .elementor .elementor-element.elementor-element-5d3abf4 .elementor-icon-list-items { columns: 1; } }

/* ---------- Werteblöcke ------------------------------------ */
.wk-wert {
  padding: 16px 20px; border-radius: 12px; background: rgba(255,255,255,0);
  transition: background-color 240ms var(--wk-out), transform 240ms var(--wk-out),
              box-shadow 240ms var(--wk-out);
}
.wk-wert .elementor-icon { transition: transform 280ms var(--wk-out); }
@media (hover: hover) and (pointer: fine) {
  .wk-wert:hover {
    background: #FFFFFF; transform: translateX(4px);
    box-shadow: 0 1px 2px rgba(26,42,61,.04), 0 10px 26px rgba(26,42,61,.07);
  }
  .wk-wert:hover .elementor-icon { transform: scale(1.1); }
}

/* ---------- Ablaufschritte --------------------------------- */
.elementor .elementor-element.elementor-element-6cdf3b7, .elementor .elementor-element.elementor-element-922c01b, .elementor .elementor-element.elementor-element-e129917 { transition: border-color 240ms var(--wk-out); }
/* Drei Schritte werden zwischen 768 und 900px zu eng nebeneinander */
@media (max-width: 900px) {
  .elementor .elementor-element.elementor-element-694efff { grid-template-columns: 1fr !important; }
  .elementor .elementor-element.elementor-element-9765a08 { grid-template-columns: 1fr !important; }
}
.elementor .elementor-element.elementor-element-6cdf3b7 .elementor-widget-icon .elementor-icon, .elementor .elementor-element.elementor-element-922c01b .elementor-widget-icon .elementor-icon, .elementor .elementor-element.elementor-element-e129917 .elementor-widget-icon .elementor-icon { transition: transform 280ms var(--wk-out); display: inline-block; }
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-element.elementor-element-6cdf3b7:hover, .elementor .elementor-element.elementor-element-922c01b:hover, .elementor .elementor-element.elementor-element-e129917:hover { border-top-color: var(--wk-blau) !important; }
  .elementor .elementor-element.elementor-element-6cdf3b7:hover .elementor-widget-icon .elementor-icon, .elementor .elementor-element.elementor-element-922c01b:hover .elementor-widget-icon .elementor-icon, .elementor .elementor-element.elementor-element-e129917:hover .elementor-widget-icon .elementor-icon { transform: translateY(-3px) scale(1.1); }
}

/* ---------- Vertrauensleiste ------------------------------- */
.elementor .elementor-element.elementor-element-5a8373e .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-9feba72 .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-37d9fa0 .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-f421468 .elementor-icon-box-icon .elementor-icon { transition: transform 260ms var(--wk-out); display: inline-block; }
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-element.elementor-element-5a8373e:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-9feba72:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-37d9fa0:hover .elementor-icon-box-icon .elementor-icon, .elementor .elementor-element.elementor-element-f421468:hover .elementor-icon-box-icon .elementor-icon { transform: scale(1.15); }
}

/* ---------- Klebender Header ------------------------------- */
.elementor-sticky--effects {
  box-shadow: 0 1px 0 rgba(26,42,61,.05), 0 10px 30px rgba(26,42,61,.08);
  background-color: rgba(255,255,255,.88) !important;
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  transition: box-shadow 280ms var(--wk-out), background-color 280ms var(--wk-out);
}
.elementor-nav-menu .elementor-item { transition: color 180ms var(--wk-out); }

/* ---------- Links ------------------------------------------ */
.elementor-widget-text-editor a, .elementor-widget-heading a {
  color: var(--wk-blau); text-decoration: underline;
  text-underline-offset: 2px; text-decoration-thickness: 1px;
  transition: color 160ms var(--wk-out);
}
.elementor-widget-text-editor a:hover, .elementor-widget-heading a:hover { color: #35597A; }
#kontakt .elementor-widget-text-editor a { color: #A9C2DA; }
#kontakt .elementor-widget-text-editor a:hover { color: #FFFFFF; }
#kontakt .elementor-icon-list-item > a {
  min-height: 44px; align-items: center; transition: transform 200ms var(--wk-out);
}
@media (hover: hover) and (pointer: fine) {
  #kontakt .elementor-icon-list-item > a:hover { transform: translateX(4px); }
}

/* ---------- Formular --------------------------------------- */
.elementor-field-group > label { color: var(--wk-navy); font-weight: 600; font-size: 15px; margin-bottom: 8px; }
.elementor-field-group .elementor-field:not([type=checkbox]):not([type=radio]):not(.elementor-select-wrapper) {
  min-height: 48px; padding: 12px 14px; color: var(--wk-navy);
  transition: border-color 180ms var(--wk-out), box-shadow 180ms var(--wk-out);
}
/* Das Auswahlfeld sitzt in einem Wrapper: der bleibt neutral, das select fuellt ihn ganz aus */
.elementor-field-group .elementor-select-wrapper {
  padding: 0 !important;
  min-height: 0 !important;
  border: none !important;
  background: none !important;
  width: 100%;
}
.elementor-field-group .elementor-select-wrapper select.elementor-field {
  width: 100% !important;
  min-height: 48px;
  padding: 12px 42px 12px 14px !important;
  color: var(--wk-navy);
  transition: border-color 180ms var(--wk-out), box-shadow 180ms var(--wk-out);
}
.elementor-field-group .elementor-select-wrapper::after,
.elementor-field-group .elementor-select-wrapper .e-font-icon-svg {
  right: 16px;
}
.elementor-field-group textarea.elementor-field { min-height: 132px; }
.elementor-field-group .elementor-field::placeholder { color: #7C8A9A; }
.elementor-field-group .elementor-field:focus {
  border-color: var(--wk-blau); box-shadow: 0 0 0 3px rgba(70,112,149,.18);
}
.elementor-message-danger, .elementor-field-group .elementor-error { color: #B3261E; font-size: 14px; }
/* Datenschutz-Checkbox: Kaestchen und Text nebeneinander, grosszuegige Klickflaeche */
.elementor-field-type-acceptance .elementor-field-subgroup { margin: 0; }
.elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  padding: 4px 0;
}
.elementor-field-type-acceptance input[type=checkbox].elementor-field {
  flex: 0 0 auto;
  width: 20px !important;
  height: 20px !important;
  min-height: 0 !important;
  margin: 1px 0 0 0 !important;
  padding: 0 !important;
  accent-color: var(--wk-blau);
  border: 1px solid var(--wk-linie);
  border-radius: 4px;
  cursor: pointer;
  transition: box-shadow 160ms var(--wk-out);
}
.elementor-field-type-acceptance input[type=checkbox]:focus-visible {
  outline: 3px solid var(--wk-blau);
  outline-offset: 2px;
}
.elementor-field-type-acceptance .elementor-field-option label {
  flex: 1 1 auto;
  margin: 0;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.55;
  color: #4A5A6B;
  cursor: pointer;
}
.elementor-field-type-acceptance a {
  color: var(--wk-blau);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.elementor-field-type-acceptance a:hover { color: #35597A; }
.wk-pflicht { color: #B3261E; font-weight: 600; }
/* Fehlerzustand erst nach Nutzerinteraktion, nicht schon beim Laden */
.elementor-field-type-acceptance input[type=checkbox]:user-invalid,
.elementor-field-type-acceptance.elementor-error input[type=checkbox] {
  border-color: #B3261E;
  box-shadow: 0 0 0 3px rgba(179,38,30,.14);
}

/* ---------- Footer ----------------------------------------- */
.elementor .elementor-element.elementor-element-5ba72ed { grid-template-columns: 1.5fr 1fr 1.45fr .75fr !important; }
@media (max-width: 1024px) { .elementor .elementor-element.elementor-element-5ba72ed { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 767px)  { .elementor .elementor-element.elementor-element-5ba72ed { grid-template-columns: 1fr !important; } }
.elementor .elementor-element.elementor-element-5ba72ed .elementor-icon-list-text,
.elementor .elementor-element.elementor-element-5ba72ed .elementor-icon-list-item { overflow-wrap: anywhere; word-break: break-word; }
.elementor .elementor-element.elementor-element-5ba72ed .elementor-icon-list-item > a {
  transition: transform 180ms var(--wk-out); display: inline-flex;
}
@media (hover: hover) and (pointer: fine) {
  .elementor .elementor-element.elementor-element-5ba72ed .elementor-icon-list-item > a:hover { transform: translateX(4px); }
}

/* ---------- Bewegung respektieren -------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
}

/* ---------- Einblendungen straffen ------------------------- */
.elementor-widget.animated, .e-con.animated {
  animation-duration: .58s !important;
  animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* ---------- Kopfzeile mobil ------------------------------- */
@media (max-width: 1024px) {
  .elementor .elementor-element.elementor-element-e171b23 {
    width: auto !important;
    flex: 0 0 auto !important;
    order: 2;
  }
  .elementor .elementor-element.elementor-element-e171b23 > .elementor-widget-container {
    display: flex;
    justify-content: flex-end;
  }
  .elementor .elementor-element.elementor-element-91a1586 { order: 1; }
}
@media (max-width: 767px) {
  /* Kopfzeile bleibt einzeilig: Logo, CTA, Menue */
  .elementor .elementor-element.elementor-element-773de6c > .e-con-inner {
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  .elementor .elementor-element.elementor-element-92c3ce1 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
  }
  .elementor .elementor-element.elementor-element-91a1586 { flex: 0 0 auto !important; }
  .elementor .elementor-element.elementor-element-4242798 { width: 128px !important; flex: 0 0 auto !important; }
  .elementor .elementor-element.elementor-element-4144917 img { width: 128px !important; }
  .elementor .elementor-element.elementor-element-92c3ce1 { gap: 10px !important; flex: 1 1 auto !important; }
  /* CTA weicht mobil dem Logo: der Hero-CTA steht direkt darunter */
  .elementor .elementor-element.elementor-element-91a1586 { display: none !important; }
  .elementor .elementor-element.elementor-element-4242798 { width: 150px !important; }
  .elementor .elementor-element.elementor-element-4144917 img { width: 150px !important; }
}

/* ---------- Cookie-Banner (Complianz) --------------------- */
.cmplz-cookiebanner,
.cmplz-cookiebanner *,
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.cmplz-cookiebanner {
  box-shadow: 0 2px 8px rgba(26,42,61,.08), 0 24px 60px rgba(26,42,61,.16) !important;
  line-height: 1.6;
}
.cmplz-cookiebanner .cmplz-title {
  font-weight: 700 !important;
  color: var(--wk-navy) !important;
  letter-spacing: -0.3px;
  font-size: 17px !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  transition: background-color 180ms var(--wk-out), transform 140ms var(--wk-out),
              box-shadow 180ms var(--wk-out) !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:active { transform: scale(0.975); }
@media (hover: hover) and (pointer: fine) {
  .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
    background-color: #35597A !important;
    border-color: #35597A !important;
  }
}
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner .cmplz-documents a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
  font-weight: 600 !important;
  color: var(--wk-navy) !important;
}
#cmplz-manage-consent .cmplz-manage-consent {
  font-weight: 600;
  border-radius: 8px 8px 0 0 !important;
}

/* ---------- Politur aus dem Responsive-Audit ---------------- */
/* H1-Laufweite bleibt oberhalb von -0.04em */
.elementor .elementor-element.elementor-element-a75109b .elementor-heading-title {
  letter-spacing: -0.035em !important;
}
/* Label- und Footer-Titel nicht unter 14px */
.elementor .elementor-element.elementor-element-79f35a8 .elementor-heading-title,
.elementor .elementor-element.elementor-element-b8960c0 .elementor-heading-title,
.elementor .elementor-element.elementor-element-33cebda .elementor-heading-title,
.elementor .elementor-element.elementor-element-47814c0 .elementor-heading-title,
.elementor .elementor-element.elementor-element-a851956 .elementor-heading-title {
  font-size: 14px !important;
}
/* Fusszeile: gedaempfter Text erreicht 4.5:1 auf der hellen Flaeche */
.elementor .elementor-element.elementor-element-342a944 .elementor-heading-title,
.elementor .elementor-element.elementor-element-b1830c3 .elementor-heading-title {
  color: #5F6E80 !important;
}
/* Lesbare Zeilenlaenge in allen Fliesstexten */
.elementor-widget-text-editor p { max-width: 62ch; }
/* Touchziele */
.elementor .elementor-element.elementor-element-91a1586 .elementor-button { min-height: 48px; }
/* ============================================================
   Mobiles Menue: eigener Umschalter, vollflaechiges Panel
   ============================================================ */
.elementor-menu-toggle { min-width: 48px; min-height: 48px; }

@media (max-width: 1024px) {
  /* --- Umschalter: zwei Striche, die sich zum Kreuz drehen --- */
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    z-index: 210;
    -webkit-tap-highlight-color: transparent;
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle svg {
    display: none !important;
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle::before,
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    height: 2px;
    border-radius: 2px;
    background: var(--wk-navy);
    transition: transform 320ms var(--wk-out), width 320ms var(--wk-out);
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle::before {
    width: 24px;
    transform: translate(-50%, -6px);
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle::after {
    width: 16px;
    transform: translate(-50%, 5px);
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle[aria-expanded="true"]::before {
    width: 24px;
    transform: translate(-50%, 0) rotate(45deg);
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle[aria-expanded="true"]::after {
    width: 24px;
    transform: translate(-50%, 0) rotate(-45deg);
  }

  /* --- Panel: volle Flaeche unter der Kopfzeile --------------- */
  .elementor .elementor-element.elementor-element-e171b23 .elementor-nav-menu--dropdown {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 104px 26px 36px !important;
    background: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 90 !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms var(--wk-out), visibility 0s linear 180ms;
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle[aria-expanded="true"] ~ .elementor-nav-menu--dropdown {
    opacity: 1;
    visibility: visible;
    transition: opacity 240ms var(--wk-out), visibility 0s;
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-nav-menu--dropdown .elementor-nav-menu {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 2px;
    width: 100%;
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-nav-menu--dropdown li {
    width: 100%;
    text-align: left !important;
  }
  /* Logo bleibt ueber dem geoeffneten Panel sichtbar */
  .elementor .elementor-element.elementor-element-4242798,
  .elementor .elementor-element.elementor-element-4144917 { z-index: 200; position: relative; }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-nav-menu--dropdown .elementor-item {
    font-size: 27px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: -0.6px !important;
    color: var(--wk-navy) !important;
    background: none !important;
    border: none !important;
    padding: 15px 0 !important;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms var(--wk-out), transform 420ms var(--wk-out),
                color 160ms var(--wk-out);
  }
  .elementor .elementor-element.elementor-element-e171b23 .elementor-menu-toggle[aria-expanded="true"] ~ .elementor-nav-menu--dropdown .elementor-item {
    opacity: 1;
    transform: none;
  }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown li:nth-child(1) .elementor-item { transition-delay: 70ms; }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown li:nth-child(2) .elementor-item { transition-delay: 115ms; }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown li:nth-child(3) .elementor-item { transition-delay: 160ms; }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown li:nth-child(4) .elementor-item { transition-delay: 205ms; }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown li:nth-child(5) .elementor-item { transition-delay: 250ms; }
  .elementor-element-e171b23 .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    color: var(--wk-blau) !important;
  }

  /* --- Kontaktblock am Fuss des Panels (per JS ergaenzt) ----- */
  .wk-menu-fuss {
    margin-top: auto;
    padding-top: 32px;
    border-top: 1px solid var(--wk-linie);
    display: flex;
    flex-direction: column;
    gap: 14px;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms var(--wk-out) 300ms, transform 420ms var(--wk-out) 300ms;
  }
  .elementor-menu-toggle[aria-expanded="true"] ~ .elementor-nav-menu--dropdown .wk-menu-fuss {
    opacity: 1;
    transform: none;
  }
  .wk-menu-tel {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    font-size: 19px;
    font-weight: 600;
    color: var(--wk-navy);
    text-decoration: none;
  }
  .wk-menu-tel::before {
    content: "";
    width: 18px; height: 18px;
    background: var(--wk-blau);
    -webkit-mask: var(--wk-tel-icon) center/contain no-repeat;
    mask: var(--wk-tel-icon) center/contain no-repeat;
  }
  .elementor .wk-menu-cta,
  .wk-menu-cta:link,
  .wk-menu-cta:visited {
    color: #FFFFFF !important;
  }
  .wk-menu-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    border-radius: 8px;
    background: var(--wk-blau);
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 180ms var(--wk-out), transform 140ms var(--wk-out);
  }
  .wk-menu-cta:active { transform: scale(0.975); }
  @media (hover: hover) and (pointer: fine) {
    .wk-menu-cta:hover { background: #35597A; }
  }
}
:root {
  --wk-tel-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C239.8 337.1 174.9 272.2 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
}
.elementor-45 .elementor-icon-list-item > a,
#kontakt .elementor-icon-list-item > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.elementor-field-type-acceptance .elementor-field-option label {
  padding: 10px 0;
  min-height: 44px;
  display: flex;
  align-items: center;
}

/* Nur auf html, sonst wird body zum Scroll-Container und scrollIntoView greift ins Leere */
html { overflow-x: hidden; }/* End custom CSS */