/* Intensiva Site Enhancer - Floating WhatsApp Button */
.intensiva-whatsapp-float,
.intensiva-whatsapp-float * {
	box-sizing: border-box;
}

.intensiva-whatsapp-float {
	--isew-wa-bg: #25D366;
	--isew-wa-color: #ffffff;
	--isew-wa-secondary: #128C7E;
	--isew-wa-offset-x: 24px;
	--isew-wa-offset-y: 24px;
	--isew-wa-zindex: 99999;
	--isew-wa-vertical-percent: 35vh;
	--isew-wa-size: 58px;
	--isew-wa-icon-size: calc(var(--isew-wa-size) * 0.52);

	position: fixed;
	z-index: var(--isew-wa-zindex);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: var(--isew-wa-size);
	min-width: var(--isew-wa-size);
	max-width: var(--isew-wa-size);
	height: var(--isew-wa-size);
	min-height: var(--isew-wa-size);
	max-height: var(--isew-wa-size);
	padding: 0;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 0;
	background: var(--isew-wa-bg);
	color: var(--isew-wa-color) !important;
	text-decoration: none !important;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.22) inset;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
	overflow: visible;
	-webkit-tap-highlight-color: transparent;
}

.intensiva-whatsapp-float:hover,
.intensiva-whatsapp-float:focus {
	color: var(--isew-wa-color) !important;
	text-decoration: none !important;
	filter: brightness(0.98);
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.26), 0 0 0 1px rgba(255, 255, 255, 0.24) inset;
	outline: none;
}

.intensiva-whatsapp-float:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--isew-wa-secondary), white 45%);
	outline-offset: 4px;
}

.intensiva-whatsapp-float--right {
	right: max(var(--isew-wa-offset-x), env(safe-area-inset-right));
}

.intensiva-whatsapp-float--left {
	left: max(var(--isew-wa-offset-x), env(safe-area-inset-left));
}

.intensiva-whatsapp-float--bottom {
	bottom: max(var(--isew-wa-offset-y), env(safe-area-inset-bottom));
}

.intensiva-whatsapp-float--custom {
	bottom: calc(var(--isew-wa-vertical-percent) + var(--isew-wa-offset-y));
}

.intensiva-whatsapp-float--custom:hover,
.intensiva-whatsapp-float--custom:focus {
	transform: scale(1.035);
}

.intensiva-whatsapp-float--bottom:hover,
.intensiva-whatsapp-float--bottom:focus {
	transform: translateY(-2px) scale(1.035);
}

.intensiva-whatsapp-float__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--isew-wa-icon-size);
	height: var(--isew-wa-icon-size);
	flex: 0 0 var(--isew-wa-icon-size);
	pointer-events: none;
	color: var(--isew-wa-color);
}

.intensiva-whatsapp-float__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.intensiva-whatsapp-float__label {
	display: none;
	white-space: nowrap;
	color: var(--isew-wa-color);
	letter-spacing: -0.01em;
}

.intensiva-whatsapp-float--has-label .intensiva-whatsapp-float__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--isew-wa-bg);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.22) inset;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
	transform: translateY(-50%);
}

.intensiva-whatsapp-float--right.intensiva-whatsapp-float--has-label .intensiva-whatsapp-float__label {
	right: calc(100% + 10px);
}

.intensiva-whatsapp-float--left.intensiva-whatsapp-float--has-label .intensiva-whatsapp-float__label {
	left: calc(100% + 10px);
}

.intensiva-whatsapp-float--pulse::before {
	content: '';
	position: absolute;
	inset: -6px;
	z-index: -1;
	border-radius: inherit;
	background: color-mix(in srgb, var(--isew-wa-secondary), transparent 35%);
	opacity: 0.42;
	animation: intensiva-whatsapp-pulse 1.9s ease-out infinite;
}

@keyframes intensiva-whatsapp-pulse {
	0% {
		transform: scale(0.92);
		opacity: 0.44;
	}
	72%,
	100% {
		transform: scale(1.34);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.intensiva-whatsapp-float,
	.intensiva-whatsapp-float::before {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 767px) {
	.intensiva-whatsapp-float {
		width: var(--isew-wa-size);
		min-width: var(--isew-wa-size);
		max-width: var(--isew-wa-size);
		height: var(--isew-wa-size);
		min-height: var(--isew-wa-size);
		max-height: var(--isew-wa-size);
		padding: 0;
		border-radius: 50%;
	}

	.intensiva-whatsapp-float__icon {
		width: var(--isew-wa-icon-size);
		height: var(--isew-wa-icon-size);
		flex-basis: var(--isew-wa-icon-size);
	}

	.intensiva-whatsapp-float__label {
		display: none !important;
	}

	.intensiva-whatsapp-float--right {
		right: max(calc(var(--isew-wa-offset-x) * 0.75), env(safe-area-inset-right), 14px);
	}

	.intensiva-whatsapp-float--left {
		left: max(calc(var(--isew-wa-offset-x) * 0.75), env(safe-area-inset-left), 14px);
	}

	.intensiva-whatsapp-float--bottom {
		bottom: max(calc(var(--isew-wa-offset-y) * 0.75), env(safe-area-inset-bottom), 14px);
	}

	.intensiva-whatsapp-float--custom {
		bottom: calc(var(--isew-wa-vertical-percent) + (var(--isew-wa-offset-y) * 0.75));
	}
}

.intensiva-whatsapp-float--shake-active {
	animation: intensiva-whatsapp-shake-once 760ms cubic-bezier(.36, .07, .19, .97) 1;
	transform-origin: center center;
}

@keyframes intensiva-whatsapp-shake-once {
	0%, 100% {
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
	12% {
		transform: translate3d(-2px, 0, 0) rotate(-5deg) scale(1.03);
	}
	24% {
		transform: translate3d(3px, 0, 0) rotate(5deg) scale(1.03);
	}
	36% {
		transform: translate3d(-3px, 0, 0) rotate(-4deg) scale(1.03);
	}
	48% {
		transform: translate3d(3px, 0, 0) rotate(4deg) scale(1.03);
	}
	60% {
		transform: translate3d(-2px, 0, 0) rotate(-2deg) scale(1.02);
	}
	72% {
		transform: translate3d(2px, 0, 0) rotate(2deg) scale(1.02);
	}
	84% {
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1.01);
	}
}
