/* Figma-aligned One Page Checkout layout. All rules are intentionally scoped. */
body#module-supercheckout-supercheckout #velsof_supercheckout_form {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body#module-supercheckout-supercheckout #supercheckout-fieldset,
body#module-supercheckout-supercheckout #supercheckout-columnleft {
  min-width: 0;
}

body#module-supercheckout-supercheckout #supercheckout-columnleft[data-customer-logged="1"]
  #columnleft-1 > .supercheckout-blocks:first-child {
  display: none !important;
}

body#module-supercheckout-supercheckout #columnleft-1,
body#module-supercheckout-supercheckout #columnleft-2,
body#module-supercheckout-supercheckout #columnleft-3 {
  min-height: 0 !important;
  padding: 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-2 > [id^="column-"]:empty {
  display: none !important;
}

body#module-supercheckout-supercheckout #columnleft-1 > .supercheckout-blocks,
body#module-supercheckout-supercheckout #columnleft-2 > .supercheckout-blocks,
body#module-supercheckout-supercheckout #columnleft-3 > .supercheckout-blocks {
  width: 100%;
  margin: 0 0 24px !important;
}

body#module-supercheckout-supercheckout #supercheckout-columnleft h2,
body#module-supercheckout-supercheckout #supercheckout-columnleft .section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 34px;
  margin: 0 0 16px !important;
  padding: 8px 14px !important;
  border: 0 !important;
  border-left: 3px solid #2f7eaa !important;
  background: #f3f3f3 !important;
  color: #20282d !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-transform: uppercase;
}

body#module-supercheckout-supercheckout #supercheckout-columnleft h2 i {
  margin-left: 12px;
  color: #20282d;
  font-size: 13px;
}

body#module-supercheckout-supercheckout #checkoutShippingAddress > ul,
body#module-supercheckout-supercheckout #checkoutBillingAddress > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#module-supercheckout-supercheckout #checkoutShippingAddress .supercheckout-extra-wrap.radio,
body#module-supercheckout-supercheckout #checkoutBillingAddress .supercheckout-extra-wrap.radio {
  margin: 0 0 12px;
}

body#module-supercheckout-supercheckout #shipping-existing select,
body#module-supercheckout-supercheckout #payment-existing select {
  width: 100% !important;
  height: 34px !important;
  margin: 0 !important;
  border: 1px solid #d5d9dc !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body#module-supercheckout-supercheckout .actionAddress {
  display: flex !important;
  gap: 24px;
  width: 100%;
  margin: 18px 0 !important;
}

body#module-supercheckout-supercheckout .actionAddress .btn {
  display: inline-flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 28px;
  margin: 0 !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 2px !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 16px !important;
  text-align: center;
}

body#module-supercheckout-supercheckout .actionAddress .kb_edit_btn {
  background: #f4b249 !important;
}

body#module-supercheckout-supercheckout .actionAddress .kb_delete_btn {
  background: #df5353 !important;
}

body#module-supercheckout-supercheckout .supercheckout_address_detail {
  margin: 0 4px 16px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 11px;
  line-height: 14px;
}

body#module-supercheckout-supercheckout .supercheckout_address_detail .card-body {
  padding: 0 !important;
}

body#module-supercheckout-supercheckout #shipping-method ul {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight {
  position: relative;
  min-height: 82px;
  margin: 0 !important;
  padding: 12px 12px 28px !important;
  border: 1px solid #dfe3e4;
  border-radius: 0;
  background: #fff;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight:has(input:checked) {
  border-color: #63c977;
  background: #eef9f1;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight .radio {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  margin: 0 !important;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight .radio > input {
  grid-column: 1;
  grid-row: 1;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight label {
  display: grid;
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
}

body#module-supercheckout-supercheckout #shipping-method li.highlight label img {
  display: block;
  grid-column: 1;
  width: 60px !important;
  height: 34px !important;
  max-width: 60px !important;
  margin: 0 !important;
  object-fit: contain;
  object-position: center;
}

body#module-supercheckout-supercheckout #shipping-method .figma-carrier-name {
  grid-column: 2;
  min-width: 0;
  color: #20282d;
  font-weight: 500;
  line-height: 16px;
  overflow-wrap: anywhere;
}

body#module-supercheckout-supercheckout #shipping-method .shippingPrice {
  grid-column: 3;
  justify-self: end;
  margin-left: 0;
  color: #20282d;
  font-weight: 600;
  white-space: nowrap;
}

body#module-supercheckout-supercheckout #shipping-method .shippingInfo {
  position: absolute;
  right: 12px;
  bottom: 8px;
  margin: 0 !important;
  text-align: right;
  white-space: nowrap;
}

body#module-supercheckout-supercheckout #shipping-method table.radio {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr td {
  padding: 10px 8px !important;
  border-top: 1px solid #dfe3e4;
  border-bottom: 1px solid #dfe3e4;
  background: #fff;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr td:first-child {
  border-left: 1px solid #dfe3e4;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr td:last-child {
  border-right: 1px solid #dfe3e4;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr:has(input:checked) td {
  border-top-color: #63c977;
  border-bottom-color: #63c977;
  background: #eef9f1;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr:has(input:checked) td:first-child {
  border-left-color: #63c977;
}

body#module-supercheckout-supercheckout #shipping-method table.radio tr:has(input:checked) td:last-child {
  border-right-color: #63c977;
}

body#module-supercheckout-supercheckout #payment-method .payment-options {
  display: grid;
  gap: 8px;
}

body#module-supercheckout-supercheckout #payment-method .figma-payment-card {
  overflow: hidden;
  width: 100%;
  border: 1px solid #dfe3e4;
  background: #fff;
}

