/* Bulles flottantes d'action au-dessus du bouton back-to-top */
.floating-bubbles {
  position: fixed;
  right: 24px;
  bottom: 90px; /* au-dessus du bouton back-to-top */
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: flex-end;
  z-index: 1001;
}

.bubble {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bs-primary);
  color: var(--color-white);
  text-decoration: none;
  box-shadow: var(--shadow-fab);
  transition: background 0.2s, transform 0.2s;
  font-size: 1.5rem;
  position: relative;
  z-index: 200;
}

.bubble:hover {
  background: var(--bs-btn-hover-bg);
  color: var(--color-white);
  transform: translateY(-2px) scale(1.07);
}

.bubble-label {
  font-size: 11px;
  font-weight: 600;
  /* mix-blend-mode: difference; */
  color: var(--color-text-muted);
  text-align: center;
  line-height: 1.1;
  letter-spacing: 0.01em;
  position: absolute;
  top: -25px;
  background: var(--bs-body-bg);
  border-radius: 4px;
  padding: 2px;
  animation: bubble-label-move 2.5s ease-in-out infinite alternate;
  z-index: 199;
}

@keyframes bubble-label-move {
  0% {
    top: -25px;
  }
  100% {
    top: -20px;
  }
}

.bubble-primary {
  background: var(--bs-primary);
}
.bubble-secondary {
  background: var(--bs-secondary);
}
.bubble-other {
  background: var(--color-bubble-other);
}