.elementor-kit-5{--e-global-color-primary:#243B6B;--e-global-color-secondary:#E5E7EB;--e-global-color-text:#111827;--e-global-color-accent:#22C55E;--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;font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;line-height:1.6px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );border-radius:12px 12px 12px 12px;padding:14px 24px 14px 24px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#19A24C;color:var( --e-global-color-secondary );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:700;line-height:1.6em;}.elementor-kit-5 h2{font-family:"Poppins", Sans-serif;font-size:34px;font-weight:700;}.elementor-kit-5 h3{font-family:"Poppins", Sans-serif;font-size:26px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:80px;--container-default-padding-right:0px;--container-default-padding-bottom:80px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}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:1024px){.elementor-kit-5{font-size:15px;line-height:1.6em;}.elementor-kit-5 h1{font-size:36px;}.elementor-kit-5 h2{font-size:28px;}.elementor-kit-5 h3{font-size:22px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:15px;padding:12px 20px 12px 20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:60px;--container-default-padding-right:0px;--container-default-padding-bottom:60px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-5{font-size:14px;line-height:1.6em;}.elementor-kit-5 h1{font-size:30px;}.elementor-kit-5 h2{font-size:24px;}.elementor-kit-5 h3{font-size:18px;line-height:1.4em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:14px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:40px;--container-default-padding-right:16px;--container-default-padding-bottom:40px;--container-default-padding-left:16px;}}/* Start custom CSS *//* Unterstrich (2px) unter Haupt-Menüpunkten */
.nav--main .ekit-menu-nav > li > a,
.nav--main .ekit-menu > li > a {
  position: relative;
  color: #111827;
  text-decoration: none;
  transition: color .2s ease;
}
.nav--main .ekit-menu-nav > li > a::after,
.nav--main .ekit-menu > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;         /* Abstand unter dem Text */
  width: 0;
  height: 2px;          /* Dicke */
  background: #22C55E;  /* Farbe */
  transition: width .2s ease;
}
.nav--main .ekit-menu-nav > li > a:hover::after,
.nav--main .ekit-menu > li.current-menu-item > a::after {
  width: 100%;
}
.nav--main .ekit-menu-nav > li > a:hover,
.nav--main .ekit-menu > li.current-menu-item > a {
  color: #22C55E;
}

/* Hero H1: immer korrekt umbrechen + sauberer Zeilenabstand */
.h1-fix{
  white-space: normal !important;     /* falls irgendwo nowrap gesetzt war */
  overflow-wrap: anywhere;            /* bricht auch lange „Wörter“ */
  word-break: break-word;             /* Fallback für alte Browser */
  hyphens: auto;                      /* automatische Silbentrennung */
  line-height: 1.25;                  /* sicherer Zeilenabstand auf Desktop */
}
/* hübschere Zeilenverteilung, wo unterstützt */
@supports (text-wrap: balance){
  .h1-fix{ text-wrap: balance; }
}

.elementor-kit-5 .elementor-button{
  transition:background-color .2s ease,color .2s ease,transform .05s ease;
}
.elementor-kit-5 .elementor-button:active{ transform: translateY(1px); }

/* Trust cards: subtle hover lift */
.trust-card{
  transition: transform .15s ease, box-shadow .15s ease;
}
.trust-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* 4 / 2 / 1 Karten mit echtem Gap berechnet */
.trust-grid{ --gap:24px; display:flex; flex-wrap:wrap; gap:var(--gap); }
.trust-grid > .trust-card{ flex:0 1 calc((100% - (3 * var(--gap)))/4); } /* 4 Spalten */
@media (max-width:1024px){
  .trust-grid > .trust-card{ flex-basis: calc((100% - var(--gap))/2); }  /* 2 Spalten */
}
@media (max-width:767px){
  .trust-grid > .trust-card{ flex-basis: 100%; }                           /* 1 Spalte */
}

/* Base header */
.site-header{
  padding-top:12px; padding-bottom:12px;
  background:transparent;
  transition:padding .2s ease, background .3s ease, box-shadow .3s ease;
}
/* Logo & nav smooth scale */
.site-header img, .site-header .elementor-button { transition: transform .2s ease; }

