/* Global Back to Top button
   (body delante: la regla de botones del Kit, .elementor-kit-6 button, pintaba
   el fondo con el rojo de los botones y le ganaba a esta regla.) */
body .hello-child-back-to-top {
	position: fixed !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 99999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--hello-child-back-to-top-size, 52px);
	height: var(--hello-child-back-to-top-size, 52px);
	min-width: var(--hello-child-back-to-top-size, 52px);
	min-height: var(--hello-child-back-to-top-size, 52px);
	max-width: var(--hello-child-back-to-top-size, 52px);
	max-height: var(--hello-child-back-to-top-size, 52px);
	aspect-ratio: 1 / 1;
	padding: 0;
	border: 1px solid var(--hello-child-back-to-top-border-color, rgba(255, 255, 255, 0.55));
	border-radius: 999px;
	background: var(--hello-child-back-to-top-bg-color, rgba(28, 28, 30, 0.86));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	color: var(--hello-child-back-to-top-text-color, #ffffff);
	font: 700 var(--hello-child-back-to-top-icon-size, 24px)/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-align: center;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.24);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px) scale(0.9);
	transition: opacity 220ms ease, visibility 220ms ease, transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.hello-child-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

body .hello-child-back-to-top:hover,
body .hello-child-back-to-top:focus-visible {
	background: var(--hello-child-back-to-top-hover-bg-color, rgba(0, 0, 0, 0.92));
	box-shadow: 0 20px 52px rgba(0, 0, 0, 0.3);
	color: var(--hello-child-back-to-top-text-color, #ffffff);
	transform: translateY(-4px) scale(1.07);
	outline: none;
}

.hello-child-back-to-top__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 1;
	transform: translateY(-1px);
}

@media (max-width: 767px) {
	.hello-child-back-to-top {
		right: 18px !important;
		bottom: 18px !important;
	}
}

/* Global WhatsApp floating button */
.hello-child-whatsapp-button {
	position: fixed !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 99999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--hello-child-whatsapp-size, 52px);
	height: var(--hello-child-whatsapp-size, 52px);
	min-width: var(--hello-child-whatsapp-size, 52px);
	min-height: var(--hello-child-whatsapp-size, 52px);
	max-width: var(--hello-child-whatsapp-size, 52px);
	max-height: var(--hello-child-whatsapp-size, 52px);
	aspect-ratio: 1 / 1;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.24);
	overflow: hidden;
	transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.hello-child-whatsapp-button--has-back-to-top {
	bottom: calc(24px + var(--hello-child-back-to-top-size, 52px) + var(--hello-child-floating-gap, 12px)) !important;
}

.hello-child-whatsapp-button:hover,
.hello-child-whatsapp-button:focus-visible {
	box-shadow: 0 20px 52px rgba(0, 0, 0, 0.3);
	color: #ffffff;
	filter: saturate(1.08) brightness(1.02);
	transform: translateY(-4px) scale(1.07);
	outline: none;
}

.hello-child-whatsapp-button__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 1;
}

.hello-child-whatsapp-button__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: inherit;
}

/* Latido para llamar la atención (pedido del cliente, rediseño 2026): doble
   pulso corto y una onda verde que se expande. La onda es box-shadow del
   propio botón (su overflow: hidden recorta hijos, no su sombra). En hover
   se detiene para que mande el efecto de hover. */
.hello-child-whatsapp-button {
	animation: hello-child-wa-beat 2.6s cubic-bezier(.22, .61, .36, 1) infinite;
}
.hello-child-whatsapp-button:hover,
.hello-child-whatsapp-button:focus-visible {
	animation: none;
}
@keyframes hello-child-wa-beat {
	0% { transform: scale(1); box-shadow: 0 16px 42px rgba(0, 0, 0, .24), 0 0 0 0 rgba(37, 211, 102, .55); }
	12% { transform: scale(1.1); }
	24% { transform: scale(1); }
	36% { transform: scale(1.06); }
	50% { transform: scale(1); }
	70% { box-shadow: 0 16px 42px rgba(0, 0, 0, .24), 0 0 0 18px rgba(37, 211, 102, 0); }
	100% { transform: scale(1); box-shadow: 0 16px 42px rgba(0, 0, 0, .24), 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.hello-child-whatsapp-button {
		animation: none;
	}
}

@media (max-width: 767px) {
	.hello-child-whatsapp-button {
		right: 18px !important;
		bottom: 18px !important;
	}

	.hello-child-whatsapp-button--has-back-to-top {
		bottom: calc(18px + var(--hello-child-back-to-top-size, 52px) + 10px) !important;
	}
}
