/* =========================================================
   JUPITER SCIENCE HEADER NAV
   Clean z-index model:
   Header stack = 100
   Main nav = 120
   Dropdowns = 300
   Explore strip = 80
   Search modal = fixed high layer
========================================================= */

:root{
  --jps-blue:#002CD0;
  --jps-blue-dark:#00219e;
  --jps-violet:#8A2BEF;
  --jps-pink:#FF3D7F;
  --jps-orange:#FF7A00;
  --jps-yellow:#FFD23F;
  --jps-sky:#28C7FF;
  --jps-mint:#35E89B;
  --jps-deep:#101B4D;
  --jps-bg:#FFF8FE;
  --jps-soft:#F3F6FF;
  --jps-border:#E8ECFF;
  --jps-muted:#64708A;
}

/* Optional: add this class to Divi Code Module if needed */
.jps-site-header-menu-module,
.jps-site-header-menu-module .et_pb_code_inner{
  width:100% !important;
  overflow:visible !important;
}

.jps-header-nav-stack{
  width:100%;
  position:relative;
  z-index:100;
  overflow:visible;
  background:#ffffff;
}

/* Main menu */
.jps-lite-nav{
  width:100%;
  position:relative;
  z-index:120;
  overflow:visible;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,61,127,.12), transparent 28%),
    radial-gradient(circle at 84% 0%, rgba(255,210,63,.18), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#FFF8FE 54%,#F3F6FF 100%);
  border-top:1px solid rgba(232,236,255,.9);
  border-bottom:1px solid var(--jps-border);
  box-shadow:
    0 8px 22px rgba(16,27,77,.07),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.jps-lite-nav::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  transform:translateX(-50%);
  width:min(1020px,92vw);
  height:3px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    transparent,
    var(--jps-blue),
    var(--jps-violet),
    var(--jps-pink),
    var(--jps-orange),
    var(--jps-yellow),
    transparent
  );
  opacity:.88;
}

.jps-lite-nav-inner{
  max-width:1180px;
  margin:0 auto;
  min-height:58px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  position:relative;
  overflow:visible;
}

.jps-lite-item{
  position:relative;
}

/* Links */
.jps-lite-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 12px;
  border-radius:999px;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:12.2px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:var(--jps-blue-dark) !important;
  text-decoration:none !important;
  white-space:nowrap;
  transition:background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.jps-lite-link::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--jps-blue),var(--jps-pink));
  opacity:.72;
  flex:0 0 auto;
}

.has-dropdown > .jps-lite-link::after,
.has-mega > .jps-lite-link::after{
  content:"⌄";
  font-size:13px;
  line-height:1;
  opacity:.78;
  transform:translateY(-1px);
}

.jps-lite-link:hover{
  color:#ffffff !important;
  background:linear-gradient(135deg,var(--jps-blue),var(--jps-violet),var(--jps-pink));
  box-shadow:0 10px 22px rgba(0,44,208,.18);
  transform:translateY(-1px);
}

.jps-lite-link:hover::before{
  background:#ffffff;
  opacity:.95;
}

.jps-lite-link.is-active{
  color:#ffffff !important;
  background:linear-gradient(135deg,var(--jps-blue),var(--jps-violet));
  box-shadow:0 10px 22px rgba(0,44,208,.20);
}

.jps-lite-link.is-active::before{
  background:#ffffff;
  opacity:.95;
}

/* Dropdowns */
.jps-lite-dropdown{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  min-width:265px;
  padding:10px;
  border-radius:18px;
  border:1px solid var(--jps-border);
  background:
    radial-gradient(circle at top right, rgba(255,210,63,.16), transparent 38%),
    radial-gradient(circle at bottom left, rgba(255,61,127,.08), transparent 38%),
    #ffffff;
  box-shadow:
    0 20px 42px rgba(16,27,77,.16),
    inset 0 1px 0 rgba(255,255,255,.94);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:300;
}

.jps-lite-dropdown::before,
.jps-mega-dropdown::before{
  content:"";
  display:block;
  height:4px;
  margin:-10px -10px 8px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(90deg,var(--jps-blue),var(--jps-violet),var(--jps-pink),var(--jps-orange),var(--jps-yellow));
}

