.elementor-kit-29{--e-global-color-primary:#0F172A;--e-global-color-secondary:#F1F1F1;--e-global-color-text:#333333;--e-global-color-accent:#498D86;--e-global-color-b4b3afb:#FFFFFF;--e-global-color-91f09b4:#D9D9D9;--e-global-typography-primary-font-family:"Saira";--e-global-typography-secondary-font-family:"Saira";--e-global-typography-text-font-family:"Inter";--e-global-typography-accent-font-family:"Inter";color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-29 button,.elementor-kit-29 input[type="button"],.elementor-kit-29 input[type="submit"],.elementor-kit-29 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;text-transform:capitalize;color:var( --e-global-color-b4b3afb );border-radius:50px 50px 50px 50px;padding:15px 30px 15px 30px;}.elementor-kit-29 button:hover,.elementor-kit-29 button:focus,.elementor-kit-29 input[type="button"]:hover,.elementor-kit-29 input[type="button"]:focus,.elementor-kit-29 input[type="submit"]:hover,.elementor-kit-29 input[type="submit"]:focus,.elementor-kit-29 .elementor-button:hover,.elementor-kit-29 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-b4b3afb );}.elementor-kit-29 e-page-transition{background-color:#FFBC7D;}.elementor-kit-29 p{margin-block-end:5px;}.elementor-kit-29 a{color:#2F6B64;font-family:"Saira", Sans-serif;}.elementor-kit-29 a:hover{color:#1F4B46;}.elementor-kit-29 h1{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:50px;font-weight:600;letter-spacing:-0.04em;word-spacing:-0.04em;}.elementor-kit-29 h2{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:40px;font-weight:600;letter-spacing:-0.04em;}.elementor-kit-29 h3{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:30px;font-weight:600;letter-spacing:-0.04em;}.elementor-kit-29 h4{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:25px;font-weight:600;letter-spacing:-0.03em;}.elementor-kit-29 h5{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:22px;font-weight:600;letter-spacing:-0.03em;}.elementor-kit-29 h6{color:var( --e-global-color-primary );font-family:"Saira", Sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.03em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1200px){.elementor-kit-29 h1{font-size:46px;}.elementor-kit-29 h2{font-size:36px;}.elementor-kit-29 h3{font-size:26px;}.elementor-kit-29 h4{font-size:22px;}.elementor-kit-29 h5{font-size:20px;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:880px){.elementor-kit-29 h1{font-size:40px;}.elementor-kit-29 h2{font-size:32px;}.elementor-kit-29 h3{font-size:25px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Aufzugtechnik LR – einheitlicher Button-Hover (nie Navy auf Navy) */
.elementor-button {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}
body .elementor-widget-button .elementor-button:hover,
body .elementor-widget-button .elementor-button:focus-visible,
body .elementor-widget-form .elementor-button:hover,
body .elementor-widget-form .elementor-button:focus-visible {
  background-color: #2F6B64 !important;
  background-image: none !important;
  border-color: #2F6B64 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .22);
}
body .elementor-button:hover .elementor-button-text,
body .elementor-button:hover .elementor-button-icon,
body .elementor-button:focus-visible .elementor-button-text,
body .elementor-button:focus-visible .elementor-button-icon {
  color: #FFFFFF !important;
}
body .elementor-button:hover svg,
body .elementor-button:focus-visible svg {
  fill: #FFFFFF !important;
}
body .elementor-button:focus-visible {
  outline: 2px solid #8FCFC6;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body .elementor-button:hover { transform: none; }
}

/* Verlinkte Listenpunkte ohne eigene Farbe: Petrol statt Theme-Pink */
.elementor-widget-icon-list .elementor-icon-list-item > a {
  color: var(--e-global-color-accent);
  text-decoration: none;
}
.elementor-widget-icon-list .elementor-icon-list-item > a:hover .elementor-icon-list-text,
.elementor-widget-icon-list .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Datenschutz-Zustimmung in Formularen */
.elementor-field-type-acceptance .elementor-field-subgroup label {
  font-size: 13px;
  line-height: 1.5;
}
.elementor-field-type-acceptance a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.elementor-field-type-acceptance input[type="checkbox"] {
  accent-color: var(--e-global-color-accent);
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: -3px;
}

/* Verlinkte Titel (Icon-Box, Überschrift) ohne Theme-Unterstreichung */
body .elementor-icon-box-title a,
body .elementor-heading-title a,
body .elementor a.elementor-button {
  text-decoration: none;
}
body .elementor-icon-box-title a:hover,
body .elementor-heading-title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Sticky-Navigation: transparent über dem Video, beim Scrollen weich einblendende weiße Leiste */
.elementor-location-header .lr-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #FFFFFF;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .10);
  opacity: 0;
  transform: translateY(-104%);
  transition: transform .6s cubic-bezier(.34, 1.36, .64, 1), opacity .35s ease;
  pointer-events: none;
}
.elementor-location-header .lr-nav.elementor-sticky--effects::before {
  opacity: 1;
  transform: translateY(0);
}
.elementor-location-header .lr-nav > .e-con-inner {
  transition: padding .55s cubic-bezier(.22, 1, .36, 1);
}
.elementor-location-header .lr-nav.elementor-sticky--effects > .e-con-inner {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.elementor-location-header .lr-nav .elementor-widget-image img {
  transform-origin: left center;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.elementor-location-header .lr-nav.elementor-sticky--effects .elementor-widget-image img {
  transform: scale(.82);
}
.elementor-location-header .lr-nav ul.jkit-menu > li.menu-item > a,
.elementor-location-header .lr-nav .jkit-hamburger-menu,
.elementor-location-header .lr-nav .jkit-hamburger-menu i {
  transition: color .4s ease;
}
.elementor-location-header .lr-nav.elementor-sticky--effects ul.jkit-menu > li.menu-item > a {
  color: #0F172A !important;
}
.elementor-location-header .lr-nav.elementor-sticky--effects ul.jkit-menu > li.current-menu-item > a,
.elementor-location-header .lr-nav.elementor-sticky--effects ul.jkit-menu > li.menu-item > a:hover {
  color: #498D86 !important;
}
.elementor-location-header .lr-nav.elementor-sticky--effects .jkit-hamburger-menu,
.elementor-location-header .lr-nav.elementor-sticky--effects .jkit-hamburger-menu i {
  color: #0F172A !important;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .lr-nav::before,
  .elementor-location-header .lr-nav .elementor-widget-image img { transition-duration: .01s; }
}

/* Schnellkontakt: ausfahrende Buttons am rechten Rand (Desktop) / Leiste unten (Mobil) */
.lr-float {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 990;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
.lr-float__btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  color: #FFFFFF !important;
  text-decoration: none !important;
  border-radius: 18px 0 0 18px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .28);
  transition: width .6s cubic-bezier(.22, 1, .36, 1), background-color .35s ease, box-shadow .35s ease;
  animation: lrFloatIn .9s cubic-bezier(.22, 1, .36, 1) both .4s;
}
.lr-float__req { animation-delay: .55s; }
.lr-float__call { background: #498D86; }
.lr-float__req { background: #0F172A; }
.lr-float__icon {
  position: relative;
  flex: 0 0 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lr-float__icon svg {
  width: 28px;
  height: 28px;
  transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
}
.lr-float__call .lr-float__icon::before {
  content: "";
  position: absolute;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .55);
  animation: lrPulse 2.8s ease-out infinite;
}
.lr-float__label {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  padding-right: 24px;
  opacity: 0;
  transform: translateX(14px);
  transition: opacity .35s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
}
.lr-float__label strong { font-size: 17px; font-weight: 700; line-height: 1.2; }
.lr-float__label small { font-size: 13px; opacity: .85; margin-top: 3px; }
.lr-float__btn:hover,
.lr-float__btn:focus-visible {
  width: 272px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, .34);
}
.lr-float__btn:hover .lr-float__label,
.lr-float__btn:focus-visible .lr-float__label {
  opacity: 1;
  transform: none;
  transition-delay: .12s;
}
.lr-float__call:hover { background: #3E7D76; }
.lr-float__req:hover { background: #16213A; }
.lr-float__call:hover .lr-float__icon svg { transform: rotate(-14deg) scale(1.1); }
.lr-float__req:hover .lr-float__icon svg { transform: translateY(-2px) scale(1.1); }
.lr-float__btn:focus-visible { outline: 2px solid #8FCFC6; outline-offset: 3px; }
@keyframes lrFloatIn { from { transform: translateX(110%); } to { transform: none; } }
@keyframes lrPulse { 0% { transform: scale(.65); opacity: .9; } 100% { transform: scale(1.4); opacity: 0; } }
body.page-id-112 .lr-float { display: none; }
@media (max-width: 767px) {
  .lr-float {
    top: auto; bottom: 0; left: 0; right: 0;
    transform: none;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    box-shadow: 0 -6px 20px rgba(15, 23, 42, .15);
  }
  .lr-float__btn {
    flex: 1;
    width: auto !important;
    height: 56px;
    justify-content: center;
    border-radius: 0;
    box-shadow: none !important;
    animation: none;
  }
  .lr-float__icon { flex: 0 0 auto; width: auto; height: auto; margin-right: 10px; }
  .lr-float__icon svg { width: 20px; height: 20px; }
  .lr-float__call .lr-float__icon::before { display: none; }
  .lr-float__label { opacity: 1; transform: none; padding-right: 0; }
  .lr-float__label small { display: none; }
  .lr-float__label strong { font-size: 15px; }
  body:not(.page-id-112) { padding-bottom: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .lr-float__btn, .lr-float__call .lr-float__icon::before { animation: none; }
}

/* Leistungen Startseite: klar klickbare Karten */
.lr-svc-box {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #E6ECEB;
  border-radius: 16px;
  padding: 28px 24px 24px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.lr-svc-box:hover {
  transform: translateY(-6px);
  border-color: #CFE3E0;
  box-shadow: 0 20px 40px rgba(15, 23, 42, .12);
}
.lr-svc-box .elementor-icon-box-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.lr-svc-box .elementor-icon-box-description::after {
  content: "Mehr erfahren \2192";
  display: block;
  margin-top: 14px;
  font-weight: 700;
  color: var(--e-global-color-accent);
  transition: transform .25s ease;
}
.lr-svc-box:hover .elementor-icon-box-description::after { transform: translateX(6px); }
.lr-svc-box--wide { grid-column: 1 / -1; }

/* Hintergrundvideos: Ersatzbild zuerst, Video blendet weich ein (kein schwarzer Ladezustand) */
.elementor-background-video-container {
  opacity: 0;
  animation: lrVideoIn .9s ease 1.8s forwards;
}
@keyframes lrVideoIn { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .elementor-background-video-container { animation-duration: .01s; }
}

/* Partner-Logos: feiner Rahmen, weicher Schatten, nichts abgeschnitten */
.elementor-widget-image-carousel .elementor-image-carousel-wrapper {
  padding: 10px 6px 24px;
}
.elementor-widget-image-carousel .swiper-slide-image {
  border: 1px solid #E6ECEB;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .06) !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-widget-image-carousel .swiper-slide-image:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, .10) !important;
}

/* Leistungskarten (Übersicht Aufzugtechnik): ganze Karte klickbar */
a.lr-svc-card {
  color: inherit;
  text-decoration: none !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
a.lr-svc-card:hover,
a.lr-svc-card:focus-visible {
  transform: translateY(-6px);
  border-color: #CFE3E0 !important;
  box-shadow: 0 22px 44px rgba(15, 23, 42, .14) !important;
}
a.lr-svc-card:focus-visible { outline: 2px solid #498D86; outline-offset: 3px; }
a.lr-svc-card .lr-svc-img { position: relative; }
a.lr-svc-card .lr-svc-img::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,0) 55%, rgba(15,23,42,.25) 100%);
}
.lr-svc-more .lr-arrow {
  display: inline-block;
  margin-left: 4px;
  transition: transform .25s ease;
}
a.lr-svc-card:hover .lr-arrow { transform: translateX(6px); }
.lr-cta-tel a { color: #FFFFFF !important; font-weight: 600; text-decoration: none; }
.lr-cta-tel a:hover { text-decoration: underline; }

/* Mobil-Menüsymbol weiß über dem dunklen Video-Kopf */
.elementor-location-header .lr-nav:not(.elementor-sticky--effects) .jkit-hamburger-menu,
.elementor-location-header .lr-nav:not(.elementor-sticky--effects) .jkit-hamburger-menu i {
  color: #FFFFFF !important;
}

/* Motion: Scroll-Fortschritt (feine Linie ganz oben) */
.lr-progress {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 1001;
  background: linear-gradient(90deg, #498D86, #8FCFC6);
  transform: scaleX(0);
  transform-origin: 0 50%;
  pointer-events: none;
}
body.admin-bar .lr-progress { top: 32px; }
@media (max-width: 782px) { body.admin-bar .lr-progress { top: 46px; } }

/* Motion: Logo wird beim Laden weich aufgedeckt */
@keyframes lrLogoIn {
  from { clip-path: inset(0 100% 0 0); opacity: .3; }
  to { clip-path: inset(0 0 0 0); opacity: 1; }
}
html.lr-first .elementor-location-header .lr-nav .elementor-widget-image img {
  animation: lrLogoIn 1.3s cubic-bezier(.22, 1, .36, 1) .2s both;
}

/* Motion: Foto in Leistungskarten zoomt beim Überfahren */
a.lr-svc-card .lr-svc-img { transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
a.lr-svc-card:hover .lr-svc-img { transform: scale(1.06); }

/* Mobil-Menü: Vollbild in Navy, gestaffelte Einträge, Soforthilfe & Bewertungen */
.lr-mm-extra[hidden] { display: none; }
@media (min-width: 1025px) { .lr-mm-extra { display: none !important; } }
@media (max-width: 1024px) {
  .elementor-location-header .jkit-menu-wrapper {
    background: radial-gradient(120% 80% at 100% 0%, #1B2A45 0%, #0F172A 60%) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 36px !important;
    overflow-y: auto;
  }
  .elementor-location-header .jkit-menu-wrapper .jkit-nav-identity-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  .elementor-location-header .jkit-menu-wrapper .jkit-nav-identity-panel img { max-height: 54px; width: auto; }
  .elementor-location-header .jkit-menu-wrapper .jkit-close-menu {
    width: 44px; height: 44px;
    border: 0 !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08) !important;
    color: #FFFFFF !important;
  }
  .elementor-location-header .jkit-menu-wrapper .jkit-close-menu i { color: #FFFFFF !important; font-size: 18px; }
  .elementor-location-header .jkit-menu-wrapper .jkit-menu-container { padding: 8px 24px 0; background: transparent !important; }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu { background: transparent !important; }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu > li {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .45s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
  }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li { opacity: 1; transform: none; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(1) { transition-delay: .08s; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(2) { transition-delay: .14s; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(3) { transition-delay: .20s; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(4) { transition-delay: .26s; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(5) { transition-delay: .32s; }
  .elementor-location-header .jkit-menu-wrapper.active ul.jkit-menu > li:nth-child(6) { transition-delay: .38s; }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu > li > a {
    color: #FFFFFF !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    padding: 16px 0 !important;
  }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu > li.current-menu-item > a { color: #8FCFC6 !important; }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu li > a i,
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu li > a svg { color: #8FCFC6 !important; fill: #8FCFC6 !important; }
  .elementor-location-header .jkit-menu-wrapper ul.sub-menu { background: transparent !important; box-shadow: none !important; }
  .elementor-location-header .jkit-menu-wrapper ul.sub-menu li > a {
    color: #8FCFC6 !important;
    font-size: 17px !important;
    padding: 10px 0 10px 14px !important;
  }
  .lr-mm-extra {
    margin: 22px 24px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .5s ease .42s, transform .65s cubic-bezier(.22, 1, .36, 1) .42s;
  }
  .jkit-menu-wrapper.active .lr-mm-extra { opacity: 1; transform: none; }
  .lr-mm-sos {
    background: linear-gradient(135deg, #498D86, #2F6B64);
    border-radius: 16px;
    padding: 18px 18px 16px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
  }
  .lr-mm-kicker { display: block; color: #E6F4F2; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
  .lr-mm-call {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #FFFFFF !important;
    font-size: 22px;
    font-weight: 700;
    text-decoration: none !important;
  }
  .lr-mm-call svg { width: 22px; height: 22px; flex: 0 0 22px; animation: lrRing 2.6s ease-in-out infinite; }
  .lr-mm-req {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    color: #FFFFFF !important;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none !important;
  }
  .lr-mm-trust {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 2px;
    color: #CBD5E1 !important;
    font-size: 14px;
    text-decoration: none !important;
  }
  .lr-mm-stars { color: #F5B301; letter-spacing: 1px; }
  .lr-mm-trust strong { color: #FFFFFF; }
  body:has(.jkit-menu-wrapper.active) .lr-float { display: none; }
}
@keyframes lrRing {
  0%, 70%, 100% { transform: rotate(0); }
  75% { transform: rotate(-14deg); }
  80% { transform: rotate(12deg); }
  85% { transform: rotate(-8deg); }
  90% { transform: rotate(6deg); }
}
@media (prefers-reduced-motion: reduce) {
  .lr-progress { display: none; }
  .elementor-location-header .lr-nav .elementor-widget-image img,
  .lr-mm-call svg { animation: none; }
}
@media (max-width: 1024px) {
  .elementor-location-header .jkit-menu-wrapper.active,
  .elementor-location-header .jkit-menu-wrapper { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; }
  .elementor-location-header .jkit-menu-wrapper .jkit-nav-identity-panel { order: 1; }
  .elementor-location-header .jkit-menu-wrapper .jkit-menu-container { order: 2; }
  .elementor-location-header .jkit-menu-wrapper .lr-mm-extra { order: 3; }
}

/* Logo auf dunklem Grund heller (Video-Kopf, Mobil-Menü), auf weißer Sticky-Leiste Originalfarbe */
.elementor-location-header .lr-nav .elementor-widget-image img { transition: transform .55s cubic-bezier(.22, 1, .36, 1), filter .45s ease; }
.elementor-location-header .lr-nav:not(.elementor-sticky--effects) .elementor-widget-image img,
.elementor-location-header .jkit-menu-wrapper .jkit-nav-identity-panel img { filter: brightness(1.55) saturate(1.1); }

/* Mobil-Menü: Liste ohne eigene Höhe, ganzes Panel scrollt, Kopf bleibt oben */
@media (max-width: 1024px) {
  .elementor-location-header .jkit-menu-wrapper { overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .elementor-location-header .jkit-menu-wrapper .jkit-menu-container {
    height: auto !important; max-height: none !important; overflow: visible !important; flex: 0 0 auto !important;
  }
  .elementor-location-header .jkit-menu-wrapper ul.jkit-menu {
    height: auto !important; max-height: none !important; overflow: visible !important;
  }
  .elementor-location-header .jkit-menu-wrapper .jkit-nav-identity-panel {
    position: sticky !important; top: 0 !important; z-index: 5;
    background: rgba(15, 23, 42, .92) !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  html:has(.jkit-menu-wrapper.active), body:has(.jkit-menu-wrapper.active) { overflow: hidden !important; }
}
.lr-hidden-widget { display: none !important; }

/* Team-Karten: kein Hover-Overlay mit Name/Social-Icons (alle Seiten) */
.jkit-team .profile-card .hover-area,
.jkit-team .profile-card .social-list,
.jkit-team .profile-card:before { display: none !important; }

/* Sprunglinks (#anfrage, #bewerbung …): Überschrift nicht unter dem Sticky-Menü verstecken */
html { scroll-padding-top: 140px; }
@media (max-width: 1024px) { html { scroll-padding-top: 110px; } }
[id] { scroll-margin-top: 140px; }
@media (max-width: 1024px) { [id] { scroll-margin-top: 110px; } }

/* Footer: Kontaktzeilen ohne Umbruch, mobil zentrierte Fußleiste */
@media (min-width: 1025px) {
  .elementor-location-footer .elementor-element-383d6773 .elementor-icon-list-text { white-space: nowrap; }
}
.elementor-location-footer .elementor-element-383d6773 a:hover .elementor-icon-list-text,
.elementor-location-footer .elementor-element-66535201 a:hover .elementor-icon-list-text,
.elementor-location-footer .elementor-element-10e02fc3 a:hover .elementor-icon-list-text { color: #8FCFC6 !important; }
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-711dc5c0 { flex-direction: column !important; align-items: center !important; gap: 14px; text-align: center; }
  .elementor-location-footer .elementor-element-711dc5c0 .elementor-icon-list-items { justify-content: center; }
}
/* Footer-Feinschliff */
.elementor-location-footer .elementor-element-7ed00968 img { filter: brightness(1.7) saturate(1.1); }
.elementor-location-footer .lr-cta-btn .elementor-button { padding: 15px 26px; border-radius: 999px; font-weight: 600; }
@media (min-width: 768px) {
  .elementor-location-footer .elementor-element-711dc5c0 { justify-content: flex-start !important; align-items: center; }
  .elementor-location-footer .elementor-element-711dc5c0 > .elementor-element-17b3f7d { margin-left: auto; order: 2; }
  .elementor-location-footer .elementor-element-711dc5c0 > .elementor-element-5ef6221d { order: 3; margin-left: 22px; }
}
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-2241edd6 .lr-cta-btn { flex: 1 1 100%; }
  .elementor-location-footer .elementor-element-2241edd6 .lr-cta-btn .elementor-button { width: 100%; justify-content: center; }
}
/* Keine Theme-Pink-Links: Grundfarbe fuer alle Links */
body a { color: #2F6B64; }
body a:hover, body a:focus-visible { color: #1F4B46; }
.elementor-widget-text-editor a { color: #2F6B64; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.elementor-widget-text-editor a:hover { color: #1F4B46; }
.elementor-icon-box-description a { color: inherit !important; text-decoration: none !important; border-bottom: 1px solid rgba(73,141,134,.45); transition: color .2s, border-color .2s; }
.elementor-icon-box-description a:hover { color: #2F6B64 !important; border-color: #2F6B64; }
/* Menue ueber dunklem Hero: weisse Links auf allen Seiten (auch 404/Danke) */
@media (min-width:1025px){
  body.elementor-kit-29.elementor-kit-29.elementor-kit-29.elementor-kit-29 .elementor-location-header .lr-nav:not(.elementor-sticky--effects) ul.jkit-menu > li.menu-item:not(.current-menu-item) > a { color: #FFFFFF; }
  body.elementor-kit-29.elementor-kit-29.elementor-kit-29.elementor-kit-29 .elementor-location-header .lr-nav:not(.elementor-sticky--effects) ul.jkit-menu > li.menu-item:not(.current-menu-item) > a:hover { color: #8FCFC6; }
}
/* Mobilmenue: Schliessen-X zentriert */
@media (max-width:1024px){
  .elementor-location-header .jkit-menu-wrapper .jkit-close-menu { display:grid !important; place-items:center !important; width:44px !important; height:44px !important; padding:0 !important; margin:0 !important; line-height:1 !important; border-radius:50% !important; transition: background .25s, transform .25s; }
  .elementor-location-header .jkit-menu-wrapper .jkit-close-menu i, .elementor-location-header .jkit-menu-wrapper .jkit-close-menu svg { display:block !important; width:18px !important; height:18px !important; font-size:18px !important; line-height:18px !important; margin:0 !important; text-align:center; }
  .elementor-location-header .jkit-menu-wrapper .jkit-close-menu:hover, .elementor-location-header .jkit-menu-wrapper .jkit-close-menu:focus-visible { background: rgba(255,255,255,.16) !important; transform: rotate(90deg); }
}
/* Rechtsseiten-Karten (Impressum/Datenschutz) */
.lr-legal-card { transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease; box-shadow: 0 6px 20px rgba(15,23,42,.04); scroll-margin-top: 130px; }
.lr-legal-card:hover { box-shadow: 0 16px 36px rgba(15,23,42,.08); border-color: #CFE3E0 !important; }
.lr-legal-card--wide { grid-column: 1 / -1; }
.lr-legal-card .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.lr-legal-card .elementor-widget-text-editor ul { padding-left: 1.2em; }
.lr-legal-card .elementor-widget-text-editor li { margin-bottom: .35em; }
.lr-legal-card h2.elementor-heading-title, .lr-legal-card h3.elementor-heading-title { scroll-margin-top: 130px; }
@media (min-width:1025px){ .lr-legal-toc { position: sticky; top: 120px; align-self: flex-start; } }
.lr-legal-toc .elementor-toc__header { border-radius: 18px 18px 0 0; padding: 16px 22px !important; }
.lr-legal-toc .elementor-toc__header-title { color: #fff !important; font-size: 17px; font-weight: 700; }
.lr-legal-toc .elementor-toc__list-item-text-wrapper { padding: 4px 0; }
.lr-legal-toc .elementor-toc__list-item-text { font-size: 15px; line-height: 1.4; text-decoration: none !important; }
.lr-legal-toc .elementor-toc__list-item-text.elementor-item-active { font-weight: 600; }
.lr-legal-toc .elementor-toc__toggle-button { color: #fff !important; }

/* Seitenuebergaenge: native View Transitions (kein JS, SEO-neutral) */
@view-transition { navigation: auto; }
html:active-view-transition .elementor-location-header { view-transition-name: lr-header; }
html:active-view-transition .lr-float { view-transition-name: lr-float; }
::view-transition-group(lr-header), ::view-transition-group(lr-float) { animation-duration: .35s; }
::view-transition-old(root) { animation: lrVtOut .26s cubic-bezier(.4,0,1,1) both; }
::view-transition-new(root) { animation: lrVtIn .5s cubic-bezier(.22,1,.36,1) both; }
@keyframes lrVtOut { to { opacity: 0; transform: translateY(-12px); } }
@keyframes lrVtIn { from { opacity: 0; transform: translateY(24px); } }
@media (max-width: 767px) {
  ::view-transition-old(root) { animation: lrVtOutM .28s cubic-bezier(.4,0,1,1) both; }
  ::view-transition-new(root) { animation: lrVtInM .46s cubic-bezier(.22,1,.36,1) both; }
  html:active-view-transition-type(back)::view-transition-old(root) { animation-name: lrVtOutMBack; }
  html:active-view-transition-type(back)::view-transition-new(root) { animation-name: lrVtInMBack; }
  @keyframes lrVtOutM { to { opacity: 0; transform: translateX(-28%); } }
  @keyframes lrVtInM { from { opacity: 0; transform: translateX(38%); } }
  @keyframes lrVtOutMBack { to { opacity: 0; transform: translateX(28%); } }
  @keyframes lrVtInMBack { from { opacity: 0; transform: translateX(-38%); } }
}
@media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }
/* Mobilmenue im Sticky-Zustand: Links immer hell (Fix ausgegraute Titel) */
@media (max-width:1024px){
  .elementor-location-header .lr-nav.elementor-sticky--effects .jkit-menu-wrapper ul.jkit-menu > li.menu-item > a,
  .elementor-location-header .lr-nav .jkit-menu-wrapper ul.jkit-menu > li.menu-item > a { color: #FFFFFF !important; }
  .elementor-location-header .lr-nav.elementor-sticky--effects .jkit-menu-wrapper ul.jkit-menu > li.current-menu-item > a,
  .elementor-location-header .lr-nav.elementor-sticky--effects .jkit-menu-wrapper ul.jkit-menu > li.menu-item > a:hover,
  .elementor-location-header .lr-nav .jkit-menu-wrapper ul.jkit-menu > li.current-menu-item > a { color: #8FCFC6 !important; }
  .elementor-location-header .lr-nav.elementor-sticky--effects .jkit-menu-wrapper ul.sub-menu li > a { color: #8FCFC6 !important; }
}
/* Landingpage-Bausteine (wiederverwendbar fuer Stadt-Varianten) */
.lr-live{display:inline-flex;align-items:center;gap:10px;padding:7px 15px 7px 12px;border-radius:999px;background:rgba(111,227,210,.1);border:1px solid rgba(111,227,210,.25);color:#8FCFC6;font-size:14px;font-weight:600;letter-spacing:.2px}
.lr-live i{width:9px;height:9px;border-radius:50%;background:#34D399;flex:0 0 9px;animation:lrLive 2s ease-out infinite}
@keyframes lrLive{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.lr-sos-call .elementor-button{font-size:26px!important;font-weight:700!important;padding:18px 30px!important;border-radius:16px!important;letter-spacing:.3px;box-shadow:0 12px 30px rgba(73,141,134,.35)}
.lr-glass{background:rgba(15,23,42,.58)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.lr-steps{counter-reset:lrstep}
.lr-step{counter-increment:lrstep;position:relative;overflow:hidden;background:#fff;border:1px solid #E6ECEB;border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.06);transition:transform .3s ease,box-shadow .3s ease}
.lr-step:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,23,42,.10)}
.lr-step:before{content:counter(lrstep);position:absolute;top:14px;right:20px;font-size:64px;font-weight:800;line-height:1;color:#EAF4F2;pointer-events:none}
.lr-step .elementor-icon{background:#EAF4F2;border-radius:14px;padding:15px}
.lr-step--warn .elementor-icon{background:#FDECEA}
.lr-tags ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lr-tags li{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid #DCE8E6;font-size:15px;color:#0F172A;transition:background .25s,border-color .25s}
.lr-tags li:hover{background:#EAF4F2;border-color:#8FCFC6}
.lr-trust .elementor-icon-list-item{font-weight:500}
@media (max-width:767px){.lr-sos-call,.lr-sos-call .elementor-button{width:100%}.lr-sos-call .elementor-button{font-size:21px!important;justify-content:center;padding:16px 18px!important}.lr-live{font-size:13px}.lr-step:before{font-size:52px}}
@media (prefers-reduced-motion:reduce){.lr-live i{animation:none}}
.e-con.lr-step::before,.e-con.lr-step:before{content:counter(lrstep)!important;position:absolute!important;inset:auto!important;top:12px!important;right:20px!important;left:auto!important;bottom:auto!important;width:auto!important;height:auto!important;background:none!important;opacity:1!important;border:0!important;font-size:64px;font-weight:800;line-height:1;color:#EAF4F2;z-index:0;pointer-events:none}
.e-con.lr-step > .elementor-element{position:relative;z-index:1}
@media (max-width:767px){.e-con.lr-step::before{font-size:52px}}
/* Mobil zentrierte Abschnittskoepfe (Klasse lr-center-m) */
@media (max-width:767px){ .lr-center-m, .lr-center-m .elementor-icon-list-text, .lr-center-m .elementor-heading-title { text-align:center !important; } .lr-center-m .elementor-icon-list-items, .lr-center-m .elementor-icon-list-item { justify-content:center !important; } .lr-center-m.elementor-widget-icon-list, .lr-center-m.elementor-widget-button { align-self:center; } }
/* Hero-H1 mobil: nie breiter als der Bildschirm; lr-center-m Bloecke mittig */
@media (max-width:767px){ .elementor-widget-heading h1.elementor-heading-title { font-size:min(2.5rem, 8.6vw) !important; overflow-wrap:break-word; hyphens:manual; } .lr-center-m { align-self:center !important; margin-left:auto; margin-right:auto; } }/* End custom CSS */