:root {
  --floating-offset: 20px;
  --floating-size: 52px;
  --floating-gap: 12px;
}

.floating-menu {
  position: fixed;
  bottom: var(--floating-offset);
  /*z-index: 1050;*/
  z-index: 1019;
  display: flex;
  flex-direction: column;
  gap: var(--floating-gap);
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: all .3s ease-in-out;
}
.floating-menu.show { opacity:1; visibility:visible; transform:translateY(0); }
.floating-menu-right { right: var(--floating-offset); }
.floating-menu-left  { left: var(--floating-offset); }

.btn-float, .progress-ring {
  width: var(--floating-size);
  height: var(--floating-size);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(33,40,50,.2);
  transition: transform .15s ease-in-out, box-shadow .15s ease-in-out;
  text-decoration: none !important;
}
.btn-float:hover, .progress-ring:hover {
  transform: translateY(-0.1666666667rem);
  box-shadow: 0 0.25rem 1rem 0 rgba(33,40,50,.25);
}

/* PROGRESS RING – LA CLAVE: contenedor interno sin rotación */
.progress-ring {
  background: white;
  cursor: pointer;
  position: relative;
}

.progress-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);   /* Solo afecta al SVG */
}

.progress-ring__progress {
  fill: none;
  stroke: var(--bs-primary);
  stroke-width: 5;
  stroke-linecap: round;
  transition: stroke-dashoffset .35s ease;
}

/* Contenedor del icono SIN rotación */
.progress-ring__icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.progress-ring__icon > * {
  color: var(--bs-primary);
  font-size: 1.15rem;
}