/* When sticky class is applied */
.site-header.elementor-sticky--effects{
  background:#fff;
  padding-top:6px; padding-bottom:6px;      /* schrumpfen */
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.site-header.elementor-sticky--effects img{ transform: scale(.9); }

/* Optional: Menü unten etwas enger, wenn sticky */
.site-header.elementor-sticky--effects .ekit-menu-nav > li > a,
.site-header.elementor-sticky--effects .ekit-menu > li > a{ padding-top:4px; padding-bottom:4px; }

/* EK Offcanvas & Overlay über den Header legen */
.nav--main .ekit-menu-panel,
.nav--main .ekit_offcanvas-sidebar,
.nav--main .ekit-menu-overlay,
.nav--main .ekit-menu-panel + .ekit-menu-overlay,
.nav--main .ekit-close-icon {
  position: fixed;
  z-index: 9999 !important; /* über der Sticky-Bar */
}

.sticky-bar{
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease, padding .2s ease;
}
.sticky-bar.elementor-sticky--effects{
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  padding-top:6px; padding-bottom:6px; /* schrumpfen */
}
/* 1) Sticky-Bar selbst: kleiner, sauber mittig */
.sticky-bar{
  display:flex; align-items:center;
  transition: background .3s, box-shadow .3s, padding .2s;
}
.sticky-bar.elementor-sticky--effects{
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  padding-top:6px; padding-bottom:6px; /* schlanker beim Scrollen */
}

/* 2) Menülinks vertikal ausrichten & identische Innenabstände */
.sticky-bar .ekit-menu-nav > li > a,
.sticky-bar .ekit-menu > li > a{
  display:flex; align-items:center;      /* echte Zentrierung */
  padding-top:6px; padding-bottom:6px;   /* gleiche T/B-Padding */
  line-height:1.2;
}

/* 3) Button vertikal angleichen (gleiche T/B-Padding wie oben) */
.sticky-bar .elementor-button{
  padding-top:12px; padding-bottom:12px; /* je nach Button-Design 10–12px */
}

/* 4) Wenn du einen Unterstrich (2px Border-Bottom) am Menü hast,
      verschiebt er optisch gering nach unten. Ausgleich: 1px weniger Bottom-Padding im Sticky-State. */
/*  -> falls nötig, UNKOMMENTIEREN:
.sticky-bar.elementor-sticky--effects .ekit-menu-nav > li > a,
.sticky-bar.elementor-sticky--effects .ekit-menu > li > a{
  padding-bottom:5px;  /* statt 6px */
}
*/

/* Nur auf Geräten mit echtem Hover */
@media (hover:hover){

  /* Karte: Basis + sanfte Animation */
  .service-card{
    position: relative;
    overflow: hidden;              /* für die Linie */
    border-radius: 12px;
    transition: transform .18s ease, box-shadow .2s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
  }

  /* Accent-Linie unten (fährt aus) */
  .service-card::after{
    content:"";
    position:absolute; left:16px; right:16px; bottom:12px;
    height:3px;
    background:#22C55E;
    border-radius:2px;
    transform: scaleX(0);
    transform-origin:left;
    transition: transform .2s ease;
  }

  /* Hover-Zustand */
  .service-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
  }
  .service-card:hover::after{ transform: scaleX(1); }

  /* Icon leicht anheben + einfärben (gilt für SVG & <i>) */
  .service-card .elementor-icon{
    transition: transform .15s ease, color .15s ease;
    display: inline-flex;          /* damit transform greift */
  }
  .service-card:hover .elementor-icon{
    color:#22C55E;
    transform: translateY(-1px) scale(1.05);
  }
}

/* Respektiere "Bewegung reduzieren" – ohne !important */
@media (prefers-reduced-motion: reduce){
  .service-card,
  .service-card::after,
  .service-card .elementor-icon{
    transition: none;
  }
}

.service-card{ background:#fff; transition:transform .2s, box-shadow .2s; }
.service-card:hover{ transform: translateY(-6px); box-shadow:0 10px 24px rgba(0,0,0,.12); }

/* Flex-Fallback: 3/2/1 Spalten mit 24px Abstand */
/* klassische Tabs: mobile Titel im INHALT ausblenden */
#price-tabs .elementor-tabs-content-wrapper > .elementor-tab-title,
#price-tabs .elementor-tab-mobile-title { display: none; }

/* neues Markup (e-n-tabs): mobile Titel im INHALT ausblenden */
#price-tabs .e-n-tabs-content .e-n-tab-title,
#price-tabs .e-n-tabs-content .e-n-tab-mobile-title { display: none; }

/* kleiner Abstand zwischen Leiste und Inhalt */
#price-tabs .elementor-tabs-content-wrapper,
#price-tabs .e-n-tabs-content { margin-top: 16px; }/* End custom CSS */