/**
 * SD Investigation – Header Responsive 1.1.1
 * Ausschließlich auf den per JavaScript erkannten Header begrenzt.
 */

body.sdhr-active {
    overflow-x: hidden;
}

@supports (overflow: clip) {
    body.sdhr-active {
        overflow-x: clip;
    }
}

body.sdhr-active .sdhr-header,
body.sdhr-active .sdhr-header *,
body.sdhr-active .sdhr-header *::before,
body.sdhr-active .sdhr-header *::after {
    box-sizing: border-box;
}

body.sdhr-active .sdhr-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    max-width: 100%;
}

body.sdhr-active .sdhr-header :where(
    .container,
    .site-header-inner,
    .header-inner,
    .header-container,
    .elementor-container,
    .elementor-section,
    .elementor-column,
    .elementor-widget-wrap,
    .elementor-widget-container
) {
    min-width: 0;
    max-width: 100%;
}

body.sdhr-active .sdhr-header :where(img, svg, picture) {
    max-width: 100%;
    height: auto;
}

body.sdhr-active .sdhr-header :where(a, span, p, li) {
    overflow-wrap: anywhere;
}

body.sdhr-active .sdhr-header .sdhr-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 1rem;
    width: 100%;
    max-width: 100%;
}

body.sdhr-active .sdhr-header .sdhr-search,
body.sdhr-active .sdhr-header .sdhr-search form {
    max-width: 100%;
}

body.sdhr-active .sdhr-header .sdhr-search :where(input, select, button) {
    min-width: 0;
    max-width: 100%;
    font: inherit;
}

body.sdhr-active .sdhr-header .sdhr-nav {
    min-width: 0;
    max-width: 100%;
}

body.sdhr-active .sdhr-header .sdhr-menu-list,
body.sdhr-active .sdhr-header .sdhr-submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.sdhr-active .sdhr-header .sdhr-menu-list a,
body.sdhr-active .sdhr-header .sdhr-submenu a {
    text-decoration: none;
}

body.sdhr-active .sdhr-header .sdhr-menu-toggle,
body.sdhr-active .sdhr-header .sdhr-submenu-toggle {
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

body.sdhr-active .sdhr-header .sdhr-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 44px;
    padding: 0.65rem 0.9rem;
    border-radius: 0.45rem;
}

body.sdhr-active .sdhr-header .sdhr-menu-icon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 22px;
}

body.sdhr-active .sdhr-header .sdhr-menu-icon > span {
    display: block;
    width: 100%;
    height: 2px;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
}

body.sdhr-active .sdhr-header.sdhr-menu-open .sdhr-menu-icon > span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

body.sdhr-active .sdhr-header.sdhr-menu-open .sdhr-menu-icon > span:nth-child(2) {
    opacity: 0;
}

body.sdhr-active .sdhr-header.sdhr-menu-open .sdhr-menu-icon > span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

body.sdhr-scroll-lock {
    /* 1.0.1: absichtlich keine Scrollsperre. Sie konnte an Breakpoints
       eine Breitenänderung und damit ein sofortiges Schließen auslösen. */
    overflow: inherit !important;
}


body.sdhr-active .sdhr-header .sdhr-drawer-header,
body.sdhr-active .sdhr-menu-backdrop {
    display: none;
}

html.sdhr-drawer-lock,
body.sdhr-drawer-lock {
    overflow: hidden !important;
    overscroll-behavior: none;
}

body.sdhr-drawer-lock {
    position: fixed !important;
    inset-inline: 0;
    width: 100%;
}

