/* GW Mega Menu 2.0.5 – erweitert bestehende wp_nav_menu-Ausgabe */
ul.gwmm-menu{position:relative!important}
ul.gwmm-menu>li.gwmm-root{position:static!important}
.gwmm-root>.sub-menu{display:none!important}

/* Desktop: kein zweiter eigener sichtbarer Pfeil. Divi darf seinen gewohnten Caret behalten. */
.gwmm-root>.gwmm-toggle{display:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;align-items:center;justify-content:center;padding:0;cursor:pointer;color:inherit}
.gwmm-root>.gwmm-toggle>span{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--gwmm-duration) ease}
.gwmm-root.gwmm-open>.gwmm-toggle>span{transform:rotate(225deg) translate(-1px,-1px)}

.gwmm-nav-image{width:22px;height:22px;object-fit:cover;border-radius:4px;vertical-align:middle;margin-right:6px}
.gwmm-nav-icon{font-size:18px;width:18px;height:18px;vertical-align:middle;margin-right:5px}
.gwmm-nav-badge,.gwmm-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--gwmm-accent);color:#fff;font-size:10px;line-height:1;padding:4px 7px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-left:5px}

.gwmm-panel{position:absolute;z-index:99999;left:50%;top:calc(100% - 1px);width:min(var(--gwmm-max),calc(100vw - 32px));max-height:min(78vh,800px);overflow:auto;background:var(--gwmm-local-bg,var(--gwmm-bg));color:var(--gwmm-text);border-radius:var(--gwmm-radius);box-shadow:0 18px 48px rgba(0,0,0,.17);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity var(--gwmm-duration) ease,transform var(--gwmm-duration) ease,visibility var(--gwmm-duration) ease;text-align:left}
.gwmm-panel.gwmm-width-wide{width:min(1600px,calc(100vw - 24px))}
.gwmm-panel.gwmm-width-full{width:100vw;max-width:100vw;border-radius:0}
.gwmm-root.gwmm-open>.gwmm-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.gwmm-panel:before{content:'';position:absolute;inset:0;background-image:var(--gwmm-bg-image,none);background-size:cover;background-position:center;z-index:0}
.gwmm-panel-overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--gwmm-overlay,0));z-index:1;pointer-events:none}
.gwmm-panel-inner{position:relative;z-index:2;padding:26px}
.gwmm-columns{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}
.gwmm-column{grid-column:span var(--gwmm-span,3);min-width:0}
.gwmm-column-title{display:block;color:inherit!important;font-weight:800!important;font-size:15px!important;line-height:1.3!important;text-decoration:none!important;padding:0 0 8px!important;border-bottom:2px solid color-mix(in srgb,var(--gwmm-accent) 60%,transparent);margin-bottom:8px}
.gwmm-column-desc{font-size:12px;opacity:.7;margin:-3px 0 10px;line-height:1.45}
.gwmm-column-items{display:flex;flex-direction:column;gap:4px}
.gwmm-entry{box-sizing:border-box!important;color:inherit!important;text-decoration:none!important;display:flex!important;gap:10px;align-items:flex-start;padding:8px 9px!important;border-radius:8px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;line-height:1.3!important}
.gwmm-entry:hover,.gwmm-entry:focus-visible{background:color-mix(in srgb,var(--gwmm-accent) 9%,transparent);outline:none}
.gwmm-entry-card,.gwmm-entry-promo{border:1px solid rgba(0,0,0,.08);padding:12px!important;background:rgba(255,255,255,.65)}
.gwmm-entry-card:hover,.gwmm-entry-promo:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(0,0,0,.08)}
.gwmm-entry-promo{min-height:105px;background:linear-gradient(135deg,color-mix(in srgb,var(--gwmm-accent) 12%,#fff),#fff)}
.gwmm-entry-media{flex:0 0 48px;width:48px;height:48px;border-radius:7px;overflow:hidden;background:#f0f0f1;display:flex;align-items:center;justify-content:center}
.gwmm-entry-media img{width:100%;height:100%;object-fit:cover}
.gwmm-entry-icon .dashicons{font-size:26px;width:26px;height:26px;color:var(--gwmm-accent)}
.gwmm-entry-body{min-width:0;display:flex;flex-direction:column;gap:3px}
.gwmm-entry-title{font-weight:650;font-size:14px;color:inherit}
.gwmm-entry-desc{font-size:12px;line-height:1.4;opacity:.72}
.gwmm-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.gwmm-card-grid .gwmm-entry{height:100%}
.gwmm-nested{margin-left:16px;border-left:1px solid rgba(0,0,0,.08);padding-left:6px}
.gwmm-nested .gwmm-entry{padding-top:5px!important;padding-bottom:5px!important}
.gwmm-empty{padding:18px;border:1px dashed rgba(0,0,0,.2);border-radius:8px;background:rgba(255,255,255,.6)}
.gwmm-root-link:focus-visible,.gwmm-toggle:focus-visible,.gwmm-panel a:focus-visible{outline:2px solid var(--gwmm-accent)!important;outline-offset:2px!important}

/* Divi: volle verfügbare Headerbreite nutzen. GW- und normale Hauptpunkte bleiben optisch gleich. */
.et_pb_menu .et_pb_menu__menu,.et_pb_menu .et_pb_menu__menu>nav,.et_pb_menu .et_pb_menu__menu>nav>ul{position:relative}
.et_pb_menu .et_pb_menu__menu>nav>ul.gwmm-menu>li.gwmm-root{position:static!important}
.et_pb_menu .et_pb_menu__wrap,.et_pb_menu_inner_container{overflow:visible!important}
html:not(.gwmm-mobile-mode) .et_pb_menu .et_pb_menu__wrap{min-width:0!important;flex:1 1 auto!important}
html:not(.gwmm-mobile-mode) .et_pb_menu .et_pb_menu__menu{min-width:0!important;flex:1 1 auto!important}
html:not(.gwmm-mobile-mode) .et_pb_menu .et_pb_menu__menu>nav{min-width:0!important;width:100%!important}
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu>li>a{white-space:nowrap}

/* Wird per JS nur dann aktiviert, wenn die vorhandene Breite ausreicht. */
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu.gwmm-nav-singleline{display:flex!important;flex-wrap:nowrap!important;width:100%!important;justify-content:flex-end!important;align-items:center!important}
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu.gwmm-nav-compact>li{padding-left:6px!important;padding-right:6px!important}
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu.gwmm-nav-compact>li>a{font-size:13px!important}
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu.gwmm-nav-tight>li{padding-left:3px!important;padding-right:3px!important}
html:not(.gwmm-mobile-mode) .et_pb_menu ul.gwmm-menu.gwmm-nav-tight>li>a{font-size:12px!important;letter-spacing:-.01em}

/* Mobile/Touch: eigener großer, gut antippbarer Schalter. */
html.gwmm-mobile-mode ul.gwmm-menu>li.gwmm-root{position:relative!important}
html.gwmm-mobile-mode .gwmm-root>.gwmm-toggle{display:inline-flex;float:right;width:44px;height:44px;margin:-4px 0 -4px 6px;vertical-align:middle;position:relative;z-index:3}
html.gwmm-mobile-mode .gwmm-panel,html.gwmm-mobile-mode .gwmm-panel.gwmm-width-wide,html.gwmm-mobile-mode .gwmm-panel.gwmm-width-full{position:static!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:none!important;max-height:none;border-radius:8px;margin:5px 0 10px;box-shadow:none;display:none;opacity:1;visibility:visible;pointer-events:auto}
html.gwmm-mobile-mode .gwmm-root.gwmm-open>.gwmm-panel{display:block!important}
html.gwmm-mobile-mode .gwmm-panel-inner{padding:15px}
html.gwmm-mobile-mode .gwmm-columns{display:block}
html.gwmm-mobile-mode .gwmm-column{margin-bottom:18px}
html.gwmm-mobile-mode .gwmm-card-grid{grid-template-columns:1fr}
