.elementor-2258 .elementor-element.elementor-element-136ac12a{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:110px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:5000;}.elementor-2258 .elementor-element.elementor-element-136ac12a.e-con{--align-self:center;}.elementor-2258 .elementor-element.elementor-element-7773344{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:15px 15px 15px 15px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2258 .elementor-element.elementor-element-7773344.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2258 .elementor-element.elementor-element-647c7cbe{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:left;}.elementor-2258 .elementor-element.elementor-element-647c7cbe.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2258 .elementor-element.elementor-element-647c7cbe img{width:55%;max-width:55%;}.elementor-2258 .elementor-element.elementor-element-2d96d126{--display:flex;--min-height:3rem;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2258 .elementor-element.elementor-element-2d96d126.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2258 .elementor-element.elementor-element-2236529c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:10000;}.elementor-2258 .elementor-element.elementor-element-2236529c .elementor-menu-toggle{margin:0 auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-2258 .elementor-element.elementor-element-136ac12a{--width:100%;}.elementor-2258 .elementor-element.elementor-element-7773344{--width:21%;}.elementor-2258 .elementor-element.elementor-element-2d96d126{--width:78%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2258 .elementor-element.elementor-element-7773344{--width:85%;}.elementor-2258 .elementor-element.elementor-element-2d96d126{--width:85%;}}@media(max-width:1024px){.elementor-2258 .elementor-element.elementor-element-136ac12a{--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-2258 .elementor-element.elementor-element-7773344{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-2258 .elementor-element.elementor-element-647c7cbe{text-align:left;}.elementor-2258 .elementor-element.elementor-element-2d96d126{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}}@media(max-width:767px){.elementor-2258 .elementor-element.elementor-element-136ac12a{--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:3px;--padding-right:3px;}.elementor-2258 .elementor-element.elementor-element-7773344{--width:20%;}.elementor-2258 .elementor-element.elementor-element-647c7cbe{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2258 .elementor-element.elementor-element-647c7cbe img{width:59px;}.elementor-2258 .elementor-element.elementor-element-2d96d126{--width:19%;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2258 .elementor-element.elementor-element-2d96d126.e-con{--align-self:center;}.elementor-2258 .elementor-element.elementor-element-2236529c{--nav-menu-icon-size:24px;}}/* Start custom CSS for nav-menu, class: .elementor-element-2236529c *//* ==========================================================================
   HAUPTMENÜ STYLING (LEVEL 1) - FINAL V5 (AUTO-WIDTH FIX)
   ========================================================================== */

/* Stellt den Positions-Kontext für das Dropdown her */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children {
    position: relative !important;
}

/* Basis-Styling für alle Hauptmenü-Buttons */
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item > .elementor-item {
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    position: relative !important; padding: 10px 15px !important; margin: 0 5px !important;
    background-color: #00bf63 !important; color: white !important; text-decoration: none !important;
    border-radius: 8px !important; font-weight: 500 !important; font-size: 18px !important; text-transform: uppercase !important;
    letter-spacing: 0.5px !important; overflow: hidden !important; border: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

/* Pfeile in den Haupt-Buttons weiß machen */
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item > .elementor-item .sub-arrow {
    fill: white !important; color: white !important;
}

/* Hover-Effekt für Hauptmenü-Buttons */
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item > .elementor-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2), inset 0px 0px 40px rgba(0, 0, 0, 0.2) !important;
}

/* Stellt sicher, dass der Text immer über dem JS-Glanz-Effekt liegt */
.elementor-nav-menu .elementor-item-content {
    position: relative !important; z-index: 2 !important;
}


/* ==========================================================================
   SUBMENÜ STYLING (LEVEL 2 & 3+) - FINAL V5 (AUTO-WIDTH FIX)
   ========================================================================== */

/* 1. Allgemeiner Submenü-Container (alle Ebenen) */
.elementor-nav-menu--main .sub-menu {
    /* KORREKTUR: Breite wird jetzt automatisch an den Inhalt angepasst */
    width: auto !important;
    min-width: 260px !important; /* Behält eine anständige Mindestbreite bei */

    display: flex !important; flex-direction: column !important; gap: 5px !important;
    margin: 0 !important; background-color: #2c3e50 !important; border-radius: 8px !important; padding: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important;
    position: absolute !important; z-index: 1001 !important;
    opacity: 0 !important; visibility: hidden !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
}

/* 2. Positionierung & Animation für Level 2 (das erste Dropdown) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > .sub-menu {
    top: 100% !important; left: 50% !important; margin-top: 15px !important;
    transform: translate(-50%, 10px) !important;
}
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important; visibility: visible !important;
    transform: translate(-50%, 0) !important;
}

/* 3. Positionierung & Animation für Level 3+ (das seitliche Flyout) */
.sub-menu .menu-item-has-children {
    position: relative !important;
}
.sub-menu .menu-item-has-children > .sub-menu {
    top: -8px !important; left: 100% !important; margin-left: 10px !important;
    transform: translateX(10px) !important;
}
.sub-menu .menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important; visibility: visible !important;
    transform: translateX(0) !important;
}

/* 4. Styling der einzelnen Submenü-Buttons (alle Ebenen) */
.sub-menu .elementor-sub-item {
    /* KORREKTUR: Verhindert den Textumbruch und zwingt den Container zur Erweiterung */
    white-space: nowrap !important;
    
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    width: 100% !important; padding: 12px 20px !important; color: white !important; text-decoration: none !important;
    font-size: 16px !important; font-weight: 400 !important; text-transform: none !important; border-radius: 6px !important;
    transition: background-color 0.2s ease, padding-left 0.2s ease !important;
}

/* 5. Hover-Effekt für die Submenü-Buttons */
.sub-menu .elementor-sub-item:hover {
    background-color: #00bf63 !important; color: white !important; padding-left: 25px !important;
}


/* ==========================================================================
   MEGA-MENÜ FÜR LANGE LISTEN (z.B. Branchen)
   ========================================================================== */

/* ERSETZEN SIE #menu-item-17 mit der ID Ihres "Branchen"-Menüpunkts */
/* Diese Regel überschreibt die auto-Breite und ist daher sicher */
#menu-item-17 > .sub-menu {
    width: 800px !important;
    padding: 20px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 5px 20px !important;
}

/* ==========================================================================
   CLS-FIX: PLATZHALTER FÜR DIE SUB-ARROWS HINZUGEFÜGT
   ========================================================================== */

/* 1. Fügt ALLEN Hauptmenü-Buttons einen unsichtbaren Platzhalter hinzu.
   Dieser reserviert von Anfang an den Platz, den der Pfeil einnehmen würde,
   und verhindert so eine Neuberechnung der Menübreite. */
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item > .elementor-item::after {
    content: '';
    /* Die Breite des Pfeil-Icons. 12px ist ein gängiger Standardwert. */
    width: 12px; 
    display: inline-block;
}

/* 2. Versteckt den Platzhalter bei Buttons, die bereits einen echten
   Pfeil (.sub-arrow) haben, um doppelten Abstand zu vermeiden. */
.elementor-nav-menu--main > .elementor-nav-menu > .menu-item-has-children > .elementor-item::after {
    display: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-136ac12a */.header {
  position: fixed !important;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0.15)
  );
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);

  /* Schwarze, elegante Rahmen */
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-bottom: 1px solid rgba(0, 0, 0, 0.75);
  border-left: 1px solid rgba(0, 0, 0, 0.4);
  border-right: 1px solid rgba(0, 0, 0, 0.4);

  border-radius: 25px 25px 25px 25px;

  /* Leichter Glow unten */
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2),
              inset 0 -1px 0 rgba(255, 255, 255, 0.1);

  padding: 20px;
  top: 20px;
  z-index: 1000;
  transform: translateY(0px);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;

  /* --- HIER IST DIE VERBESSERTE KORREKTUR --- */
  width: auto !important;
  left: 85px !important;
  right: 85px !important;
}

/* Verstecken - komplett unsichtbar */
.site-header.hidden, header[data-elementor-type="header"].hidden, header.hidden, .header.hidden {
  transform: translateY(calc(-100% - 20px)) !important;
}/* End custom CSS */