/* ================================================================
   NextWeb OS — Enhancement Styles
   Scroll progress bar · cursor glow · hero canvas · scroll reveal ·
   toast notifications · glassmorphism · typewriter · magnetic btns
================================================================ */

/* ── 1. SCROLL PROGRESS BAR ── */
#nw-progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,#e81f76 0%,#cddd00 50%,#e81f76 100%);
  background-size:200% 100%;
  z-index:99998;border-radius:0 3px 3px 0;
  transition:width .08s linear;
  animation:shimmerBar 2.4s linear infinite;
  box-shadow:0 0 8px rgba(232,31,118,.5);
}
@keyframes shimmerBar{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── 2. CURSOR GLOW ── */
#nw-cursor{
  pointer-events:none;
  position:fixed;
  width:44rem;height:44rem;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,31,118,.07) 0%, transparent 68%);
  transform:translate(-50%,-50%);
  z-index:0;
  transition:left .08s linear, top .08s linear;
  mix-blend-mode:normal;
}

/* ── 2b. HERO CANVAS ── */
#nw-hero-canvas{
  position:absolute;inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.5;
}
.hero{position:relative;overflow:hidden}
.hero>*:not(#nw-hero-canvas){position:relative;z-index:1}

/* ── 3. SCROLL REVEAL ── */
.nw-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
}
.nw-reveal.nw-from-left{ transform:translateX(-36px) }
.nw-reveal.nw-from-right{ transform:translateX(36px) }
.nw-reveal.nw-scale{ transform:scale(.94) }
.nw-reveal.nw-in{ opacity:1 !important; transform:none !important }

/* ── 5. TOAST NOTIFICATIONS ── */
#nw-toasts{
  position:fixed;bottom:2.8rem;right:2.4rem;
  display:flex;flex-direction:column-reverse;gap:1rem;
  z-index:9990;pointer-events:none;
  width:32rem;
}
.nw-toast{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(232,31,118,.18);
  border-radius:1.4rem;
  padding:1.4rem 1.8rem;
  box-shadow:0 8px 40px rgba(0,0,0,.12), 0 0 0 1px rgba(255,255,255,.6) inset;
  display:flex;align-items:center;gap:1.3rem;
  font-family:'Poppins',sans-serif;
  transform:translateX(110%) scale(.96);opacity:0;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1), opacity .35s ease;
  pointer-events:none;
}
.nw-toast.nw-toast-show{transform:translateX(0) scale(1);opacity:1}
.nw-toast.nw-toast-out{
  transform:translateX(110%) scale(.9);opacity:0;
  transition:transform .3s ease, opacity .3s ease;
}
.nw-toast-icon{
  width:4rem;height:4rem;border-radius:1rem;
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;flex-shrink:0;
}
.nw-toast-label{
  font-size:1.05rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:#e81f76;margin-bottom:.2rem;
}
.nw-toast-msg{font-size:1.25rem;font-weight:500;color:#222;line-height:1.4}
.nw-toast-bar{
  position:absolute;bottom:0;left:0;height:2.5px;
  background:linear-gradient(90deg,#e81f76,#cddd00);
  border-radius:0 0 1.4rem 1.4rem;
  animation:toastCountdown 4s linear forwards;
}
@keyframes toastCountdown{from{width:100%}to{width:0}}

/* ── 6. TYPEWRITER ── */
.nw-tw-cursor{
  display:inline-block;
  width:4px;height:.82em;
  background:#e81f76;
  border-radius:2px;
  vertical-align:middle;
  margin-left:3px;
  animation:twBlink .75s ease-in-out infinite;
}
@keyframes twBlink{0%,100%{opacity:1}50%{opacity:0}}

/* ── 7. GLASSMORPHISM ── */
/* Feature cards */
.tcard{
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 4px 24px rgba(0,0,0,.06), 0 0 0 1px rgba(232,31,118,.06) inset;
  transition: transform .35s cubic-bezier(.34,1.56,.64,1),
              box-shadow .35s ease,
              border-color .25s ease;
}
.tcard:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 60px rgba(232,31,118,.14), 0 0 0 1.5px #e81f76 inset;
  border-color:rgba(232,31,118,.3);
}
/* Hero float cards glass */
.hf1,.hf2{
  background:rgba(255,255,255,.8) !important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.95) !important;
  box-shadow:0 16px 48px rgba(0,0,0,.1), 0 0 0 1px rgba(232,31,118,.06) inset !important;
}
/* Pipeline viz glass */
.pipeline-viz{
  background:rgba(255,255,255,.75) !important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.9) !important;
}
/* CTA section glass inner */
.ai-alert-box{
  background:rgba(255,243,248,.85);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
/* Industries detail panel */
.ind-detail{
  background:rgba(255,255,255,.06) !important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12) !important;
}
/* Chart viz */
.chart-viz{
  background:rgba(255,255,255,.75) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 40px rgba(0,0,0,.07);
}
/* Trust strip badges */
.tbadge{
  transition:transform .2s ease, color .2s;
}
.tbadge:hover{transform:translateY(-2px);color:#e81f76}

/* Nav glass scroll state */
nav.scrolled{
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 4px 32px rgba(0,0,0,.08);
}

/* Magnetic btn base */
.btn-p,.btn-o,.ndemo{will-change:transform;transition:transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease, background .2s}

/* Extra: af-icon hover lift */
.af{transition:transform .25s ease}
.af:hover{transform:translateX(4px)}
.af-icon{transition:background .2s, transform .25s cubic-bezier(.34,1.56,.64,1)}
.af:hover .af-icon{background:#e81f76;transform:scale(1.12) rotate(-6deg)}
.af:hover .af-icon svg{fill:#fff}

/* Stat row hover */
.stat{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.stat:hover{transform:translateY(-4px)}

@media(max-width:768px){
  #nw-cursor{display:none}
  #nw-toasts{width:calc(100vw - 3.2rem);right:1.6rem;bottom:1.6rem}
  .nw-toast{font-size:1.1rem}
}

/* ── 8. SUBMENU RESPONSIVE FIX ── */
.nav-dropdown-menu {
  width: auto !important;
  max-width: 95vw !important;
  min-width: 320px !important;
  padding: 1.5rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  white-space: normal !important;
}

@media(min-width: 901px) {
  .nav-dropdown-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 0.8rem !important;
  }
}

.nav-dd-item {
  padding: 0.8rem 1rem !important;
  gap: 1rem !important;
}

.nav-dd-icon {
  width: 3.4rem !important;
  height: 3.4rem !important;
}

.nav-dd-item strong {
  font-size: 1.35rem !important;
}

.nav-dd-item em {
  font-size: 1.15rem !important;
}