/* ABZEMO quick-contact dock — Yutong-style floating contact bar */
.abzemo-contact-dock{
  position:fixed;
  right:18px;
  top:45%;
  transform:translateY(-50%);
  z-index:9990;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:58px;
  margin:0;
  padding:15px 0;
  background:#004ea2;
  border:0;
  border-radius:30px 0 0 30px;
  box-shadow:0 10px 30px rgba(7,26,53,.16);
  overflow:visible;
  font-family:Arial,Helvetica,sans-serif;
}
.abzemo-contact-dock a{
  position:relative;
  width:58px;
  height:58px;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#fff;
  background:transparent;
  text-decoration:none;
  border:0;
  transition:background-color .2s ease;
}
.abzemo-contact-dock a:hover,
.abzemo-contact-dock a:focus-visible{
  background:rgba(255,255,255,.10);
  color:#fff;
  outline:none;
}
.abzemo-contact-dock .dock-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
}
.abzemo-contact-dock .dock-icon svg{
  display:block;
  width:28px;
  height:28px;
  fill:currentColor;
}
.abzemo-contact-dock .dock-panel{
  position:absolute;
  right:100%;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  width:250px;
  padding:18px 18px 17px;
  background:#fff;
  color:#071a35;
  border:1px solid #dce5f0;
  border-radius:10px;
  box-shadow:0 18px 45px rgba(7,26,53,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.abzemo-contact-dock .dock-panel::after{
  content:"";
  position:absolute;
  top:50%;
  right:-7px;
  width:12px;
  height:12px;
  background:#fff;
  border-top:1px solid #dce5f0;
  border-right:1px solid #dce5f0;
  transform:translateY(-50%) rotate(45deg);
}
.abzemo-contact-dock a:hover .dock-panel,
.abzemo-contact-dock a:focus-visible .dock-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(-50%) translateX(0);
}
.abzemo-contact-dock .dock-panel-title{
  display:block;
  margin-bottom:6px;
  color:#071a35;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}
.abzemo-contact-dock .dock-panel-detail{
  display:block;
  margin-bottom:12px;
  color:#6f7f95;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.5;
  word-break:break-word;
}
.abzemo-contact-dock .dock-panel-action{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:7px;
  background:#1264d8;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:700;
}
@media(max-width:600px){
  .abzemo-contact-dock{
    top:auto;
    right:50%;
    bottom:10px;
    left:auto;
    transform:translateX(50%);
    width:auto;
    height:58px;
    padding:0 10px;
    flex-direction:row;
    border-radius:30px;
  }
  .abzemo-contact-dock a{
    width:58px;
    height:58px;
    min-height:58px;
  }
  .abzemo-contact-dock .dock-icon{
    width:26px;
    height:26px;
  }
  .abzemo-contact-dock .dock-icon svg{
    width:26px;
    height:26px;
  }
  .abzemo-contact-dock .dock-panel{
    right:auto;
    left:50%;
    top:auto;
    bottom:calc(100% + 12px);
    transform:translateX(-50%) translateY(8px);
  }
  .abzemo-contact-dock .dock-panel::after{
    top:auto;
    right:auto;
    left:50%;
    bottom:-7px;
    transform:translateX(-50%) rotate(135deg);
  }
  .abzemo-contact-dock a:hover .dock-panel,
  .abzemo-contact-dock a:focus-visible .dock-panel{
    transform:translateX(-50%) translateY(0);
  }
}
.nav-links a{border-radius:999px;padding:9px 14px}

.mega-menu:not(.active){visibility:hidden;transition:transform .38s cubic-bezier(.77,0,.18,1),left .3s ease,visibility 0s linear .38s}
.mega-menu.active{visibility:visible;transition:transform .38s cubic-bezier(.77,0,.18,1),left .3s ease,visibility 0s}
