/* ===== Botão CTA (baseado no modelo enviado) ===== */
.cd-cta-button {
	--cd-btn-color: #25D366;
	--cd-btn-color-hover: #128C7E;

	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.01em;
	color: #ffffff;
	background: var(--cd-btn-color);
	border: none;
	border-radius: 999px;
	padding: 18px 46px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.35s ease, background 0.35s ease, color 0.35s ease, opacity 0.35s ease;
	box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.35);
}

.cd-cta-button .cd-cta-arrow {
	display: inline-flex;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.cd-cta-button:hover .cd-cta-arrow { transform: translateX(4px); }

.cd-cta-button::after {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 55%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	transform: skewX(-20deg);
	transition: left 0.75s ease;
}

.cd-cta-button.cd-unlocked:hover {
	transform: translateY(-3px) scale(1.015);
	background: var(--cd-btn-color-hover);
	box-shadow: 0 16px 40px -8px rgba(0, 0, 0, 0.45);
}

.cd-cta-button.cd-unlocked:hover::after { left: 150%; }
.cd-cta-button.cd-unlocked:active { transform: translateY(-1px) scale(0.99); }

.cd-cta-button:focus-visible {
	outline: 3px solid var(--cd-btn-color);
	outline-offset: 3px;
}

/* Estado bloqueado (antes da minutagem) */
.cd-cta-button.cd-locked {
	opacity: 0.45;
	filter: grayscale(0.35);
	cursor: not-allowed;
	pointer-events: none;
	box-shadow: none;
}

/* Efeito ao liberar */
.cd-cta-button.cd-unlocked {
	animation: cd-unlock-pop 0.5s ease;
}
@keyframes cd-unlock-pop {
	from { transform: scale(0.92); opacity: 0.6; }
	to   { transform: scale(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.cd-cta-button, .cd-cta-button .cd-cta-arrow, .cd-cta-button.cd-unlocked { animation: none; transition: none; }
	.cd-cta-button::after { display: none; }
}

/* ===== Vídeo ===== */
.cd-cta-video-wrap {
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.cd-cta-video-frame {
	display: block;
	width: 100%;
	border-radius: 12px;
}

/* ===== Seções reveladas por tempo ===== */
.cd-cta-secao.cd-hidden {
	display: none;
	opacity: 0;
}
.cd-cta-secao.cd-revealed {
	display: block;
	opacity: 1;
	animation: cd-secao-fade-in 0.6s ease;
}
@keyframes cd-secao-fade-in {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ===== Painel admin ===== */
.cd-cta-admin-wrap .cd-shortcode-box {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 16px;
	max-width: 780px;
}
.cd-cta-admin-wrap .cd-shortcode-box h3 { margin-top: 0; }
.cd-cta-admin-wrap .cd-shortcode-box-tip {
	background: #f0f6fc;
	border-color: #c3dcef;
}
.cd-cta-admin-wrap code { padding: 3px 8px; font-size: 13px; }
