/* CellHub Pro — shared nav + footer (every page). Tokens mirror home.v1.css / commerce.v2.css. */
nav.site{position:fixed;top:0;left:0;right:0;z-index:200;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;background:rgba(10,13,26,0.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd)}
.nlogo{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;color:var(--txt);white-space:nowrap}
.nlogo em{color:var(--cyan);font-style:normal}
.nav-menu{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;margin-left:1.5rem}
.nlinks{display:flex;gap:0;align-items:center;flex-wrap:wrap}
.nlinks a{color:var(--m1);font-size:.76rem;font-weight:500;text-decoration:none;padding:.3rem .75rem;transition:color .2s;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.nlinks a:hover,.nlinks a.active{color:var(--txt)}
.nright{display:flex;align-items:center}
.ncta{background:var(--green);color:#000;padding:.4rem 1.1rem;border-radius:7px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;margin-left:1rem;white-space:nowrap}
.ncta:hover{filter:brightness(1.1)}
.nav-lang{display:flex;gap:.3rem;align-items:center;margin-left:1.25rem}
.nav-lang-btn{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;padding:.28rem .75rem;border-radius:6px;border:1px solid var(--bd2);color:var(--m1);cursor:pointer;background:transparent;transition:all .2s;letter-spacing:.04em;white-space:nowrap}
.nav-lang-btn:hover{color:var(--txt);border-color:var(--m1)}
.nav-lang-btn.nlang-active-en{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,255,.08)}
.nav-lang-btn.nlang-active-es{border-color:var(--yellow);color:var(--yellow);background:rgba(245,197,24,.08)}
.nav-lang-btn.nlang-active-pt{border-color:var(--green);color:var(--green);background:rgba(0,201,122,.08)}
.nav-lang-btn .lang-short{display:none}
.nav-bar-right{display:none;align-items:center;gap:.5rem}
.nav-lang.mobile{display:none;margin-left:0}
.nav-toggle{width:40px;height:40px;border:1px solid var(--bd2);border-radius:8px;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--txt);border-radius:2px;transition:transform .2s,opacity .2s}
nav.site.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.site.open .nav-toggle span:nth-child(2){opacity:0}
nav.site.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Below 1600px the desktop language buttons use their short labels; between 821 and 1400px the homepage
   chapter links leave the bar (the phone menu lists them again) so the nav never wraps inside its 56px. */
@media (max-width:1600px){
  .nav-lang.desktop .lang-full{display:none}
  .nav-lang.desktop .lang-short{display:inline}
  .nlinks a{padding:.3rem .6rem}
}
@media (max-width:1400px) and (min-width:821px){
  nav.site[data-nav="home"] .nlinks a[href^="#ch"],nav.site[data-nav="home"] .nlinks a[href="#mobile"]{display:none}
}
@media (max-width:820px){
  nav.site{padding:0 1.25rem}
  .nav-bar-right{display:flex}
  .nav-lang.mobile{display:flex}
  .nav-lang-btn .lang-full{display:none}
  .nav-lang-btn .lang-short{display:inline}
  .nav-lang-btn{padding:.3rem .55rem}
  .nav-menu{display:none;position:absolute;top:56px;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;background:rgba(10,13,26,.98);border-bottom:1px solid var(--bd);padding:.75rem 1.25rem 1.25rem;gap:.5rem;max-height:calc(100vh - 56px);overflow-y:auto}
  nav.site.open .nav-menu{display:flex}
  .nlinks{flex-direction:column;align-items:stretch}
  .nlinks a{padding:.7rem .25rem;font-size:.9rem;border-bottom:1px solid var(--bd)}
  .nright{flex-direction:column;align-items:stretch;margin-top:.5rem}
  .nav-lang.desktop{display:none}
  .ncta{margin:0;text-align:center;padding:.7rem 1rem}
}
/* FOOTER (shared) */
footer.site{border-top:1px solid var(--bd);padding:2rem 3rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--m2);margin-top:3rem}
footer.site a{color:var(--m1);text-decoration:none;margin-right:1rem}
footer.site a:hover{color:var(--txt)}
@media (max-width:820px){footer.site{padding:2rem 1.25rem}}
