/* Load after styles.css. Native disclosure groups retain normal keyboard navigation. */
#desktop-navigation .tribe-nav-group { position:relative; }
.tribe-nav-group > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; list-style:none; }
.tribe-nav-group > summary::-webkit-details-marker { display:none; }
.tribe-nav-chevron { width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); flex-shrink:0; transition:transform .15s; }
.tribe-nav-group[open] > summary .tribe-nav-chevron { transform:translateY(2px) rotate(225deg); }
.tribe-nav-group[open] > summary { color:var(--purple,#4d1254); }
.tribe-nav-panel { list-style:none; margin:0; padding:0; }
.tribe-nav-link { display:block; font-family:var(--font,'Poppins',Arial,sans-serif); }
.tribe-nav-link:hover { background:var(--wash,#f8f5f9); color:var(--purple,#4d1254); }
.tribe-nav-loading { padding:12px 20px; color:var(--muted,#79697e); font-size:12px; }
#desktop-navigation .tribe-nav-group > summary { min-height:44px; white-space:nowrap; }
#desktop-navigation .tribe-nav-panel { position:absolute; z-index:2; top:100%; left:-20px; width:230px; max-height:calc(100dvh - 100px); overflow-y:auto; padding:10px 0; background:#fff; border-top:2px solid var(--gold,#ffb600); box-shadow:0 12px 30px #35113f1c; }
#desktop-navigation .tribe-nav-group:last-child .tribe-nav-panel { left:auto; right:0; }
#desktop-navigation .tribe-nav-link { padding:9px 20px; min-height:40px; font-size:13px; }
.mobile-toggle span { transform-origin:center; transition:transform .15s; }
.mobile-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
.mobile-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }

@media(max-width:900px) {
  #mobile-navigation .tribe-nav-group { border-bottom:1px solid var(--line,#e8e1eb); }
  #mobile-navigation .tribe-nav-group > summary { min-height:48px; padding:10px 0; color:var(--purple,#4d1254); font-size:14px; font-weight:500; }
  #mobile-navigation .tribe-nav-panel { padding:0 0 10px; }
  #mobile-navigation .tribe-nav-link { min-height:44px; padding:10px 12px; color:#7b6382; font-size:13px; line-height:1.7; }
  #mobile-navigation .tribe-nav-link:hover { color:var(--purple,#4d1254); }
  #mobile-navigation .tribe-nav-loading { padding:10px 12px; }
}

@media(prefers-reduced-motion:reduce) {
  .tribe-nav-chevron,.mobile-toggle span { transition:none; }
}
