/* Estilos para a Barra de Progresso Dinâmica */

.step-item {
    transition: all 0.5s ease;
}

/* Estado Ativo: Onde o usuário está agora */
.step-item.active .step-circle {
    border-color: #5F95CF !important; /* obr-blue */
    color: #5F95CF !important;
    background-color: rgba(95, 149, 207, 0.05);
    box-shadow: 0 0 15px rgba(95, 149, 207, 0.2);
}

.step-item.active .step-label {
    color: #5F95CF !important;
    font-weight: 600;
}

/* Estado Concluído: Seção validada */
.step-item.done .step-circle {
    background-color: #84C54F !important; /* obr-green */
    border-color: #84C54F !important;
    color: white !important;
    box-shadow: 0 0 20px rgba(132, 197, 79, 0.4);
    transform: scale(1.1);
}

.step-item.done .step-label {
    color: #84C54F !important;
    font-weight: 700;
}

/* Animação do Ícone de Check */
.step-circle svg {
    animation: scaleIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes scaleIn {
    from {
        transform: scale(0) rotate(-20deg);
        opacity: 0;
    }
    to {
        transform: scale(1) rotate(0);
        opacity: 1;
    }
}

/* Linha de Progresso */
#progress-line {
    transition: width 0.8s cubic-bezier(0.65, 0, 0.35, 1);
    box-shadow: 0 0 10px rgba(132, 197, 79, 0.3);
}

/* Glow sutil para o passo ativo */
@keyframes pulse-blue {
    0% { box-shadow: 0 0 0 0 rgba(95, 149, 207, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(95, 149, 207, 0); }
    100% { box-shadow: 0 0 0 0 rgba(95, 149, 207, 0); }
}

.step-item.active .step-circle {
    animation: pulse-blue 2s infinite;
}
