.jodo-modal-menu { width: 100%; }
.jodo-modal-menu, .jodo-modal-menu * { box-sizing: border-box; }
.jodo-modal-menu ul, .jodo-modal-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.jodo-modal-menu li::before, .jodo-modal-menu li::after,
.jodo-modal-menu a::before, .jodo-modal-menu a::after {
    display: none !important;
    content: none !important;
}
.jodo-modal-menu a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease, transform .2s ease;
}
.jodo-modal-menu a:hover, .jodo-modal-menu a:focus { text-decoration: none; }
.jodo-modal-menu__list, .jodo-modal-menu .sub-menu {
    display: block;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.jodo-modal-menu__item { line-height: 1.15; }
.jodo-modal-menu__list > li + li { margin-top: 22px !important; }
.jodo-modal-menu .sub-menu { margin-top: 10px !important; }
.jodo-modal-menu .sub-menu > li + li { margin-top: 10px !important; }
.jodo-modal-menu[data-submenu-mode="collapsed"] .sub-menu { display: none; }
.jodo-modal-menu[data-submenu-mode="collapsed"] li.is-open > .sub-menu,
.jodo-modal-menu[data-submenu-mode="open"] .sub-menu { display: block; }
.jodo-modal-menu__item-row {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 14px;
    max-width: 100%;
    vertical-align: middle;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}
.jodo-modal-menu__link {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0;
    max-width: 100%;
    color: inherit;
    line-height: 1.15;
}
.jodo-modal-menu__toggle,
.jodo-modal-menu__toggle-spacer {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 28px;
    width: 28px;
    height: 1.25em;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
    vertical-align: middle;
}
.jodo-modal-menu__toggle {
    border: 0 !important;
    background: transparent !important;
    color: inherit;
    font: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    opacity: 1 !important;
    visibility: visible !important;
}
.jodo-modal-menu__toggle-spacer { display: none !important; }
.jodo-modal-menu__toggle:hover, .jodo-modal-menu__toggle:focus {
    background: transparent !important;
    outline: none;
    opacity: .85 !important;
}
.jodo-modal-menu__toggle-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
    line-height: 1;
    transform: translateY(0);
}
.jodo-modal-menu__toggle-svg {
    display: block !important;
    width: 1em;
    height: 1em;
    overflow: visible;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: center center;
    transition: transform .18s ease;
}
.jodo-modal-menu li.is-open > .jodo-modal-menu__item-row > .jodo-modal-menu__toggle .jodo-modal-menu__toggle-svg {
    transform: rotate(180deg);
}
.jodo-modal-menu[data-toggle-icon="plus"] .jodo-modal-menu__toggle-svg { display: none !important; }
.jodo-modal-menu[data-toggle-icon="plus"] .jodo-modal-menu__toggle-icon::before { content: "+"; font-size: 1em; font-weight: 400; line-height: 1; color: currentColor; }
.jodo-modal-menu[data-toggle-icon="plus"] li.is-open > .jodo-modal-menu__item-row > .jodo-modal-menu__toggle .jodo-modal-menu__toggle-icon::before { content: "−"; }
.jodo-modal-menu[data-toggle-icon="none"] .jodo-modal-menu__toggle,
.jodo-modal-menu[data-toggle-icon="none"] .jodo-modal-menu__toggle-spacer { display: none !important; }
.jodo-modal-menu__notice {
    padding: 12px 14px;
    border: 1px dashed currentColor;
    border-radius: 8px;
    opacity: .7;
}

/* 0.1.9: Custom uploaded toggle icons */
.jodo-modal-menu[data-toggle-icon="custom_svg"] .jodo-modal-menu__toggle-svg,
.jodo-modal-menu[data-toggle-icon="custom_svg"] .jodo-modal-menu__toggle-icon::before {
    display: none !important;
    content: none !important;
}
.jodo-modal-menu__custom-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: 1;
    transform-origin: center center;
    transition: transform .18s ease, opacity .18s ease;
}
.jodo-modal-menu__custom-icon img {
    display: block !important;
    width: 1em !important;
    height: 1em !important;
    object-fit: contain;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.jodo-modal-menu__custom-icon--open {
    display: none !important;
}
.jodo-modal-menu li.is-open > .jodo-modal-menu__item-row > .jodo-modal-menu__toggle .jodo-modal-menu__toggle-icon--has-open .jodo-modal-menu__custom-icon--closed {
    display: none !important;
}
.jodo-modal-menu li.is-open > .jodo-modal-menu__item-row > .jodo-modal-menu__toggle .jodo-modal-menu__custom-icon--open {
    display: inline-flex !important;
}
.jodo-modal-menu li.is-open > .jodo-modal-menu__item-row > .jodo-modal-menu__toggle .jodo-modal-menu__toggle-icon:not(.jodo-modal-menu__toggle-icon--has-open) .jodo-modal-menu__custom-icon--closed {
    transform: rotate(180deg);
}

/* 0.1.10 robustness: clickable parent rows and visible SVG chevrons */
.jodo-modal-menu .menu-item-has-children > .jodo-modal-menu__item-row > .jodo-modal-menu__link {
    cursor: pointer;
}
.jodo-modal-menu__toggle {
    pointer-events: auto !important;
    position: relative;
    z-index: 2;
}
.jodo-modal-menu__toggle svg,
.jodo-modal-menu__toggle svg * {
    pointer-events: none;
}
.jodo-modal-menu__toggle-svg path {
    stroke: currentColor !important;
    fill: none !important;
}
.jodo-modal-menu[data-submenu-mode="collapsed"] li:not(.is-open) > .sub-menu {
    display: none !important;
}
.jodo-modal-menu[data-submenu-mode="collapsed"] li.is-open > .sub-menu {
    display: block !important;
}


/* 0.1.12: Sofortiges visuelles Schließen vor Navigation */
.dialog-widget-content.jodo-modal-menu-force-closing,
.dialog-lightbox-widget-content.jodo-modal-menu-force-closing,
.elementor-popup-modal.jodo-modal-menu-force-closing {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .08s ease, visibility .08s ease !important;
}


/* 0.1.13: Ganze Elementor-Overlay-Ebene inkl. Backdrop sofort ausblenden */
.elementor-popup-modal.jodo-modal-menu-force-closing,
.dialog-widget.jodo-modal-menu-force-closing,
.dialog-lightbox-widget.jodo-modal-menu-force-closing,
.dialog-type-lightbox.jodo-modal-menu-force-closing,
.dialog-widget-content.jodo-modal-menu-force-closing,
.dialog-lightbox-widget-content.jodo-modal-menu-force-closing,
[role="dialog"].jodo-modal-menu-force-closing,
.modal.jodo-modal-menu-force-closing,
.popup.jodo-modal-menu-force-closing {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .08s ease, visibility .08s ease !important;
}
.elementor-popup-modal.jodo-modal-menu-force-closing::before,
.elementor-popup-modal.jodo-modal-menu-force-closing::after,
.dialog-widget.jodo-modal-menu-force-closing::before,
.dialog-widget.jodo-modal-menu-force-closing::after,
.dialog-lightbox-widget.jodo-modal-menu-force-closing::before,
.dialog-lightbox-widget.jodo-modal-menu-force-closing::after {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
