/* Shared checkout progress: connected markers and clear step labels. */
ol.checkout-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:14px 10px 13px; border:1px solid #e0e8e2; border-radius:18px; background:#fff; }
.checkout-progress .order-step { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-width:0; color:#87948e; font-size:11px; font-weight:600; line-height:1.3; white-space:normal; text-align:center; }
.checkout-progress .order-step:not(:first-child)::before { content:''; position:absolute; top:14px; left:calc(-50% + 20px); width:calc(100% - 40px); height:2px; border-radius:2px; background:#e8eeea; }
.checkout-progress .order-step-number { position:relative; width:29px; height:29px; border:1px solid #e0e8e3; border-radius:10px; background:#f7f9f7; color:#94a197; font-size:11px; font-weight:700; }
.checkout-progress .order-step-number svg { width:15px; height:15px; stroke-width:2; }
.checkout-progress .order-step-label { max-width:100%; padding:0 3px; overflow-wrap:anywhere; }
.checkout-progress .order-step.is-current { color:#24343c; font-weight:750; }
.checkout-progress .order-step.is-current .order-step-number { background:#24343c; border-color:#24343c; color:#fff; box-shadow:0 3px 8px #24343c12; }
.checkout-progress .order-step.is-complete { color:#56745f; }
.checkout-progress .order-step.is-complete .order-step-number { background:#eaf2ec; border-color:#d8e6dc; color:#52705c; }
.checkout-progress .order-step.is-current::before, .checkout-progress .order-step.is-complete::before { background:#a9c5b1; }
