/* ===== Multi-step contact form (light theme) ===== */

.form-step { display: none; }
.form-step.active {
    display: block;
    animation: stepFade .35s ease;
}
@keyframes stepFade {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Step dots */
.step-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.step-dot {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: #cbd5e1;              /* slate-300 */
    transition: width .3s, background .3s;
}
.step-dot.active,
.step-dot.completed {
    background: linear-gradient(135deg, #2563eb, #06b6d4);
}
.step-dot.active { width: 36px; }

.form-error {
    display: none;
    margin-top: 6px;
    font-size: 12px;
    color: #ef4444;
}
.form-group.error .form-error { display: block; }
.form-group.error .form-input { border-color: #ef4444; }

/* Inputs */
.form-input { transition: border-color .2s, box-shadow .2s; }
.form-input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
