.steps-bar {
    counter-reset: step;
    justify-content: center;
}

.step {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
}

.step-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.step-link.is-disabled {
    pointer-events: none;
    opacity: 0.85;
}

.step-inner {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
}

.step-index,
.step-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e9ecef;
    color: #6c757d;
    flex: 0 0 34px;
}

.step-text h6 {
    font-size: 0.95rem;
}

.step-text p {
    font-size: 0.75rem;
    opacity: 0.85;
}

/* Estados */
.step.is-active {
    background: #e7f5ef;
    border-color: #a6e3c5;
}

.step.is-active .step-index {
    background: #39d76d;
    color: #fff;
    gap: 0 !important;
}
.step.is-done .step-index {
    background: black;
    color: #fff;
    gap: 0 !important;
}

/* Mobile: SOLO el paso activo muestra texto (título y desc) */
@media (max-width: 991.98px) {
    .step:not(.is-active) .step-text {
        display: none;
    }

    .steps-bar {
        gap: 0.5rem;
    }
}

/* Desktop: mostrar subtítulos en todos */
@media (min-width: 992px) {
    .step .step-text p {
        display: block;
    }
}

/* Hover solo en clickeables (anteriores/actual) */
.step-link:not(.is-disabled):hover .step-inner {
    background: #eef8f2;
    border-radius: 12px;
}