.jps-lite-item:hover .jps-lite-dropdown,
.jps-lite-item:focus-within .jps-lite-dropdown,
.jps-lite-item:hover .jps-mega-dropdown,
.jps-lite-item:focus-within .jps-mega-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.jps-lite-dropdown a,
.jps-mega-col a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--jps-deep) !important;
  text-decoration:none !important;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:13px;
  font-weight:650;
  line-height:1.25;
}

.jps-lite-dropdown a:hover,
.jps-mega-col a:hover{
  background:linear-gradient(90deg,rgba(0,44,208,.08),rgba(255,61,127,.08),rgba(255,210,63,.10));
  color:var(--jps-blue) !important;
}

/* Mega dropdown */
.jps-mega-dropdown{
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translate(-50%, 8px);
  width:min(920px, 92vw);
  padding:10px;
  border-radius:20px;
  border:1px solid var(--jps-border);
  background:
    radial-gradient(circle at top right, rgba(255,210,63,.16), transparent 34%),
    radial-gradient(circle at bottom left, rgba(138,43,239,.08), transparent 34%),
    radial-gradient(circle at 70% 90%, rgba(40,199,255,.10), transparent 34%),
    #ffffff;
  box-shadow:
    0 24px 54px rgba(16,27,77,.18),
    inset 0 1px 0 rgba(255,255,255,.94);
  opacity:0;
  visibility:hidden;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:300;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.jps-lite-item:hover .jps-mega-dropdown,
.jps-lite-item:focus-within .jps-mega-dropdown{
  transform:translate(-50%, 0);
}

.jps-mega-dropdown::before{
  grid-column:1/-1;
}

.jps-mega-col{
  padding:8px;
}

.jps-mega-col h4{
  margin:2px 0 8px;
  padding:0 10px 8px;
  border-bottom:1px solid rgba(232,236,255,.95);
  color:var(--jps-pink);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* Search button */
.jps-lite-search-btn{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(232,236,255,.95);
  background:rgba(255,255,255,.92);
  color:var(--jps-blue-dark);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(16,27,77,.07);
  transition:background .18s ease, color .18s ease, transform .18s ease;
}

.jps-lite-search-btn span{
  font-size:22px;
  line-height:1;
  transform:translateY(-1px);
}

.jps-lite-search-btn:hover{
  color:#ffffff;
  background:linear-gradient(135deg,var(--jps-pink),var(--jps-orange));
  transform:translateY(-1px);
}

/* Explore strip */
.jps-important-links-section{
  width:100%;
  position:relative;
  z-index:80;
  overflow:hidden;
  padding:10px 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,61,127,.28), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(255,210,63,.26), transparent 30%),
    linear-gradient(90deg,#101B4D 0%,#00219e 38%,#8A2BEF 72%,#FF3D7F 100%);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.jps-important-links-wrap{
  width:92%;
  max-width:1320px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.jps-important-label{
  flex:0 0 auto;
  color:#ffffff;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
  white-space:nowrap;
}

.jps-important-label::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:999px;
  background:var(--jps-yellow);
  box-shadow:0 0 0 4px rgba(255,210,63,.18);
}

.jps-important-links{
  flex:0 1 auto;
  max-width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  flex-wrap:nowrap;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.jps-important-links::-webkit-scrollbar{
  display:none;
}

.jps-important-links a,
.jps-important-links a:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#ffffff !important;
  text-decoration:none !important;
  font-size:11.5px;
  line-height:1;
  font-weight:750;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.jps-important-links a:hover{
  background:#ffffff;
  color:var(--jps-blue-dark) !important;
  border-color:#ffffff;
}

/* Search modal */
.jps-search-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:999999;
}

.jps-search-modal.is-open{
  display:block;
}

.jps-search-backdrop{
  position:absolute;
  inset:0;
  background:rgba(16,27,77,.48);
  backdrop-filter:blur(4px);
}

.jps-search-panel{
  position:absolute;
  left:50%;
  top:18%;
  transform:translateX(-50%);
  width:min(560px, 92vw);
  background:#ffffff;
  border:1px solid var(--jps-border);
  border-radius:22px;
  padding:22px;
  box-shadow:0 24px 60px rgba(16,27,77,.28);
  overflow:hidden;
}

.jps-search-panel::before{
  content:"";
  display:block;
  height:4px;
  margin:-22px -22px 18px;
  background:linear-gradient(90deg,var(--jps-blue),var(--jps-violet),var(--jps-pink),var(--jps-orange),var(--jps-yellow));
}

.jps-search-close{
  position:absolute;
  right:14px;
  top:10px;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  color:var(--jps-deep);
}

.jps-search-form{
  display:flex;
  gap:10px;
}

.jps-search-input{
  flex:1;
  height:46px;
  border-radius:14px;
  border:1px solid var(--jps-border);
  padding:0 14px;
  font-size:15px;
  color:var(--jps-deep);
  outline:none;
}

.jps-search-input:focus{
  border-color:var(--jps-pink);
  box-shadow:0 0 0 3px rgba(255,61,127,.12);
}

.jps-search-btn{
  height:46px;
  border-radius:14px;
  border:0;
  padding:0 18px;
  background:linear-gradient(135deg,var(--jps-blue),var(--jps-violet),var(--jps-pink));
  color:#ffffff;
  font-weight:850;
  cursor:pointer;
}

/* Mobile hamburger */
.jps-mobile-menu-btn{
  display:none;
}

@media (max-width:980px){

  .jps-lite-nav-inner{
    min-height:58px;
    justify-content:space-between;
    overflow:visible;
    gap:10px;
  }

  .jps-mobile-menu-btn{
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(232,236,255,.95);
    background:#ffffff;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(16,27,77,.08);
    flex:0 0 auto;
  }

  .jps-mobile-menu-btn span{
    width:18px;
    height:2px;
    border-radius:999px;
    background:var(--jps-blue-dark);
    transition:transform .18s ease, opacity .18s ease;
  }

  .jps-mobile-menu-btn.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }

  .jps-mobile-menu-btn.is-open span:nth-child(2){
    opacity:0;
  }

  .jps-mobile-menu-btn.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  .jps-lite-nav-inner > .jps-lite-link,
  .jps-lite-nav-inner > .jps-lite-item{
    display:none;
  }

  .jps-lite-search-btn{
    display:inline-flex;
    margin-left:auto;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-nav-inner{
    align-items:flex-start;
    flex-wrap:wrap;
    padding-top:8px;
    padding-bottom:12px;
    max-height:calc(100vh - 90px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-nav-inner > .jps-lite-link,
  .jps-lite-nav.is-mobile-open .jps-lite-nav-inner > .jps-lite-item{
    display:block;
    width:100%;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-link{
    width:100%;
    justify-content:flex-start;
    min-height:42px;
    border-radius:14px;
    padding:0 14px;
    color:var(--jps-blue-dark) !important;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(232,236,255,.85);
    font-size:12px;
    box-shadow:none;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-link:hover{
    transform:none;
    color:#ffffff !important;
    background:linear-gradient(135deg,var(--jps-blue),var(--jps-violet));
  }

  .jps-lite-nav.is-mobile-open .jps-lite-item{
    position:relative !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-dropdown,
  .jps-lite-nav.is-mobile-open .jps-mega-dropdown{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    margin:6px 0 10px !important;
    padding:8px !important;
    border-radius:16px !important;
    border:1px solid rgba(232,236,255,.95) !important;
    background:#ffffff !important;
    box-shadow:none !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-item.is-submenu-open > .jps-lite-dropdown,
  .jps-lite-nav.is-mobile-open .jps-lite-item.is-submenu-open > .jps-mega-dropdown{
    display:block !important;
  }

  .jps-lite-nav.is-mobile-open .jps-mega-dropdown{
    grid-template-columns:1fr !important;
  }

  .jps-lite-nav.is-mobile-open .jps-mega-dropdown::before,
  .jps-lite-nav.is-mobile-open .jps-lite-dropdown::before{
    margin:-8px -8px 8px !important;
  }

  .jps-lite-nav.is-mobile-open .jps-mega-col{
    padding:4px !important;
  }

  .jps-lite-nav.is-mobile-open .jps-mega-col h4{
    margin-top:8px !important;
    font-size:10.5px !important;
    color:var(--jps-pink) !important;
  }

  .jps-lite-nav.is-mobile-open .has-dropdown > .jps-lite-link,
  .jps-lite-nav.is-mobile-open .has-mega > .jps-lite-link{
    cursor:pointer !important;
  }

  .jps-lite-nav.is-mobile-open .has-dropdown > .jps-lite-link::after,
  .jps-lite-nav.is-mobile-open .has-mega > .jps-lite-link::after{
    display:inline-block !important;
    margin-left:auto !important;
    transition:transform .18s ease !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-item.is-submenu-open > .jps-lite-link{
    color:#ffffff !important;
    background:linear-gradient(135deg,var(--jps-blue),var(--jps-violet),var(--jps-pink)) !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-item.is-submenu-open > .jps-lite-link::after{
    transform:rotate(180deg) !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-dropdown a,
  .jps-lite-nav.is-mobile-open .jps-mega-col a{
    color:var(--jps-deep) !important;
    background:transparent !important;
    font-size:13px !important;
    padding:11px 12px !important;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-dropdown a:hover,
  .jps-lite-nav.is-mobile-open .jps-mega-col a:hover{
    background:linear-gradient(90deg,rgba(0,44,208,.08),rgba(255,61,127,.08)) !important;
    color:var(--jps-blue) !important;
  }

  .jps-important-links-wrap{
    width:94%;
    justify-content:flex-start;
  }

  .jps-important-links{
    justify-content:flex-start;
    flex:1 1 auto;
  }
}

@media (max-width:640px){

  .jps-lite-nav-inner{
    padding-left:12px;
    padding-right:12px;
  }

  .jps-lite-nav.is-mobile-open .jps-lite-link{
    font-size:12px;
  }

  .jps-important-links-section{
    padding:9px 0;
  }

  .jps-important-links-wrap{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .jps-important-links{
    width:100%;
    justify-content:flex-start;
  }

  .jps-important-links a,
  .jps-important-links a:visited{
    min-height:29px;
    padding:0 11px;
    font-size:11px;
  }

  .jps-search-panel{
    top:14%;
    padding:18px;
  }

  .jps-search-panel::before{
    margin:-18px -18px 16px;
  }

  .jps-search-form{
    flex-direction:column;
  }

  .jps-search-btn{
    width:100%;
  }
}


/* =========================================================
   JUPITER SCIENCE - HEADER DROPDOWN STACKING FIX
   Keeps dropdown above ad row / next page sections
========================================================= */

/* The Divi section/row/module that contains the Jupiter menu */
.et_pb_section:has(.jps-header-nav-stack),
.et_pb_row:has(.jps-header-nav-stack),
.et_pb_column:has(.jps-header-nav-stack),
.et_pb_module:has(.jps-header-nav-stack),
.et_pb_code_inner:has(.jps-header-nav-stack){
  overflow:visible !important;
  position:relative !important;
  z-index:9999 !important;
}

/* Header wrapper */
.jps-header-nav-stack{
  position:relative !important;
  z-index:9999 !important;
  overflow:visible !important;
}

/* Main nav should sit above the Explore strip */
.jps-lite-nav{
  position:relative !important;
  z-index:3000 !important;
  overflow:visible !important;
}

.jps-lite-nav-inner{
  position:relative !important;
  z-index:3010 !important;
  overflow:visible !important;
}

.jps-lite-item{
  position:relative !important;
  z-index:3020 !important;
}

/* Promote hovered item */
.jps-lite-item:hover,
.jps-lite-item:focus-within{
  z-index:6000 !important;
}

/* Actual dropdowns */
.jps-lite-dropdown,
.jps-mega-dropdown{
  z-index:7000 !important;
  pointer-events:auto !important;
}

/* Explore strip should stay below dropdowns */
.jps-important-links-section{
  position:relative !important;
  z-index:1000 !important;
}

/* The row/section immediately after header should not cover dropdown */
.jps-header-nav-stack + *,
.et_pb_section:has(.jps-header-nav-stack) + .et_pb_section{
  position:relative !important;
  z-index:1 !important;
}