body#module-supercheckout-supercheckout #payment-method .figma-payment-card:has(input[name="payment-option"]:checked) {
  border-color: #63c977;
  background: #eef9f1;
}

body#module-supercheckout-supercheckout #payment-method .payment-option-item,
body#module-supercheckout-supercheckout #payment-method .payment-option {
  width: 100%;
  margin: 0 !important;
}

body#module-supercheckout-supercheckout #payment-method .payment-option {
  position: relative;
  min-height: 46px;
  padding: 0 42px 0 12px !important;
}

body#module-supercheckout-supercheckout #payment-method .payment-option .radio {
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 0 !important;
}

body#module-supercheckout-supercheckout #payment-method .payment-option label {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0 !important;
  padding: 0 0 0 28px !important;
  font-size: 12px;
}

body#module-supercheckout-supercheckout #payment-method .payment-option::after {
  position: absolute;
  top: 50%;
  right: 14px;
  color: #20282d;
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-size: 10px;
  font-weight: 900;
  transform: translateY(-50%);
}

body#module-supercheckout-supercheckout #payment-method .figma-payment-card:has(input[name="payment-option"]:checked)
  .payment-option::after {
  content: "\f077";
}

body#module-supercheckout-supercheckout #payment-method .js-additional-information,
body#module-supercheckout-supercheckout #payment-method .js-payment-option-form {
  margin: 0 !important;
  padding: 0 26px 14px !important;
  border: 0 !important;
  background: transparent !important;
}

body#module-supercheckout-supercheckout #payment-method .js-payment-option-form input[type="text"],
body#module-supercheckout-supercheckout #payment-method .js-payment-option-form input[type="tel"] {
  width: 100% !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .confirmCheckoutBack,
body#module-supercheckout-supercheckout #columnleft-3 .opc_shoppingcart {
  width: 100%;
  margin: 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-3 #kb_cart_summary_free_shipping h3 {
  margin: 0 0 6px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 15px !important;
}

body#module-supercheckout-supercheckout #columnleft-3 #confirmCheckout .cart_list_item {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) 72px;
  grid-template-rows: auto auto;
  gap: 8px 8px;
  width: 100% !important;
  min-height: 105px;
  margin: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #e3e5e6;
}

body#module-supercheckout-supercheckout #columnleft-3 #confirmCheckout .cart_list_item::before,
body#module-supercheckout-supercheckout #columnleft-3 #confirmCheckout .cart_list_item::after,
body#module-supercheckout-supercheckout #columnleft-3 #confirmCheckout .clear-mobile-div {
  display: none !important;
  content: none !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .Cart-product-Image {
  grid-column: 1;
  grid-row: 1;
  width: 100% !important;
  padding: 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .Cart-product-Image img {
  width: 60px !important;
  height: 60px !important;
  margin: 0 auto;
  object-fit: contain;
}

body#module-supercheckout-supercheckout #columnleft-3 .shopping-cart-description {
  grid-column: 2 / 4;
  grid-row: 1;
  width: 100% !important;
  padding: 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .shopping-cart-description .product-title {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  line-height: 16px !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .shopping-product-price {
  grid-column: 1;
  grid-row: 2;
  width: 100% !important;
  padding: 0 !important;
  font-size: 10px;
  text-align: left !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .quantity-section {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  padding: 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-3 .productTotalSection {
  grid-column: 3;
  grid-row: 2;
  width: 100% !important;
  padding: 0 !important;
  font-size: 10px;
  text-align: right !important;
}

body#module-supercheckout-supercheckout #columnleft-3 #supercheckout_voucher_input_row {
  margin: 16px 0 !important;
}

body#module-supercheckout-supercheckout #columnleft-3 #supercheckout-comments,
body#module-supercheckout-supercheckout #columnleft-3 #placeorderButton {
  width: 100%;
}

body#module-supercheckout-supercheckout #columnleft-3 #supercheckout_confirm_order {
  width: 100% !important;
  min-height: 34px;
  border-radius: 0 !important;
}

@media (min-width: 992px) {
  body#module-supercheckout-supercheckout #velsof_supercheckout_form {
    max-width: 865px !important;
    padding: 0 !important;
  }

  body#module-supercheckout-supercheckout #supercheckout-fieldset {
    padding: 0 !important;
  }

  body#module-supercheckout-supercheckout #supercheckout-columnleft {
    padding: 0 15px 40px !important;
  }

  body#module-supercheckout-supercheckout #supercheckout-columnleft > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 440px) minmax(0, 330px);
    grid-template-rows: auto auto;
    column-gap: 65px;
    align-items: start;
    margin: 0 !important;
  }

  body#module-supercheckout-supercheckout #supercheckout-columnleft > .row > .col-lg-4,
  body#module-supercheckout-supercheckout #supercheckout-columnleft > .row > .parent-three-column {
    display: contents !important;
  }

  body#module-supercheckout-supercheckout #columnleft-1 {
    grid-column: 1;
    grid-row: 1;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body#module-supercheckout-supercheckout #columnleft-2 {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body#module-supercheckout-supercheckout #columnleft-3 {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 991px) {
  body#module-supercheckout-supercheckout #velsof_supercheckout_form,
  body#module-supercheckout-supercheckout #supercheckout-fieldset,
  body#module-supercheckout-supercheckout #supercheckout-columnleft {
    width: 100% !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  body#module-supercheckout-supercheckout #supercheckout-columnleft > .row,
  body#module-supercheckout-supercheckout #supercheckout-columnleft > .row > div {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body#module-supercheckout-supercheckout #columnleft-1,
  body#module-supercheckout-supercheckout #columnleft-2,
  body#module-supercheckout-supercheckout #columnleft-3 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
  }

  body#module-supercheckout-supercheckout .actionAddress {
    gap: 10px;
  }
}

