/* Slide-to-confirm CTA. Scoped to .wpd-cta. */
.wpd-cta { --wpd-cta-bg: #111111; --wpd-cta-fill: #2b2b2b; --wpd-cta-text: #ffffff; --wpd-cta-handle: #ffffff; --wpd-cta-handle-fg: #111111; --wpd-cta-h: 58px; width: 100%; margin: 8px 0 0; box-sizing: border-box; }
.wpd-cta *, .wpd-cta *::before, .wpd-cta *::after { box-sizing: border-box; }
.wpd-cta__track { position: relative; height: var(--wpd-cta-h); border-radius: 999px; background: var(--wpd-cta-bg); overflow: hidden; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.wpd-cta__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 999px; background: var(--wpd-cta-fill); }
.wpd-cta__label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 64px; color: var(--wpd-cta-text); font-weight: 600; font-size: 16px; letter-spacing: .01em; text-align: center; pointer-events: none; }
.wpd-cta__handle { position: absolute; top: 4px; left: 4px; width: calc(var(--wpd-cta-h) - 8px); height: calc(var(--wpd-cta-h) - 8px); border-radius: 50%; background: var(--wpd-cta-handle); color: var(--wpd-cta-handle-fg); display: grid; place-items: center; cursor: grab; touch-action: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); transition: transform .28s cubic-bezier(.22, .8, .3, 1); }
.wpd-cta.is-drag .wpd-cta__handle { cursor: grabbing; transition: none; }
.wpd-cta.is-drag .wpd-cta__fill { transition: none; }
.wpd-cta__fill { transition: width .28s cubic-bezier(.22, .8, .3, 1); }
.wpd-cta.is-done .wpd-cta__handle { cursor: default; }
.wpd-cta.has-focus .wpd-cta__track { outline: 3px solid rgba(21, 94, 239, .6); outline-offset: 3px; }
.wpd-cta:not(.is-done):not(.is-drag) .wpd-cta__handle svg { animation: wpd-cta-hint 1.8s ease-in-out infinite; }
.wpd-cta.is-nudge .wpd-cta__handle { transform: translate3d(36px, 0, 0) !important; }
@keyframes wpd-cta-hint { 0%, 70%, 100% { transform: translateX(0); } 85% { transform: translateX(4px); } }

/* Original button: hidden visually, still focusable and submittable (Enter key, screen readers). */
.wpd-cta__native { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; opacity: 1 !important; }

@media (prefers-reduced-motion: reduce) {
	.wpd-cta__handle, .wpd-cta__fill { transition-duration: 0s !important; }
	.wpd-cta__handle svg { animation: none !important; }
}