body.sdhr-active .sdhr-menu-backdrop {
    appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(2, 10, 18, .76);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

@media (min-width: 1025px) {
    body.sdhr-active .sdhr-header .sdhr-menu-list {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.15rem 0.35rem;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    body.sdhr-active .sdhr-header .sdhr-menu-list > li {
        position: relative;
        min-width: 0;
    }

    /* Unsichtbare Hover-Brücke: Der Mauszeiger kann ohne Schließspalt
       vom Hauptmenüpunkt in das Untermenü wechseln. */
    body.sdhr-active .sdhr-header .sdhr-has-submenu::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9998;
        width: 100%;
        height: 10px;
        pointer-events: auto;
    }

    body.sdhr-active .sdhr-header .sdhr-menu-list > li > a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 0.65rem 0.75rem;
        white-space: normal;
        line-height: 1.25;
    }

    body.sdhr-active .sdhr-header .sdhr-submenu-toggle,
    body.sdhr-active .sdhr-header .sdhr-menu-toggle {
        display: none !important;
    }

    body.sdhr-active .sdhr-header .sdhr-submenu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        z-index: 9999 !important;
        display: block !important;
        min-width: 260px !important;
        max-width: min(420px, calc(100vw - 2rem)) !important;
        max-height: min(70vh, 680px) !important;
        padding: 0.5rem !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-radius: 0.5rem;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(0.45rem) !important;
        transition: opacity 150ms ease, visibility 150ms ease, transform 150ms ease !important;
    }

    body.sdhr-active .sdhr-header .sdhr-has-submenu:hover > .sdhr-submenu,
    body.sdhr-active .sdhr-header .sdhr-has-submenu:focus-within > .sdhr-submenu,
    body.sdhr-active .sdhr-header .sdhr-desktop-submenu-open > .sdhr-submenu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    body.sdhr-active .sdhr-header .sdhr-submenu > li > a {
        display: block;
        padding: 0.7rem 0.75rem;
        white-space: normal !important;
        line-height: 1.3;
    }

    body.sdhr-active .sdhr-header .sdhr-mega-item > .sdhr-submenu {
        left: 50% !important;
        width: min(920px, calc(100vw - 2rem)) !important;
        max-width: min(920px, calc(100vw - 2rem)) !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 0.5rem !important;
        transform: translate(-50%, 0.45rem) !important;
    }

    body.sdhr-active .sdhr-header .sdhr-mega-item:hover > .sdhr-submenu,
    body.sdhr-active .sdhr-header .sdhr-mega-item:focus-within > .sdhr-submenu,
    body.sdhr-active .sdhr-header .sdhr-mega-item.sdhr-desktop-submenu-open > .sdhr-submenu {
        display: grid !important;
        transform: translate(-50%, 0) !important;
    }
}

