/* Control manual del launcher flotante (#telvoice-web-agent) — no afecta el embed del Hero */

body.tva-floating-agent-hidden #telvoice-web-agent,
html.tva-floating-agent-prehidden #telvoice-web-agent,
body.tva-floating-agent-minimized #telvoice-web-agent {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body.tva-floating-agent-animating #telvoice-web-agent {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#telvoice-web-agent.tva-root--entry-reveal {
  animation: tva-agent-entry-reveal 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes tva-agent-entry-reveal {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.88);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.tva-floating-agent-restore {
  position: fixed;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  right: 1rem;
  z-index: 99989;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.75rem 0.4rem 0.4rem;
  border: 1px solid rgba(0, 82, 204, 0.22);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.96);
  color: #434654;
  font-family: Inter, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  box-shadow:
    0 4px 16px rgba(11, 92, 255, 0.12),
    0 0 0 1px rgba(220, 231, 245, 0.9);
  backdrop-filter: blur(8px);
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.25s ease;
}

.tva-floating-agent-restore:hover {
  transform: translateY(-1px);
  box-shadow:
    0 6px 20px rgba(11, 92, 255, 0.18),
    0 0 0 1px rgba(220, 231, 245, 0.95);
}

.tva-floating-agent-restore:active {
  transform: translateY(0);
}

.tva-floating-agent-restore:focus-visible {
  outline: 2px solid #0b5cff;
  outline-offset: 3px;
}

.tva-floating-agent-restore[hidden] {
  display: none !important;
}

.tva-floating-agent-restore.is-measuring {
  visibility: hidden;
  pointer-events: none;
}

.tva-floating-agent-restore__avatar {
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow:
    0 0 0 1px rgba(220, 231, 245, 0.95),
    0 0 12px rgba(11, 92, 255, 0.25);
}

.tva-floating-agent-restore__label {
  white-space: nowrap;
  padding-right: 0.15rem;
}

.tva-floating-agent-traveler {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99995;
  pointer-events: none;
  border-radius: 9999px;
  overflow: visible;
  will-change: transform, width, height, opacity, filter;
}

.tva-floating-agent-traveler img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  object-fit: cover;
  box-shadow:
    0 0 0 1px rgba(220, 231, 245, 0.95),
    0 10px 28px rgba(11, 92, 255, 0.28),
    0 0 24px rgba(72, 255, 220, 0.35);
}

.tva-floating-agent-traveler.is-travel-off img {
  filter: saturate(1.1) brightness(1.08);
}

.tva-floating-agent-traveler.is-travel-on img {
  filter: saturate(0.9) brightness(0.98);
}

@media (max-width: 480px) {
  .tva-floating-agent-restore__label {
    display: none;
  }

  .tva-floating-agent-restore {
    padding: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tva-floating-agent-restore:hover,
  .tva-floating-agent-restore:active {
    transform: none;
  }

  #telvoice-web-agent.tva-root--entry-reveal {
    animation: none;
  }
}
