/* VIGOTOUR 3.9.3: align existing controls with the 60px vChat button.
   vChat occupies a 90px frame at left:0 / bottom:0, with 15px inner inset. */
body {
  --vgt-float-size: 60px !important;
  --vgt-float-left: 15px !important;
  --vgt-float-bottom: 15px !important;
  --vgt-float-step: 72px !important;
}
body #backTotop,
body #call_action,
body .social-list {
  position: fixed !important;
  top: auto !important;
  left: 15px !important;
  right: auto !important;
  width: 60px !important;
  height: 60px !important;
  margin: 0 !important;
  box-sizing: border-box;
  border-radius: 50% !important;
  transform: none !important;
  box-shadow: 0 3px 12px rgba(23,50,77,.16), 0 0 10px rgba(201,35,29,.12);
}
body #backTotop {
  bottom: 243px !important;
  line-height: 58px !important;
  font-size: 24px !important;
  z-index: 1000;
}
body #call_action { bottom: 171px !important; z-index: 1002; }
body .social-list { bottom: 99px !important; z-index: 1001; }
body #call_action .icon_ti_fixed,
body #call_action .in_icon_ti_fixed,
body #call_action .arcu-message-button,
body .social-list .social-list-item,
body .social-list .phone-vr-img-circle,
body .social-list .phone-vr-img-circle > a {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  box-sizing: border-box;
}
/* One soft expanding halo per control; keep existing phone/Zalo artwork. */
body #backTotop::after,
body #call_action::after,
body .social-list::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 2px solid rgba(201,35,29,.48);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(201,35,29,.25);
  pointer-events: none;
  z-index: -1;
  animation: vgt-contact-halo 3s ease-out infinite;
}
body #call_action::after { animation-delay: .35s; }
body .social-list::after { animation-delay: .7s; }
body #call_action .icon_ti_fixed::after,
body #call_action .pulsation,
body .social-list .phone-vr-circle-fill { display: none !important; }
body #call_action .in_icon_ti_fixed.active::before {
  width: 44px !important;
  height: 44px !important;
  line-height: 42px !important;
  left: 8px !important;
  top: 8px !important;
}
/* Place the expanded hotline panel beside the column, clear of other buttons. */
body #call_action .nd_ti_fixed {
  left: 72px !important;
  right: auto !important;
  bottom: 0 !important;
  width: 260px;
  min-width: 0 !important;
  max-width: calc(100vw - 102px) !important;
  max-height: calc(100dvh - 197px);
  overflow-y: auto;
  box-sizing: border-box;
}
body #backTotop:focus-visible,
body .social-list a:focus-visible {
  outline: 3px solid #183b62;
  outline-offset: 4px;
}
@keyframes vgt-contact-halo {
  0% { transform: scale(1); opacity: .65; }
  65%, 100% { transform: scale(1.24); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body #backTotop::after,
  body #call_action::after,
  body .social-list::after {
    animation: none !important;
    transform: none !important;
    opacity: .25;
  }
}
