/* FAQ launcher — the floating button on the customer-ticket pages that opens
   the knowledge base. Frappe blue (#009CEE) to match the ticket pages' theme
   (see web_form/customer_tickets/customer_tickets.css). */

.page-content-wrapper:has(> .rns-launcher) {
  position: relative;
}
.rns-launcher {
  position: absolute;
  right: 24px;
  top: 20px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 22px 12px 17px;
  border: 1px solid #009CEE;
  border-radius: 999px;
  background: #009CEE;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0, 156, 238, 0.35);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.rns-launcher svg {
  color: #ffffff;
  flex: none;
}
.rns-launcher:hover,
.rns-launcher:focus-visible {
  transform: translateY(-2px);
  background: #0089d6;
  border-color: #0089d6;
  box-shadow: 0 14px 38px rgba(0, 156, 238, 0.45);
  outline: none;
}
.rns-launcher::after {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ffffff;
  animation: rns-pulse 2.8s ease-out infinite;
}
@keyframes rns-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6); }
  70% { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

@media (max-width: 600px) {
  .rns-launcher {
    right: 16px;
    top: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rns-launcher,
  .rns-launcher::after {
    animation: none;
    transition: none;
  }
}
