/* マルチステップフォーム */
.cf7pp-progress-bar {
	width: 100%; height: 6px; background: #e2e8f0; border-radius: 3px; margin-bottom: 8px; overflow: hidden;
}
.cf7pp-progress-fill {
	height: 100%; background: linear-gradient(90deg, #6366f1, #8b5cf6); border-radius: 3px;
	transition: width 0.4s ease;
}
.cf7pp-step-indicators {
	display: flex; justify-content: space-between; margin-bottom: 24px; font-size: 0.85em; color: #94a3b8;
}
.cf7pp-step-indicator { padding: 4px 12px; border-radius: 20px; transition: all 0.3s; }
.cf7pp-step-indicator.active { background: #6366f1; color: #fff; font-weight: 600; }
.cf7pp-step-indicator.completed { background: #10b981; color: #fff; }
.cf7pp-step { display: none; animation: cf7ppStepIn 0.4s ease; }
.cf7pp-step-active { display: block; }
@keyframes cf7ppStepIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.cf7pp-step-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
.cf7pp-btn-prev, .cf7pp-btn-next {
	padding: 12px 32px; border: 2px solid #6366f1; border-radius: 8px; font-size: 1em; font-weight: 600; cursor: pointer; transition: all 0.2s;
}
.cf7pp-btn-prev { background: #fff; color: #6366f1; }
.cf7pp-btn-prev:hover { background: #f5f3ff; }
.cf7pp-btn-next { background: #6366f1; color: #fff; border-color: #6366f1; }
.cf7pp-btn-next:hover { background: #4f46e5; transform: translateY(-1px); }
