/* ============================================================
   GLOBAL HEADER SUBMENU ONLY
   Header/Footer visual design remains controlled by Builder.
   ============================================================ */

.cms-site-header .cms-main-navigation {
    overflow: visible !important;
}

.cms-site-header .cms-main-navigation li {
    position: relative;
}

/* Nested submenu */
.cms-site-header .cms-main-navigation li > ul,
.cms-site-header .cms-main-navigation li > .sub-menu,
.cms-site-header .cms-main-navigation li > .submenu,
.cms-site-header .cms-main-navigation li > .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    width: 162px !important;
    min-width: 162px !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;

    margin: 0 !important;
    padding: 7px !important;

    background: #fef7f0 !important;
    border: 1px solid #e67323 !important;
    border-radius: 10px !important;

    box-shadow: 0 14px 28px rgba(84,57,38,.10) !important;
    z-index: 9999 !important;
}

/* Open submenu */
.cms-site-header .cms-main-navigation li:hover > ul,
.cms-site-header .cms-main-navigation li:focus-within > ul,
.cms-site-header .cms-main-navigation li:hover > .sub-menu,
.cms-site-header .cms-main-navigation li:focus-within > .sub-menu,
.cms-site-header .cms-main-navigation li:hover > .submenu,
.cms-site-header .cms-main-navigation li:focus-within > .submenu,
.cms-site-header .cms-main-navigation li:hover > .dropdown-menu,
.cms-site-header .cms-main-navigation li:focus-within > .dropdown-menu {
    display: flex !important;
}

/* Force vertical rows */
.cms-site-header .cms-main-navigation li > ul > li,
.cms-site-header .cms-main-navigation li > .sub-menu > li,
.cms-site-header .cms-main-navigation li > .submenu > li,
.cms-site-header .cms-main-navigation li > .dropdown-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cms-site-header .cms-main-navigation li > ul > li > a,
.cms-site-header .cms-main-navigation li > .sub-menu > li > a,
.cms-site-header .cms-main-navigation li > .submenu > li > a,
.cms-site-header .cms-main-navigation li > .dropdown-menu > li > a {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 10px 11px !important;

    color: #2b2521 !important;
    background: transparent !important;

    border-radius: 8px !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.cms-site-header .cms-main-navigation li > ul > li > a:hover,
.cms-site-header .cms-main-navigation li > ul > li > a.active,
.cms-site-header .cms-main-navigation li > .sub-menu > li > a:hover,
.cms-site-header .cms-main-navigation li > .sub-menu > li > a.active,
.cms-site-header .cms-main-navigation li > .submenu > li > a:hover,
.cms-site-header .cms-main-navigation li > .submenu > li > a.active,
.cms-site-header .cms-main-navigation li > .dropdown-menu > li > a:hover,
.cms-site-header .cms-main-navigation li > .dropdown-menu > li > a.active {
    background: #f5bf91 !important;
    color: #111 !important;
}

/* Hover bridge */
.cms-site-header .cms-main-navigation li > ul::before,
.cms-site-header .cms-main-navigation li > .sub-menu::before,
.cms-site-header .cms-main-navigation li > .submenu::before,
.cms-site-header .cms-main-navigation li > .dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
}

/* User-confirmed header right button gap fix */
.cms-header-row .cms-layout-column:has(.cms-header-button) {
    justify-content: flex-end;
    gap: 8px;
}

.cms-header-row .cms-layout-column:has(.cms-header-button) .cms-button-wrap {
    width: auto !important;
    flex: 0 0 auto;
}

.cms-header-row .cms-header-button {
    margin: 0 !important;
}