/* ── Halo WCB – Nav Menu ───────────────────────── */
.halo-wcb-nav-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Horizontal */
.halo-wcb-nav-menu.layout-horizontal > ul,
.halo-wcb-nav-menu.layout-horizontal > .halo-wcb-nav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Vertical */
.halo-wcb-nav-menu.layout-vertical > ul,
.halo-wcb-nav-menu.layout-vertical > .halo-wcb-nav-list {
    display: flex;
    flex-direction: column;
}

/* Links */
.halo-wcb-nav-menu a {
    text-decoration: none;
    display: block;
    transition:
        color 0.2s,
        background-color 0.2s,
        border-color 0.2s;
}

/* Sub-menu / dropdown */
.halo-wcb-nav-menu li {
    position: relative;
}

.halo-wcb-nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    opacity: 0;
    transform: translateY(6px);
    transition:
        opacity 0.25s,
        transform 0.25s;
}

.halo-wcb-nav-menu li:hover > .sub-menu,
.halo-wcb-nav-menu li.is-sub-open > .sub-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Dropdown animation helpers */
.halo-wcb-dd-fadeIn {
    animation-name: haloFadeIn;
    animation-duration: 0.25s;
}
.halo-wcb-dd-slideDown {
    animation-name: haloSlideDown;
    animation-duration: 0.25s;
}
@keyframes haloFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes haloSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Indicator arrow */
.halo-wcb-nav-menu.has-indicator .menu-item-has-children > a::after {
    content: "\25BE";
    margin-left: 0.35em;
    font-size: 0.75em;
    vertical-align: middle;
}

/* Mobile toggle */
.halo-wcb-nav-toggle {
    display: none;
    cursor: pointer;
    background: none;
    border: none;
    line-height: 1;
}

/* Mobile state */
.halo-wcb-nav-menu.is-mobile .halo-wcb-nav-toggle {
    display: inline-block;
}

.halo-wcb-nav-menu.is-mobile > ul,
.halo-wcb-nav-menu.is-mobile > .halo-wcb-nav-list {
    display: none;
    flex-direction: column;
    width: 100%;
}

.halo-wcb-nav-menu.is-mobile > .halo-wcb-nav-list.is-open {
    display: flex;
}

.halo-wcb-nav-menu.is-mobile .sub-menu {
    position: static;
    display: none;
    opacity: 1;
    transform: none;
}

.halo-wcb-nav-menu.is-mobile li:hover > .sub-menu,
.halo-wcb-nav-menu.is-mobile li.is-sub-open > .sub-menu {
    display: block;
}
