/*
 * Sticky floating WhatsApp button + dotted swirl "Chat with us" arrow.
 */

.wa-float {
  position: fixed;
  right: clamp(1rem, 2vw, 1.75rem);
  bottom: clamp(1rem, 2vw, 1.75rem);
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  pointer-events: none;
}

.wa-float__hint {
  font-family: "Caveat", "Brush Script MT", cursive;
  font-size: 1.4rem;
  color: var(--color-green-dark);
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 36px;
  pointer-events: none;
  display: none;
  animation: wa-hint-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) 2.5s both;
}
.wa-float__swirl {
  display: none;
  width: 90px;
  height: 70px;
  margin-bottom: -8px;
  margin-right: -10px;
  pointer-events: none;
  animation: wa-hint-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) 2.6s both;
}

@keyframes wa-hint-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}

.wa-float__btn {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #25D366;
  color: var(--color-white);
  display: grid;
  place-items: center;
  box-shadow: 0 10px 30px -8px rgba(37, 211, 102, 0.55);
  pointer-events: auto;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
  animation: wa-pop-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) 2.2s both;
}
.wa-float__btn svg { width: 30px; height: 30px; }
.wa-float__btn:hover {
  transform: scale(1.08);
  box-shadow: 0 14px 36px -8px rgba(37, 211, 102, 0.65);
}
.wa-float__btn::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(37, 211, 102, 0.45);
  animation: wa-pulse 2.6s cubic-bezier(0.22, 1, 0.36, 1) infinite;
  pointer-events: none;
}
@keyframes wa-pulse {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.35); opacity: 0; }
}
@keyframes wa-pop-in {
  from { opacity: 0; transform: scale(0.4); }
  to   { opacity: 1; transform: scale(1); }
}

@media (min-width: 880px) {
  .wa-float__hint,
  .wa-float__swirl { display: inline-block; }
}

@media (prefers-reduced-motion: reduce) {
  .wa-float__btn::before { display: none; }
  .wa-float__btn,
  .wa-float__hint,
  .wa-float__swirl { animation: none !important; }
}


/* ===== Mobile reveal-on-scroll + icon centering (migrated from scroll-polish mu-plugin) ===== */
		/* Floating WhatsApp: exact center icon inside green circle */
		.wa-float {
			position: fixed;
			right: calc(26px + env(safe-area-inset-right));
			bottom: calc(28px + env(safe-area-inset-bottom));
			z-index: 9997;
		}

		.wa-float__btn {
			position: relative;
			display: block;
			width: 76px;
			height: 76px;
			min-width: 76px;
			min-height: 76px;
			padding: 0;
			border-radius: 999px;
			line-height: 0;
			box-sizing: border-box;
			overflow: visible;
		}

		.wa-float__btn svg,
		.wa-float__btn > svg {
			position: absolute;
			left: 50%;
			top: 50%;
			width: 38px;
			height: 38px;
			max-width: 38px;
			max-height: 38px;
			margin: 0;
			padding: 0;
			transform: translate(-50%, -50%);
			transform-origin: center center;
			display: block;
		}

		.wa-float__dot {
			position: absolute;
			top: 8px;
			right: 8px;
		}

		@media (max-width: 640px) {
			.wa-float {
				right: calc(16px + env(safe-area-inset-right));
				bottom: calc(18px + env(safe-area-inset-bottom));
				opacity: 0;
				visibility: hidden;
				pointer-events: none;
				transform: translateY(12px) scale(0.94);
				transition:
					opacity 220ms ease,
					visibility 220ms ease,
					transform 220ms ease;
			}

			body.ez-wa-visible .wa-float {
				opacity: 1;
				visibility: visible;
				pointer-events: auto;
				transform: translateY(0) scale(1);
			}

			.wa-float__btn {
				width: 60px;
				height: 60px;
				min-width: 60px;
				min-height: 60px;
			}

			.wa-float__btn svg,
			.wa-float__btn > svg {
				width: 31px;
				height: 31px;
				max-width: 31px;
				max-height: 31px;
			}

			.wa-float__dot {
				top: 6px;
				right: 6px;
			}
		}

