/*
 * UniD Category Nav (UF) — desktop/tablet vertical sidebar restyle, ported
 * from unid-category-nav/up/'s desktop-nav.css.
 *
 * UP had exactly one nav-menu widget (one hardcoded element id). UF has 7
 * distinct nav-menu widgets in scope (6 Elementor "global widgets" + 1
 * standalone — see unid-category-nav-uf.php for the confirmed id list and
 * how they were found), so every selector here is prefixed with :is(...)
 * over that widget-id list instead of a single .elementor-element-<id>
 * class. Do NOT rely on the pre-existing .dc-vertical-menu class some of
 * these widgets carry — 2 of the 7 don't have it, and (same as UP) that
 * class name is independently tied to a legacy jQuery hover/slideDown
 * conflict in astra-child/js/custom.js (see desktop-nav.js) — using it as a
 * styling hook here would be actively misleading.
 *
 * !important is used throughout for the same reason as UP: any of these
 * widgets' own Elementor "Style" tab settings compile into a per-post CSS
 * file scoped with 4-6 chained classes, routinely more specific than a
 * plain descendant selector scoped only from the widget id.
 */

:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main {
    --umnav-blue: #98CD5C;
    --umnav-blue-tint-bg: #F6FAEF;
    --umnav-blue-rule: rgba(152, 205, 92, 0.35);
    --umnav-text: #1B2540;
    --umnav-text-light: #5A6478;
    --umnav-border: #EEF0F3;
    --umnav-card-border: #E7ECF3;
}

/* Sticky sidebar — desktop/tablet only. */
@media (min-width: 769px) {
    :is(
        .elementor-element-26ecc1d,
        .elementor-element-a7b3f95,
        .elementor-element-4a103f2,
        .elementor-element-2428757,
        .elementor-element-24f8b4d,
        .elementor-element-f039eec,
        .elementor-element-9cbcc58
    ) {
        position: sticky !important;
        top: 42px;
        z-index: 1;
    }
}

/* Card container */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main ul.elementor-nav-menu {
    background: #ffffff;
    border: 1px solid var(--umnav-card-border);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.06);
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Top-level rows */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main ul.elementor-nav-menu > li.menu-item {
    border-bottom: 1px solid var(--umnav-border);
}
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main ul.elementor-nav-menu > li.menu-item:last-child {
    border-bottom: none;
}

:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .elementor-item {
    display: block;
    padding: 16px 20px !important;
    color: var(--umnav-text) !important;
    font-weight: 400;
    line-height: 1.35;
    border-left: 4px solid transparent;
    transition: background-color .15s ease, color .15s ease;
}

/* Neutralize Elementor's own "pointer" hover-underline pseudo-elements —
   not used in this design. */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .elementor-item:before,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .elementor-item:after {
    content: none !important;
    display: none !important;
}

/* Active / current top-level item */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-item > .elementor-item.elementor-item-active {
    background-color: var(--umnav-blue-tint-bg) !important;
    border-left-color: var(--umnav-blue) !important;
    color: var(--umnav-blue) !important;
    font-weight: 700 !important;
}

/* Has-children parent: blue text, no background tint. Server-rendered
   .sub-arrow hidden — a real chevron element is inserted by desktop-nav.js
   instead, purely visual (hover is the only trigger, see .sub-menu below). */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children > .elementor-item {
    color: var(--umnav-blue) !important;
    position: relative;
    padding-right: 44px !important;
}
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children > .elementor-item .sub-arrow {
    display: none !important;
}
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-item.menu-item-has-children > .elementor-item.elementor-item-active {
    color: var(--umnav-blue) !important;
    font-weight: 700 !important;
}

/* Chevron toggle — real element inserted by desktop-nav.js. */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .umnav-toggle {
    position: absolute !important;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--umnav-blue);
    font-size: 12px;
    z-index: 2;
}
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children.is-hover-open > .elementor-item .umnav-toggle i,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children:focus-within > .elementor-item .umnav-toggle i,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-item > .elementor-item .umnav-toggle i,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-parent > .elementor-item .umnav-toggle i,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-ancestor > .elementor-item .umnav-toggle i {
    transform: rotate(180deg);
}

/* Submenu: collapsed by default (max-height:0), expands via .is-hover-open
   (JS-managed hover — see desktop-nav.js for why container-level delegation
   is used instead of plain CSS :hover), keyboard focus, or the page being
   on/under that category (WordPress's own current-menu-item/-parent/-ancestor
   classes). display:block!important defends against SmartMenus' own inline
   display:none surviving its destroy() call — see desktop-nav.js. */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .sub-menu {
    display: block !important;
    max-height: 0;
    overflow: hidden !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    box-shadow: none !important;
    background: transparent !important;
    list-style: none;
    margin: 0 0 0 40px !important;
    padding: 0 0 0 16px !important;
    border-left: 2px solid var(--umnav-blue-rule) !important;
    transition: max-height .45s ease;
}
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children.is-hover-open > .sub-menu,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.menu-item-has-children:focus-within > .sub-menu,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-item > .sub-menu,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-parent > .sub-menu,
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main li.current-menu-ancestor > .sub-menu {
    max-height: 600px;
    margin: 4px 0 12px 40px !important;
    padding: 2px 0 2px 16px !important;
}

:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .sub-menu li.menu-item {
    border-bottom: none;
}

:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .sub-menu .elementor-sub-item {
    display: block;
    padding: 8px 12px 8px 0 !important;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--umnav-text) !important;
    font-weight: 400;
    border-left: none;
}

/* Active / current sub-item */
:is(
    .elementor-element-26ecc1d,
    .elementor-element-a7b3f95,
    .elementor-element-4a103f2,
    .elementor-element-2428757,
    .elementor-element-24f8b4d,
    .elementor-element-f039eec,
    .elementor-element-9cbcc58
) nav.elementor-nav-menu--main .sub-menu li.current-menu-item > .elementor-sub-item.elementor-item-active {
    color: var(--umnav-blue) !important;
    font-weight: 700 !important;
}
