.main-check-progress-header-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  font-family: "Brown Regular", Sans-serif;
}

.entry {
  margin: 0px !important;
  padding-bottom: 60px;
}

.entry .elementor-section.elementor-section-boxed>.elementor-container {
  max-width: inherit;
  padding: 0px;
}

.entry .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
  padding: 0px;
}

.entry .elementor-widget.elementor-widget-heading {
  display: none;
}

.entry .container,
.page-template .container {
  max-width: 1420px;
  margin: auto;
  padding: 0px 30px;
}

/* Checkout Footer */
.checkout_footer {
  display: flex;
  justify-content: end;
}

.progress-bar-wrapper {
  flex: 1;
}

.progress-bar {
  width: 100%;
  height: 8px;
  background-color: #e0e0e0;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 5px;
}

.progress-bar-fill {
  width: 50%;
  height: 100%;
  background-color: #4a90e2;
  transition: width 0.3s ease;
}

.cart-total {
  font-size: 16px;
  color: #333;
}


.main-check-progress-header {
  background: #F7F7FC;
  padding: 30px 15px;
  position: relative;
  max-width: 100%;
}

.main-check-progress-header ul.list-nav {
  display: flex;
  align-items: center;
  margin: 0px;
  list-style: none;
  padding: 0px;
}

.main-check-progress-header ul.list-nav li {
  font-style: normal;
  font-weight: normal;
  font-family: "Brown Bold", Sans-serif;
  font-size: 16px;
  line-height: 16px;
  color: #0082D5;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: center;
  margin-right: 10px;
}

.main-check-progress-header ul.list-nav li span {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 8.33px;
  width: 20px;
  height: 20px;
  background: #A0A3BD;
  border-radius: 20px;
  font-style: normal;
  font-weight: normal;
  font-family: "Brown Bold", Sans-serif;
  font-size: 10px;
  line-height: 10px;
  color: #F4F4F4;
  text-align: center;
  justify-content: center;
}

.main-check-progress-header ul.list-nav li.active span {
  background: #49db7c;
}

.main-check-progress-header-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.main-check-progress-header .progress-bar {
  position: absolute;
  bottom: 0;
  left: 0px;
  border-radius: 0px;
  margin: 0px;
  background-color: transparent;
}

.main-check-progress-header .progress-bar-fill {
  background: #0082D5 !important;
  width: 100%;
}


/* Container for the order summary */
.sf2_order_summary {

  margin: 20px 0;
  padding: 0px 15px;
}

.sf2_order_summary .row-order {
  margin: 0px -15px;
  display: flex;
  flex-wrap: wrap;
}

.sf2_order_summary .row-order .col-order.col-left {
  width: 57%;
  padding: 0px 10px;
}

.sf2_order_summary .row-order .col-order.col-right {
  width: 43%;
  padding: 0px 10px;
}
span.regular-price-striked span.woocommerce-Price-amount.amount bdi {
    text-decoration: line-through;
}
.sf2_left_checkout_status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 50px 20px;
  background: #DEF5D9;
  margin-bottom: 20px;
  border-radius: 10px;
}

.sf2_left_checkout_status.empty-block {
  background: #FFEBEE;
}

.sf2_left_checkout_status .sf2_checkout_status_body {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 60px 0px 65px;
  flex-wrap: wrap;
  gap: 10px;
}

.sf2_left_checkout_status .sf2_checkout_status_body .right-icon {
  width: 83px;
  height: 83px;
  background-image: url(right.png);
  background-repeat: no-repeat;
  background-position: center;
}

.sf2_checkout_status_footer {

  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 5px 16px;
  gap: 30px;
  background: #BEEBB4;
  border-radius: 5px;
  margin: 0px auto;
}

.sf2_checkout_status_footer span {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 6px;
  border-radius: 2px;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 22px;
  font-family: "Brown Regular", Sans-serif;
  color: #465060;
}

.sf2_left_checkout_status.empty-block .sf2_checkout_status_footer {
  background-color: #EF5350;
}

.sf2_left_checkout_status.empty-block .sf2_checkout_status_footer span {
  color: #fff;
}

.btn.btn-shopping {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 17px 32px;
  gap: 10px;
  border: 1px solid #E73137;
  border-radius: 40px;
  font-weight: 400;
  font-size: 16px;
  line-height: 15px;
  color: #E73137;
  font-family: "Brown Regular", Sans-serif;
  margin-right: 10px;
}

.btn.btn-shopping path {
  fill: transparent;
}

.sf2_left_checkout_status.missing-block {
  /* Frame 66927 */
  background: #FFF2D9;
}

.sf2_left_checkout_status.missing-block .sf2_checkout_status_heading h2 {
  color: #AD6F0B;
}

.sf2_left_checkout_status.missing-block .sf2_checkout_status_footer {
  background: #FFE18D;
}

.sf2_left_checkout_status.missing-block .btn.btn-shopping {
  border: 1px solid #AD6F0B;
  color: #AD6F0B;
}

/* Right side (cart summary) should take up 40% */
.sf2_right_cart_summary {
  padding: 32px;
  background: #F7F7FC;
  box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.03);
  border-radius: 10px;
}

/* Adjust headings within the left side */
.sf2_left_checkout_status .sf2_checkout_status_heading {
  text-align: center;
  width: 100%;
}

.sf2_left_checkout_status .sf2_checkout_status_heading h2 {
  /* Your Package is now Ready! */
  font-family: "Brown Bold", Sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 32px;
  line-height: 45px;
  color: #4ADB7B;
  margin: 0px 0px 0px;
}

.sf2_left_checkout_status .sf2_checkout_status_heading p {
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 26px;
  color: #4E4B66;
  margin: 0px;
  font-family: "Brown Light", Sans-serif;
}

.sf2_left_checkout_status.empty-block .sf2_checkout_status_heading h2 {
  color: #E73137;
}

/* Styles for the cart items */
.sf2_cart_item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.sf2_cart_item_image {
  flex: 0 0 60px;
  margin-right: 15px;
}

.sf2_cart_item_details {
  flex-grow: 1;
}

.sf2_cart_item_price {
  flex-shrink: 0;
  text-align: right;
  font-weight: bold;
}

/* Divider between categories */
.sf2_category_divider {
  border-bottom: 1px solid #ddd;
  margin: 20px 0;
}

/* Cart summary heading and clear button */
.sf2_summary_heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #D9DBE9;


}

.sf2_right_cart_summary p {
  margin: 0px;
}

.sf2_right_cart_summary br {
  display: none;
}

.sf2_right_cart_summary p:empty {
  display: none;
}

.sf2_summary_heading h4 {
  font-style: normal;
  font-weight: normal;
  font-size: 20px;
  line-height: 24px;
  color: #0082D5;
  font-family: "Brown Bold", Sans-serif;
  margin: 0px;
}

.sf2_summary_heading_clear {
  cursor: pointer;
  padding: 0px;
  background-color: transparent;
  border: none;
}

.sf2_summary_body h4 {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  color: #465060;
  margin: 0px 0px 20px;
  font-family: "Brown Bold", Sans-serif;
}

.edit-btn {
  padding: 0px;
  background: transparent;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #4E4B66;
  display: flex;
  gap: 5px;
  width: 16px;
  overflow: hidden;
  text-align: left;
  align-items: center;
  transition: width 0.5s ease-in-out;
  font-family: "Brown Regular", Sans-serif;
}

.edit-btn path {
  fill: transparent;
}

