.asolar-jumper{
  --asolar-dot:#17864E;
  --asolar-active:#F4B02E;
  position:fixed;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  z-index:10001;
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:0;
  padding:0;
}
.asolar-jumper[hidden]{display:none !important}
.asolar-jumper a{
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid var(--asolar-dot);
  background:transparent;
  position:relative;
  display:block;
  text-decoration:none;
  box-sizing:border-box;
}
.asolar-jumper a span{
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  white-space:nowrap;
  font-family:system-ui,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s;
  color:#10362A;
  background:rgba(251,250,246,.92);
  padding:4px 8px;
  border-radius:4px;
}
.asolar-jumper[style*="left:"] a span{
  right:auto;
  left:22px;
}
.asolar-jumper a:hover span,
.asolar-jumper a:focus-visible span{opacity:1}
.asolar-jumper a.is-active{
  background:var(--asolar-active);
  border-color:var(--asolar-active);
}
.asolar-jumper.on-dark a{border-color:#fff}
.asolar-jumper.on-dark a.is-active{
  background:var(--asolar-active);
  border-color:var(--asolar-active);
}
.asolar-jumper.on-dark a span{
  color:#fff;
  background:rgba(16,54,42,.7);
}

/* ---------- Spark-style fly scroll ---------- */
html.asolar-fly-on,
html.asolar-fly-on body{
  height:100%;
}
html.asolar-fly-on body{
  overflow:hidden;
}

/* Keep Theme Builder header visible over fly sections */
html.asolar-fly-on .elementor-location-header,
html.asolar-fly-on [data-elementor-type="header"]{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:10000 !important;
  visibility:visible !important;
  opacity:1 !important;
  display:block !important;
  pointer-events:auto !important;
}

/* Footer stays reachable as the last fly target */
html.asolar-fly-on .elementor-location-footer,
html.asolar-fly-on [data-elementor-type="footer"]{
  visibility:visible !important;
  opacity:1 !important;
  display:block !important;
  position:relative !important;
  z-index:1;
}

html.asolar-fly-on .asolar-fly-section{
  min-height:100vh !important;
  height:100vh;
  max-height:100vh;
  overflow:hidden;
  box-sizing:border-box;
  scroll-margin-top:0;
}
html.asolar-fly-on .asolar-fly-section.asolar-fly-tall,
html.asolar-fly-on .asolar-fly-section.asolar-fly-footer{
  height:auto;
  max-height:none;
  min-height:100vh !important;
  overflow:auto;
}

@media (prefers-reduced-motion: reduce){
  html.asolar-fly-on body{overflow:auto}
  html.asolar-fly-on .asolar-fly-section{
    height:auto;
    max-height:none;
  }
}
