.checkout-steps {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 22px 0 32px;
  border-bottom: 1px solid #dce5eb;
  margin-bottom: 30px;
}
.checkout-steps > span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #74848e;
  font-size: 14px;
}
.checkout-steps b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e9eef1;
}
.checkout-steps .active {
  color: #124c70;
  font-weight: 700;
}
.checkout-steps .active b {
  background: #124c70;
  color: white;
}
.checkout-steps .done b {
  background: #dff1e7;
  color: #146c43;
}
.checkout-page .product-navigation-row,
.checkout-page .utility-navigation {
  display: none;
}
.checkout-page .cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 32px;
  align-items: start;
}
.checkout-page .checkout-main {
  min-width: 0;
}
.checkout-page #checkout {
  display: block;
}
.checkout-page #checkout[hidden] {
  display: none;
}
.checkout-summary {
  position: sticky;
  top: 20px;
}
.checkout-summary > h2 {
  font-size: 25px;
}
.checkout-summary .summary-line {
  gap: 12px;
}
.checkout-summary .total {
  font-size: 22px;
}
.checkout-summary button {
  width: 100%;
  margin-top: 18px;
}
.checkout-main .cart-item {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 25px 0;
}
.checkout-main .cart-item .checkout-item-image {
  width: 80px;
  height: 90px;
  object-fit: contain;
  border-radius: 8px;
  background: #f2f5f7;
}
.checkout-main .cart-item > div {
  min-width: 0;
}
.checkout-main .cart-item > .price {
  font-size: 19px;
  white-space: nowrap;
}
.checkout-main .cart-item > .cart-quantity {
  grid-column: 2;
  max-width: 200px;
  margin: 0;
}
.checkout-main .cart-item > [data-remove] {
  grid-column: 3;
  grid-row: 2;
  padding: 8px 15px;
}
.cart-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
  font-size: 13px;
}
.text-button {
  background: none;
  color: #124c70;
  padding: 0;
  font-size: 13px;
}
.cart-job {
  font-weight: 650;
  color: #466273;
}
.checkout-address,
.checkout-payment {
  background: white;
  padding: 28px;
  border: 1px solid #dce5eb;
  border-radius: 14px;
}
.checkout-address > h2,
.checkout-payment > h2 {
  margin-top: 0;
}
.checkout-address input,
.checkout-address select,
.checkout-payment select {
  min-height: 46px;
}
.checkout-address .profile-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.checkout-address .billing-panel {
  margin: 24px 0;
}
.checkout-payment .payment-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid #dce5eb;
  padding-bottom: 15px;
  margin: 20px 0;
}
.payment-tabs button {
  background: #edf3f6;
  color: #124c70;
}
.payment-tabs button[aria-pressed="true"] {
  background: #124c70;
  color: white;
}
.checkout-address-review {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 25px 0;
}
.checkout-address-review > section {
  border: 1px solid #dce5eb;
  border-radius: 10px;
  padding: 18px;
}
.checkout-address-review h3 {
  font-size: 16px;
  margin-top: 0;
}
.checkout-payment button[data-final-checkout] {
  display: block;
  width: 100%;
  margin-top: 22px;
}
.checkout-payment button[data-checkout-back] {
  margin-top: 22px;
}
.checkout-payment #checkout-document-preview article {
  padding: 18px;
  margin: 18px 0;
}
.checkout-payment .bank-preview,
.bank-payment {
  padding: 20px;
  background: #f2f6f8;
  border-radius: 10px;
}
.bank-copy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.bank-copy-grid input {
  font-size: 14px;
}
.bank-copy-grid label {
  min-width: 0;
}
.order-checkout-summary {
  background: #f2f6f8;
  padding: 20px;
  margin: 20px 0;
  border-radius: 10px;
}
.order-checkout-summary strong {
  font-size: 26px;
}
.order-checkout-nav {
  margin-bottom: 22px;
}
.order-checkout-nav button[aria-pressed="true"] {
  background: #124c70;
  color: white;
}
.order-files-heading {
  grid-column: 1/-1;
}
.design-choice {
  border: 1px solid #dce5eb;
  border-radius: 10px;
  padding: 18px;
  margin: 20px 0;
}
.cart-added-dialog {
  padding: 0;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  width: min(750px, calc(100vw - 32px));
  max-height: 85dvh;
  overflow: auto;
  color: #193847;
  box-shadow: 0 20px 70px #0003;
}
.cart-added-dialog::backdrop {
  background: #12233199;
}
.cart-added-dialog header {
  padding: 22px 28px;
  background: #edf8f1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #146c43;
  font-size: 21px;
}
.cart-added-dialog header button {
  background: transparent;
  color: #536b79;
  padding: 6px;
}
.cart-added-content {
  display: flex;
  gap: 24px;
  align-items: center;
  padding: 28px;
}
.cart-added-content img {
  width: 130px;
  height: 130px;
  object-fit: contain;
}
.cart-added-content h2 {
  font-size: 24px;
  margin-top: 0;
}
.cart-added-content p {
  font-size: 14px;
  line-height: 1.7;
}
.cart-added-dialog > .actions {
  padding: 0 28px 28px;
  justify-content: flex-end;
}
.cart-added-dialog .actions > * {
  text-align: center;
}
.checkout-page [hidden] {
  display: none !important;
}
@media (max-width: 900px) {
  .checkout-page .cart-layout {
    grid-template-columns: 1fr;
  }
  .checkout-summary {
    position: static;
    order: 2;
  }
  .checkout-steps {
    gap: 14px;
    justify-content: flex-start;
    overflow-x: auto;
  }
  .checkout-steps > span {
    flex-shrink: 0;
    font-size: 12px;
    gap: 6px;
  }
  .checkout-address-review {
    grid-template-columns: 1fr;
  }
  .checkout-address,
  .checkout-payment {
    padding: 20px;
  }
}
@media (max-width: 550px) {
  .checkout-steps {
    gap: 10px;
    padding-bottom: 20px;
  }
  .checkout-steps > span {
    flex-direction: column;
    text-align: center;
    min-width: 70px;
    font-size: 11px;
  }
  .checkout-steps b {
    width: 26px;
    height: 26px;
  }
  .checkout-main .cart-item {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
  }
  .checkout-main .cart-item .checkout-item-image {
    width: 60px;
    height: 75px;
  }
  .checkout-main .cart-item > .price {
    grid-column: 2;
  }
  .checkout-main .cart-item > [data-remove] {
    grid-column: 2;
    grid-row: auto;
    justify-self: start;
  }
  .checkout-main .cart-item > .cart-quantity {
    grid-column: 2;
  }
  .checkout-address .profile-field-row {
    grid-template-columns: 1fr;
  }
  .bank-copy-grid {
    grid-template-columns: 1fr;
  }
  .cart-added-content {
    padding: 20px;
    gap: 15px;
  }
  .cart-added-content img {
    width: 80px;
    height: 100px;
  }
  .cart-added-content h2 {
    font-size: 20px;
  }
  .cart-added-dialog header {
    font-size: 18px;
    padding: 18px;
  }
  .cart-added-dialog > .actions {
    padding: 0 20px 20px;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
}
.checkout-page .header-search {
  display: none;
}
.checkout-page .header-main {
  padding-top: 18px;
  padding-bottom: 18px;
}
.checkout-page .bank-payment[hidden] {
  display: none;
}
.checkout-page .checkout-main .cart-item .cart-row-actions button {
  border-radius: 0;
}
.order-checkout-nav ~ .ops-grid[hidden] {
  display: none;
}

/* v20: heading must not consume one column in the auto-fit item grid. */
.checkout-page .ops-grid {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}
.checkout-page .order-files-heading {
  grid-column: 1/-1;
}
.checkout-page .ops-card {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.checkout-page .order-progress {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.checkout-page .order-progress li {
  flex: 1;
  min-width: 100px;
}
.checkout-page .design-choice {
  padding: 20px;
  background: #f3f7fa;
  border-radius: 10px;
  margin: 16px 0;
}
.checkout-page .design-choice textarea {
  min-height: 140px;
}
.checkout-page [data-file] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 22px;
  background: white;
  border: 2px dashed #b9cbd8;
  border-radius: 10px;
}
.checkout-page .ops-card details > label {
  display: block;
  margin: 16px 0;
}
.checkout-page .ops-card input,
.checkout-page .ops-card textarea,
.checkout-page .ops-card select {
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .checkout-page .order-progress li {
    font-size: 12px;
    min-width: 70px;
  }
  .checkout-page .design-choice {
    padding: 14px;
  }
}
.checkout-reward,.checkout-bank-benefit{padding:20px;border-radius:12px;margin:18px 0;border:1px solid #c9e8d2;background:#edf9ef;color:#17532b;overflow-wrap:anywhere}
.checkout-reward strong,.checkout-bank-benefit strong{display:block;font-size:27px;line-height:1.25;margin:9px 0;font-weight:800}
.checkout-reward small,.checkout-bank-benefit small{display:block;line-height:1.6}
.checkout-bank-benefit{background:#edf8fd;border-color:#bde5f6;color:#124c70}
.checkout-bank-benefit p{margin:9px 0}.checkout-bank-benefit button{margin-top:8px}
.bank-saving-badge{display:inline-block;margin-left:8px;padding:4px 7px;border-radius:6px;background:#dff4e4;color:#17532b;font-size:12px}
.checkout-paytr-inline{border:1px solid #dce5eb;background:#fff;border-radius:12px;padding:20px;margin-bottom:22px;scroll-margin-top:20px}
.checkout-paytr-inline h2{font-size:21px}.checkout-paytr-inline .paytr-frame{width:100%;min-height:850px;border:0;background:white}
.checkout-page .payment-tabs{flex-wrap:wrap}
@media(max-width:600px){.checkout-reward strong,.checkout-bank-benefit strong{font-size:25px}.checkout-paytr-inline{padding:10px}.checkout-paytr-inline .paytr-frame{min-height:950px}}
.checkout-consent{background:#f6f9fb;border:1px solid #dce5eb;border-radius:12px;padding:20px;margin:20px 0}
.checkout-consent h3{margin:0 0 14px}.checkout-consent label{display:block;margin:16px 0;line-height:1.65}
.checkout-consent [name=acceptPolicy]{width:20px;height:20px;vertical-align:middle;accent-color:#124c70}
.checkout-consent [data-consent-hint]{font-size:14px;margin-bottom:0}
.checkout-consent [name=marketingConsent]{accent-color:#124c70}