.sf2_summary_body .sf2_cart_item_details h2 {
  /* Extended display cable */
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  color: #465060;
  margin: 0px 0px 15px;
  font-family: "Brown Regular", Sans-serif;
}

.sf2_summary_body .sf2_cart_item_details>div {
  display: flex;
  gap: 10px;
  width: 100%;
  justify-content: space-between;
}

.sf2_summary_body .sf2_cart_item_details>div.sf2_cart_item_attributes {
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0px;
}



.sf2_summary_body .sf2_cart_item_details>div.sf2_cart_item_attributes .attribute-cart {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.sf2_summary_body .sf2_cart_item_details>div.sf2_cart_item_attributes .attribute-cart span {
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  font-family: "Brown Light", Sans-serif;
  color: #465060;


}

.sf2_summary_body .sf2_cart_item_details>div.sf2_cart_item_attributes span.attribute-value {
  font-family: "Brown Bold", Sans-serif;
}

.sf2_summary_body h4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.edit-btn svg {
  min-width: 16px;
}

.edit-btn:hover {
  width: 51px;
  transition: width 0.5s ease-in-out;
}

.next_step_button,
.back_button {
  border-radius: 40px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 12px 32px;
  gap: 10px;
  border-radius: 40px;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  background: transparent;
  color: #54657E !important;
  border: 1px solid #54657E;
}

@media(max-width:991px) {

  .main-check-progress-header .cart-total span {
    font-size: 18px;
  }

  .main-check-progress-header .cart-total strong {
    font-size: 14px;
  }
}

@media(max-width:767px) {


  .main-check-progress-header ul.list-nav li label {
    display: none;
  }

  .main-check-progress-header ul.list-nav li.active span {
    background: #0082d5;
  }

  .main-check-progress-header .progress-bar {
    height: 4px;
  }

  .main-check-progress-header ul.list-nav li {
    margin: 0px 0px 3px;
    gap: 3px;
  }

  .main-check-progress-header .cart-total strong {
    display: none;
  }

  .main-check-progress-header {
    padding: 15px 0px;
  }

  .product-gallery-slider-tum {
    height: auto;
  }

  .product-gallery-slider-tum .slick-slide {
    width: 106px !important;
    height: 94px;
    margin: 0px 15px 0px 0px;
  }

  .checkout-footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    justify-content: center;
    padding: 15px 0px;
    margin: 0px -15px;
  }

  .checkout-wrapper {
    padding: 0px;
  }

  .add-hardware-button,
  .back-button,
  .next-step-button {

    padding: 10px 15px;
    gap: 5px;
    font-size: 14px;
    min-width: 147px;
  }

  .product-gallery-slider-full .product-gallery-slider-item {
    height: auto;
  }



}

.sf2_order_summary .row-order .col-order.col-right .summary_footer {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0px;
}

