/**
 * Menu Styles
 * Navigation menu styling for header, mobile, and footer
 */

:root {
    --nca-primary: #8b1f1f;
    --nca-text: #0f1724;
    --nca-muted: #64748b;
}

/* Base link styles for header menus ONLY - exclude footer */
header .menu-item a,
.nca-top-menu .menu-item a,
.nca-mobile-menu .menu-item a {
    color: var(--nca-text);
    text-decoration: none;
    padding: 0.55rem 0.9rem;
    border-radius: 10px;
    display: inline-block;
    font-weight: 500;
    transition: color .15s ease, background-color .12s ease, transform .08s ease;
    letter-spacing: 0.01em;
}

/* Subtle hover background and color change - header only */
header .menu-item a:hover,
header .menu-item a:focus,
.nca-top-menu .menu-item a:hover,
.nca-top-menu .menu-item a:focus,
.nca-mobile-menu .menu-item a:hover,
.nca-mobile-menu .menu-item a:focus {
    background-color: rgba(8, 23, 40, 0.04);
    color: var(--nca-primary);
    outline: none;
    transform: translateY(-1px);
}

/* Active/current page - header only */
header .menu-item.current-menu-item > a,
header .menu-item.current_page_item > a,
.nca-top-menu .menu-item.current-menu-item > a,
.nca-top-menu .menu-item.current_page_item > a {
    color: var(--nca-primary);
    position: relative;
}

/* Ensure top menu list is the positioning context for dropdowns */
.nca-top-menu > li {
    position: relative;
}

/* Dropdown indicators */
.menu-item-has-children > a::after {
    font-size: 0.65em;
    margin-left: 8px;
    opacity: 0.8;
}

/* Top-level dropdown (desktop) - scoped to .nca-top-menu */
.nca-top-menu .sub-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(4, 10, 15, 0.08);
    padding: 6px 6px;
    min-width: 200px;
    z-index: 999;
    list-style: none;
    margin: 0;
}

.nca-top-menu .sub-menu .menu-item a {
    padding: 10px 14px;
    color: #111827;
    display: block;
    border-radius: 6px;
}

.nca-top-menu .sub-menu .menu-item a:hover {
    background: rgba(15, 23, 42, 0.04);
}

/* Show dropdown when the parent <li> has the .open class */
.nca-top-menu li.open > .sub-menu {
    display: block;
}

/* Mobile menu styles */
#mobileNav {
    background: #fff;
    border-top: 1px solid rgba(15,23,42,0.08);
    padding-top: 8px;
    padding-bottom: 8px;
}

#mobileNav .nca-mobile-menu {
    display: flex;
    flex-direction: column;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#mobileNav .menu-item {
    margin: 0;
    list-style: none !important;
}

#mobileNav .menu-item a {
    display: block;
    padding: 14px 16px;
    margin: 4px 0;
    color: var(--nca-text);
    font-weight: 500;
    font-size: 0.9375rem;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    background: transparent;
}

#mobileNav .menu-item a:hover,
#mobileNav .menu-item a:active {
    background: rgba(139, 31, 31, 0.06);
    color: var(--nca-primary);
    transform: translateX(4px);
}

#mobileNav .menu-item.current-menu-item > a,
#mobileNav .menu-item.current_page_item > a {
    background: rgba(139, 31, 31, 0.08);
    color: var(--nca-primary);
    font-weight: 600;
}

#mobileNav .sub-menu {
    display: none;
    padding-left: 16px;
    padding-top: 4px;
    list-style: none !important;
    margin: 0 !important;
}

#mobileNav .sub-menu .menu-item a {
    font-size: 0.875rem;
    padding: 10px 16px;
    font-weight: 400;
}

#mobileNav .menu-item.open > .sub-menu {
    display: block;
}

/* Membership submenu styles */
.nca-membership-submenu {
    display: none;
    position: absolute;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    padding: 6px 0;
    margin-top: 6px;
    min-width: 160px;
    z-index: 9999;
}

.nca-membership-submenu .menu-item a {
    display: block;
    padding: 8px 14px;
    color: #111;
}

.nca-membership-submenu .menu-item a:hover {
    background: #f5f5f5;
}

.nca-membership-submenu.show {
    display: block;
}

/* Override special styling for logout inside membership submenu */
.nca-membership-submenu .nca-sub-logout a {
    background: transparent !important;
    color: inherit !important;
    padding: 8px 14px !important;
    border-radius: 0 !important;
}

/* Small utility for spacing */
.menu-item a .label {
    display: inline-block;
}
