.gg-checkout-progress { margin: 0 0 32px; clear: both; }
.gg-checkout-progress ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; counter-reset: gg-step; }
.gg-progress-step { position: relative; text-align: center; }
.gg-progress-step::before { content: ""; position: absolute; top: 18px; left: 0; width: 100%; height: 3px; background: #e4e7eb; z-index: 0; }
.gg-progress-step:first-child::before { left: 50%; width: 50%; }
.gg-progress-step:last-child::before { width: 50%; }
.gg-progress-step a { position: relative; z-index: 1; display: inline-flex; flex-direction: column; align-items: center; gap: 7px; color: #667085; font-weight: 600; text-decoration: none; }
.gg-step-number { display: grid; place-items: center; width: 38px; height: 38px; border: 3px solid #e4e7eb; border-radius: 50%; background: #fff; color: #667085; }
.gg-progress-step.is-current::before, .gg-progress-step.is-complete::before { background: #2166b1; }
.gg-progress-step.is-current .gg-step-number, .gg-progress-step.is-complete .gg-step-number { border-color: #2166b1; background: #2166b1; color: #fff; }
.gg-progress-step.is-current a { color: #173f6d; }
.gg-progress-step a[aria-disabled="true"] { cursor: not-allowed; opacity: .65; }
.gg-cart-voucher-notice { margin: 16px 0 0; padding: 16px 18px; border: 1px solid #d7dce2; border-radius: 6px; background: #fff; color: #475467; }
.gg-cart-payment-methods { margin-top: 18px; padding: 18px; border: 1px solid #d7dce2; border-radius: 6px; background: #fff; }
.gg-cart-payment-methods h3 { margin: 0 0 14px; color: #344054; font-size: 16px; font-weight: 600; }
.gg-cart-payment-methods ul { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.gg-cart-payment-methods .gg-payment-icon { display: grid; place-items: center; min-width: 52px; height: 38px; padding: 6px 9px; border: 1px solid #eaecf0; border-radius: 6px; background: #fff; }
.gg-cart-payment-methods .gg-payment-icon > span[aria-hidden="true"] { display: contents; }
.gg-cart-payment-methods img { display: block; width: auto; max-width: 46px; height: 24px; max-height: 24px; margin: 0 !important; }

body.single-product .wd-buy-now-btn {
  display: none !important;
}

.woocommerce-checkout .gg-checkout-stage-controls { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 22px; }
.woocommerce-checkout .gg-stage-next {
  min-width: 150px;
  border-color: #00c800 !important;
  background-color: #00c800 !important;
  color: #fff !important;
}
.woocommerce-checkout .gg-stage-next:hover,
.woocommerce-checkout .gg-stage-next:focus-visible {
  border-color: #009f00 !important;
  background-color: #009f00 !important;
  color: #fff !important;
}
.woocommerce-checkout .gg-stage-next:focus-visible {
  outline: 3px solid rgba(0, 159, 0, .3);
  outline-offset: 3px;
}
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select { border-color: #d92d20 !important; }

body.gg-active-step-2 .woocommerce-billing-fields__field-wrapper > .form-row:not(#billing_email_field):not(#billing_first_name_field):not(#billing_last_name_field),
body.gg-active-step-2 .woocommerce-shipping-fields,
body.gg-active-step-2 .woocommerce-additional-fields,
body.gg-active-step-2 .wd-payment-methods,
body.gg-active-step-2 #payment,
body.gg-active-step-2 .checkout_coupon,
body.gg-active-step-2 .woocommerce-form-coupon-toggle,
body.gg-active-step-3 #billing_email_field,
body.gg-active-step-3 #billing_first_name_field,
body.gg-active-step-3 #billing_last_name_field,
body.gg-active-step-3 .woocommerce-account-fields,
body.gg-active-step-3 .wd-payment-methods,
body.gg-active-step-3 #payment,
body.gg-active-step-3 .checkout_coupon,
body.gg-active-step-3 .woocommerce-form-coupon-toggle,
body.gg-active-step-4 .woocommerce-billing-fields,
body.gg-active-step-4 .woocommerce-shipping-fields,
body.gg-active-step-4 .woocommerce-additional-fields,
body.gg-active-step-4 .gg-checkout-stage-controls { display: none !important; }

@media (min-width: 1025px) {
  .woocommerce-checkout .wd-order-table,
  .woocommerce-checkout #order_review {
    position: static !important;
    top: auto;
  }

  .woocommerce-checkout .e-con:has(> .wd-order-table) {
    position: sticky;
    top: 24px;
    align-self: flex-start;
  }
}

@media (max-width: 767px) {
  .gg-checkout-progress { overflow-x: auto; padding-bottom: 8px; }
  .gg-checkout-progress ol { min-width: 600px; }
  .gg-step-label { font-size: 12px; }
  .woocommerce-checkout .gg-checkout-stage-controls { align-items: stretch; flex-direction: column; }
  .woocommerce-checkout .gg-stage-next { width: 100%; }
}

body.woocommerce-checkout .wd-shipping-progress-bar {
  clear: both;
  margin-top: 28px !important;
}

@media (max-width: 1024px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total {
    align-items: flex-start;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total small.includes_tax {
    display: block;
    margin-top: 6px;
    line-height: 1.4;
    white-space: normal;
  }

}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
