/* ── Custom CTA Widget ────────────────────────────────────────────────────── */

.pm-cta {
	display: inline-block;
}

.pm-cta__link {
	display: block;
	text-decoration: none;
}

/*
 * The stage is the mask boundary.
 * overflow:hidden clips .pm-cta__cursor and .pm-cta__blob while they sit
 * outside the container in their idle state.
 */
.pm-cta__stage {
	position: relative;
	overflow: hidden;
	display: inline-block;
	line-height: 0; /* remove inline-block gap below image */
}

.pm-cta__image {
	display: block;
	width: 400px; /* default; overridden by Elementor slider */
	height: auto;
}

/* ── Cursor — slides in from bottom-left ─────────────────────────────────── */

.pm-cta__cursor {
	position: absolute;
	bottom: 12px;
	left: 12px;
	width: 72px;
	height: auto;
	pointer-events: none;
	transform: translate(-120%, 120%);
	transition: transform var(--pm-duration-base, 0.38s) cubic-bezier(0.34, 1.56, 0.64, 1);
	will-change: transform;
}

/* ── Blob — slides in from top-right ─────────────────────────────────────── */

.pm-cta__blob {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 56px;
	height: auto;
	pointer-events: none;
	transform: translate(120%, -120%);
	/* slight delay so blob follows cursor for a staggered feel */
	transition: transform var(--pm-duration-base, 0.38s) cubic-bezier(0.34, 1.56, 0.64, 1) 0.04s;
	will-change: transform;
}

/* ── Hover — reveal both ──────────────────────────────────────────────────── */

.pm-cta__link:hover .pm-cta__cursor,
.pm-cta__stage:hover .pm-cta__cursor {
	transform: translate(0, 0);
}

.pm-cta__link:hover .pm-cta__blob,
.pm-cta__stage:hover .pm-cta__blob {
	transform: translate(0, 0);
}
