.mainnav .menu{display:flex;align-items:center;gap:14px;list-style:none;margin:0;padding:0;white-space:nowrap}
.mainnav a{color:var(--text);text-decoration:none}
/* push register/login to the right */
.mainnav .menu .spacer{flex:1}
@media (max-width:1024px){.mainnav .menu .spacer{display:none}}
.has-sub{position:relative;padding-bottom:10px}
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px;pointer-events:none}
.has-sub > a::after{content:"▾";display:inline-block;margin-left:.35rem;font-size:.7em;line-height:1}
.dropdown{position:absolute;left:0;top:100%;min-width:220px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:.4rem 0;opacity:0;visibility:hidden;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none;z-index:110}
.dropdown a{display:block;padding:.55rem .85rem}
.dropdown a:hover{background:rgba(255,255,255,.05)}
.has-sub:hover > .dropdown,.has-sub:focus-within > .dropdown,.dropdown:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media (max-width:1024px){
  .mainnav .menu{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 0}
  .has-sub{padding-bottom:0}
  .has-sub > a::after{content:""}
  .has-sub .dropdown{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border:none;padding:0}
  .dropdown a{padding:.5rem 0}
}