@media (max-width: 1024px) {
    body.sdhr-active .sdhr-header .sdhr-native-toggle {
        display: none !important;
    }

    body.sdhr-active .sdhr-header .sdhr-menu-toggle {
        position: relative;
        z-index: 1002;
        display: inline-flex !important;
        margin-inline-start: auto;
        min-width: 48px;
        min-height: 48px;
        padding: 0.65rem 0.85rem;
        border: 1px solid rgba(38, 112, 164, .34);
        border-radius: 0.65rem;
        background: rgba(9, 35, 57, .07);
        color: inherit;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    body.sdhr-active .sdhr-header .sdhr-menu-toggle:focus-visible,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-drawer-close:focus-visible,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-toggle:focus-visible,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal a:focus-visible {
        outline: 3px solid #55b9ff !important;
        outline-offset: 2px;
    }

    body.sdhr-active > .sdhr-menu-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483645 !important;
        display: block !important;
        width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(2, 10, 18, .76) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transition: opacity 160ms ease, visibility 160ms ease !important;
    }

    body.sdhr-active > .sdhr-menu-backdrop.sdhr-backdrop-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483646 !important;
        display: flex !important;
        flex-direction: column !important;
        width: min(88vw, 390px) !important;
        max-width: calc(100vw - 42px) !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-left: 1px solid rgba(255, 255, 255, .13) !important;
        border-radius: 0 !important;
        background: #07182b !important;
        background-image: none !important;
        box-shadow: -22px 0 55px rgba(0, 0, 0, .45) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: translate3d(104%, 0, 0) !important;
        transition:
            transform 210ms cubic-bezier(.22, .61, .36, 1),
            opacity 150ms ease,
            visibility 210ms ease !important;
        isolation: isolate !important;
        contain: layout paint;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal.sdhr-nav-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal *,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal *::before,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal *::after {
        box-sizing: border-box !important;
        filter: none !important;
        text-shadow: none;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-drawer-header {
        position: relative;
        z-index: 2;
        display: flex !important;
        flex: 0 0 auto;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 68px;
        padding:
            max(0.8rem, env(safe-area-inset-top))
            max(0.9rem, env(safe-area-inset-right))
            0.8rem
            1rem;
        border-bottom: 1px solid rgba(255, 255, 255, .11);
        background: #0b2138 !important;
        color: #fff !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-drawer-title {
        color: #fff !important;
        font-size: 1.08rem;
        font-weight: 750;
        line-height: 1.2;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-drawer-close {
        display: inline-grid !important;
        place-items: center;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(255, 255, 255, .20) !important;
        border-radius: 0.7rem !important;
        background: rgba(255, 255, 255, .08) !important;
        color: #fff !important;
        font-size: 2rem !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list {
        display: flex !important;
        flex: 1 1 auto;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding:
            0.55rem
            max(0.7rem, env(safe-area-inset-right))
            max(1rem, env(safe-area-inset-bottom))
            max(0.7rem, env(safe-area-inset-left)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        -webkit-overflow-scrolling: touch;
        list-style: none !important;
        background: #07182b !important;
        color: #eef7ff !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 52px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
        background: transparent !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li:last-child {
        border-bottom: 0 !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li:not(.sdhr-has-submenu) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0.78rem 0.75rem !important;
        border: 0 !important;
        border-radius: 0.55rem !important;
        background: transparent !important;
        color: #eef7ff !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li > a:hover,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li > a:focus,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li.current-menu-item > a,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-menu-list > li.current_page_item > a {
        background: rgba(85, 185, 255, .14) !important;
        color: #fff !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-toggle {
        display: inline-grid !important;
        place-items: center !important;
        align-self: stretch;
        width: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
        margin: 1px 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid rgba(255, 255, 255, .10) !important;
        border-radius: 0.5rem !important;
        background: transparent !important;
        color: #b9d9ef !important;
        font-size: 1.25rem !important;
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-toggle:hover,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-toggle:focus {
        background: rgba(85, 185, 255, .13) !important;
        color: #fff !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-toggle > span {
        display: inline-block;
        transition: transform 160ms ease;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-open > .sdhr-submenu-toggle > span {
        transform: rotate(180deg);
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu {
        position: static !important;
        grid-column: 1 / -1 !important;
        display: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0.15rem 0 0.65rem 0.55rem !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        list-style: none !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu-open > .sdhr-submenu {
        display: block !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0.65rem 0.75rem !important;
        border: 0 !important;
        border-left: 2px solid rgba(85, 185, 255, .28) !important;
        border-radius: 0.4rem !important;
        background: transparent !important;
        color: #cfe2f1 !important;
        font-size: 0.92rem !important;
        font-weight: 540 !important;
        line-height: 1.28 !important;
        text-decoration: none !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li > a:hover,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li > a:focus,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li.current-menu-item > a,
    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal .sdhr-submenu > li.current_page_item > a {
        border-left-color: #55b9ff !important;
        background: rgba(85, 185, 255, .11) !important;
        color: #fff !important;
    }

    body.sdhr-active .sdhr-header .sdhr-topbar {
        justify-content: center;
        text-align: center;
    }

    body.sdhr-active .sdhr-header .sdhr-search,
    body.sdhr-active .sdhr-header .sdhr-search form {
        width: 100% !important;
    }

    body.sdhr-active .sdhr-header .sdhr-search form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 0.45rem !important;
    }

    body.sdhr-active .sdhr-header .sdhr-search input {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.sdhr-quellenportal .sdhr-header .sdhr-search {
        display: none !important;
    }
}

@media (max-width: 640px) {
    body.sdhr-active .sdhr-header .sdhr-topbar {
        flex-direction: column;
        align-items: center;
        gap: 0.25rem;
    }

    body.sdhr-active .sdhr-header .sdhr-menu-toggle {
        min-width: 46px;
        min-height: 46px;
        padding: 0.58rem 0.7rem;
    }

    body.sdhr-active > .sdhr-nav.sdhr-drawer-portal {
        width: min(90vw, 380px) !important;
        max-width: calc(100vw - 34px) !important;
    }

    body.sdhr-active .sdhr-header .sdhr-search form {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.sdhr-active .sdhr-header .sdhr-search button {
        width: 100% !important;
        min-height: 44px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sdhr-active .sdhr-header *,
    body.sdhr-active .sdhr-header *::before,
    body.sdhr-active .sdhr-header *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
