/* ============================================================
   TECHZERO — shared mobile nav + footer fixes
   Loaded after each page's inline <style> so these rules win.
   ============================================================ */

/* Hamburger button — hidden on desktop, shown on mobile */
.nav-toggle{
  display:none;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  background:rgba(139,92,246,.12);
  border:1px solid rgba(167,139,250,.3);
  border-radius:12px;
  cursor:pointer;
  padding:0;
  position:relative;
  z-index:10000;
  transition:background .2s;
}

/* The auto-injected "Get Started" drawer CTA — only visible inside the
   mobile drawer. Hidden on desktop so it does not duplicate the pill. */
.drawer-cta{display:none}
.nav-toggle:hover{background:rgba(139,92,246,.22)}
.nav-toggle .bar{
  position:absolute;
  left:11px;right:11px;height:2px;
  background:#fff;border-radius:2px;
  transition:transform .3s ease, opacity .2s ease, top .3s ease;
}
.nav-toggle .bar:nth-child(1){top:14px}
.nav-toggle .bar:nth-child(2){top:21px}
.nav-toggle .bar:nth-child(3){top:28px}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1){top:21px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){top:21px;transform:rotate(-45deg)}

/* Stacking fix: lift the nav (and everything inside it — toggle + drawer)
   ABOVE the scrim. The drawer lives inside nav.top, so nav.top's own
   z-index becomes the floor for its children. */
nav.top{z-index:9998 !important}

/* Mobile drawer scrim — sits BELOW nav.top so the drawer is reachable */
.nav-scrim{
  position:fixed;inset:0;
  background:rgba(7,6,11,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  z-index:9990;
}
.nav-scrim.open{opacity:1;pointer-events:auto}

/* Pointer-events safety net — overlays must never steal clicks */
.grid-bg,.noise,.hero-glow{pointer-events:none !important}

/* ============================================================
   ≤ 960px : mobile layout
   ============================================================ */
@media (max-width: 960px){
  /* Show hamburger */
  .nav-toggle{display:inline-flex}

  /* Hide the "Get Started" pill on mobile (drawer has its own CTA) */
  nav.top .nav-inner > .btn-primary{display:none}

  /* Nav-links: turn into a slide-in drawer */
  nav.top .nav-links{
    display:flex !important;            /* override page-level display:none */
    position:fixed;
    top:0;right:0;bottom:0;
    width:min(82vw, 360px);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:96px 28px 32px;
    background:linear-gradient(180deg,#100a22 0%,#07060b 100%);
    border-left:1px solid rgba(167,139,250,.18);
    box-shadow:-30px 0 60px rgba(0,0,0,.5);
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.22,.61,.36,1);
    z-index:9999;          /* above every page section + scrim */
    overflow-y:auto;
    pointer-events:auto;
  }
  nav.top .nav-links a,
  nav.top .nav-links .drawer-cta{pointer-events:auto}
  nav.top .nav-links.open{transform:translateX(0)}
  nav.top .nav-links a{
    padding:18px 4px;
    font-size:17px;
    color:var(--ink, #f3eef9);
    border-bottom:1px solid rgba(167,139,250,.1);
  }
  nav.top .nav-links a.active{color:#c4b5fd}
  nav.top .nav-links a.active::after{display:none}
  nav.top .nav-links .drawer-cta{
    display:block;
    margin-top:24px;
    padding:14px 22px;
    text-align:center;
    background:linear-gradient(180deg,#8b5cf6,#6d28d9);
    border-radius:999px;
    color:#fff;
    border:none;
    font-weight:500;
  }

  /* Footer: stack columns instead of hiding them */
  .foot-top{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:32px 24px;
  }
  .foot-top > :nth-child(n+3){display:block !important}
  .foot-top .brand{grid-column:1 / -1}
  .foot-top a{
    display:inline-block;
    padding:6px 0;          /* bigger tap target */
    cursor:pointer;
  }
  footer a{cursor:pointer}

  /* Body scroll lock when drawer open */
  body.nav-open{overflow:hidden}
}

/* ============================================================
   ≤ 560px : phones
   ============================================================ */
@media (max-width: 560px){
  .nav-inner{padding:14px 18px !important}
  .wrap{padding:0 18px !important}
  .foot-top{grid-template-columns:1fr !important}
  .foot-top .brand{grid-column:auto}
}
