.eppro-nav { position: relative; }

/* ── List reset ── */
.eppro-nav ul { list-style: none; margin: 0; padding: 0; }

/* ── Horizontal ── */
.eppro-nav--horizontal > .eppro-nav-menu-wrap > ul.eppro-nav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
}
.eppro-nav--horizontal > .eppro-nav-menu-wrap > ul.eppro-nav-list > li { position: relative; }

/* ── Vertical ── */
.eppro-nav--vertical > .eppro-nav-menu-wrap > ul.eppro-nav-list { display: block; }

/* ── Links ── */
.eppro-nav ul li a {
    display: block;
    padding: 10px 16px;
    text-decoration: none;
    color: var(--eppro-gray-900, #111827);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    transition: color .2s, background-color .2s;
    line-height: 1.4;
}
.eppro-nav ul li a:hover { color: var(--eppro-primary, #7c3aed); }
.eppro-nav ul li.current-menu-item > a,
.eppro-nav ul li.current-menu-ancestor > a { color: var(--eppro-primary, #7c3aed); }

/* ── Dropdown ── */
.eppro-nav ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: var(--eppro-card-bg, #fff);
    border-radius: var(--eppro-radius-sm, 6px);
    box-shadow: var(--eppro-shadow-md, 0 8px 24px rgba(0,0,0,.12));
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 9999;
}
.eppro-nav ul li:hover > ul,
.eppro-nav ul li.eppro-open > ul {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.eppro-nav ul ul li { position: relative; }
.eppro-nav ul ul li a { padding: 9px 16px; font-size: 13px; white-space: normal; }
/* Third level */
.eppro-nav ul ul ul { top: 0; left: 100%; }

/* ── Hamburger ── */
.eppro-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 21px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.eppro-nav-line {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--eppro-gray-900, #111827);
    border-radius: 2px;
    transition: transform .25s, opacity .25s;
}
.eppro-nav-toggle.active .eppro-nav-line:nth-child(1) { transform: translateY(9.5px) rotate(45deg); }
.eppro-nav-toggle.active .eppro-nav-line:nth-child(2) { opacity: 0; }
.eppro-nav-toggle.active .eppro-nav-line:nth-child(3) { transform: translateY(-9.5px) rotate(-45deg); }

/* ── Mobile collapsed ── */
.eppro-nav-menu-wrap.eppro-collapsed { display: none; }
.eppro-nav-menu-wrap.eppro-open      { display: block; }

/* ── Breakpoints ── */
@media (max-width: 767px) {
    .eppro-nav--bp-mobile .eppro-nav-toggle { display: flex; }
    .eppro-nav--bp-mobile .eppro-nav-menu-wrap {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--eppro-card-bg, #fff);
        box-shadow: var(--eppro-shadow-md, 0 8px 24px rgba(0,0,0,.12));
        border-radius: 0 0 var(--eppro-radius, 8px) var(--eppro-radius, 8px);
        z-index: 9998;
        padding: 8px 0;
    }
    .eppro-nav--bp-mobile .eppro-nav-menu-wrap.eppro-open { display: block; }
    .eppro-nav--bp-mobile .eppro-nav-menu-wrap > ul.eppro-nav-list { flex-direction: column; }
    .eppro-nav--bp-mobile ul ul { position: static; box-shadow: none; transform: none; opacity: 1; pointer-events: auto; border-radius: 0; padding-left: 16px; }
}
@media (max-width: 1024px) {
    .eppro-nav--bp-tablet .eppro-nav-toggle { display: flex; }
    .eppro-nav--bp-tablet .eppro-nav-menu-wrap { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--eppro-card-bg, #fff); box-shadow: var(--eppro-shadow-md, 0 8px 24px rgba(0,0,0,.12)); border-radius: 0 0 var(--eppro-radius, 8px) var(--eppro-radius, 8px); z-index: 9998; padding: 8px 0; }
    .eppro-nav--bp-tablet .eppro-nav-menu-wrap.eppro-open { display: block; }
    .eppro-nav--bp-tablet .eppro-nav-menu-wrap > ul.eppro-nav-list { flex-direction: column; }
    .eppro-nav--bp-tablet ul ul { position: static; box-shadow: none; transform: none; opacity: 1; pointer-events: auto; border-radius: 0; padding-left: 16px; }
}
