/* Election-only nav: deliberately scoped to avoid changing the main header. */
.kvu-election-nav,
.kvu-election-nav *{box-sizing:border-box}
.kvu-election-nav{
  --kvu-election-top:55px;
  position:relative;top:auto;z-index:900;
  width:100%;height:48px;background:#fff;
  border-top:1px solid #e5e5e5;border-bottom:1px solid #dedede;
  font-family:Inter,Arial,Helvetica,sans-serif;color:#171717;
}
.kvu-election-nav__inner{
  display:flex;align-items:center;gap:18px;max-width:1250px;
  height:100%;padding:0 22px;margin:0 auto;min-width:0;
}
.kvu-election-nav a{color:inherit!important;text-decoration:none!important;}
.kvu-election-nav a:hover{color:#3e5a9d!important}
.kvu-election-nav a:focus-visible{outline:2px solid #3e5a9d;outline-offset:3px}
.kvu-election-nav__year{display:flex;align-items:center;gap:2px;flex:none;white-space:nowrap}
.kvu-election-nav__year span{
  display:flex;align-items:center;justify-content:center;width:18px;height:21px;
  color:white;font-size:14px;line-height:1;font-weight:800;letter-spacing:0;
}
.kvu-election-nav__year span:nth-child(odd){background:#ec5b58}
.kvu-election-nav__year span:nth-child(even){background:#3486c5}
.kvu-election-nav__divider{width:1px;height:21px;background:#dedede;flex:none}
.kvu-election-nav__title{font-size:14px;font-weight:700;white-space:nowrap;flex:none}
.kvu-election-nav__links{display:flex;align-items:center;gap:23px;min-width:0;margin-left:12px;white-space:nowrap}
.kvu-election-nav__links a{font-size:13px;font-weight:450;white-space:nowrap}
@media(max-width:1050px){
 .kvu-election-nav__inner{gap:12px;padding:0 16px}
 .kvu-election-nav__links{gap:17px;margin-left:2px}
 .kvu-election-nav__links a{font-size:12px}
}
@media(max-width:790px){
 .kvu-election-nav{height:46px}
 .kvu-election-nav__inner{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:11px;padding:0 14px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .kvu-election-nav__inner::-webkit-scrollbar{display:none}
 .kvu-election-nav__title{font-size:13px}
 .kvu-election-nav__links{gap:18px;margin-left:6px;flex:none;padding-right:14px}
 .kvu-election-nav__links a{font-size:13px}
 .kvu-election-nav__year span{width:15px;height:19px;font-size:12px}
 .kvu-election-nav__divider{height:19px}
}
@media(max-width:380px){
 .kvu-election-nav__inner{gap:9px;padding:0 10px}
 .kvu-election-nav__title{font-size:12px}
 .kvu-election-nav__links{gap:15px}
}
@media(prefers-reduced-motion:reduce){.kvu-election-nav__inner{scroll-behavior:auto}}



/* Election bar is fixed BELOW the site's fixed black header.
   No scroll-dependent class toggling, no ancestor clipping. */
html body nav.kvu-election-nav.kvu-election-nav--pinned {
  position:fixed!important;
  top:var(--kvu-election-header-bottom,55px)!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100%!important;
  height:48px!important;
  margin:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
  z-index:2147483000!important;
}
html body .kvu-election-nav .kvu-election-nav__title-full {display:inline!important;}
html body .kvu-election-nav .kvu-election-nav__title-short {display:none!important;}
@media(max-width:790px){
 html body nav.kvu-election-nav.kvu-election-nav--pinned{height:46px!important}
 html body .kvu-election-nav .kvu-election-nav__title-full{display:none!important}
 html body .kvu-election-nav .kvu-election-nav__title-short{display:inline!important}
}

/* Small finishing touches: subtle shadow on all screens, stronger mobile title. */
html body nav.kvu-election-nav.kvu-election-nav--pinned {
  box-shadow:0 2px 7px rgba(0,0,0,.085)!important;
}
@media(max-width:790px){
  html body .kvu-election-nav .kvu-election-nav__title-short{
    color:#101010!important;
    font-weight:800!important;
  }
}
