.success-progress { padding: 28px 42px; border-top: 1px solid var(--line); }
.success-progress h2,.order-tracking h2,.order-history h2 { margin: 0 0 18px; font-size: 18px; }
.order-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.order-progress li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--muted); text-align: center; font-size: 13px; }
.order-progress li:not(:last-child)::after { position: absolute; height: 2px; top: 18px; left: calc(50% + 25px); width: calc(100% - 38px); background: var(--line-strong); content: ''; }
.order-step-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); background: var(--surface-soft); font-weight: 850; }
.order-progress .is-complete { color: var(--brand-dark); }
.order-progress .is-complete .order-step-number { color: #fff; background: var(--brand); border-color: var(--brand); }
.order-progress .is-complete:not(:last-child)::after { background: var(--brand); }
.order-progress .is-current .order-step-number { box-shadow: 0 0 0 5px var(--brand-pale); }
.order-progress small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.order-progress.compact { margin: 22px 0; }
.order-tracking,.order-history { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--line); }
.order-tracking dl { display: grid; gap: 10px; margin: 0 0 20px; }
.order-tracking dl div { display: flex; flex-wrap: wrap; gap: 12px; }
.order-tracking dt { min-width: 64px; color: var(--muted); font-size: 13px; }
.order-tracking dd { margin: 0; font-weight: 750; overflow-wrap: anywhere; }
.order-timeline { display: grid; gap: 18px; list-style: none; padding: 0; margin: 0; }
.order-timeline li { position: relative; display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 14px; padding-left: 17px; font-size: 13px; }
.order-timeline li::before { position: absolute; left: 0; top: 5px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); content: ''; }
.order-timeline time,.order-timeline p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.order-timeline p { margin: 5px 0 0; overflow-wrap: anywhere; }
.order-page-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.orders-page { max-width: 1080px; }
.customer-orders { display: grid; gap: 20px; }
.customer-order-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.customer-order h2 { margin: 0; font-size: 19px; overflow-wrap: anywhere; }
.customer-order-head .eyebrow { margin-bottom: 7px; }
.customer-order-head p.meta { margin: 7px 0 0; }
.customer-order-title { margin: 22px 0 0; font-weight: 750; line-height: 1.5; }
.order-status-label { flex: 0 0 auto; display: inline-flex; padding: 8px 12px; border-radius: 999px; color: var(--brand-dark); background: var(--brand-pale); font-size: 12px; font-weight: 850; }
.order-link-card { margin-top: 28px; }
.order-link-card h2 { margin: 0 0 10px; font-size: 20px; }
.order-number-card h2 { margin: 0 0 10px; font-size: 20px; }
.order-number-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) auto; align-items: end; gap: 12px; margin-top: 18px; }
.order-code-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: start; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.order-code-form[hidden] { display: none; }
.order-code-form > button { margin-top: 26px; }
#order-code { letter-spacing: 4px; font-size: 18px; max-width: 280px; }
#order-number-alert .notice,#order-code-alert .notice { margin-top: 16px; }
.remembered-orders-section { margin-top: 36px; }
.remembered-orders-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.remembered-orders-heading h2 { margin: 0 0 10px; font-size: 20px; }
.remembered-orders-heading .meta { max-width: 570px; line-height: 1.7; }
.remembered-orders-heading .page-actions { flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }
.order-link-card summary { cursor: pointer; font-weight: 750; font-size: 17px; }
.order-link-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; margin-top: 18px; }
#order-link-alert .notice { margin-top: 16px; }
@media(max-width:650px) {
  .success-progress { padding: 26px 25px; }
  .order-progress { gap: 5px; }
  .order-progress li { font-size: 11px; }
  .order-progress small { font-size: 9px; }
  .order-timeline li { grid-template-columns: 1fr; gap: 5px; }
  .customer-order-head { flex-direction: column; }
  .order-link-form { grid-template-columns: 1fr; }
  .order-number-form,.order-code-form { grid-template-columns: 1fr; }
  .order-code-form > button { margin-top: 0; }
  .remembered-orders-heading { flex-direction: column; }
  .remembered-orders-heading .page-actions { justify-content: flex-start; }
  .order-page-actions .btn { flex: 1 1 auto; }
}
@media(max-width:360px) {
  .site-header .header-inner { width:calc(100% - 20px); gap:8px; }
  .site-header .brand { gap:7px; flex-shrink:0; white-space:nowrap; }
  .site-header .brand-mark { width:32px; height:32px; border-radius:10px; }
  .site-header .brand-copy strong { font-size:13px; }
  .site-header .main-nav { gap:1px; flex-shrink:0; }
  .site-header .nav-link { padding:8px 5px; font-size:12px; white-space:nowrap; }
  .site-header .cart-link { gap:6px; padding-left:8px; }
}