.sf2_order_summary .row-order .col-order.col-right .summary_footer .back_button {
  width: 53%;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 15px;
  background: linear-gradient(47.4deg, #54657E 9.59%, #374355 83.12%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.checkout_footer {
  width: 100%;
  gap: 30px;
}

.sf2_order_summary .row-order .col-order.col-right .summary_footer .next_step_button {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 13px 32px;
  gap: 10px;
  background: linear-gradient(90deg, #E73E44 0%, #FF686D 100%);
  border-radius: 40px;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: normal;
  color: #fff !important;
  border: none;
  text-decoration: none;
  font-family: "Brown Regular", Sans-serif !important;
}

.sf2_order_summary .row-order .col-order.col-right .summary_footer .next_step_button path {
  fill: transparent;
}

.sf2_summary_body p {
  font-size: 14px;
  margin: 0px;
  font-family: "Brown Bold", Sans-serif;
}

.sf2_cart_item_price span.wmc-wc-price,
.sf2_cart_item_price .amount {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Light", Sans-serif;

}

.sf2_summary_body .sf2_cart_item_details h2 span {
  font-family: "Brown Light", Sans-serif;
}

.add-hardware-button:hover,
.back-button:hover {
  background: #EFF0F6;
  border-color: #EFF0F6;
  color: #465060 !important;
  text-decoration: none !important;
}

.next-step-button:hover,
.next-step-button:focus {
  background: #E73137;
  text-decoration: none !important;
}


.checkout.woocommerce-checkout h3 {
  font-style: normal;
  font-weight: normal;
  font-size: 32px;
  color: #465060;
  font-family: "Brown Bold", Sans-serif;
  margin: 0px 0px 20px;

}

h3#order_review_heading {
  display: none !important;
}

.checkout.woocommerce-checkout p:empty {
  display: none;
}

.sf2_cart_item_price {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Bold", Sans-serif;
}

.checkout.woocommerce-checkout br {
  display: none;
}

.woocommerce-billing-fields__field-wrapperall,
.col-2 .woocommerce-checkout-review-order {
  margin: 0px;
  padding: 0px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-family: "Brown Regular", Sans-serif !important;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 120%;
  color: #465060 !important;
  margin-bottom: 10px;
}

span.woocommerce-input-wrapper {
  margin-bottom: 20px !important;
  display: block;
}

.woocommerce form .form-row .input-text,
.woocommerce-page form .form-row .input-text {
  border: none !important;
  padding: 14px 24px !important;
  height: 48px !important;
  background: #F7F7FC !important;
  color: #6E7191 !important;
  border-radius: 10px !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  font-family: "Brown light", Sans-serif !important;
}

@media (max-width:991px) {

  .sf2_order_summary .row-order .col-order.col-left,
  .sf2_order_summary .row-order .col-order.col-right {
    width: 100%;
  }

  .border-dotted svg {
    max-width: 100%;
  }

  .sf2_left_checkout_status .sf2_checkout_status_body {
    align-items: center;
    justify-content: center;
    padding: 20px 0px;
  }

  .sf2_checkout_status_body {}

  .border-dotted svg {
    max-width: 100%;
  }

  .sf2_left_checkout_status .sf2_checkout_status_body {
    align-items: center;
    justify-content: center;
    padding: 20px 0px;
  }

  .sf2_left_checkout_status {
    padding: 20px 10px;
  }

  .border-dotted {
    display: none;
  }

  .sf2_left_checkout_status .sf2_checkout_status_heading h2 {
    font-size: 22px;
  }

  .sf2_left_checkout_status .sf2_checkout_status_heading p {
    font-size: 14px;
    line-height: normal;
  }

  .sf2_left_checkout_status .sf2_checkout_status_body .right-icon {
    width: 33px;
    height: 33px;
    background-size: contain;
  }

  .sf2_checkout_status_footer {
    gap: 5px;
    padding: 5px 5px;
  }

  .sf2_checkout_status_footer span {
    font-size: 11px;
  }

  .entry .container,
  .page-template .container {
    padding: 0px 15px;
  }

  .sf2_order_summary {
    margin: 20px 0;
    padding: 0px 0px;
  }

  .sf2_right_cart_summary {
    padding: 24px;
  }

  .sf2_summary_heading {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
}

.sf2_cart_total_summary {
  display: flex;
  align-items: center;
  border-top: 1px solid #ddd;
  padding-top: 20px;
  justify-content: space-between;
}

.sf2_cart_total_summary span.woocommerce-Price-amount.amount {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Regular", Sans-serif;
}

.billing-details-os h4 {
  /* Order Summary */
  font-family: "Brown Bold", Sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 24px;
  color: #0082D5;
  margin: 0px 0px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}

.billing-details-os h4 button {
  background: transparent;
  padding: 0px;
}

.billing-details-os {
  padding: 20px 10px;
}

.billing-details-os .price-total {
  /* Total */
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Light", Sans-serif;
}

.billing-details-os .price-total .amount {
  /* $ 1,569.9 */
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Bold", Sans-serif;
}

.billing-details-os {
  display: none;
}

@media (max-width:768px) {
  .billing-details-os {
    display: block;
  }

  body.woocommerce-checkout {
    padding-bottom: 151px;
  }

  .summary_footer.billing-details-footer {
    position: fixed;
    background-color: #fff;
    border-top: 1px solid #D9DBE9;
    margin: 0px 0px;
    padding-bottom: 10px;
    padding: 0px 0px 10px !important;
    bottom: 0;
    z-index: 100000;
    left: 0;
    right: 0;
  }

  .billing-details-os {
    border-bottom: 1px solid #ddd;
    margin-bottom: 14px;
    padding: 15px 15px;
  }
/*
  .woocommerce-checkout .sf2_right_cart_summary {
    position: fixed;
    bottom: -120%;
    width: 100%;
    left: 0;
    z-index: 100;
    height: calc(80vh - 161px);
    overflow: scroll;
  }
*/
  .woocommerce-checkout .sf2_right_cart_summary {
    position: fixed;
    bottom: -120%;
    width: 100%;
    left: 0;
    z-index: 100;
    height: calc(80vh - 161px);
    overflow: scroll;
    background: #fff; /* Optional for visibility */
    
    /* Animate transform and opacity for smooth effect */
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.woocommerce-checkout .sf2_right_cart_summary.open {
    top: 97px;
    height: calc(100vh - 220px);
	/* Slide up effect */
    transform: translateY(0);
    opacity: 1;
}
#details-btn .btn-after {
    display: none;
}

#details-btn.active .btn-before {
    display: none;
}

#details-btn.active .btn-after {
    display: inline;
}
  .sf2_right_cart_summary.active-card {
    bottom: 145px;
  }

  body.active-card:before {
    content: "";
    height: 100%;
    width: 100%;
    background: #00000069;
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
  }

  .main-check-progress-header {
    position: sticky;
    top: 70px !important;
    z-index: 1000;
  }

  button.btn.toggle-os svg.btn-after {
    display: none;
  }

  body.active-card button.btn.toggle-os svg.btn-after {
    display: block;
  }

  body.active-card svg.btn-before {
    display: none;
  }

  button.btn.toggle-os {
    width: 30px;
    height: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.sf2_shipping_price,
.sf2_taxes_price,
.sf2_discount_price {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sf2_shipping_price h5,
.sf2_taxes_price h5,
.sf2_discount_price h5 {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  color: #465060;
  margin: 0px;
  font-family: "Brown Bold", Sans-serif;
}


.sf2_shipping_price,
.sf2_taxes_price,
.sf2_discount_price {
  margin: 0px 0px 20px;
}

.sf2_shipping_price p,
.sf2_taxes_price p,
.sf2_discount_price p {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 120%;
  color: #465060;
  font-family: "Brown Bold", Sans-serif;
}

.sf2_right_cart_summary .sf2_category_divider {
  border: none;
}

.sf2_cart_item_attributes {
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  color: #465060;
  margin: 0px 0px 15px;
  font-family: "Brown Light", Sans-serif;
}

.sf2_cart_item_attributes span.woocommerce-Price-amount.amount {
  font-family: "Brown Light", Sans-serif;
}

@media(max-width:767px) {

  body .woocommerce-shipping-fields #shipping_city_field,
  body .woocommerce-shipping-fields #shipping_country_field,
  body .woocommerce-shipping-fields #shipping_state_field,
  body .woocommerce-shipping-fields p#shipping_postcode_field {
    width: 100% !important;
  }
}

/* Coupon Section Styling */
.sf2_coupon_section {
  background: #F7F7FC;
  padding: 15px 0px;
  border-radius: 8px;
  margin-top: 20px;
  opacity: 1;
}

.sf2_coupon_input_wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}

.sf2_coupon_section input {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #D9DBE9;
  border-radius: 8px;
  font-size: 16px;
  background: #fff;
}

.sf2_coupon_section .apply_coupon_btn {
  /* Primary Button */
  box-sizing: border-box;

  /* Auto layout */
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  gap: 10px;
  border-radius: 40px;

  /* Inside auto layout */
  flex: none;
  order: 1;
  flex-grow: 0;
  background-color: transparent;
  color: #374355;
  border: 1px solid #374355;
  font-size: 15px;
  min-width: 150px;
}

.sf2_coupon_section .remove_coupon_btn {
  background: linear-gradient(90deg, #E73E44 0%, #FF686D 100%);
  color: #fff;
  padding: 8px 15px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  display: block;
  margin-top: 10px;
}

.sf2_coupon_discount {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #0082D5;
}

.sf2_coupon_message {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  color: #E73137;
}

/* Mobile Responsive */
@media (max-width: 767px) {
  .sf2_coupon_input_wrapper {
    flex-direction: column;
  }

  .sf2_coupon_section .apply_coupon_btn {
    width: 100%;
    text-align: center;
  }
}

input#sf2_coupon_code {
  /* Frame 417 */
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 14px 24px;
  gap: 10px;
  width: 248px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 50px;
  flex: none;
  order: 0;
  flex-grow: 0;
  font-family: "Brown Regular", Sans-serif !important;
  font-style: normal;
  font-weight: 400;
  color: #000;
  opacity: 1;
}

input#sf2_coupon_code::placeholder {
  color: #000;
  opacity: 1;
  /* Firefox */
}

input#sf2_coupon_code::-ms-input-placeholder {
  /* Edge 12 -18 */
  color: #000;
}

.sf2_coupon_section .apply_coupon_btn:hover {
  background: #374355;
  color: #fff;
}

.cl-x-ear {
  display: flex;
  align-items: center;
  color: #4E4B66;

}

.cl-x-ear span {
  padding-left: 4px;
  font-size: 14px;
}
#sf2_coupon_code.disabled,
#sf2_apply_coupon.disabled {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}
/* Style for the original price (strikethrough) */
.regular-price-striked {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  margin-right: 8px;
  font-weight: normal;
  vertical-align: middle;
}

.regular-price-striked .woocommerce-Price-amount {
  text-decoration: line-through;
  color: #d9534f !important;
}

.regular-price-striked .woocommerce-Price-currencySymbol {
  color: #d9534f !important;
}

