/* NetParts 3-color theme — sampled from brand PNGs
   Cyan (waitlist button): #02A8F4
   White:                  #FFFFFF
   Navy (navy swatch):     #07142A
*/
:root {
  --np-cyan: #02A8F4;
  --np-white: #FFFFFF;
  --np-navy: #07142A;
  --np-cyan-rgb: 2, 168, 244;
  --np-navy-rgb: 7, 20, 42;
  --np-white-rgb: 255, 255, 255;
}

html {
  scroll-behavior: smooth;
}

body,
.o_main_navbar,
#wrapwrap,
#wrapwrap * {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4,
.np-wz-title, .np-acc-card h2, .np-acc-card h3 {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Header / nav on NetParts */
header#top,
#top,
.navbar,
.o_header_standard,
#wrapwrap > header {
  background: var(--np-navy) !important;
  border-bottom: 1px solid rgba(var(--np-white-rgb), 0.08);
}
header#top .navbar-nav .nav-link,
#top .nav-link,
header a.nav-link {
  color: var(--np-white) !important;
}
header#top .navbar-nav .nav-link:hover,
header#top .navbar-nav .nav-link.active,
#top .nav-link:hover,
#top .nav-link.active {
  color: var(--np-cyan) !important;
}
header .navbar-brand,
header .navbar-toggler {
  color: var(--np-white) !important;
}
header .navbar-toggler-icon {
  filter: invert(1);
}

/* Primary buttons → cyan */
.btn-primary,
a.btn-primary {
  background: var(--np-cyan) !important;
  border-color: var(--np-cyan) !important;
  color: var(--np-white) !important;
}
.btn-primary:hover,
a.btn-primary:hover {
  background: var(--np-navy) !important;
  border-color: var(--np-navy) !important;
  color: var(--np-white) !important;
}
.btn-outline-primary {
  border-color: var(--np-cyan) !important;
  color: var(--np-cyan) !important;
  background: transparent !important;
}
.btn-outline-primary:hover {
  background: var(--np-cyan) !important;
  color: var(--np-white) !important;
}

/* Links */
#wrap a:not(.btn):not(.nav-link) {
  color: var(--np-cyan);
}
#wrap a:not(.btn):not(.nav-link):hover {
  color: var(--np-navy);
}

/* Accordion */
#faq .accordion-button {
  background: var(--np-white) !important;
  color: var(--np-navy) !important;
  font-weight: 600;
  box-shadow: none !important;
}
#faq .accordion-button:not(.collapsed) {
  color: var(--np-cyan) !important;
  background: var(--np-white) !important;
}
#faq .accordion-button::after {
  filter: none;
}
#faq .accordion-item {
  border-color: rgba(var(--np-navy-rgb), 0.12) !important;
}

/* Theme color helpers used by sections */
.np-bg-cyan { background: var(--np-cyan) !important; color: var(--np-white) !important; }
.np-bg-navy { background: var(--np-navy) !important; color: var(--np-white) !important; }
.np-bg-white { background: var(--np-white) !important; color: var(--np-navy) !important; }
.np-text-cyan { color: var(--np-cyan) !important; }
.np-text-navy { color: var(--np-navy) !important; }
.np-text-white { color: var(--np-white) !important; }
.np-text-muted-navy { color: rgba(var(--np-navy-rgb), 0.72) !important; }
.np-text-muted-white { color: rgba(var(--np-white-rgb), 0.78) !important; }
.np-border-cyan { border-color: var(--np-cyan) !important; }
.np-card-accent { border-top: 4px solid var(--np-cyan) !important; }

/* Waitlist overrides (strip orange/teal/green extras) */
.np-waitlist-sec {
  --np-p: #02A8F4 !important;
  --np-p2: #02A8F4 !important;
  --np-p3: #02A8F4 !important;
  --np-t1: #FFFFFF !important;
  --np-t2: rgba(255, 255, 255, 0.78) !important;
  --np-t3: rgba(255, 255, 255, 0.55) !important;
  --np-glow: 0 0 0 1px rgba(2, 168, 244, 0.35), 0 20px 60px -10px rgba(2, 168, 244, 0.55) !important;
}
.np-acc-card::before {
  background: radial-gradient(circle, rgba(2, 168, 244, 0.55) 0%, rgba(7, 20, 42, 0) 70%) !important;
  filter: blur(60px) !important;
  opacity: 0.45 !important;
}
.np-btn-primary {
  background: var(--np-cyan) !important;
  color: var(--np-white) !important;
  box-shadow: var(--np-glow) !important;
}
.np-wz-bar > span,
.np-wz-progress > span,
.np-progress-fill {
  background: var(--np-cyan) !important;
}
