/* Structural/accessibility additions to native Divi configuration (update 202610).
   Colours, logo links and Toggle typography remain editable in Divi. */
#main-header .mobile_menu_bar::before,
.et-l--header .mobile_menu_bar::before {
    color: #fff;
}
#main-header a:focus-visible,
#main-header [role="button"]:focus-visible,
.et-l--header a:focus-visible,
.et-l--header button:focus-visible,
.et-l--header [role="button"]:focus-visible {
    outline: 3px solid #ffce00;
    outline-offset: 4px;
}
.mobile_menu_bar[role="button"] {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
#main-header .et_mobile_menu,
.et-l--header .et_mobile_menu {
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
#main-header .et_mobile_menu li > a,
.et-l--header .et_mobile_menu li > a {
    line-height: 1.4;
    min-height: 44px;
    padding-top: 12px;
    padding-bottom: 12px;
    color: #fff;
    text-transform: none;
    opacity: 1;
}
#main-header .et_mobile_menu li.current-menu-item > a,
.et-l--header .et_mobile_menu li.current-menu-item > a {
    color: #ffce00;
}
#main-header .et_mobile_menu li.ihk-menu-parent > a[data-ihk-menu-toggle],
.et-l--header .et_mobile_menu li.ihk-menu-parent > a[data-ihk-menu-toggle] {
    padding-right: 44px;
}
#main-header .et_mobile_menu li.ihk-menu-parent > .mobile-toggle,
.et-l--header .et_mobile_menu li.ihk-menu-parent > .mobile-toggle {
    min-height: 44px;
    padding: 0;
}
@media (min-width: 981px) {
    #top-menu .sub-menu,
    .et-l--header .et-menu .sub-menu {
        width: min(380px, calc(100vw - 48px));
        padding: 12px;
        max-height: calc(100vh - 130px);
        overflow-y: auto;
        box-sizing: border-box;
    }
    #top-menu .sub-menu li,
    .et-l--header .et-menu .sub-menu li {
        width: 100%;
        padding: 0;
    }
    #top-menu .sub-menu li a,
    .et-l--header .et-menu .sub-menu li a {
        width: 100%;
        padding: 10px 12px;
        text-transform: none;
        font-size: 17px;
        line-height: 1.45;
        white-space: normal;
        font-weight: 600;
    }
    #top-menu li.ihk-menu-parent:not(.ihk-menu-open) > .sub-menu,
    .et-l--header .et-menu li.ihk-menu-parent:not(.ihk-menu-open) > .sub-menu {
        visibility: hidden;
        opacity: 0;
    }
    #top-menu li.ihk-menu-parent.ihk-menu-open > .sub-menu,
    .et-l--header .et-menu li.ihk-menu-parent.ihk-menu-open > .sub-menu {
        visibility: visible;
        opacity: 1;
    }
}
/* Native Toggle typography sets the size. Keep meaningful German word breaks
   and reserve only the icon's actual space instead of Divi's 50px fallback. */
.ihk-profession-toggle .et_pb_toggle_title {
    padding-right: 32px;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: normal;
    word-break: normal;
}
.ihk-profession-toggle .et_pb_toggle_title:focus-visible {
    outline: 3px solid #003366;
    outline-offset: 5px;
}
.ihk-profession-toggle .et_pb_toggle_title::before {
    right: 0;
}
.ihk-profession-toggle.et_pb_toggle_open .et_pb_toggle_title::before {
    display: block;
    content: "\4f";
    font-family: ETmodules;
}
@media (max-width: 980px) {
    body .et-l--header .ihk-jobs-menu .et_pb_menu__search-button {
        margin-left: 12px !important;
        margin-right: 6px !important;
    }
    body .et-l--header .ihk-jobs-menu .et_mobile_nav_menu {
        margin-left: 8px;
    }
    body .et-l--header .ihk-jobs-menu .mobile_menu_bar {
        bottom: 0;
    }
}
