/* Nexus Menu – front-end menu styles */
.nmb-mi{display:inline-flex;width:1em;height:1em;margin-right:.55em;vertical-align:-2px}
.nmb-mi img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06))}

/* Base: any nav directly hooked by NMB body class */
body[class*="nmb-style-"] nav ul,
body[class*="nmb-style-"] .menu,
body[class*="nmb-style-"] .primary-menu,
body[class*="nmb-style-"] .main-navigation ul{
  display:flex;gap:6px;list-style:none;padding:8px;margin:0;flex-wrap:wrap;align-items:center
}
body[class*="nmb-style-"] .menu a,
body[class*="nmb-style-"] .primary-menu a,
body[class*="nmb-style-"] nav ul a,
body[class*="nmb-style-"] .main-navigation ul a{
  position:relative;display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--nmb-radius,12px);color:inherit;text-decoration:none;transition:.22s var(--nmb-ease,ease)
}

/* --- Glass Neo --- */
body.nmb-style-glass-neo nav ul,
body.nmb-style-glass-neo .menu{
  background:rgba(255,255,255,.55);backdrop-filter:blur(var(--nmb-blur,18px)) saturate(160%);
  border:1px solid rgba(255,255,255,.4);border-radius:calc(var(--nmb-radius) + 4px);
  box-shadow:0 8px 32px rgba(31,38,135,.15)
}
body.nmb-style-glass-neo .menu a:hover{background:linear-gradient(120deg,color-mix(in oklab,var(--nmb-accent) 20%,transparent),color-mix(in oklab,var(--nmb-accent-2) 20%,transparent));color:#111}

/* --- Holo Cyber --- */
body.nmb-style-holo-cyber nav ul,
body.nmb-style-holo-cyber .menu{
  background:#0B0F19;border:1px solid var(--nmb-accent);box-shadow:0 0 24px color-mix(in oklab,var(--nmb-accent) 40%,transparent),inset 0 0 24px color-mix(in oklab,var(--nmb-accent-2) 25%,transparent)
}
body.nmb-style-holo-cyber .menu a{color:#E6E7EE}
body.nmb-style-holo-cyber .menu a:hover{background:color-mix(in oklab,var(--nmb-accent) 20%,transparent);text-shadow:0 0 8px var(--nmb-accent),0 0 12px var(--nmb-accent-2)}

/* --- Aurora Flow --- */
body.nmb-style-aurora-flow nav ul,
body.nmb-style-aurora-flow .menu{
  background:linear-gradient(120deg,color-mix(in oklab,var(--nmb-accent) 20%,#fff),color-mix(in oklab,var(--nmb-accent-2) 20%,#fff));
  background-size:200% 200%;animation:nmb-aurora 12s ease infinite;border-radius:999px;padding:6px
}
body.nmb-style-aurora-flow .menu a{border-radius:999px}
body.nmb-style-aurora-flow .menu a:hover{background:rgba(255,255,255,.7);transform:translateY(-1px)}
@keyframes nmb-aurora{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

/* --- Zen Minimal --- */
body.nmb-style-zen-minimal nav ul,
body.nmb-style-zen-minimal .menu{background:transparent;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0;padding:14px 0}
body.nmb-style-zen-minimal .menu a{font-family:Georgia,'Times New Roman',serif;font-size:15px;letter-spacing:.02em}
body.nmb-style-zen-minimal .menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--nmb-ease)}
body.nmb-style-zen-minimal .menu a:hover::after{transform:scaleX(1)}

/* --- Quantum Mesh --- */
body.nmb-style-quantum-mesh nav ul,
body.nmb-style-quantum-mesh .menu{
  background:radial-gradient(circle at 20% 0%,color-mix(in oklab,var(--nmb-accent) 30%,transparent),transparent 60%),radial-gradient(circle at 80% 100%,color-mix(in oklab,var(--nmb-accent-2) 30%,transparent),transparent 60%),rgba(11,15,25,.85);
  backdrop-filter:blur(var(--nmb-blur,20px));border:1px solid rgba(255,255,255,.08);border-radius:calc(var(--nmb-radius) + 6px);padding:10px
}
body.nmb-style-quantum-mesh .menu a{color:#E6E7EE}
body.nmb-style-quantum-mesh .menu a:hover{background:color-mix(in oklab,var(--nmb-accent) 25%,transparent);transform:scale(1.05)}

/* --- Solar Warm --- */
body.nmb-style-solar-warm nav ul,
body.nmb-style-solar-warm .menu{
  background:linear-gradient(120deg,color-mix(in oklab,var(--nmb-accent) 20%,#fff),color-mix(in oklab,var(--nmb-accent-2) 20%,#fff));
  box-shadow:0 10px 30px color-mix(in oklab,var(--nmb-accent) 20%,transparent);border-radius:var(--nmb-radius);padding:8px
}
body.nmb-style-solar-warm .menu a:hover{background:#fff;box-shadow:var(--nmb-shadow-2);transform:translateY(-2px)}

/* Animations */
body.nmb-anim-liquid  .menu a{overflow:hidden}
body.nmb-anim-liquid  .menu a::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--nmb-accent),var(--nmb-accent-2));opacity:0;transform:translateY(100%);transition:.3s var(--nmb-ease);z-index:-1;border-radius:inherit}
body.nmb-anim-liquid  .menu a:hover::before{opacity:.9;transform:translateY(0)}
body.nmb-anim-magnetic .menu a:hover{transform:scale(1.08)}
body.nmb-anim-fade    .menu a:hover{opacity:.7}
body.nmb-anim-lift    .menu a:hover{transform:translateY(-3px)}

/* Concierge (front-end AI bubble) */
.nmb-concierge{position:fixed;right:20px;bottom:20px;z-index:99999;font-family:'Inter',system-ui,sans-serif}
.nmb-concierge-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:linear-gradient(120deg,var(--nmb-accent),var(--nmb-accent-2));color:#fff;border:0;cursor:pointer;font-weight:600;box-shadow:0 10px 32px rgba(124,92,255,.4);transition:.2s}
.nmb-concierge-btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(124,92,255,.55)}
.nmb-concierge-panel{position:absolute;right:0;bottom:60px;width:360px;max-width:90vw;background:#0B0F19;color:#E6E7EE;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column;max-height:500px}
.nmb-c-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(120deg,rgba(124,92,255,.2),rgba(34,211,238,.15))}
.nmb-c-close{background:transparent;border:0;color:#E6E7EE;font-size:20px;cursor:pointer}
.nmb-c-log{flex:1;overflow:auto;padding:12px}
.nmb-c-log .m{padding:10px 12px;border-radius:10px;margin-bottom:8px;font-size:13px;line-height:1.5}
.nmb-c-log .m.u{background:rgba(255,255,255,.06)}
.nmb-c-log .m.a{background:linear-gradient(120deg,rgba(124,92,255,.15),rgba(34,211,238,.1));border:1px solid rgba(124,92,255,.25)}
.nmb-c-form{display:flex;gap:6px;padding:10px;border-top:1px solid rgba(255,255,255,.08)}
.nmb-c-form input{flex:1;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:13px}
.nmb-c-form button{padding:0 14px;border-radius:10px;background:linear-gradient(120deg,var(--nmb-accent),var(--nmb-accent-2));color:#fff;border:0;cursor:pointer;font-weight:600}
