/* Shared checkout display. V45 supplies the single product-list renderer.
   Only four visual blocks; no delivery, payment or coupon business logic changes. */
body.wb-order-page .wb-order-content > .wb-order-steps {
  box-sizing:border-box;
  background:#fafafa!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:none!important;
  padding:25px 28px 27px!important;
  overflow:visible;
}
body.wb-order-page .wb-order-content > .wb-order-steps > h1 {
  color:#1b1b1b!important;
  font:500 20px/1.4 'Magnet Trial',var(--wb-font-base),sans-serif!important;
  letter-spacing:0;
}
body.wb-order-page .wb-order-steps__list {margin-top:18px;}
body.wb-order-page .wb-order-step__label {
  font:500 12px/1.2 'Magnet Trial',var(--wb-font-base),sans-serif;
  min-height:26px;
  padding:5px 9px;
  border-radius:7px;
}
body.wb-order-page .wb-order-step.is-active:not(.is-complete) .wb-order-step__label {
  background:#1b1b1b;
  color:#fff;
}
body.wb-order-page .wb-order-step__dot {width:30px;height:30px;}
/* Keep the same desktop sidebar width, including pages using individual payment CSS. */
@media (min-width:1200px) {
  body.wb-order-page .wb-order-main > .wb-order-layout {
    grid-template-columns:minmax(0,1fr) 400px!important;
    gap:20px;
  }
}
@media (min-width:992px) and (max-width:1199.98px) {
  body.wb-order-page .wb-order-main > .wb-order-layout {
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:20px;
  }
}
@media (max-width:991.98px) {
  body.wb-order-page .wb-order-main > .wb-order-layout {
    grid-template-columns:minmax(0,1fr)!important;
  }
}
body.wb-order-page .wb-order-sidebar > .wb-order-summary {
  box-sizing:border-box;
  width:100%;min-width:0;max-width:100%;
  padding:20px 24px 14px!important;
  background:#fbfbfb!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
body.wb-order-page .wb-order-sidebar > .wb-order-summary > h2 {
  color:#211d24!important;
  font:600 20px/1.05 'Magnet Trial',var(--wb-font-base),sans-serif!important;
}
/* Product list is owned by V45 and uses exactly one tpl.msCartOrderSidebarOpenPencil.
   No new product-list rules are required here. */
/* Normalize checkout coupon geometry to its existing delivery-step appearance.
   The msShopCodes native .is-active state and original controls own the behavior. */
body.wb-order-page .wb-order-sidebar .msshopcodes [data-msshopcodes-form] {
  position:relative!important;
  display:block!important;
  height:68px!important;
  padding:0!important;
}
body.wb-order-page .wb-order-sidebar .msshopcodes [data-msshopcodes-form] > label {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  box-sizing:border-box;
  width:100%!important;max-width:none!important;
  height:68px!important;min-height:68px!important;
  margin:0!important;padding:0!important;
  transform:none!important;
}
body.wb-order-page .wb-order-sidebar .msshopcodes [data-msshopcodes-form] > label > span:first-of-type:not(.promo-display) {
  position:absolute!important;
  left:8px!important;top:19px!important;right:auto!important;bottom:auto!important;
  width:30px!important;height:30px!important;
  transform:none!important;z-index:2!important;
}
body.wb-order-page .wb-order-sidebar .msshopcodes [data-msshopcodes-input] {
  position:absolute!important;
  inset:0!important;
  width:100%!important;max-width:100%!important;
  height:68px!important;min-height:68px!important;
  box-sizing:border-box!important;
  display:block!important;margin:0!important;
  padding:0 78px 0 42px!important;
  transform:none!important;line-height:68px!important;
  background:transparent!important;z-index:1!important;
}
body.wb-order-page .wb-order-sidebar .msshopcodes [data-msshopcodes-form] :is([data-msshopcodes-apply],[data-msshopcodes-unset]) {
  position:absolute!important;
  top:8px!important;right:8px!important;bottom:auto!important;left:auto!important;
  width:62px!important;min-width:62px!important;max-width:62px!important;
  height:52px!important;min-height:52px!important;max-height:52px!important;
  transform:none!important;margin:0!important;z-index:5!important;
}
body.wb-order-page .wb-order-sidebar .msshopcodes .promo-display {
  left:42px!important;right:78px!important;
  top:50%!important;transform:translateY(-50%)!important;
}
@media (max-width:767.98px) {
  body.wb-order-page .wb-order-content > .wb-order-steps {
    padding:20px 16px!important;
  }
  body.wb-order-page .wb-order-sidebar > .wb-order-summary {
    padding:18px 16px!important;
  }
}
