.elementor-12815 .elementor-element.elementor-element-6d830468{--display:flex;--min-height:41px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12815 .elementor-element.elementor-element-5fbac998{--display:flex;--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:space-between;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:-15px;--margin-left:0px;--margin-right:0px;--padding-top:6px;--padding-bottom:6px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-12815 .elementor-element.elementor-element-5fbac998:not(.elementor-motion-effects-element-type-background), .elementor-12815 .elementor-element.elementor-element-5fbac998 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a54f63c );}.elementor-12815 .elementor-element.elementor-element-64d4ce72 > .elementor-widget-container{margin:0px 0px 0px 5px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-icon i{color:var( --e-global-color-44fd0a3 );transition:color 0.3s;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-icon svg{fill:var( --e-global-color-44fd0a3 );transition:fill 0.3s;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-64d4ce72{--e-icon-list-icon-size:18px;--e-icon-list-icon-align:right;--e-icon-list-icon-margin:0 0 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25);--icon-vertical-align:center;--icon-vertical-offset:-1px;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-icon{padding-inline-end:0px;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-text{color:var( --e-global-color-astglobalcolor3 );transition:color 0.3s;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-74a2463 > .elementor-widget-container{margin:7px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-74a2463 .elementor-icon-wrapper{text-align:center;}.elementor-12815 .elementor-element.elementor-element-74a2463.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-74a2463.elementor-view-framed .elementor-icon, .elementor-12815 .elementor-element.elementor-element-74a2463.elementor-view-default .elementor-icon{color:var( --e-global-color-44fd0a3 );border-color:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-74a2463.elementor-view-framed .elementor-icon, .elementor-12815 .elementor-element.elementor-element-74a2463.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-44fd0a3 );}.elementor-12815 .elementor-element.elementor-element-74a2463 .elementor-icon{font-size:19px;}.elementor-12815 .elementor-element.elementor-element-74a2463 .elementor-icon svg{height:19px;}.elementor-12815 .elementor-element.elementor-element-74a2463 .elementor-icon i, .elementor-12815 .elementor-element.elementor-element-74a2463 .elementor-icon svg{transform:rotate(0deg);}.elementor-12815 .elementor-element.elementor-element-1bd7ba42{--display:flex;--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:space-between;--align-items:center;box-shadow:0px 12px 30px -18px rgba(0, 0, 0, 0.12);--margin-top:-110px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-12815 .elementor-element.elementor-element-1bd7ba42:not(.elementor-motion-effects-element-type-background), .elementor-12815 .elementor-element.elementor-element-1bd7ba42 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFEB;}.elementor-12815 .elementor-element.elementor-element-754e9b91{width:var( --container-widget-width, 260px );max-width:260px;--container-widget-width:260px;--container-widget-flex-grow:0;text-align:start;}.elementor-12815 .elementor-element.elementor-element-754e9b91 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-754e9b91.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12815 .elementor-element.elementor-element-754e9b91 img{width:260px;}.elementor-12815 .elementor-element.elementor-element-239a2453{--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;--justify-content:flex-start;--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-12815 .elementor-element.elementor-element-239a2453.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-12815 .elementor-element.elementor-element-3d150d7b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b.elementor-element{--align-self:flex-end;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu .elementor-item{font-size:18px;font-weight:500;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-astglobalcolor5 );fill:var( --e-global-color-astglobalcolor5 );padding-left:7px;padding-right:7px;padding-top:7px;padding-bottom:7px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-astglobalcolor4 );fill:var( --e-global-color-astglobalcolor4 );}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-astglobalcolor4 );}.elementor-12815 .elementor-element.elementor-element-3d150d7b{--e-nav-menu-horizontal-menu-item-margin:calc( 38px / 2 );}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:38px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown .elementor-item, .elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:16px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown{border-radius:8px 8px 8px 8px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:8px;border-top-right-radius:8px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 8px 24px -4px rgba(0, 0, 0, 0.08);}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown a{padding-left:30px;padding-right:30px;padding-top:10px;padding-bottom:10px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown li:not(:last-child){border-style:none;border-bottom-width:0px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:24px !important;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button{background-color:var( --e-global-color-f9b12da );text-transform:none;fill:var( --e-global-color-astglobalcolor5 );color:var( --e-global-color-astglobalcolor5 );transition-duration:0s;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-f9b12da );border-radius:8px 8px 8px 8px;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button:hover, .elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button:focus{background-color:var( --e-global-color-astglobalcolor5 );color:var( --e-global-color-f9b12da );border-color:var( --e-global-color-f9b12da );box-shadow:0px 12px 32px -6px rgba(0, 0, 0, 0.14);}.elementor-12815 .elementor-element.elementor-element-5aa6e93f{width:var( --container-widget-width, 200px );max-width:200px;--container-widget-width:200px;--container-widget-flex-grow:0;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f.elementor-element{--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button .elementor-button-content-wrapper{gap:7px;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button:hover svg, .elementor-12815 .elementor-element.elementor-element-5aa6e93f .elementor-button:focus svg{fill:var( --e-global-color-f9b12da );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-12815 .elementor-element.elementor-element-6d830468{--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-12815 .elementor-element.elementor-element-64d4ce72 > .elementor-widget-container{margin:0px 0px 0px 25px;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(9px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(9px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(9px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-9px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-9px/2);}.elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12815 .elementor-element.elementor-element-64d4ce72 .elementor-icon-list-item > a{font-size:13px;}.elementor-12815 .elementor-element.elementor-element-74a2463 > .elementor-widget-container{margin:7px 30px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-1bd7ba42{--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-12815 .elementor-element.elementor-element-754e9b91{width:var( --container-widget-width, 260px );max-width:260px;--container-widget-width:260px;--container-widget-flex-grow:0;}.elementor-12815 .elementor-element.elementor-element-754e9b91 > .elementor-widget-container{margin:0px 0px 0px 25px;}.elementor-12815 .elementor-element.elementor-element-754e9b91 img{width:260px;}.elementor-12815 .elementor-element.elementor-element-239a2453{--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:flex-end;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-12815 .elementor-element.elementor-element-239a2453.e-con{--align-self:center;}.elementor-12815 .elementor-element.elementor-element-3d150d7b{width:var( --container-widget-width, 300px );max-width:300px;--container-widget-width:300px;--container-widget-flex-grow:0;}.elementor-12815 .elementor-element.elementor-element-3d150d7b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b.elementor-element{--align-self:flex-end;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:20px !important;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-5aa6e93f{--container-widget-width:0px;--container-widget-flex-grow:0;width:var( --container-widget-width, 0px );max-width:0px;}}@media(max-width:767px){.elementor-12815 .elementor-element.elementor-element-6d830468{--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-12815 .elementor-element.elementor-element-5fbac998{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:6px;--padding-left:0px;--padding-right:0px;}.elementor-12815 .elementor-element.elementor-element-64d4ce72 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-74a2463 > .elementor-widget-container{margin:7px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-1bd7ba42{--justify-content:space-between;--flex-wrap:nowrap;}.elementor-12815 .elementor-element.elementor-element-754e9b91{width:var( --container-widget-width, 260px );max-width:260px;--container-widget-width:260px;--container-widget-flex-grow:0;text-align:start;}.elementor-12815 .elementor-element.elementor-element-754e9b91 > .elementor-widget-container{margin:0px 0px 0px 20px;}.elementor-12815 .elementor-element.elementor-element-754e9b91 img{width:300px;}.elementor-12815 .elementor-element.elementor-element-239a2453{--width:15%;--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;--justify-content:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:25px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12815 .elementor-element.elementor-element-239a2453.e-con{--align-self:center;}.elementor-12815 .elementor-element.elementor-element-3d150d7b > .elementor-widget-container{margin:0px -10px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b.elementor-element{--align-self:flex-end;--order:-99999 /* order start hack */;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main .elementor-item{padding-left:7px;padding-right:7px;padding-top:7px;padding-bottom:7px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b{--e-nav-menu-horizontal-menu-item-margin:calc( 38px / 2 );}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:38px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--dropdown a{padding-left:25px;padding-right:25px;padding-top:10px;padding-bottom:10px;}.elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-12815 .elementor-element.elementor-element-3d150d7b .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:20px !important;}}@media(min-width:768px){.elementor-12815 .elementor-element.elementor-element-5fbac998{--content-width:1200px;}.elementor-12815 .elementor-element.elementor-element-1bd7ba42{--content-width:1200px;}.elementor-12815 .elementor-element.elementor-element-239a2453{--width:56%;}}@media(max-width:1024px) and (min-width:768px){.elementor-12815 .elementor-element.elementor-element-239a2453{--width:47%;}}/* Start custom CSS for image, class: .elementor-element-754e9b91 */.logo img {
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.22));
}

/* Sticky = kein Shadow */
.elementor-sticky--effects .logo img {
  filter: none;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-3d150d7b */@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown {
    border-top: 1px solid #e5e5e5;
    animation: dropdownFade .25s ease;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5aa6e93f *//* Feiner, professioneller Button-Grow */
.btn-grow,
.btn-grow .elementor-button {
  transition: transform 0.25s ease;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  .btn-grow:hover,
  .btn-grow:hover .elementor-button {
    transform: scale(1.025);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1bd7ba42 *//* ==================================== */
/* 1. NICHT-STICKY (transparenter Header über Hero-Bild) */
/* ==================================== */

/* Standard-Textfarbe für alle Hauptmenü-Links im transparenten Zustand */
.menu-color li > a {
    color: #FFFFFF !important;
}

/* Basis: Links im Menü bekommen eine relative Position,
   damit wir später das ::after-Pseudo-Element (Unterstrich) exakt darunter platzieren können */
.menu-color li > a {
    position: relative;
}

/* Logo-Tausch NUR im Sticky-Zustand:
   Wenn der Header sticky wird, wird hier ein anderes Logo-Bild geladen */
.elementor-sticky--effects .logo img {
    content:url(/wp-content/uploads/2025/03/Logo_transparent_ohne_Text_hell_neu.png);
}

/* Hover-Effekt: Grundsätzlich soll beim Hover der Unterstrich eingeblendet werden
   (die Breite wird über weitere Selektoren konkret gesteuert) */
.menu-color li > a:hover::after {
    width: 100%;
}

/* Unterstrich UND Farbe bei aktiven/übergeordneten Menüpunkten
   - current-menu-ancestor / parent: Eltern-/Vorfahrenseiten
   - elementor-item-active: der tatsächlich aktive Menüpunkt
   - menu-item-has-children:hover/focus-within: geöffnete Dropdown-Menus */
.menu-color li.current-menu-ancestor > a::after,
.menu-color li.current-menu-parent > a::after,
.menu-color li > a.elementor-item-active::after,
.menu-color li.menu-item-has-children:hover > a::after,
.menu-color li.menu-item-has-children:focus-within > a::after {
    width: 100%;
    background-color: #E7F6FF;
}

/* Textfarbe für aktive Menüpunkte und ihre Eltern im transparenten Zustand */
.menu-color li.current-menu-ancestor > a,
.menu-color li.current-menu-parent > a,
.menu-color li > a.elementor-item-active {
    color: #E7F6FF !important;
}

/* Sicherheit: Stelle für alle relevanten Zustände sicher,
   dass die Links eine relative Position haben (wichtig für den Unterstrich) */
.menu-color li > a,
.menu-color li.current-menu-ancestor > a,
.menu-color li.current-menu-parent > a,
.menu-color li > a.elementor-item-active {
    position: relative;
}

/* Grund-Definition des Unterstrich-Pseudo-Elements für alle Menü-Links:
   - unsichtbar (width:0)
   - wird später über Hover/Active verbreitert und eingefärbt */
.menu-color li > a::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: transparent;
    transition: width 0.3s ease, background-color 0.3s ease;
}

/* Kombinierte Fälle, in denen der Unterstrich eingeblendet UND eingefärbt wird:
   - normaler Hover
   - Hover/Fokus bei Dropdown-Eltern
   - aktive Menüpunkte / Eltern-Status */
.menu-color li > a:hover::after,
.menu-color li.menu-item-has-children:hover > a::after,
.menu-color li.menu-item-has-children:focus-within > a::after,
.menu-color li > a.elementor-item-active::after,
.menu-color li.current-menu-parent > a::after,
.menu-color li.current-menu-ancestor > a::after {
    width: 100%;
    background-color: #E7F6FF !important;
}

/* Transparenter Header (vor Scrollen):
   Hover-Unterstrich NUR bei nicht-aktiven Elternpunkten */
.menu-color li:not(.current-menu-parent):not(.current-menu-ancestor):hover > a::after {
    background-color: #E7F6FF !important;
}

/* Sticky-Header:
   Gleicher Mechanismus wie oben, aber andere Farbe für den Unterstrich beim Hover */
.elementor-sticky--effects .menu-color li:not(.current-menu-parent):not(.current-menu-ancestor):hover > a::after {
    background-color: #0090E9 !important;
}

/* Fallback/Sicherheit:
   Stelle sicher, dass Parent-/Ancestor-Links im transparenten Zustand einen gefärbten Unterstrich haben */
.menu-color li.current-menu-ancestor > a::after,
.menu-color li.current-menu-parent > a::after {
    background-color: #E7F6FF !important;
}

/* ==================================== */
/* 2. STICKY (nach Scroll – weißer Header) */
/* ==================================== */

/* Grundfarbe der Menülinks im Sticky-Zustand (dunkler Text) */
.elementor-sticky--effects .menu-color li > a {
    color: #364151 !important;
}

/* Textfarbe für aktive/Eltern-Menüpunkte im Sticky-Zustand (CI-Blau) */
.elementor-sticky--effects .menu-color li.current-menu-ancestor > a,
.elementor-sticky--effects .menu-color li.current-menu-parent > a,
.elementor-sticky--effects .menu-color li > a.elementor-item-active {
    color: #0090E9 !important;
}

/* Im Sticky-Header:
   Alle relevanten Links bekommen relative Position für den Unterstrich */
.elementor-sticky--effects .menu-color li > a,
.elementor-sticky--effects .menu-color li.current-menu-ancestor > a,
.elementor-sticky--effects .menu-color li.current-menu-parent > a,
.elementor-sticky--effects .menu-color li > a.elementor-item-active {
    position: relative;
}


/* ==================================== */
/* 3. DROPDOWN-MENÜ (Desktop) */
/* ==================================== */

/* Dropdown-Links: Grundfarbe dunkel (Text) */
.menu-color li ul li a {
    color: #364151 !important;
}

/* Hover/Aktiv im Dropdown:
   Text wird weiß */
.menu-color li ul li a:hover,
.menu-color li ul li a.elementor-item-active {
    color: #FFFFFF !important;
}

/* Hintergrund des Dropdown-Menus: weiß */
.menu-color li ul {
    background-color: #FFFFFF !important;
}





/* ==================================== */
/* Sichtbarkeit: Aktiver Unterpunkt im Dropdown immer weiß */
/* ==================================== */

/* Aktiver Unterpunkt im Dropdown – Textfarbe weiß */
.menu-color li ul li a.elementor-item-active {
    color: #FFFFFF !important;
}

/* Hover/Fokus/Aktiv – Dropdownlinks werden weiß eingefärbt */
.menu-color li ul li a:hover,
.menu-color li ul li a:focus,
.menu-color li ul li a.elementor-item-active {
    color: #FFFFFF !important;
}

/* ==================================== */
/* FIX: Aktiver Unterpunkt im Dropdown nach dem Scrollen lesbar (weiß) */
/* ==================================== */

/* Im Sticky-Header bleibt aktiver Dropdown-Link weiß */
.elementor-sticky--effects .menu-color li ul li a.elementor-item-active {
    color: #FFFFFF !important;
}

/* ==================================== */
/* FIX: Hoverfarbe bei aktivem Parent-Menüpunkt */
/* ==================================== */

/* Vor Scroll (transparent):
   Wenn Parent-Menüpunkt aktiv ist und man hovert, bleibt die Farbe weiß */
.menu-color li.current-menu-parent:hover > a,
.menu-color li.current-menu-ancestor:hover > a {
    color: #FFFFFF !important;
}

/* Nach Scroll (sticky):
   Hover auf Parent-Menüpunkt = CI-Blau */
.elementor-sticky--effects .menu-color li.current-menu-parent:hover > a,
.elementor-sticky--effects .menu-color li.current-menu-ancestor:hover > a {
    color: #0090E9 !important;
}

/* ==================================== */
/* HOVER-FARBE FÜR HAUPTMENÜ-TEXT AKTIVIEREN */
/* ==================================== */

/* Vor dem Scrollen (transparent):
   Hover auf Hauptmenü-Link = hellblau */
.menu-color li:hover > a.elementor-item.menu-link {
    color: #E7F6FF !important;
}

/* Nach dem Scrollen (sticky):
   Hover auf Hauptmenü-Link = CI-Blau */
.elementor-sticky--effects .menu-color li:hover > a.elementor-item.menu-link {
    color: #0090E9 !important;
}

/* ====================================
   DROPDOWN HEADING – Robust Line (no ::after dependency)
==================================== */

/* LI reset */
.menu-color li ul li.menu-heading {
  margin: 0 !important;
  padding: 0 !important;
}

/* Der Heading-Link */
.menu-color li ul li.menu-heading > a,
.menu-color li ul li.menu-heading > a.elementor-item {
  pointer-events: none !important;
  cursor: default !important;

  display: block !important;
  position: relative !important;

  /* Typo */
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #5F6F82 !important;

  /* Höhe/Vertikal-Look (nicht zu groß!) */
  padding: 14px 20px 12px 20px !important;
  margin: 0 !important;

  background: transparent !important;
  text-decoration: none !important;

  /* DIE LINIE: als Background, daher extrem zuverlässig */
  background-image: linear-gradient(to right, rgba(0,0,0,0.14), rgba(0,0,0,0.14)) !important;
  background-size: calc(100% - 40px) 1px !important;  /* 20px links + 20px rechts */
  background-position: 15px 100% !important;         /* unten, mit 20px Einzug */
  background-repeat: no-repeat !important;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* minimal Luft zum ersten Link */
.menu-color li ul li.menu-heading + li {
  margin-top: 6px !important;
}



/* ==================================== */
/* MOBILES DROPDOWN (unter 768px) – ältere Variante */
/* ==================================== */

@media (max-width: 768px) {
  /* Hintergrund des mobilen Dropdown-Menus: hellgrau */
  .elementor-nav-menu--dropdown {
    background-color: #F2F2F2 !important; /* Hellgrau */
  }

  /* Standard: Schwarzer Text im mobilen Menü */
  .elementor-nav-menu--dropdown a,
  .elementor-nav-menu--dropdown .elementor-item {
    color: #000000 !important; /* SCHWARZ */
    background-color: transparent !important;
  }

  /* Hover: Weißer Text auf blauem Hintergrund im mobilen Menü */
  .elementor-nav-menu--dropdown a:hover,
  .elementor-nav-menu--dropdown .elementor-item:hover {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }

  /* Aktiver Menüpunkt im mobilen Menü: blau hinterlegt, weißer Text */
  .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }
}

/* ==================================== */
/* Letzter Versuch: genereller Style für aktive Dropdown-Menüpunkte */
/* ==================================== */

/* Diverse aktive Zustände im Dropdown:
   Hintergrund blau, Text weiß */
.menu-color li ul li a.elementor-item-active,
.menu-color li ul li a[class*="current"],
.menu-color li ul li[class*="current"] > a {
    background-color: #0090E9 !important;
    color: #FFFFFF !important;
}

/* ==================================== */
/* FINALER CLEANUP: Aktiver Dropdown-Menüpunkt (Desktop) */
/* ==================================== */

/* Vor Scroll:
   Aktiver Dropdown-Menüpunkt bzw. Vorfahr bekommt blauen Hintergrund,
   weißen Text, kein Unterstrich */
.menu-color li ul li.current-menu-item > a,
.menu-color li ul li.current-menu-ancestor > a {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
    text-decoration: none !important;
    border: none !important;
}


/* Nach Scroll:
   Gleiches Verhalten für Sticky-Header */
.elementor-sticky--effects .menu-color li ul li.current-menu-item > a,
.elementor-sticky--effects .menu-color li ul li.current-menu-ancestor > a {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
    text-decoration: none !important;
    border: none !important;
}

.elementor-sticky--effects .menu-color li ul li.current-menu-item > a::after,
.elementor-sticky--effects .menu-color li ul li.current-menu-ancestor > a::after {
    content: none !important;
}

/* ==================================== */
/* FINALER FIX: Aktiver Dropdown-Link bei Elternklassen */
/* ==================================== */

/* Vor dem Scrollen */
.menu-color li.current-menu-parent > a.elementor-sub-item,
.menu-color li.current-post-parent > a.elementor-sub-item {
    background-color: #0090E9 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    border: none !important;
}

.menu-color li.current-menu-parent > a.elementor-sub-item::after,
.menu-color li.current-post-parent > a.elementor-sub-item::after {
    content: none !important;
    display: none !important;
}

/* Nach dem Scrollen (Sticky) */
.elementor-sticky--effects .menu-color li.current-menu-parent > a.elementor-sub-item,
.elementor-sticky--effects .menu-color li.current-post-parent > a.elementor-sub-item {
    background-color: #0090E9 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    border: none !important;
}

.elementor-sticky--effects .menu-color li.current-menu-parent > a.elementor-sub-item::after,
.elementor-sticky--effects .menu-color li.current-post-parent > a.elementor-sub-item::after {
    content: none !important;
    display: none !important;
}

/* ==================================== */
/* MOBILE FIXES im Sticky-Zustand (Dropdown + Elternmarkierung) */
/* ==================================== */

@media (max-width: 768px) {
  /* Im Sticky-Mobile-Menü:
     Eltern-/Ancestor-Links werden blau hinterlegt, weißer Text */
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }

  /* Sicher: keine Unterstriche bei diesen Einträgen */
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a::after,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a::after {
    content: none !important;
  }
}

@media (max-width: 768px) {
  /* Elternpunkte bei aktivem Unterpunkt im Sticky + Mobile:
     blau hinterlegt, weißer Text */
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-page-ancestor > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-page-parent > a {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }

  /* Standard-Links im Dropdown wieder schwarz, außer aktiv/parent */
  .elementor-sticky--effects .elementor-nav-menu--dropdown a.elementor-item {
    color: #000000 !important; /* Fallback */
  }

  /* Aktive Eltern überschreiben Fallback: weiß auf blau */
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a.elementor-item,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a.elementor-item {
    color: #FFFFFF !important;
  }
}

@media (max-width: 768px) {
  /* Ultra-spezifischer Fix:
     Eltern im mobilen Sticky-Menü bei aktiven Unterpunkten blau/weiß markieren */
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a.elementor-item,
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a.elementor-item,
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-page-parent > a.elementor-item,
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-page-ancestor > a.elementor-item {
    background-color: #0090E9 !important;
    color: #FFFFFF !important;
  }

  /* Hover überschreibt diesen Zustand nicht */
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a.elementor-item:hover,
  body.elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a.elementor-item:hover {
    background-color: #0090E9 !important;
    color: #FFFFFF !important;
  }
}

@media (max-width: 768px) {
  /* Nochmals Sicherung für Elternpunkte im mobilen Sticky-Menü:
     blau + weiß, kein doppelter Unterstrich */
  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-menu-ancestor > a,
  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-menu-parent > a,
  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-page-ancestor > a,
  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-page-parent > a {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }

  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-menu-ancestor > a:hover,
  html body.elementor-sticky--effects
  .elementor-nav-menu--dropdown
  li.current-menu-parent > a:hover {
    color: #FFFFFF !important;
    background-color: #0090E9 !important;
  }
}

/* ==================================== */
/* Feine graue Linie um den Sticky-Header */
/* ==================================== */

/* Im Sticky-Zustand: oberer und unterer Rand als feine graue Linie */
.elementor-sticky--effects {
  border-top: 1px solid #E5E5E5;
  border-bottom: 1px solid #E5E5E5;
  z-index: 999;
  position: relative;
}

/* ==================================== */
/* Logo-Switch: Weißes Logo vs. Sticky-Logo */
/* ==================================== */

/* Standard: nur das Default-Logo anzeigen */
.logo-default {
    display: block;
}
.logo-sticky {
    display: none;
}

/* Im Sticky-Header: anderes Logo anzeigen (z. B. dunklere Version) */
.elementor-sticky--effects .logo-default {
    display: none;
}
.elementor-sticky--effects .logo-sticky {
    display: block;
}

/* ========================================== */
/* MOBILES + TABLET ELEMENTOR-MENÜ (bis 1024px) */
/* ========================================== */

@media (max-width: 1024px) {

  /* Hintergrund des mobilen Dropdowns + Submenus */
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu--dropdown .sub-menu {
    background: #f2f2f2 !important;
  }

  /* Grundstil für alle Links im mobilen Menü: schwarz, block, padding */
  .elementor-nav-menu--dropdown li > a {
    display: block;
    padding: 12px 20px;
    font-size: 16px;
    color: #000 !important;
    background: transparent !important;
    transition: all .3s ease;
  }

  /* Etwas eingerückte Sub-Links im mobilen Menü */
  .elementor-nav-menu--dropdown .sub-menu li > a {
    padding-left: 36px;
    font-size: 15px;
  }

  /* Hover im mobilen Menü: blau hinterlegt, weißer Text */
  .elementor-nav-menu--dropdown li:hover > a {
    background: #0090E9 !important;
    color: #fff !important;
  }

  /* Aktive / geöffnete Menüpunkte im mobilen Menü:
     Hintergrund blau, Text weiß, gilt auch im Sticky-Zustand */
  .elementor-nav-menu--dropdown li.current-menu-item  > a,
  .elementor-nav-menu--dropdown li.current-menu-parent > a,
  .elementor-nav-menu--dropdown li.current-menu-ancestor > a,
  .elementor-nav-menu--dropdown li > a[aria-expanded="true"],
  .elementor-nav-menu--dropdown li > a.elementor-item-active,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-item  > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-ancestor > a,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li > a[aria-expanded="true"],
  .elementor-sticky--effects .elementor-nav-menu--dropdown li > a.elementor-item-active,
  /* zusätzlich: Hauptzeile im Sticky-Header hervorheben */
  .elementor-sticky--effects .elementor-nav-menu  > li.current-menu-parent  > a,
  .elementor-sticky--effects .elementor-nav-menu  > li.current-menu-ancestor > a {
    background: #0090E9 !important;
    color: #fff !important;
  }

  /* Dropdown-Pfeile im mobilen Menü: Standard schwarz, Hover/aktiv weiß */
  .elementor-nav-menu--dropdown .sub-arrow {
    border-color: #000 !important;
    transition: border-color .3s ease;
  }
  .elementor-nav-menu--dropdown li:hover > a .sub-arrow,
  .elementor-nav-menu--dropdown li.current-menu-parent > a .sub-arrow,
  .elementor-nav-menu--dropdown li > a[aria-expanded="true"] .sub-arrow,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li.current-menu-parent > a .sub-arrow,
  .elementor-sticky--effects .elementor-nav-menu--dropdown li > a[aria-expanded="true"] .sub-arrow {
    border-color: #fff !important;
  }

  /* Sicherstellen, dass das Menü-Toggle immer oben liegt */
  .elementor-menu-toggle {
    z-index: 10000 !important;
  }

  /* Verhindert Standard-Elementor-Farbe im Sticky-Header bei aktivem Link */
  .elementor-sticky--effects .elementor-nav-menu .elementor-item-active {
    color: #fff !important;
  }
}





/* ====================================
   DROPDOWN-GRÖSSE – FUNKTIONIERT MIT !important
   Nur für Menüpunkte mit Klasse .menu-dropdown-width
==================================== */

.menu-dropdown-width > ul {
    min-width: 280px !important;
    padding: 0 !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12) !important;
    border-radius: 14px 14px 10px 10px !important;
    box-shadow:
      0 4px 10px rgba(0, 0, 0, 0.06),
      0 18px 40px rgba(0, 0, 0, 0.14) !important;
}

/* Einzelne Dropdown-Links */
.menu-dropdown-width > ul > li > a {
    padding: 11px 20px !important;
    white-space: nowrap !important;
    line-height: 1.25 !important;
}



/* ====================================
   FEINSCHLIFF: Inset-Glow für Dropdown-Karten
   (ruhige Tiefe, State of the Art 2025)
==================================== */

/* Desktop Dropdown-Karte */
.menu-dropdown-width > ul {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.6),   /* feines Licht oben */
        inset 0 -1px 0 rgba(0,0,0,0.04),       /* minimale Tiefe unten */
        0 14px 28px rgba(0,0,0,0.12);           /* bestehender Außenschatten */
}



/* ====================================
   MIKROTYPografie – HAUPTMENÜ (DESKTOP)
==================================== */

.menu-color > ul > li > a {
    letter-spacing: 0.03em;
    font-weight: 500 !important;
    line-height: 1.2;
    
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Sticky-Zustand identisch halten (keine Unruhe beim Scroll) */
.elementor-sticky--effects .menu-color > ul > li > a {
    letter-spacing: 0.03em;
    font-weight: 500 !important;
    line-height: 1.2;
}



/* ====================================
   MIKROTYPografie – DROPDOWN (DESKTOP)
==================================== */

.menu-color li ul li a {
    font-size: 16px;
    font-weight: 400 !important;
    letter-spacing: 0.015em;
    line-height: 1.4;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Hover & Active: KEINE typografischen Änderungen */
.menu-color li ul li a:hover,
.menu-color li ul li a.elementor-item-active {
    font-weight: 400 !important;
    letter-spacing: 0.015em;
}

/* Glass-Effekt nur wenn sticky aktiv ist */
.elementor-sticky--effects.header-glass{
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* Smooth transition für Sticky Wechsel */
.header-glass{
  transition: background-color .28s ease, box-shadow .28s ease, backdrop-filter .28s ease;
}


/* ====================================
   FINAL FIX – Chevron korrekt & stabil
==================================== */

/* Link als Referenz */
.menu-color li.menu-item-has-children > a {
  position: relative;
  padding-right: 20px !important; /* Platz für Chevron, bewusst klein */
}

/* Chevron selbst (Icon ERZWINGEN) */
.menu-color li.menu-item-has-children > a .sub-arrow {
  position: absolute !important;
  right: 6px;                 /* Abstand zum Text – HIER feinjustieren */
  top: 73%;
  transform: translateY(-50%) !important;

  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  line-height: 1 !important;

  opacity: 0.75;
  pointer-events: none;
}

/* Chevron-Icon selbst */
.menu-color li.menu-item-has-children > a .sub-arrow::before {
  content: "\f078" !important; /* Chevron Down */
}

/* Hover: nur leichte Betonung */
.menu-color li.menu-item-has-children:hover > a .sub-arrow,
.menu-color li.menu-item-has-children:focus-within > a .sub-arrow {
  opacity: 1;
  transform: translateY(-50%) !important;
}

/* Sticky identisch */
.elementor-sticky--effects
.menu-color li.menu-item-has-children > a .sub-arrow {
  opacity: 0.75;
}

/* =========================================
   SUBMENU – AKTIVER PUNKT OHNE VERSCHIEBUNG
   ========================================= */

/* Basis: Submenu Links einheitlich */
.elementor-nav-menu--dropdown a {
  padding-left: 29px;      /* gewünschte Einrückung */
  text-indent: 0;
}

/* Active Submenu: optisch ausgleichen */
.elementor-nav-menu--dropdown
.current-menu-item > a,
.elementor-nav-menu--dropdown
.current_page_item > a {
  padding-left: 29px !important;
  text-indent: 0 !important;
  margin-left: 0 !important;
}

/* Falls Elementor zusätzlich Text einzieht */
.elementor-nav-menu--dropdown
.current-menu-item > a span,
.elementor-nav-menu--dropdown
.current_page_item > a span {
  margin-left: 0 !important;
}

/* =========================================
   SUBMENU – VOLLE KACHELBREITE FÜR UNDERLINE
   ========================================= */

.elementor-nav-menu--dropdown li > a {
  display: block;        /* wichtig */
  width: 100%;           /* volle Kachelbreite */
  box-sizing: border-box;
}


/* =========================================
   FIX: Dropdown Hover immer CI-Blau (Sticky + Non-Sticky)
   ========================================= */

.menu-color li ul li a:hover,
.menu-color li ul li a:focus {
  background-color: rgba(0,144,233,.92) !important;
  color: #FFFFFF !important;
}



/* =========================================
   CLEAN: HAUPTMENÜ UNDERLINE – EIN SYSTEM
   ========================================= */

.elementor-nav-menu--main > ul > li > a.elementor-item {
  position: relative;
}

.elementor-nav-menu--main > ul > li > a.elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background-color: currentColor;
  transition: width .28s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}

.elementor-nav-menu--main > ul > li:hover > a.elementor-item::after {
  width: 100%;
}

.elementor-nav-menu--main > ul > li.current-menu-item > a.elementor-item::after,
.elementor-nav-menu--main > ul > li.current-menu-parent > a.elementor-item::after,
.elementor-nav-menu--main > ul > li.current-menu-ancestor > a.elementor-item::after,
.elementor-nav-menu--main > ul > li.current-page-parent > a.elementor-item::after,
.elementor-nav-menu--main > ul > li.current-page-ancestor > a.elementor-item::after {
  width: 100%;
}


/* =================================================
   FINAL FIX – KEIN UNDERLINE IM DROPDOWN (DESKTOP)
   ================================================= */

/* Dropdown-Links: ::after komplett deaktivieren */
.elementor-nav-menu--main ul ul a::after,
.menu-color li ul li a::after,
.menu-color li ul li a:hover::after,
.menu-color li ul li a:focus::after,
.menu-color li ul li a.elementor-item-active::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
}

/* Sticky-Header: gleiches Verhalten */
.elementor-sticky--effects .elementor-nav-menu--main ul ul a::after,
.elementor-sticky--effects .menu-color li ul li a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
}



/* =========================================
   FIX: UNDERLINE-FARBE IM STICKY WIRD CI-BLAU
   (überschreibt alte ::after-Regeln mit !important)
   ========================================= */

/* Hauptmenü – transparent: hellblau */
.menu-color .elementor-nav-menu--main > ul > li > a.elementor-item::after {
  background-color: #E7F6FF !important;
}

/* Hauptmenü – sticky: CI-blau */
.elementor-sticky--effects
.menu-color .elementor-nav-menu--main > ul > li > a.elementor-item::after {
  background-color: #0090E9 !important;
}



/* =================================================
   FIX: HAUPTMENÜ-UNDERLINE BLEIBT,
   WENN EIN DROPDOWN-PUNKT AKTIV IST
   ================================================= */

/* Parent im Hauptmenü bekommt Underline,
   sobald ein Unterpunkt aktiv ist */
.elementor-nav-menu--main
> ul
> li.current-menu-ancestor
> a.elementor-item::after,
.elementor-nav-menu--main
> ul
> li.current-menu-parent
> a.elementor-item::after {
  width: 100% !important;
}

/* Sticky-Zustand explizit absichern */
.elementor-sticky--effects
.elementor-nav-menu--main
> ul
> li.current-menu-ancestor
> a.elementor-item::after,
.elementor-sticky--effects
.elementor-nav-menu--main
> ul
> li.current-menu-parent
> a.elementor-item::after {
  width: 100% !important;
}



/* =================================================
   HARD FIX: UNDERLINE IM HAUPTMENÜ,
   WENN EIN DROPDOWN-PUNKT AKTIV IST
   ================================================= */

/* Parent LI erzwingt Underline am Hauptmenü-Link */
.menu-color
.elementor-nav-menu--main
> ul
> li.current-menu-ancestor
> a.elementor-item::after,
.menu-color
.elementor-nav-menu--main
> ul
> li.current-menu-parent
> a.elementor-item::after {
  width: 100% !important;
  opacity: 1 !important;
}

/* Sticky-Header: identisch + Farbe korrekt */
.elementor-sticky--effects
.menu-color
.elementor-nav-menu--main
> ul
> li.current-menu-ancestor
> a.elementor-item::after,
.elementor-sticky--effects
.menu-color
.elementor-nav-menu--main
> ul
> li.current-menu-parent
> a.elementor-item::after {
  width: 100% !important;
  opacity: 1 !important;
  background-color: #0090E9 !important;
}


/* =========================================
   ACCESSIBILITY: KEYBOARD FOCUS STATES
   ========================================= */

/* Basis: kein Browser-Focus */
.elementor-nav-menu--main a:focus {
  outline: none;
}

/* Tastatur-Fokus sichtbar machen */
.elementor-nav-menu--main a:focus-visible {
  outline: none;
}

/* Focus-State = Underline sichtbar + leicht kräftiger */
.elementor-nav-menu--main
> ul
> li
> a.elementor-item:focus-visible::after {
  width: 100% !important;
  opacity: 1 !important;
}

/* Sticky-Zustand: Farbe bleibt korrekt */
.elementor-sticky--effects
.elementor-nav-menu--main
> ul
> li
> a.elementor-item:focus-visible::after {
  width: 100% !important;
  opacity: 1 !important;
}




@keyframes dropdownFade {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}/* End custom CSS */