:root {
    --link-color: #ecf0f1;
    --link-active-color: #c99a2c;
    --submenu-bg-color: #292929;
    --submenu-border-color: #292929;
    --submenu-line-color: #403f3b;
}
/* Manual overrides via classes */
:root .menu-light {
  --link-color: #3d3935;
  --link-active-color: #c99a2c;
  --submenu-bg-color: #ffffff;
  --submenu-border-color: #e1e1e1;
  --submenu-line-color: #dddddd;
}

/* icon within links */
#navMenuSpace nav ul li a i {
    /* was: transition: rotate .5s; */
    transition: transform .5s;
    display: inline-block;
    margin-left: 2px;
}
#navMenuSpace nav ul li a:focus > i {
    /* was: rotate: 180deg; */
    transform: rotate(180deg);
}

#navMenuSpace nav ul li a:focus:after {
    transform: rotate(180deg);
}
#navMenuSpace nav ul li a:focus > div.togglepanel {
    z-index: 200;
    opacity: 1;
}

/* base lists */
#navMenuSpace nav ul {
    list-style: none;
    padding-left: 0;
}

/* make li positioned for absolutely-positioned submenus */
#navMenuSpace nav ul li {
    position: relative; /* <-- enable submenu anchoring */
    display: inline-block;
    text-align: left;
}

/* link styles */
#navMenuSpace nav a {
    display: block;
    padding: 0 16px;
    transition: color 0.2s;
    color: var(--link-color);
    font-size: 14px;
    font-weight:600;
    line-height: 2;
    text-decoration: none;
}

/* debug panel */
#navMenuSpace div.togglepanel {
    position: absolute;
    z-index: -1;
    margin-top: -30px;
    opacity: 0;
    height: 20px;
    width: 100%;
    background-color: #ff66667a;
    border: 1px solid #e1e1e1;
}

/* submenu link colors */
#navMenuSpace nav ul ul li a {
    color: var(--link-color);
} 

/* top-level link appearance */
#navMenuSpace nav > ul > li > a {
    display: block;
    padding: 0 5px;
    transition: color 0.2s;
    color: var(--link-color);
    font-size: 13px;
    line-height: 13px;
    font-weight: bold;
    text-transform: uppercase;
}

/* active state color for submenu links */
#navMenuSpace nav ul ul li a:focus,
#navMenuSpace nav ul ul li a:active {
    color: var(--link-active-color);
}

/* hover/focus colors (kept) */
#navMenuSpace nav a:hover,
#navMenuSpace nav a:focus,
#navMenuSpace nav a:active,
#navMenuSpace nav a:focus:hover,
#navMenuSpace nav a:active:hover {
    color: var(--link-active-color);
}

/* =========================
   Submenu (animated hidden state)
   ========================= */
#navMenuSpace nav ul ul {
    /* was: display: none; (prevents animation) */
    position: absolute;
    background: var(--submenu-bg-color);
    padding: 8px 0 8px 0;
    margin-top: 20px;
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;

    /* animated hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
    pointer-events: none; /* avoid stray hover while hidden */
    min-width: 265px;
    box-sizing:border-box;
}

/* submenu list-items */
#navMenuSpace nav ul ul li {
    display: list-item;
    position: relative;
}
#navMenuSpace nav ul li ul li {
    margin: 7px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--submenu-line-color);
}
#navMenuSpace nav ul li ul {
    border: 2px solid var(--submenu-border-color);
}
#navMenuSpace nav ul li ul li:last-child {
    border-bottom: none;
}

/* =========================
   REMOVE fragile display toggles
   (we use .submenu_open + focus enhancement instead)
   ========================= */
/* was:
#navMenuSpace nav ul li:focus > ul,
#navMenuSpace nav ul li:active > ul {
    display: inherit;
}
#navMenuSpace nav a:focus + ul,
#navMenuSpace nav a:active + ul {
    display: inherit;
}
*/

/* Initial sibling state (hidden & offset) */
#navMenuSpace nav a + ul {
    opacity: 0;
    margin-left: -15px;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}

/* Progressive enhancement: reveal on focus (keyboard users) */
#navMenuSpace nav a:focus + ul {
    margin-top: 20px;
    margin-left: -15px;
    /*min-width: 265px;*/
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
}

/* =========================
   JS-driven open state
   (toggle .submenu_open on the parent <li>)
   ========================= */
#navMenuSpace nav ul li.submenu_open > ul {
    margin-top: 20px;
    margin-left: -15px;
    /*min-width: 265px;*/
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    z-index: 1000;
    transition-delay: 0s;
}

/* nested submenus positioning if needed */
#navMenuSpace nav ul ul li:hover > ul {
    top: 0;
    left: 100%;
}

/* =========================
   Caret / arrow indicator
   ========================= */
.click-nav > li:has(ul) > a:after,
.click-nav > li.has-submenu > a:after { /* .has-submenu is a safe fallback */
    display: inline-block;
    font-family: 'Font Awesome 5 Pro';
    font-size: 12px;
    text-align: center;
    vertical-align: middle;
    position: relative;
    margin-left: 10px;
    width: 1em;
    content: "\f078"; /* Down arrow icon */
    color: #c99a2c;
    transition: transform 0.5s; /* Smooth rotation transition */
    transform-origin: center; /* Set the rotation axis to the center */
}
/* rotate when open */
#navMenuSpace .click-nav > li.submenu_open > a:after {
    transform: rotate(180deg);
}

/* responsive font sizes (kept) */
@media (min-width: 997px) {
    #navMenuSpace nav > ul > li > a {
        padding: 0 5px;
        font-size: 12px;
        line-height: 12px;
    }
}
@media (min-width:1280px) {
    #navMenuSpace nav > ul > li > a {
        padding: 0 5px;
        font-size: 14px;
        line-height: 14px;
    }
} 
@media (min-width:1400px) {
    #navMenuSpace nav > ul > li > a {
        padding: 0 11px;
        font-size: 15px;
        line-height: 15px;
    }
}