/* DMC Desktop Base Styles */

body.divi-menu-customizer #main-header {
    transition: background-color 0.3s ease, min-height 0.3s ease;
}

body.divi-menu-customizer #top-menu > li > a {
    transition: color 0.3s ease;
}

body.divi-menu-customizer .et-fixed-header#main-header {
    transition: background-color 0.3s ease, min-height 0.3s ease;
}

@media (min-width: 981px) {

    /* ==================================================
       SHARED: Dropdown arrow fix only
       Divi positions ::after absolute; our flex breaks that.
       ================================================== */
    body.divi-menu-customizer #top-menu > li.menu-item-has-children > a:after {
        position: static !important;
        display: inline-block !important;
        margin-left: 5px;
        vertical-align: middle;
    }

    body.divi-menu-customizer #top-menu-nav,
    body.divi-menu-customizer #top-menu {
        display: flex !important;
        align-items: center !important;
    }

    /* ==================================================
       Layout 1: Logo Left - Menu Right (Classic)
       Full flexbox override.
       ================================================== */
    body.dmc-layout-logo-left-menu-right .container.et_menu_container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body.dmc-layout-logo-left-menu-right .logo_container {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
    }

    body.dmc-layout-logo-left-menu-right #et-top-navigation {
        float: none !important;
        padding-top: 0 !important;
        padding-left: 0 !important;
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
    }

    /* ==================================================
       Layout 2: Logo Left - Menu Inline (after logo)
       Full flexbox. Force logo container to take its
       real width via fit-content + inline-flex on link.
       ================================================== */
    body.dmc-layout-logo-left-menu-inline .container.et_menu_container {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    body.dmc-layout-logo-left-menu-inline .logo_container {
        position: static !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        width: auto !important;
        min-width: fit-content !important;
    }

    body.dmc-layout-logo-left-menu-inline .logo_container > a {
        display: inline-flex !important;
        align-items: center !important;
    }

    body.dmc-layout-logo-left-menu-inline #et-top-navigation {
        float: none !important;
        padding-top: 0 !important;
        padding-left: 0 !important;
        display: flex !important;
        align-items: center !important;
        margin-left: 30px !important;
        width: auto !important;
    }

    body.dmc-layout-logo-left-menu-inline #top-menu {
        justify-content: flex-start !important;
    }

    /* ==================================================
       Layout 3: Logo Centered - Menu Below
       Full flexbox override, column direction.
       ================================================== */
    body.dmc-layout-logo-center-menu-below .container.et_menu_container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: 15px !important;
        padding-bottom: 10px !important;
    }

    body.dmc-layout-logo-center-menu-below .logo_container {
        position: static !important;
        float: none !important;
        display: flex !important;
        justify-content: center !important;
        width: auto !important;
        margin-bottom: 5px;
    }

    body.dmc-layout-logo-center-menu-below #et-top-navigation {
        position: static !important;
        float: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-top: 0 !important;
        margin-left: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    body.dmc-layout-logo-center-menu-below #et-top-navigation nav,
    body.dmc-layout-logo-center-menu-below #top-menu-nav {
        width: 100%;
        padding: 0 !important;
    }

    body.dmc-layout-logo-center-menu-below #top-menu {
        display: flex !important;
        justify-content: center !important;
        flex-wrap: wrap;
        padding: 0 !important;
        float: none !important;
        width: 100% !important;
    }

    /* ==================================================
       Layout 4: Logo Centered - Menu Split around logo
       Full flexbox override, nav hidden, JS injects lists.
       ================================================== */
    body.dmc-layout-logo-center-menu-split .container.et_menu_container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.dmc-layout-logo-center-menu-split .logo_container {
        position: static !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
        order: 2;
        flex-shrink: 0;
        margin: 0 20px !important;
        width: auto !important;
    }

    body.dmc-layout-logo-center-menu-split #et-top-navigation {
        display: none !important;
    }

    /* Left nav (injected by JS) */
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left {
        display: flex;
        align-items: center;
        order: 1;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    /* Right nav (injected by JS) */
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right {
        display: flex;
        align-items: center;
        order: 3;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left > li,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right > li {
        list-style: none;
        position: relative;
    }

    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left > li > a,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right > li > a {
        text-decoration: none;
        transition: color 0.3s ease;
    }

    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left .sub-menu,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        display: none;
        background: #fff;
        min-width: 200px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        z-index: 9999;
        padding: 10px 0;
    }

    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left > li:hover > .sub-menu,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right > li:hover > .sub-menu {
        display: block;
    }

    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left .sub-menu a,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right .sub-menu a {
        display: block;
        padding: 8px 20px;
        white-space: nowrap;
    }
}

/* Mobile: restore defaults */
@media (max-width: 980px) {
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-left,
    body.dmc-layout-logo-center-menu-split .dmc-split-nav-right {
        display: none !important;
    }

    body.dmc-layout-logo-center-menu-split #et-top-navigation {
        display: block !important;
    }

    /* ==================================================
       MOBILE HEADER: Flex alignment for logo + hamburger
       ================================================== */

    /* Force flex on the mobile header container */
    body.divi-menu-customizer .container.et_menu_container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        min-height: 60px;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* Logo container: back in flow, shrink to fit */
    body.divi-menu-customizer .logo_container {
        position: static !important;
        float: none !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
        max-width: calc(100% - 70px) !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Logo image: constrain within container */
    body.divi-menu-customizer #logo {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Hamburger icon: vertically centered */
    body.divi-menu-customizer .mobile_menu_bar {
        float: none !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        width: 48px;
        height: 48px;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.divi-menu-customizer .mobile_menu_bar::before {
        position: relative !important;
        top: auto !important;
        line-height: 1 !important;
    }

    body.divi-menu-customizer #et-top-navigation {
        padding-top: 0 !important;
    }
}
