/* nsmoms-menu.css — NSMoms signature circulating navigation
   Internal page/image links remain relative so the shadow site works locally. */

.moms-nav{
  --menu-blue:#245f91;
  --menu-dark:#17476f;
  --menu-light:#dcecf8;
  --menu-speed:44s;
  position:relative;
  margin:0 calc(-1 * var(--page-pad));
  padding:.48rem 0 .42rem;
  overflow:visible;
  background:linear-gradient(180deg,#edf6fc 0%,var(--menu-light) 100%);
  border-bottom:1px solid rgba(23,71,111,.22);
  box-shadow:0 3px 12px rgba(23,71,111,.07);
}

.moms-nav__label{
  padding:0 var(--page-pad) .28rem;
  color:var(--menu-dark);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.moms-nav__viewport{overflow:hidden; width:100%;}

.moms-nav__track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:moms-menu-scroll var(--menu-speed) linear infinite;
}

.moms-nav__group{
  display:flex;
  flex:none;
  align-items:center;
  gap:.55rem;
  padding-right:.55rem;
}

.moms-nav__item{
  flex:none;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(36,95,145,.25);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--menu-dark);
  padding:.38rem .82rem;
  font:inherit;
  font-size:.88rem;
  font-weight:650;
  line-height:1.1;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 1px 3px rgba(23,71,111,.07);
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.moms-nav__item:hover,
.moms-nav__item:focus-visible{
  background:#fff;
  border-color:var(--menu-blue);
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(23,71,111,.12);
  outline:none;
}

.moms-nav__button span{font-size:.78em; margin-left:.15rem;}

.moms-nav:hover .moms-nav__track,
.moms-nav:focus-within .moms-nav__track,
.moms-nav.menu-open .moms-nav__track,
.moms-nav.is-paused .moms-nav__track{
  animation-play-state:paused;
}

.moms-nav__hint{
  margin:.25rem var(--page-pad) 0;
  color:#526d82;
  font-size:.67rem;
  line-height:1.25;
  text-align:right;
}

@keyframes moms-menu-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.moms-dropdown-popup{
  position:fixed;
  z-index:1000;
  min-width:205px;
  max-width:min(310px,calc(100vw - 24px));
  padding:.42rem;
  background:#fff;
  border:1px solid rgba(36,95,145,.25);
  border-radius:13px;
  box-shadow:0 12px 30px rgba(23,71,111,.22);
}

.moms-dropdown-popup[hidden]{display:none;}

.moms-dropdown-popup a{
  display:block;
  padding:.62rem .72rem;
  border-radius:9px;
  color:var(--menu-dark,#17476f);
  font-size:.9rem;
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
}

.moms-dropdown-popup a:hover,
.moms-dropdown-popup a:focus-visible{
  background:#edf6fc;
  outline:none;
}

@media (max-width:520px){
  .moms-nav{--menu-speed:38s; padding-top:.42rem;}
  .moms-nav__label{font-size:.66rem;}
  .moms-nav__item{font-size:.82rem; padding:.34rem .7rem;}
  .moms-nav__hint{font-size:.62rem;}
}

@media (prefers-reduced-motion:reduce){
  .moms-nav__viewport{overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin;}
  .moms-nav__track{animation:none;}
  .moms-nav__group[aria-hidden="true"]{display:none;}
  .moms-nav__hint::before{content:"Swipe or scroll the menu. ";}
}
