/* Wizard Steps - Counter & Progress Line */
.c_steps { counter-reset: step; }
.c_steps::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 10%;
    right: 10%;
    height: 3px;
    background: var(--white3);
}
.c_step-icon {
    counter-increment: step;
}
.c_step-icon::before {
    content: counter(step);
}
.c_step.completed .c_step-icon::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

/* Panel Animation */
.c_panel { display: none; animation: c_fadeIn 0.4s ease; }
.c_panel.active { display: block; }
@keyframes c_fadeIn {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Validation Shake */
.c_input-warning {
    border-color: var(--error) !important;
    animation: c_shake 0.4s ease;
}
@keyframes c_shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Success Checkmark Animation */
.c_checkmark {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    display: block;
}
.c_checkmark-circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke: var(--success-soft);
    fill: none;
    animation: c_stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.c_checkmark-check {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: c_stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}
@keyframes c_stroke { 100% { stroke-dashoffset: 0; } }

/* Upload Preview Toggle */
.c_upload-box.c_has-file .c_upload-preview { display: inline-block !important; }
.c_upload-box.c_has-file .c_upload-placeholder { display: none; }