/* Style for the discounted price */
.sf2_cart_item_price span {
  font-size: 18px;
  color: #465060;
  font-weight: 400 !important;
  vertical-align: middle;
  font-family: 'Brown Regular';
}
span.regular-price-striked span {
    font-family: 'Brown Light' !important;
}
/* Style for the discount message (Software Discount Applied) */
.sf2_discount_message small {
	display: block;
	font-size: 12px;
	color: #888;
	margin-top: 4px;
	font-style: normal;
	font-weight: 400;
	line-height: 120%;
	font-family: 'Brown Light';
}
span.woocommerce-Price-amount.amount bdi {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
/* ============================================================
   SF2CS — two-step checkout (billing-details)
   Everything is gated on body.sf2cs-js, which the step script
   adds only on the checkout page. No JS = page renders exactly
   as before (single page, both blocks visible).
   ============================================================ */
.sf2cs-steps { display: none; align-items: center; gap: 14px; margin: 0 0 24px; }
body.sf2cs-js .sf2cs-steps { display: flex; }
.sf2cs-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #A0A3BD; text-decoration: none; }
.sf2cs-chip:hover { color: #6E7191; }
.sf2cs-chip .sf2cs-dot { width: 24px; height: 24px; border-radius: 50%; background: #EFF0F6; color: #6E7191; font-size: 12.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
body.sf2cs-js:not(.sf2cs-pay) .sf2cs-chip-address,
body.sf2cs-js.sf2cs-pay .sf2cs-chip-pay { color: #2E4454; font-weight: 700; }
body.sf2cs-js:not(.sf2cs-pay) .sf2cs-chip-address .sf2cs-dot,
body.sf2cs-js.sf2cs-pay .sf2cs-chip-pay .sf2cs-dot { background: #0082D5; color: #fff; }

/* Step visibility */
body.sf2cs-js .sf2cs-step-pay-wrap { display: none; }
body.sf2cs-js.sf2cs-pay .sf2cs-step-pay-wrap { display: block; }
body.sf2cs-js.sf2cs-pay .sf2cs-step-address-wrap { display: none; }
body.sf2cs-js.sf2cs-pay #customer_details .col-12 h3 { display: none !important; }

/* Step 1: no confirm footer in the rail, tax amount replaced by the pending chip */
body.sf2cs-js:not(.sf2cs-pay) #order_review .billing-details-footer { display: none; }
body.sf2cs-js .sf2_coupon_section_text { display: none; }
.sf2cs-tax-pending { display: none; font-style: normal; font-size: 12px; color: #A0A3BD; background: #F7F7FC; padding: 3px 10px; border-radius: 10px; }
body.sf2cs-js:not(.sf2cs-pay) .sf2_taxes_price > .woocommerce-Price-amount { display: none; }
body.sf2cs-js:not(.sf2cs-pay) .sf2cs-tax-pending { display: inline-block; }
.sf2cs-before-tax { display: none; font-style: normal; font-size: 12px; color: #A0A3BD; margin-right: auto; padding-left: 6px; }
body.sf2cs-js:not(.sf2cs-pay) .sf2cs-before-tax { display: inline; }

/* Step 1: continue row */
.sf2cs-continue-row { display: none; align-items: center; gap: 18px; margin: 28px 0 8px; flex-wrap: wrap; }
body.sf2cs-js .sf2cs-continue-row { display: flex; }
#sf2cs_continue.next_step_button { display: inline-flex; align-items: center; gap: 10px; }
.sf2cs-note { font-size: 13px; color: #A0A3BD; }

/* Step 2: heading + collapsed address card + confirm slot */
.sf2cs-pay-title { margin: 0 0 20px; }
.sf2cs-addr-card { display: flex; align-items: flex-start; gap: 14px; background: #FBFBFD; border: 1px solid #EFF0F6; border-radius: 10px; padding: 16px 20px; margin: 0 0 24px; }
.sf2cs-addr-card > svg { flex-shrink: 0; margin-top: 2px; }
.sf2cs-addr-body { flex: 1 1 auto; min-width: 0; }
.sf2cs-addr-head { margin: 0; font-weight: 700; color: #2E4454; font-size: 14px; }
.sf2cs-addr-text { margin: 4px 0 0; color: #6E7191; font-size: 13.5px; line-height: 1.5; overflow-wrap: break-word; }
#sf2cs_edit_address { color: #0082D5; font-size: 13.5px; text-decoration: underline; white-space: nowrap; }
#sf2cs_confirm_slot .billing-details-footer { padding-top: 22px; }
/* .billing-details-os (summary toggle + total) already hides on desktop via the
   base rule and is the mobile total bar — leave it alone in the slot. */

/* Coupon: collapsed behind a link while the step UI is active */
.sf2cs-coupon-toggle { display: none; }
body.sf2cs-js .sf2cs-coupon-toggle { display: inline-block; font-size: 13.5px; color: #0082D5; text-decoration: underline; margin: 4px 0 10px; }
body.sf2cs-js .sf2_coupon_section.coupon { display: none; }
body.sf2cs-js .sf2_coupon_section.coupon.sf2cs-open { display: block; }

/* Mobile: sticky continue bar on step 1, roomy hit targets */
@media (max-width: 767px) {
  body.sf2cs-js:not(.sf2cs-pay) .sf2cs-continue-row { position: sticky; bottom: 0; z-index: 30; background: #fff; margin: 20px -15px 0; padding: 12px 15px 14px; box-shadow: 0 -6px 20px rgba(46, 68, 84, 0.08); }
  #sf2cs_continue.next_step_button { width: 100%; justify-content: center; min-height: 48px; }
  .sf2cs-steps { flex-wrap: wrap; gap: 10px; }
  .sf2cs-addr-card { flex-wrap: wrap; }
}

/* SF2CS: once AvaTax has priced the address (tax > 0), show the real amount and
   drop the pending chip / before-taxes hint — whichever step we are on. */
body.sf2cs-js.sf2cs-taxed .sf2_taxes_price > .woocommerce-Price-amount { display: inline; }
body.sf2cs-js.sf2cs-taxed .sf2cs-tax-pending,
body.sf2cs-js.sf2cs-taxed .sf2cs-before-tax { display: none; }

/* SF2CS: the confirm footer moves out of the rail on step 2, so the rail-scoped
   gradient selector (.sf2_order_summary ... .summary_footer .next_step_button)
   no longer matches — restyle it in its new home. */
#sf2cs_confirm_slot .next_step_button { display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 14px 32px; gap: 10px; background: linear-gradient(90deg, #E73E44 0%, #FF686D 100%); border-radius: 40px; font-size: 16px; line-height: 15px; color: #fff !important; border: none; width: 100%; box-sizing: border-box; }
#sf2cs_confirm_slot .next_step_button.disabled { opacity: 0.5; cursor: not-allowed; }
#sf2cs_confirm_slot .next_step_button path { stroke: #fff; }
#sf2cs_confirm_slot .sf2_privacy_policy_checkbox { margin: 4px 0 14px; }

/* SF2CS: express wallets (Stripe ECE) live inside the Review & pay step, above the
   card box. Heading + divider appear only when Stripe actually mounts a wallet
   button (.sf2cs-has-express, set by the step script) — no orphaned "or pay with
   card" in browsers without Apple/Google Pay. Stripe's own "— OR —" separator is
   replaced by ours. */
#sf2cs_express_wrap { margin: 0 0 6px; }
.sf2cs-express-head { display: none; margin: 0 0 10px; font-weight: 700; color: #2E4454; font-size: 16px; }
#sf2cs_express_wrap.sf2cs-has-express .sf2cs-express-head { display: block; }
#sf2cs_express_wrap #wc-stripe-express-checkout-element { margin-top: 0 !important; }
#sf2cs_express_wrap #wc-stripe-express-checkout-button-separator { display: none !important; }
.sf2cs-express-divider { display: none; align-items: center; gap: 14px; margin: 18px 0 16px; }
#sf2cs_express_wrap.sf2cs-has-express .sf2cs-express-divider { display: flex; }
.sf2cs-express-divider span { flex: 1 1 auto; height: 1px; background: #EFF0F6; }
.sf2cs-express-divider em { font-style: normal; font-size: 12.5px; color: #A0A3BD; white-space: nowrap; }

/* SF2CS-R: retry notice shown when an update_order_review request fails
   (core has no error branch — without this the shopper gets a dead overlay). */
#sf2cs_ajax_retry { background: rgba(231,62,68,0.08); border: 1px solid rgba(231,62,68,0.35); color: #C22A30; border-radius: 8px; padding: 10px 16px; font-size: 13.5px; margin: 12px 0; }
#sf2cs_ajax_retry a { color: #C22A30; text-decoration: underline; font-weight: 700; margin-left: 8px; }

/* ============================================================
   SF2CS-R2 — checkout refresh (lighter form, visible switch,
   mobile top summary). All gated on body.sf2cs-js.
   ============================================================ */

/* --- Ship-to-different-address: a real, visible switch.
   The parent theme hides the native checkbox and its styled replacement was lost;
   theme pseudo-elements on the label/span also fight anything drawn on the span.
   So: kill every span pseudo and draw the switch on the LABEL, every property
   important, checked state via :has(). --- */
body.sf2cs-js #ship-to-different-address { margin: 4px 0 8px; }
body.sf2cs-js #ship-to-different-address label { position: relative !important; display: inline-block !important; padding: 0 0 0 52px !important; margin: 0 !important; cursor: pointer; font-size: 15px !important; font-weight: 400 !important; line-height: 24px !important; color: #2E4454 !important; min-height: 24px; }
body.sf2cs-js #ship-to-different-address label br { display: none; }
body.sf2cs-js #ship-to-different-address label span { position: static !important; display: inline !important; padding: 0 !important; margin: 0 !important; }
body.sf2cs-js #ship-to-different-address label span::before,
body.sf2cs-js #ship-to-different-address label span::after { content: none !important; display: none !important; }
body.sf2cs-js #ship-to-different-address label::before { content: '' !important; position: absolute !important; left: 0 !important; top: 50% !important; transform: translateY(-50%) !important; width: 40px !important; height: 22px !important; border-radius: 11px !important; background: #D9DBE9 !important; border: none !important; box-shadow: none !important; transition: background 0.2s; }
body.sf2cs-js #ship-to-different-address label::after { content: '' !important; position: absolute !important; left: 3px !important; top: 50% !important; transform: translateY(-50%) !important; width: 16px !important; height: 16px !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important; transition: left 0.2s; }
body.sf2cs-js #ship-to-different-address label:has(input:checked)::before { background: #0082D5 !important; }
body.sf2cs-js #ship-to-different-address label:has(input:checked)::after { left: 21px !important; }

/* --- Lighter form: white bordered inputs, grid pairing, tighter rhythm.
   Grid on the wrapper neutralizes the old float hacks (floats are ignored
   inside grid), and follows DOM order, which WC's address-i18n re-sorts. --- */
body.sf2cs-js .woocommerce-billing-fields__field-wrapper,
body.sf2cs-js .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
body.sf2cs-js .woocommerce-billing-fields__field-wrapper p.form-row,
body.sf2cs-js .woocommerce-shipping-fields__field-wrapper p.form-row { grid-column: span 2; width: 100% !important; float: none !important; margin: 0 0 14px !important; padding: 0; }
body.sf2cs-js .woocommerce-billing-fields__field-wrapper p.form-row-first,
body.sf2cs-js .woocommerce-billing-fields__field-wrapper p.form-row-last,
body.sf2cs-js .woocommerce-shipping-fields__field-wrapper p.form-row-first,
body.sf2cs-js .woocommerce-shipping-fields__field-wrapper p.form-row-last { grid-column: span 1; }
/* visual grouping without headings: contact | name+company | address */
body.sf2cs-js #billing_first_name_field, body.sf2cs-js #billing_country_field { margin-top: 12px !important; }

body.sf2cs-js form.checkout .input-text,
body.sf2cs-js form.checkout select,
body.sf2cs-js form.checkout .select2-container--default .select2-selection--single {
  background: #FFFFFF !important; border: 1px solid #D9DBE9 !important; border-radius: 6px !important;
  min-height: 44px; padding: 10px 14px; box-shadow: none !important; font-size: 15px; color: #465060;
}
body.sf2cs-js form.checkout .select2-container--default .select2-selection--single { display: flex; align-items: center; }
body.sf2cs-js form.checkout .select2-container--default .select2-selection__rendered { line-height: 22px; padding-left: 0; }
body.sf2cs-js form.checkout .select2-container--default .select2-selection__arrow { height: 42px; }
body.sf2cs-js form.checkout .input-text:focus,
body.sf2cs-js form.checkout select:focus { border-color: #0082D5 !important; outline: none; box-shadow: 0 0 0 3px rgba(0,130,213,0.12) !important; }
body.sf2cs-js form.checkout label { font-size: 13px; font-weight: 700; color: #2E4454; margin-bottom: 4px; }
body.sf2cs-js #customer_details .col-12 h3 { font-size: 26px; margin: 0 0 4px; }

/* --- The "whole page refreshes" feeling: WooCommerce blocks the rail/payment
   with a heavy white overlay on every update_order_review. Keep the block
   (it prevents double-submits) but make it visually quiet. --- */
body.sf2cs-js .blockUI.blockOverlay { opacity: 0.08 !important; background: #FFFFFF !important; }

/* --- Mobile: collapsed order summary bar at the top; rail hidden until tapped;
   terms + Confirm inline in Review & pay (no more fixed bottom sheet). --- */
.sf2cs-mobsum { display: none; }
#sf2cs_confirm_slot .billing-details-os { display: none !important; } /* superseded by the top bar */
@media (max-width: 767px) {
  body.sf2cs-js .sf2cs-mobsum { display: flex; align-items: center; justify-content: space-between; width: 100%; background: #F7F7FC; border: 0; border-bottom: 1px solid #EFF0F6; padding: 13px 16px; position: sticky; top: 0; z-index: 40; font-family: inherit; cursor: pointer; }
  body.sf2cs-js .sf2cs-mobsum-label { font-size: 14px; color: #0082D5; display: inline-flex; align-items: center; gap: 8px; }
  body.sf2cs-js.sf2cs-sumopen .sf2cs-mobsum-chev { transform: rotate(180deg); }
  body.sf2cs-js .sf2cs-mobsum-total { font-size: 15px; font-weight: 700; color: #2E4454; }
  body.sf2cs-js #customer_details { display: flex; flex-direction: column; }
  body.sf2cs-js #customer_details .sf2cs-mobsum { order: 1; }
  body.sf2cs-js #customer_details .col-2 { order: 2; display: none; }
  body.sf2cs-js.sf2cs-sumopen #customer_details .col-2 { display: block; border-bottom: 1px solid #EFF0F6; }
  body.sf2cs-js #customer_details .col-12 { order: 3; }
  body.sf2cs-js #customer_details .col-1 { order: 4; }
  /* Step 2: the confirm footer sits inline under the payment box — terms at the
     correct place — instead of the old fixed bottom sheet. */
  body.sf2cs-js #sf2cs_confirm_slot .summary_footer.billing-details-footer { position: static !important; box-shadow: none; border-top: 0; padding: 16px 0 0 !important; margin: 0 !important; }
  body.sf2cs-js.woocommerce-checkout { padding-bottom: 0 !important; } /* was reserved for the fixed sheet */
}

/* SF2CS-R2: select2 computes its inline width at init, before the grid reflow —
   Country/Province rendered collapsed. Force full-width. */
body.sf2cs-js form.checkout .select2-container { width: 100% !important; }

/* SF2CS-R2: native selects size to their content — stretch them like inputs. */
body.sf2cs-js form.checkout select, body.sf2cs-js form.checkout .input-text { width: 100%; }

/* SF2CS-R2: the input wrapper span shrink-wraps, which collapses select2
   (Country/Province rendered ~95px). Make it block-level. */
body.sf2cs-js form.checkout .woocommerce-input-wrapper { display: block; width: 100%; }

/* SF2CS-R2: Checkoutcss sizes city/state/country at 30% and postcode at 166px with
   double-ID specificity (#woocheckout + #field) — collapsed to ~95px inside the new
   grid. Match and beat that specificity; the grid decides widths now. */
body.sf2cs-js #woocheckout .woocommerce-billing-fields__field-wrapper p.form-row#billing_city_field,
body.sf2cs-js #woocheckout .woocommerce-billing-fields__field-wrapper p.form-row#billing_state_field,
body.sf2cs-js #woocheckout .woocommerce-billing-fields__field-wrapper p.form-row#billing_country_field,
body.sf2cs-js #woocheckout .woocommerce-billing-fields__field-wrapper p.form-row#billing_postcode_field,
body.sf2cs-js .woocommerce-shipping-fields #shipping_city_field,
body.sf2cs-js .woocommerce-shipping-fields #shipping_country_field,
body.sf2cs-js .woocommerce-shipping-fields #shipping_state_field,
body.sf2cs-js .woocommerce-shipping-fields #shipping_postcode_field {
  width: 100% !important;
  margin-right: 0 !important;
}

/* SF2CS-R2: the actual winner was the child theme's style.css —
   p#billing_{country,state,city,postcode}_field { width:33% !important }.
   (The #woocheckout rules above never match: no such ancestor on this page.) */
body.sf2cs-js p.form-row#billing_city_field,
body.sf2cs-js p.form-row#billing_state_field,
body.sf2cs-js p.form-row#billing_country_field,
body.sf2cs-js p.form-row#billing_postcode_field,
body.sf2cs-js p.form-row#shipping_city_field,
body.sf2cs-js p.form-row#shipping_state_field,
body.sf2cs-js p.form-row#shipping_country_field,
body.sf2cs-js p.form-row#shipping_postcode_field {
  width: 100% !important;
  margin-right: 0 !important;
}


/* SF2CS-R2: expanded mobile summary — the legacy slide-up panel CSS keeps
   .sf2_right_cart_summary position:fixed at bottom:-120%, so the opened rail was
   invisible. Render it in flow inside the collapsible block. */
@media (max-width: 767px) {
  body.sf2cs-js #customer_details .col-2 { padding: 4px 15px 12px; background: #FFFFFF; }
  body.woocommerce-checkout #customer_details .col-2 .sf2_right_cart_summary {
    position: static !important; bottom: auto !important; left: auto !important;
    height: auto !important; max-height: none !important; width: 100% !important;
    overflow: visible !important; z-index: auto !important; box-shadow: none !important;
    /* the legacy slide-up animation parks it at opacity:0 translateY(100%) */
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}

/* ============================================================
   SF2CS-R3 — desktop alignment + retired field
   ============================================================ */
/* Pair alignment: the group-spacing margin must sit on BOTH fields of a row,
   and rows bottom-align so a pair with a shorter/absent label still lines up. */
body.sf2cs-js #billing_last_name_field,
body.sf2cs-js #billing_state_field { margin-top: 12px !important; }
body.sf2cs-js .woocommerce-billing-fields__field-wrapper,
body.sf2cs-js .woocommerce-shipping-fields__field-wrapper { align-items: start; }
/* intl-tel-input wraps the phone field and shrink-wraps it — stretch it. */
body.sf2cs-js form.checkout .iti { width: 100%; display: block; }
/* Existing-customer checkbox retired (unposted checkbox saves as 'No'). */
body.sf2cs-js #existing_customer_field,
body.sf2cs-js #my-new-field { display: none !important; }

/* SF2CS-R3: the step-1 CTA is the page's primary action — pin the gradient
   (a generic .next_step_button outline rule otherwise wins on this page). */
body.sf2cs-js #sf2cs_continue.next_step_button { background: linear-gradient(90deg, #E73E44 0%, #FF686D 100%) !important; color: #fff !important; border: none !important; border-radius: 40px; padding: 14px 36px; font-size: 16px; }
body.sf2cs-js #sf2cs_continue.next_step_button svg path { stroke: #fff !important; }

/* ============================================================
   SF2CS-R4 - order-summary rail restyle + mobile polish
   (applies to the desktop rail AND the expanded mobile panel)
   ============================================================ */

/* Card */
body.woocommerce-checkout #customer_details .col-2 .row-order { background: #fff; border: 1px solid #EFF0F6; border-radius: 10px; padding: 22px; }

/* Header row */
body.woocommerce-checkout #order_review .sf2_summary_heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 12px; margin: 0 0 4px; border-bottom: 1px solid #EFF0F6; }
body.woocommerce-checkout #order_review .sf2_summary_heading h1, body.woocommerce-checkout #order_review .sf2_summary_heading h2,
body.woocommerce-checkout #order_review .sf2_summary_heading h3, body.woocommerce-checkout #order_review .sf2_summary_heading h4,
body.woocommerce-checkout #order_review .sf2_summary_heading h5, body.woocommerce-checkout #order_review .sf2_summary_heading span:first-child { font-size: 19px !important; font-weight: 700 !important; color: #0082D5 !important; margin: 0 !important; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear { font-size: 12.5px !important; color: #A0A3BD !important; display: inline-flex; align-items: center; gap: 5px; text-decoration: none; white-space: nowrap; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear svg { width: 12px; height: 12px; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear svg path { stroke: #A0A3BD; }

/* Category titles + edit */
body.woocommerce-checkout #order_review .sf2_summary_body h4 { display: flex; align-items: center; justify-content: space-between; font-size: 15px !important; font-weight: 700 !important; color: #2E4454 !important; margin: 14px 0 6px !important; }
body.woocommerce-checkout #order_review .edit-btn { font-size: 12.5px !important; color: #0082D5 !important; display: inline-flex; align-items: center; gap: 4px; font-weight: 400 !important; }
body.woocommerce-checkout #order_review .edit-btn svg { width: 13px; height: 13px; }

/* Cart items */
body.woocommerce-checkout #order_review .sf2_cart_item { display: flex; gap: 12px; align-items: flex-start; padding: 7px 0; }
body.woocommerce-checkout #order_review .sf2_cart_item_image { flex-shrink: 0; }
body.woocommerce-checkout #order_review .sf2_cart_item_image img { width: 52px; height: 44px; object-fit: contain; background: #F7F7FC; border-radius: 6px; padding: 3px; }
body.woocommerce-checkout #order_review .sf2_cart_item_details { flex: 1 1 auto; min-width: 0; }
body.woocommerce-checkout #order_review .sf2_cart_item_details > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
body.woocommerce-checkout #order_review .sf2_cart_item_details h2 { font-size: 13.5px !important; font-weight: 400 !important; color: #2E4454 !important; margin: 0 !important; line-height: 1.45 !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_price { font-size: 13.5px !important; font-weight: 700; color: #2E4454; white-space: nowrap; text-align: right; }
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked { display: block; font-size: 11.5px; font-weight: 400; color: #A0A3BD; }
body.woocommerce-checkout #order_review .sf2_discount_message small { color: #2FA45B; font-size: 11.5px; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes { font-size: 12.5px; color: #A0A3BD; margin-top: 2px; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes .attribute-value { color: #465060; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes span { font-size: 12.5px !important; }

/* Empty-category rows */
body.woocommerce-checkout #order_review .sf2_summary_body p { font-size: 13px; color: #6E7191; margin: 4px 0; }
body.woocommerce-checkout #order_review .sf2_summary_body p a { font-size: 13px; }

/* Dividers */
body.woocommerce-checkout #order_review .sf2_category_divider { border: 0; height: 1px; background: #EFF0F6; margin: 12px 0; }

/* Money rows */
body.woocommerce-checkout #order_review .sf2_discount_price,
body.woocommerce-checkout #order_review .sf2_shipping_price,
body.woocommerce-checkout #order_review .sf2_taxes_price { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0; }
body.woocommerce-checkout #order_review .sf2_discount_price h5,
body.woocommerce-checkout #order_review .sf2_shipping_price h5,
body.woocommerce-checkout #order_review .sf2_taxes_price h5 { font-size: 13.5px !important; font-weight: 400 !important; color: #465060 !important; margin: 0 !important; }
body.woocommerce-checkout #order_review .sf2_shipping_price .woocommerce-Price-amount,
body.woocommerce-checkout #order_review .sf2_taxes_price .woocommerce-Price-amount { font-size: 13.5px !important; font-weight: 700; color: #2E4454; }
body.woocommerce-checkout #order_review .sf2_discount_price h5 { color: #2FA45B !important; font-weight: 700 !important; }
body.woocommerce-checkout #order_review .sf2_discount_price span { color: #2FA45B; font-size: 13.5px !important; font-weight: 700; }

/* Total */
body.woocommerce-checkout #order_review .sf2_cart_total_summary { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border-top: 1px solid #EFF0F6; padding-top: 12px; margin-top: 12px; }
body.woocommerce-checkout #order_review .sf2_cart_total_summary strong { font-size: 16px !important; color: #2E4454 !important; }
body.woocommerce-checkout #order_review .sf2_cart_total_summary > span { font-size: 22px !important; font-weight: 700 !important; color: #0082D5 !important; }

/* --- Form labels: uniform block labels (the apartment label was collapsed to
   1px, which is what threw its row off); with top-aligned rows, inputs no
   longer shift when a validation message appears under a neighbour. --- */
body.sf2cs-js form.checkout .form-row label { display: block !important; position: static !important; width: auto !important; height: auto !important; min-height: 20px; clip: auto !important; clip-path: none !important; overflow: visible !important; margin: 0 0 4px !important; font-size: 13px !important; font-weight: 700 !important; color: #2E4454 !important; line-height: 1.4 !important; }

/* select2 arrow: center it in the 44px control (was pinned at top:21px) */
body.sf2cs-js form.checkout .select2-container--default .select2-selection__arrow { top: 0 !important; bottom: 0 !important; height: 100% !important; right: 8px !important; display: flex; align-items: center; }

/* ship-to toggle: no blue tap flash, instant feel on touch */
body.sf2cs-js #ship-to-different-address label { -webkit-tap-highlight-color: transparent; user-select: none; touch-action: manipulation; }

@media (max-width: 767px) {
  /* breathing room between the top summary bar and the Billing Details heading */
  body.sf2cs-js .sf2cs-mobsum { margin-bottom: 14px; }
  body.sf2cs-js #customer_details .col-2 { padding: 0 15px 14px; }
}

/* SF2CS-R4b: mobile panel polish */
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked { color: #A0A3BD !important; }
@media (max-width: 767px) {
  /* legacy slide-up panel padding left a large dead zone above the heading */
  body.woocommerce-checkout #customer_details .col-2 .sf2_right_cart_summary { padding: 0 !important; margin: 0 !important; }
  body.woocommerce-checkout #customer_details .col-2 .row-order { padding: 16px; }
  body.woocommerce-checkout #order_review .sf2_summary_heading { padding-top: 0 !important; margin-top: 0 !important; }
  body.woocommerce-checkout #order_review .sf2_summary_heading > * { white-space: nowrap; }
  /* narrow screens: price under the title instead of squeezing it to one word per line */
  body.woocommerce-checkout #order_review .sf2_cart_item_details > div:first-child { flex-direction: column; align-items: flex-start; gap: 2px; }
  body.woocommerce-checkout #order_review .sf2_cart_item_price { text-align: left; }
  body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked { display: inline; margin-right: 8px; }
}

/* SF2CS-R4c: the old-price strikethrough inherits red from a legacy rule on the
   inner wc_price spans - calm it to muted grey (new price stays dark). */
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked,
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked * { color: #A0A3BD !important; }

/* SF2CS-R4d: rail readability bump - larger thumbnails and text; prices unchanged. */
body.woocommerce-checkout #order_review .sf2_summary_body h4 { font-size: 16px !important; }
body.woocommerce-checkout #order_review .sf2_cart_item { gap: 14px; }
body.woocommerce-checkout #order_review .sf2_cart_item_image img { width: 72px; height: 60px; padding: 5px; }
body.woocommerce-checkout #order_review .sf2_cart_item_details h2 { font-size: 15px !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes { font-size: 13.5px; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes span { font-size: 13.5px !important; }
body.woocommerce-checkout #order_review .sf2_discount_price h5,
body.woocommerce-checkout #order_review .sf2_shipping_price h5,
body.woocommerce-checkout #order_review .sf2_taxes_price h5 { font-size: 14.5px !important; }
body.woocommerce-checkout #order_review .sf2_summary_body p { font-size: 14px; }
body.woocommerce-checkout #order_review .sf2_summary_body p a { font-size: 14px; }
body.woocommerce-checkout #order_review .edit-btn { font-size: 13px !important; }

/* ============================================================
   SF2CS-R5 - order summary, redesigned from scratch.
   Appended last: every rule here is the final word over R4*.
   Monochrome ink hierarchy, blue reserved for actions; quantity
   as a badge on the thumbnail; group captions instead of heavy
   section headers; three hairlines total (header, money, total).
   ============================================================ */

/* Card */
body.woocommerce-checkout #customer_details .col-2 .row-order { background: #fff; border: 1px solid #E9EBF3; border-radius: 12px; padding: 24px 22px; box-shadow: 0 1px 2px rgba(46,68,84,0.04); }

/* Header: ink, quiet clear link */
body.woocommerce-checkout #order_review .sf2_summary_heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0 0 16px !important; margin: 0 !important; border-bottom: 1px solid #EFF0F6; }
body.woocommerce-checkout #order_review .sf2_summary_heading h4 { font-size: 17px !important; font-weight: 700 !important; color: #2E4454 !important; margin: 0 !important; white-space: nowrap; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear { font-size: 12px !important; color: #A0A3BD !important; display: inline-flex; align-items: center; gap: 4px; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear svg { width: 11px; height: 11px; }
body.woocommerce-checkout #order_review .sf2_summary_heading_clear svg path { stroke: #A0A3BD; }

/* Group captions: small caps, edit as plain text link */
body.woocommerce-checkout #order_review .sf2_summary_body h4 { display: flex; align-items: center; justify-content: space-between; margin: 20px 0 2px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.09em; text-transform: uppercase; color: #A0A3BD !important; }
body.woocommerce-checkout #order_review .edit-btn { font-size: 12px !important; font-weight: 400 !important; color: #0082D5 !important; letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; }
body.woocommerce-checkout #order_review .edit-btn svg { display: none; }

/* Item rows */
body.woocommerce-checkout #order_review .sf2_cart_item { display: flex !important; gap: 14px; align-items: flex-start; padding: 12px 0 !important; position: relative; }
body.woocommerce-checkout #order_review .sf2_cart_item_image { position: relative; flex: 0 0 64px; }
body.woocommerce-checkout #order_review .sf2_cart_item_image img { width: 64px !important; height: 64px !important; object-fit: contain; background: #F7F7FC; border-radius: 10px; padding: 6px !important; display: block; }
/* quantity badge pinned to the thumbnail corner; the inline " x " disappears */
body.woocommerce-checkout #order_review .sf2cs-qty { position: absolute; top: 6px; left: 52px; min-width: 20px; height: 20px; border-radius: 10px; background: #54657E; color: #fff !important; font-size: 11px !important; font-weight: 700 !important; display: flex; align-items: center; justify-content: center; padding: 0 5px; z-index: 2; box-shadow: 0 0 0 2px #fff; }
body.woocommerce-checkout #order_review .sf2cs-x { display: none; }
body.woocommerce-checkout #order_review .sf2_cart_item_details { flex: 1 1 auto; min-width: 0; }
body.woocommerce-checkout #order_review .sf2_cart_item_details > div:first-child { display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: flex-start !important; gap: 16px; }
body.woocommerce-checkout #order_review .sf2_cart_item_details h2 { font-size: 14.5px !important; font-weight: 500 !important; color: #2E4454 !important; margin: 0 !important; line-height: 1.4 !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_price { text-align: right !important; font-size: 14.5px !important; font-weight: 700; color: #2E4454; white-space: nowrap; flex-shrink: 0; }
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked,
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked * { display: block; font-size: 12px !important; font-weight: 400 !important; color: #B9BCCB !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked * { display: inline; }
body.woocommerce-checkout #order_review .sf2_discount_message small { font-size: 11px !important; color: #2FA45B !important; font-weight: 400; }
/* variant + plan meta: quiet inline pairs, not full-width spreads */
body.woocommerce-checkout #order_review .sf2_cart_item_attributes { margin-top: 4px; font-size: 12.5px !important; color: #8A8FA8; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes span { font-size: 12.5px !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes .attribute-cart { display: inline-flex !important; gap: 5px; margin: 0 14px 0 0 !important; width: auto !important; justify-content: flex-start !important; }
body.woocommerce-checkout #order_review .sf2_cart_item_attributes .attribute-value { color: #6E7191 !important; font-weight: 500; }

/* Empty groups: just a quiet add-link, no sentence */
body.woocommerce-checkout #order_review .sf2cs-empty { margin: 2px 0 0 !important; font-size: 13px !important; }
body.woocommerce-checkout #order_review .sf2cs-empty-text { display: none; }
body.woocommerce-checkout #order_review .sf2cs-empty a { font-size: 13px !important; }
body.woocommerce-checkout #order_review .sf2cs-empty a::before { content: '+ '; }

/* No per-category stripes */
body.woocommerce-checkout #order_review .sf2_category_divider { display: none !important; }

/* Coupon link */
body.sf2cs-js .sf2cs-coupon-toggle { margin: 18px 0 0 !important; font-size: 12.5px !important; }

/* Money rows */
body.woocommerce-checkout #order_review .sf2_shipping_price { border-top: 1px solid #EFF0F6; padding-top: 16px; margin-top: 16px !important; }
body.woocommerce-checkout #order_review .sf2_discount_price,
body.woocommerce-checkout #order_review .sf2_shipping_price,
body.woocommerce-checkout #order_review .sf2_taxes_price { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
body.woocommerce-checkout #order_review .sf2_discount_price h5,
body.woocommerce-checkout #order_review .sf2_shipping_price h5,
body.woocommerce-checkout #order_review .sf2_taxes_price h5 { font-size: 13.5px !important; font-weight: 400 !important; color: #6E7191 !important; margin: 0 !important; }
body.woocommerce-checkout #order_review .sf2_shipping_price .woocommerce-Price-amount,
body.woocommerce-checkout #order_review .sf2_taxes_price .woocommerce-Price-amount { font-size: 14px !important; font-weight: 600 !important; color: #2E4454 !important; }
body.woocommerce-checkout #order_review .sf2_discount_price h5 { color: #2FA45B !important; font-weight: 600 !important; }
body.woocommerce-checkout #order_review .sf2_discount_price span,
body.woocommerce-checkout #order_review .sf2_discount_price span * { color: #2FA45B !important; font-size: 14px !important; font-weight: 600 !important; }

/* Total: ink, decisive */
body.woocommerce-checkout #order_review .sf2_cart_total_summary { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border-top: 1px solid #EFF0F6; padding-top: 14px !important; margin-top: 6px !important; }
body.woocommerce-checkout #order_review .sf2_cart_total_summary strong { font-size: 15px !important; font-weight: 700 !important; color: #2E4454 !important; }
body.woocommerce-checkout #order_review .sf2_cart_total_summary > span,
body.woocommerce-checkout #order_review .sf2_cart_total_summary > span * { font-size: 20px !important; font-weight: 700 !important; color: #2E4454 !important; }

@media (max-width: 767px) {
  body.woocommerce-checkout #order_review .sf2_cart_item_details h2 { font-size: 14px !important; }
  body.woocommerce-checkout #order_review .sf2_cart_item_price { font-size: 14px !important; }
}

/* SF2CS-R5b: a legacy width/overflow rule clipped the Edit link to "Edi". */
body.woocommerce-checkout #order_review .edit-btn { width: auto !important; min-width: 0 !important; max-width: none !important; overflow: visible !important; white-space: nowrap; }
body.woocommerce-checkout #order_review .edit-btn span { font-size: 12px !important; text-transform: none; letter-spacing: 0; color: #0082D5; width: auto !important; overflow: visible !important; }

/* SF2CS-R5c: on phones the price goes back under the title (the R5 row layout
   left ~120px for product names). Strike shows inline before the price. */
@media (max-width: 767px) {
  body.woocommerce-checkout #order_review .sf2_cart_item_details > div:first-child { flex-direction: column !important; gap: 2px; }
  body.woocommerce-checkout #order_review .sf2_cart_item_price { text-align: left !important; }
  body.woocommerce-checkout #order_review .sf2_cart_item_price .regular-price-striked { display: inline !important; margin-right: 8px; }
}

/* SF2CS-R6: spacing rhythm + rail alignment (desktop feedback 2026-09-03) */
/* 1. The stepper had 4px above / 24px below vs a ~46px field-row rhythm. */
body.sf2cs-js #customer_details .col-12 h3 { margin: 0 0 14px !important; }
body.sf2cs-js .sf2cs-steps { margin: 0 0 36px !important; }
/* 2. Kill the legacy grey inner panel that made a card-in-a-card. */
body.woocommerce-checkout #order_review .sf2_right_cart_summary { background: transparent !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
/* 3. Top-align the Order Summary card with the Email Address label. */
@media (min-width: 768px) {
  body.woocommerce-checkout #customer_details .col-2 { margin-top: 9px; } /* SF2CS-R8: aligns the 'Order Summary' heading text with the Email Address label */
}
