#vuihoc-ai-chatbot-service-icon {
  bottom: 180px !important;
  right: 20px !important;
  width: 72px !important;
  height: 72px !important;
}

/* Container cố định dưới-phải */
.fabs-stack {
  position: fixed;
  right: 32px;
  bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  z-index: 9999;
}

/* Nút tròn */
.fabs {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
  text-decoration: none;
  color: #fff;
  overflow: visible; /* để vòng ripple hiển thị */
}

.fabs--phone {
  background: #377d22;
}
.fabs--zalo {
  background: #0068ff;
}

/* Icon SVG bên trong */
.fabs svg {
  width: 56%;
  height: 56%;
  display: block;
}

/* Hiệu ứng vòng tròn toả ra */
/* .fabs::before, */
.fabs::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2px solid currentColor;
  opacity: 0.35;
  transform: scale(1);
  animation: ripple 1.2s infinite ease-out;
  pointer-events: none;
}
.fabs--phone::after {
  color: #377d22;
}
.fabs--zalo::after {
  color: #0068ff;
}
.fabs--zalo::after {
  /* animation-delay: 1s; */
}

@keyframes ripple {
  0% {
    transform: scale(1);
    opacity: 0.95;
  }
  100% {
    transform: scale(1.5);
    opacity: 0.05;
  }
}

/* Tooltip bên trái khi hover/focus */
.fabs__tooltip {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  background: #3a3a3c;
  color: #EBEBF5;
  font-size: 14px;
  line-height: 1;
  padding: 8px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  font-family: "Be Vietnam Pro";
}
.fabs:hover .fabs__tooltip,
.fabs:focus-visible .fabs__tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

/* Trợ năng & giảm chuyển động */
.fabs:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.9);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .fabs::before,
  .fabs::after {
    animation: none;
    display: none;
  }
  .fabs__tooltip {
    transition: none;
  }
}

/* Nhờ mobile padding không che nội dung */
@media (max-width: 420px) {
  .fabs-stack {
    right: 20px;
    bottom: 20px;
  }
  #vuihoc-ai-chatbot-service-icon {
    right: 8px !important;
    bottom: 160px !important;
  }
}
