.cart-order-rewards {
  display: block;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 16px;
  margin-block-end: 20px;
  color: #252820;
  font-family: var(--sort-body-font);
  background: #eaf1ec;
  border: 1px solid #dce4d4;
  border-radius: 10px;
}

.cart-order-rewards p,
.cart-order-rewards h3 { margin: 0; }
.cart-order-rewards__row { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.cart-order-rewards__eyebrow { color: #264d3b; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.cart-order-rewards__title { margin-block-start: 3px !important; color: #264d3b; font-size: 16px; line-height: 1.25; }
.cart-order-rewards__divider { height: 1px; margin-block: 14px; background: rgba(31, 42, 35, .16); }
.cart-order-rewards__goal[hidden],
.cart-order-rewards__divider[hidden] { display: none; }

.cart-order-rewards__picker { position: relative; flex: 0 0 auto; }
.cart-order-rewards__change { color: #264d3b; font-size: 12px; font-weight: 650; cursor: pointer; list-style: none; border-bottom: 1px solid currentColor; }
.cart-order-rewards__change::-webkit-details-marker { display: none; }
.cart-order-rewards__picker-panel { position: absolute; z-index: 12; inset-block-start: calc(100% + 8px); inset-inline-end: 0; width: min(310px, calc(100vw - 48px)); box-sizing: border-box; padding: 12px; background: #fff; border: 1px solid rgba(38, 77, 59, .22); border-radius: 9px; box-shadow: 0 14px 32px rgba(31, 42, 35, .18); }
.cart-order-rewards__picker-title { margin-block-end: 9px !important; color: #264d3b; font-size: 12px; font-weight: 700; }
.cart-order-rewards__picker-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.cart-order-rewards__picker-options button { position: relative; display: grid; gap: 2px; min-width: 0; min-height: 55px; padding: 8px 24px 8px 9px; color: inherit; font-family: inherit; text-align: start; cursor: pointer; background: #fff; border: 1px solid rgba(38, 77, 59, .2); border-radius: 7px; }
.cart-order-rewards__picker-options button.is-selected { color: #264d3b; background: #eaf1ec; border-color: #264d3b; }
.cart-order-rewards__picker-options strong { font-size: 13px; }
.cart-order-rewards__picker-options span { font-size: 10px; line-height: 1.25; }
.cart-order-rewards__picker-options i { position: absolute; inset-block-start: 8px; inset-inline-end: 8px; display: none; color: #264d3b; font-style: normal; font-weight: 800; }
.cart-order-rewards__picker-options button.is-selected i { display: block; }
.cart-order-rewards__picker-clear { display: block; width: fit-content; padding: 0; margin: 10px 0 0 auto; color: #264d3b; font: inherit; font-size: 11px; cursor: pointer; background: transparent; border: 0; border-bottom: 1px solid currentColor; }

.cart-order-rewards__goal-primary { margin-block-start: 9px !important; color: #264d3b; font-size: 14px; font-weight: 700; line-height: 1.35; }
.cart-order-rewards__goal-secondary,
.cart-order-rewards__goal-empty { margin-block-start: 6px !important; font-size: 12px; line-height: 1.35; }
.cart-order-rewards__goal-track { height: 4px; margin-block-start: 7px; overflow: hidden; background: #d6ddd7; border-radius: 999px; }
.cart-order-rewards__goal-track span { display: block; width: 0; height: 100%; background: #264d3b; border-radius: inherit; transition: width 180ms ease; }

.cart-order-rewards__track { position: relative; height: 6px; margin: 15px 7px 0; background: #d7dfd1; border-radius: 999px; }
.cart-order-rewards__track > span { display: block; width: 0; height: 100%; background: #264d3b; border-radius: inherit; transition: width 180ms ease; }
.cart-order-rewards__track b { display: contents; }
.cart-order-rewards__track i { position: absolute; inset-block-start: 50%; width: 13px; height: 13px; background: #fff; border: 2px solid #aab8a5; border-radius: 50%; transform: translate(-50%, -50%); }
.cart-order-rewards__track i.is-reached { background: #264d3b; border-color: #264d3b; box-shadow: 0 0 0 3px #eaf1ec; }
.cart-order-rewards__labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-block-start: 7px; color: #646b63; font-size: 9px; font-weight: 700; text-align: center; }
.cart-order-rewards__labels span { min-width: 0; white-space: nowrap; }
.cart-order-rewards__status { margin-block-start: 10px !important; font-size: 14px; line-height: 1.4; text-align: center; }
.cart-order-rewards__status [data-order-perks-current] { font-weight: 700; }
.cart-order-rewards__next { margin-block-start: 3px !important; font-size: 12px; font-weight: 500; }
.cart-order-rewards__applied { margin-block-start: 7px !important; color: #264d3b; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.cart-order-rewards__applied .jinbao-applied-discount__money { margin-inline-start: 3px; }
.cart-order-rewards__applied .jinbao-applied-discount__title { display: block; margin-block-start: 2px; color: #646b63; font-size: 11px; font-weight: 500; }
.cart-order-rewards .itrans-money { white-space: nowrap; }
.cart-order-rewards__details { margin-block-start: 9px; border-top: 1px solid rgba(31, 42, 35, .14); }
.cart-order-rewards__details summary { padding-block: 10px 2px; font-size: 12px; font-weight: 700; cursor: pointer; }
.cart-order-rewards__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 0; margin: 8px 0 0; list-style: none; }
.cart-order-rewards__steps li { display: grid; gap: 2px; min-width: 0; padding: 8px; background: rgba(255, 255, 255, .64); border: 1px solid rgba(31, 42, 35, .12); border-radius: 6px; opacity: .66; }
.cart-order-rewards__steps li.is-unlocked { border-color: #699476; opacity: 1; }
.cart-order-rewards__steps strong { font-size: 12px; }
.cart-order-rewards__steps span { font-size: 10px; line-height: 1.3; }
.cart-order-rewards__checkout-note { margin-block-start: 8px !important; color: #646b63; font-size: 11px; line-height: 1.4; }

@media (min-width: 960px) {
  .cart-order-rewards { padding: 22px; }
  .cart-order-rewards__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cart-order-rewards__labels { font-size: 10px; }
}
