/* =====================================================================================
   css/whatsapp-flutuante.css  |  BOTÃO FLUTUANTE "RESERVAR DATA" (todas as páginas)
   HTML em _includes/whatsapp-flutuante.html (incluído pelo footer.html); comportamento em
   js/whatsapp-flutuante.js. Só o botão (.wa-float*). Nada de regra de página aqui.
   ===================================================================================== */
/* Botão flutuante "Reservar data" em todas as páginas (HTML em _includes/whatsapp-flutuante.html, incluído pelo footer.html). */
.wa-float{--space-2xs:8px;--caixa-clara:#fff;--dourado:#0f7268}
@media (max-width: 900px){body.nav-open .wa-float{
    opacity: 0;
    pointer-events: none;
  }}
.wa-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  min-width: 54px;
  height: 54px;
  padding: 0 15px;
  background: var(--dourado);
  color: var(--caixa-clara);
  border-radius: 999px;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.24),
    0 0 0 0 rgba(7, 94, 84, 0.42);
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.95);
  animation: waFloatPulse 2.8s ease-in-out infinite;
  transition:
    padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.4s ease,
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s ease;
}
.wa-float svg{
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: block;
}
.wa-float .wa-float-label{
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.1;
  opacity: 0;
  transition:
    max-width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease;
}
.wa-float.wa-float--expanded .wa-float-label,
.wa-float:focus-visible .wa-float-label,
.wa-float:hover .wa-float-label{
  max-width: 170px;
  opacity: 1;
}
.wa-float:focus-visible,
.wa-float:hover{
  animation-play-state: paused;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}
.wa-float--hidden{
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.95);
  transition:
    opacity 0.4s ease,
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.wa-float--visible{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
@keyframes waFloatPulse{
  0%,
  100% {
    box-shadow:
      0 10px 28px rgba(0, 0, 0, 0.24),
      0 0 0 0 rgba(15, 114, 104, 0.42);
  }
  50% {
    box-shadow:
      0 10px 28px rgba(0, 0, 0, 0.24),
      0 0 0 10px rgba(15, 114, 104, 0);
  }
}
@media (prefers-reduced-motion: reduce){.wa-float{
    animation: none;
    transition: none;
  }.wa-float .wa-float-label{
    transition: none;
  }}
@media (max-width: 640px){.wa-float{
    right: 14px;
    bottom: 14px;
    height: 52px;
    min-width: 52px;
    padding: 0 14px;
  }.wa-float.wa-float--expanded .wa-float-label{
    max-width: 145px;
    font-size: 13px;
  }}
