/* VacancyCall Lead Capture — animated widget styles */

.vclc-widget {
	max-width: 480px;
	margin: 32px auto;
	font-family: 'Segoe UI', Roboto, 'Noto Sans Tamil', Arial, sans-serif;
}

.vclc-card {
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(20, 30, 60, 0.12);
	padding: 28px 26px 32px;
	position: relative;
	overflow: hidden;
	animation: vclcFadeInUp 0.6s ease both;
}

@keyframes vclcFadeInUp {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Progress dots */
.vclc-progress {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 18px;
}
.vclc-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #e2e6ee;
	transition: all 0.35s ease;
}
.vclc-dot.active {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	width: 26px;
	border-radius: 6px;
}
.vclc-dot.done {
	background: #22c55e;
}

.vclc-title {
	text-align: center;
	font-size: 20px;
	margin: 0 0 6px;
	color: #111827;
}
.vclc-sub {
	text-align: center;
	font-size: 13px;
	color: #6b7280;
	margin: 0 0 22px;
}

/* Steps: absolute stacked so height transitions smoothly, no page jump */
.vclc-form {
	position: relative;
	min-height: 150px;
}

.vclc-step {
	display: none;
	opacity: 0;
	transform: translateX(24px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.vclc-step.active {
	display: block;
	opacity: 1;
	transform: translateX(0);
	animation: vclcStepIn 0.4s ease both;
}
.vclc-step.leaving {
	animation: vclcStepOut 0.3s ease both;
}

@keyframes vclcStepIn {
	from { opacity: 0; transform: translateX(30px); }
	to   { opacity: 1; transform: translateX(0); }
}
@keyframes vclcStepOut {
	from { opacity: 1; transform: translateX(0); }
	to   { opacity: 0; transform: translateX(-30px); }
}

.vclc-question {
	font-size: 15px;
	font-weight: 600;
	color: #1f2937;
	margin: 0 0 16px;
	text-align: center;
}

.vclc-options {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.vclc-option-btn {
	flex: 1 1 45%;
	min-width: 130px;
	padding: 14px 10px;
	border: 2px solid #e5e7eb;
	background: #f9fafb;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	cursor: pointer;
	transition: all 0.25s ease;
}
.vclc-option-btn:hover {
	border-color: #2563eb;
	background: #eff6ff;
	color: #1d4ed8;
	transform: translateY(-2px);
}
.vclc-option-btn.selected {
	border-color: #2563eb;
	background: #2563eb;
	color: #fff;
	animation: vclcPulse 0.3s ease;
}

@keyframes vclcPulse {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.05); }
	100% { transform: scale(1); }
}

.vclc-input {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 14px;
	margin-bottom: 12px;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	font-size: 14px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.vclc-input:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.vclc-next-btn,
.vclc-submit-btn {
	width: 100%;
	padding: 14px;
	border: none;
	border-radius: 10px;
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
}
.vclc-next-btn:hover,
.vclc-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32);
}
.vclc-next-btn:disabled,
.vclc-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* Success state */
.vclc-success {
	text-align: center;
	padding: 10px 0 4px;
}
.vclc-check {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	font-size: 28px;
	margin: 0 auto 16px;
	animation: vclcPop 0.5s cubic-bezier(.26,1.5,.4,1) both;
}
@keyframes vclcPop {
	0%   { transform: scale(0); opacity: 0; }
	70%  { transform: scale(1.15); opacity: 1; }
	100% { transform: scale(1); }
}
.vclc-success-msg {
	font-size: 14px;
	color: #374151;
	line-height: 1.6;
}

.vclc-error {
	color: #dc2626;
	font-size: 13px;
	text-align: center;
	margin-top: 10px;
	animation: vclcShake 0.4s ease;
}
@keyframes vclcShake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}

@media (max-width: 480px) {
	.vclc-card { padding: 22px 18px 26px; border-radius: 14px; }
	.vclc-option-btn { flex: 1 1 100%; }
}
