/**
 * Botón pulsating "RESERVE SU TURNO AHORA".
 *
 * Variantes:
 *  - .wm-cta--primary  (grande, hero/secciones)
 *  - .wm-cta--small    (header)
 *  - .wm-cta--sticky   (barra fija inferior en mobile)
 *
 * Respeta prefers-reduced-motion.
 */

.wm-cta-reserva {
	display: inline-block;
	background: var(--color-accent, #E8499A);
	color: white !important;
	font-family: var(--font-button, 'Inter', sans-serif);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none !important;
	border-radius: 999px;
	box-shadow: 0 4px 16px rgba(232, 73, 154, 0.3);
	position: relative;
	z-index: 1;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	animation: wm-pulse-cta 2s infinite;
	transform-origin: center;
}

.wm-cta-reserva:hover,
.wm-cta-reserva:focus {
	background: var(--color-accent-dark, #E85555);
	color: white !important;
	animation-play-state: paused;
	transform: scale(1.05);
	box-shadow: 0 8px 28px rgba(201, 56, 130, 0.45);
}

/* Variantes de tamaño */
.wm-cta--primary {
	font-size: 1.05rem;
	padding: 1rem 2rem;
}
.wm-cta--small {
	font-size: 0.85rem;
	padding: 0.65rem 1.25rem;
	letter-spacing: 0.3px;
}
.wm-cta--sticky {
	display: none; /* solo visible en mobile vía media query */
	position: fixed;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 90;
	width: calc(100% - 2rem);
	max-width: 360px;
	text-align: center;
	font-size: 1rem;
	padding: 0.9rem 1.5rem;
}

@keyframes wm-pulse-cta {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 4px 16px rgba(232, 73, 154, 0.35), 0 0 0 0 rgba(232, 73, 154, 0.4);
	}
	50% {
		transform: scale(1.04);
		box-shadow: 0 8px 24px rgba(232, 73, 154, 0.5), 0 0 0 12px rgba(232, 73, 154, 0);
	}
}

.wm-cta--sticky {
	animation: wm-pulse-cta-sticky 2.5s infinite;
}
@keyframes wm-pulse-cta-sticky {
	0%, 100% {
		transform: translateX(-50%) scale(1);
		box-shadow: 0 4px 16px rgba(232, 73, 154, 0.35);
	}
	50% {
		transform: translateX(-50%) scale(1.03);
		box-shadow: 0 8px 24px rgba(232, 73, 154, 0.55);
	}
}

/* Reducir movimiento si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
	.wm-cta-reserva,
	.wm-cta--sticky {
		animation: none !important;
	}
	.wm-cta-reserva:hover,
	.wm-cta-reserva:focus {
		transform: none;
	}
}

/* WhatsApp flotante */
.wm-whatsapp-float {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
	z-index: 95;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.wm-whatsapp-float:hover {
	transform: scale(1.08);
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.55);
	color: white;
}
.wm-whatsapp-float svg {
	width: 30px;
	height: 30px;
	fill: currentColor;
}