/* E3/DC Mega-Menü (Desktop-Panel im Salient-Header) */
#header-outer nav > ul > li.e3mm-target > ul.e3mm-sub { display: block; padding: 0 !important; border-top-width: 0 !important; }
#header-outer nav > ul > li.e3mm-target > ul.e3mm-sub > li.e3mm-li { position: relative; display: block !important; width: 100% !important; flex: 1 1 100% !important; padding: 0 !important; margin: 0 !important; background: none !important; }
#header-outer nav > ul > li.e3mm-target > ul.e3mm-sub.has-e3bg { background-image: none !important; }

/* Hintergrundbild als eigene Ebene: die Deckkraft betrifft nur das Bild, nicht die Grundfarbe */
/* !important: Salient gibt im Header jedem span einen z-index von 10 */
.e3bgl, #header-outer .e3mm-li > span.e3bgl { position: absolute !important; inset: 0; z-index: 0 !important; background-size: cover; background-position: center; background-repeat: no-repeat; pointer-events: none; }
.e3bgl + .e3mm, #header-outer .e3mm-li > .e3bgl + .e3mm { z-index: 1 !important; }

.e3mm { position: relative; width: 100%; }
.e3mm__track { display: flex; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; }
.e3mm__track::-webkit-scrollbar { display: none; }
.e3mm__row { display: flex; align-items: flex-start; flex: none; margin: 0 auto; padding: 10px 28px 12px; }

.e3mm__group { position: relative; display: flex; flex-direction: column; align-items: center; flex: none; }
.e3mm__group + .e3mm__group { margin-left: 50px; }
.e3mm__group + .e3mm__group::before { content: ""; position: absolute; left: -25px; top: 10%; width: 1px; height: 80%; background: #fff; opacity: .5; }
.e3mm__items { display: flex; gap: 30px; }

#header-outer .e3mm a.e3mm__item, .e3mm a.e3mm__item { position: relative; display: flex; flex-direction: column; align-items: center; padding: 10px; margin: 0; text-decoration: none !important; border: 0; background: none; line-height: 1; }
#header-outer .e3mm a.e3mm__item::after, #header-outer .e3mm a.e3mm__item::before { display: none !important; }
.e3mm__logo { display: flex; align-items: center; justify-content: center; height: 80px; }
.e3mm__logo img { display: block; height: 80px !important; width: auto !important; max-width: none; margin: 0 !important; transform: scale(1); transition: transform .24s ease-out; }
.e3mm__item:hover .e3mm__logo img, .e3mm__item:focus-visible .e3mm__logo img { transform: scale(1.125); }
.e3mm__word { display: block; font-family: "HagerScale Bold", "Helvetica Neue", Arial, sans-serif; font-size: 30px; line-height: 1; letter-spacing: -.01em; color: #fff; white-space: nowrap; transition: transform .24s ease-out; }
.e3mm__item:hover .e3mm__word { transform: scale(1.08); }
/* Glow unter dem Logo: aktuelle Seite voll, beim Hovern dezent */
.e3mm__glow {
    left: 50%; bottom: 9px; width: 96%; max-width: 140px; height: 34px; border-radius: 50%;
    background: radial-gradient(50% 50% at 50% 50%, rgba(178, 255, 110, .9) 0%, rgba(110, 214, 72, .45) 40%, rgba(92, 194, 68, 0) 100%);
    filter: blur(10px); opacity: 0; transform: translateX(-50%) scale(.75); transition: opacity .35s ease, transform .35s ease; pointer-events: none;
}
.e3mm__item:hover .e3mm__glow, .e3mm__item:focus-visible .e3mm__glow { opacity: .28; transform: translateX(-50%) scale(.92); }
.e3mm__item.is-current .e3mm__glow { opacity: .5; transform: translateX(-50%) scale(1); }
/* Ebenen absichern: Salient gibt im Header jedem span einen z-index von 10 */
.e3mm__glow, #header-outer .e3mm span.e3mm__glow { position: absolute !important; z-index: 0 !important; }
.e3mm__logo, #header-outer .e3mm span.e3mm__logo { position: relative; z-index: 1 !important; }
.e3mm.is-dragging a.e3mm__item { pointer-events: none; }
.e3mm.is-dragging .e3mm__track { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none !important; }
.e3mm__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.e3mm__label { display: block; margin-top: -4px; padding-top: 3px; font-family: "HagerScale Bold", "Helvetica Neue", Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 24px; letter-spacing: normal; text-transform: uppercase; white-space: nowrap; color: #fff; pointer-events: none; }
.e3mm__group:hover .e3mm__label, .e3mm__group.is-current .e3mm__label, .e3mm__group:focus-within .e3mm__label {
    background: linear-gradient(132.77deg, #5cc244 16.91%, #d6ff40 95.59%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* Scrollen, wenn der Platz nicht reicht */
.e3mm .e3mm__nav, #header-outer .e3mm button.e3mm__nav {
    position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 40px !important; height: 40px !important; min-width: 0 !important; margin: -24px 0 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 50% !important; background: #5cc244 !important; color: #fff !important; cursor: pointer; line-height: 1 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .12) inset !important;
    opacity: 0; visibility: hidden; transform: scale(.9); transition: opacity .2s, visibility .2s, transform .2s, background-color .2s;
}
.e3mm .e3mm__nav svg { width: 22px; height: 22px; fill: none !important; }
.e3mm .e3mm__nav svg path { stroke: #fff !important; fill: none !important; }
.e3mm .e3mm__nav:hover, #header-outer .e3mm button.e3mm__nav:hover { background: #52b53b !important; transform: scale(1.06); }
.e3mm .e3mm__nav:focus-visible { outline: 2px solid #d6ff40; outline-offset: 2px; }
.e3mm__nav--prev { left: 14px; }
.e3mm__nav--next { right: 14px; }
.e3mm.has-prev .e3mm__nav--prev, .e3mm.has-next .e3mm__nav--next { opacity: 1; visibility: visible; transform: none; }
.e3mm.has-prev .e3mm__nav--prev:hover, .e3mm.has-next .e3mm__nav--next:hover { transform: scale(1.06); }
.e3mm.has-next .e3mm__track { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 90px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 90px), transparent); }
.e3mm.has-prev .e3mm__track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 90px); mask-image: linear-gradient(90deg, transparent, #000 90px); }
.e3mm.has-prev.has-next .e3mm__track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 90px, #000 calc(100% - 90px), transparent); mask-image: linear-gradient(90deg, transparent, #000 90px, #000 calc(100% - 90px), transparent); }

/* Fallback, falls das Panel per JS eingesetzt werden musste */
#header-outer nav > ul > li.e3mm-fb:hover > ul.e3mm-sub, #header-outer nav > ul > li.e3mm-fb:focus-within > ul.e3mm-sub { opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important; }

@media (prefers-reduced-motion: reduce) { .e3mm__track { scroll-behavior: auto; } .e3mm__logo img, .e3mm__word, .e3mm__nav { transition: none; } }
