/* ======================================================
   CTA FLOTANTE – SINTEGRAD
   Orbital · Silencioso · Premium
   ====================================================== */

.cta-float {
  position: fixed;
  z-index: var(--z-float);

  right: 20px;
  bottom: calc(20px + var(--safe-bottom));

  width: 52px;
  height: 52px;
  border-radius: 50%;

  display: grid;
  place-items: center;

  /* ↑ Un poco más de presencia */
  background: rgba(22,22,22,0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  /* Halo pasivo SIEMPRE visible */
  box-shadow:
    0 10px 26px rgba(0,0,0,0.55),
    0 0 0 1px rgba(255,255,255,0.10),
    0 0 22px rgba(37,211,102,0.18);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;

  text-decoration: none;
}

/* Icono: más legible en idle */
.cta-float__icon img {
  width: 22px;
  height: 22px;
  opacity: 0.95;
  filter: drop-shadow(0 0 4px rgba(37,211,102,0.35));
  transition:
    opacity .25s ease,
    transform .25s ease,
    filter .25s ease;
}

/* Hover — desktop real */
@media (hover: hover) and (pointer: fine) {
  .cta-float:hover {
    transform: translateY(-2px);
    box-shadow:
      0 18px 44px rgba(0,0,0,0.6),
      0 0 0 1px rgba(255,255,255,0.14),
      0 0 30px rgba(37,211,102,0.35);
  }

  .cta-float:hover .cta-float__icon img {
    transform: scale(1.05);
    filter: drop-shadow(0 0 6px rgba(37,211,102,0.5));
  }
}


/* Mobile refinement */
@media (max-width: 768px) {
  .cta-float {
    width: 48px;
    height: 48px;
  }

  .cta-float__icon img {
    width: 20px;
    height: 20px;
  }
}
