/* Etapas compartidas entre consulta y resultado. */
.portal-theme .payment-steps {background: var(--color-surface); padding: var(--space-12); border-radius: var(--radius-lg); box-shadow: var(--portal-shadow); margin-bottom: var(--page-gap);}
.portal-theme .payment-steps ol {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-16); list-style: none; margin: 0; padding: 0;}
.portal-theme .payment-steps button, .portal-theme .payment-steps a {display: flex; gap: var(--space-12); align-items: center; width: 100%; min-height: var(--step-height); padding: var(--space-12) var(--space-14); border: 0; border-radius: var(--control-radius); background: var(--color-surface); font-size: var(--text-body); color: var(--color-muted); text-decoration: none; text-align: left;}
.portal-theme .payment-steps [aria-current="step"] {background: var(--color-active-bg); color: var(--brand-primary); font-weight: 700;}
.portal-theme .payment-steps__number {display: grid; place-items: center; width: var(--step-indicator-size); height: var(--step-indicator-size); flex: 0 0 var(--step-indicator-size); border-radius: 50%; background: var(--color-surface-soft);}
.portal-theme [aria-current="step"] .payment-steps__number {color: white; background: var(--brand-primary);}
.portal-theme .payment-steps button:disabled {cursor: default;}
.portal-theme .payment-steps [data-complete="true"] .payment-steps__number {font-size: 0; background: url('../../img/portal/complete.svg') center no-repeat;}
@media (max-width: 860px) {
    .portal-theme .payment-steps {padding: var(--space-8); margin-bottom: var(--space-20);}
    .portal-theme .payment-steps ol {gap: var(--space-4);}
    .portal-theme .payment-steps button, .portal-theme .payment-steps a {flex-direction: column; text-align: center; padding: var(--space-8) var(--steps-mobile-inline-padding); font-size: var(--text-xs); height: 100%; gap: var(--space-6);}
}
