/**
 * SvichkaVisk v2 — cart, checkout, side cart (Betheme mfn-cart-holder).
 * Scoped to WooCommerce checkout flow; tokens from design.md / sv2-custom.css.
 */

/* ==========================================================================
   Shared: breadcrumbs, page title
   ========================================================================== */

.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb {
  margin-bottom: var(--sv2-space-md);
  color: var(--sv2-text-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

.woocommerce-cart .woocommerce-breadcrumb a,
.woocommerce-checkout .woocommerce-breadcrumb a {
  color: var(--sv2-brown);
}

.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
  margin: 0 0 var(--sv2-space-lg);
  color: var(--sv2-brown);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* ==========================================================================
   Cart page — table & actions
   ========================================================================== */

.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: var(--sv2-space-xl);
}

.woocommerce-cart table.shop_table.cart {
  border: 1px solid var(--sv2-border-strong);
  border-radius: var(--sv2-radius-card-lg);
  background: var(--sv2-card);
  box-shadow: var(--sv2-shadow-sm);
  overflow: hidden;
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
  border-bottom: 1px solid var(--sv2-border);
}

.woocommerce-cart table.shop_table.cart thead th {
  padding: 14px 12px;
  color: var(--sv2-brown);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--sv2-bg-soft);
  border-color: var(--sv2-border);
}

.woocommerce-cart table.shop_table.cart tbody td,
.woocommerce-cart table.shop_table.cart tbody th {
  padding: 16px 12px;
  border-color: var(--sv2-border);
  vertical-align: middle;
}

.woocommerce-cart table.shop_table.cart td.product-name,
.woocommerce-cart table.shop_table.cart td.product-name > a {
  color: var(--sv2-brown);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart td.product-subtotal {
  color: var(--sv2-text);
  font-weight: 800;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail a img {
  width: 80px;
  border-radius: var(--sv2-radius-input);
}

.woocommerce-cart table.shop_table.cart .product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--sv2-text-muted);
  font-size: 1.25rem;
  line-height: 1;
  border-radius: var(--sv2-radius-pill);
  transition: color 0.2s ease, background 0.2s ease;
}

.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover {
  color: var(--sv2-error);
  background: rgba(150, 35, 23, 0.08);
}

.woocommerce-cart table.shop_table.cart td.actions {
  padding: 1.25rem 1rem;
  border-top: 1px solid var(--sv2-border);
  vertical-align: middle;
}

@media (min-width: 768px) {
  .woocommerce-cart table.shop_table.cart td.actions {
    display: table-cell;
    background: var(--sv2-bg-soft);
  }
}

.woocommerce-cart table.shop_table.cart td.actions .coupon {
  display: flex;
  flex-direction: column;
  gap: var(--sv2-space-sm);
  width: 100%;
  margin-bottom: 0;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
.woocommerce-cart table.shop_table.cart td.actions > .button {
  width: 100%;
  min-height: 48px;
  margin: 0;
  background: var(--sv2-bg-warm);
  color: var(--sv2-brown);
  border: 1px solid var(--sv2-border-strong);
  background-image: none;
  box-shadow: none;
  font-weight: 700;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon .button:hover,
.woocommerce-cart table.shop_table.cart td.actions > .button:hover {
  background: var(--sv2-card);
  color: var(--sv2-ink);
  border-color: var(--sv2-brown);
}

.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
  width: 100%;
  min-height: 48px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: left;
  text-transform: none;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Betheme woocommerce.css "Boxes" — outer beige wrapper removed; card is .cart_totals only */
body.sv2-cart-has-items.woocommerce-cart .woocommerce:not(.mfn-cart-tmpl-builder) .cart-collaterals,
body.sv2-cart-has-items .woocommerce-cart .cart-collaterals,
.woocommerce-cart.woocommerce-page .the_content .cart-collaterals {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells {
  width: 100%;
  float: none;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  padding: 1.75rem 1.25rem;
  border: 1px solid var(--sv2-border-strong);
  border-radius: var(--sv2-radius-card-lg);
  background: var(--sv2-card);
  box-shadow: var(--sv2-shadow-sm);
  overflow: visible;
  box-sizing: border-box;
}

.woocommerce-cart .cart-collaterals .cart_totals .shop_table {
  table-layout: auto !important;
  width: 100%;
  margin: 0 0 var(--sv2-space-lg);
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  padding: 14px 0;
  border-color: var(--sv2-border);
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals h4.title,
.woocommerce-cart .cart-collaterals h4 {
  margin: 0 0 var(--sv2-space-lg);
  color: var(--sv2-brown);
  font-size: clamp(1.25rem, 3vw, 1.5rem);
  font-weight: 800;
  text-align: left;
}

@media (min-width: 576px) {
  .woocommerce-cart .cart-collaterals .cart_totals {
    padding: 2rem 1.75rem;
  }
}

@media (min-width: 992px) {
  .woocommerce-cart .cart-collaterals .cart_totals {
    padding: 2.25rem 2rem;
  }
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total .woocommerce-Price-amount {
  color: var(--sv2-brown);
  font-size: 1.25rem;
  font-weight: 800;
}

.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: var(--sv2-space-lg);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  min-height: 52px;
  font-size: 1rem;
}

/* ==========================================================================
   Cart with items — layout & responsive product rows
   ========================================================================== */

body.sv2-cart-has-items .mfn-be-cart,
body.sv2-cart-has-items .mfn-be-cart.mfn-cart-step {
  width: 100%;
  max-width: 100%;
  padding: var(--sv2-gutter) 0 0;
  overflow-x: clip;
  box-sizing: border-box;
}

body.sv2-cart-has-items .mfn-be-cart > .section_wrapper {
  width: 100%;
  max-width: var(--sv2-pill-header-max, 1180px);
  margin: 0 auto;
  padding: 0 var(--sv2-gutter);
  box-sizing: border-box;
}

body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps {
  margin: 0 0 1.5rem !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 10px;
}

body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li {
  font-size: 0.75rem;
}

body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li .mfn-step-number {
  width: 32px;
  height: 32px;
  min-width: 32px;
  margin-right: 8px;
  font-size: 0.8125rem;
  border-color: var(--sv2-border-strong);
  color: var(--sv2-brown);
  font-weight: 800;
}

body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li.active {
  color: var(--sv2-brown);
}

body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li.active .mfn-step-number {
  background: linear-gradient(135deg, var(--sv2-primary), var(--sv2-primary-soft));
  color: var(--sv2-on-primary);
  border-color: transparent;
  box-shadow: var(--sv2-shadow-primary);
}

body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder),
body.sv2-cart-has-items.woocommerce-cart .woocommerce {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  width: 100%;
  max-width: var(--sv2-pill-header-max, 1180px);
  margin: 0 auto;
  padding: 0 var(--sv2-gutter) 2.5rem;
  box-sizing: border-box;
  align-items: start;
  float: none;
  flex-wrap: nowrap !important;
}

body.sv2-cart-has-items .mfn-be-cart .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

body.sv2-cart-has-items .woocommerce-cart-form,
body.sv2-cart-has-items .cart-collaterals,
body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder) .woocommerce-cart-form,
body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder) .cart-collaterals {
  width: 100%;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
  flex: none !important;
  flex-basis: auto !important;
}

body.sv2-cart-has-items .cart-collaterals {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 0;
}

body.sv2-cart-has-items .cart-collaterals .cart_totals {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: visible;
}

body.sv2-cart-has-items .cart-collaterals .cart_totals h2,
body.sv2-cart-has-items .cart-collaterals .cart_totals h4.title {
  margin-bottom: var(--sv2-space-lg);
  text-align: left;
  white-space: normal;
}

body.sv2-cart-has-items .cart-collaterals .cart_totals .shop_table {
  table-layout: auto !important;
  width: 100%;
  max-width: 100%;
  margin-bottom: var(--sv2-space-lg);
}

body.sv2-cart-has-items .cart-collaterals .cart_totals th,
body.sv2-cart-has-items .cart-collaterals .cart_totals td {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  vertical-align: top;
}

body.sv2-cart-has-items .cart-collaterals .cart_totals .shipping-calculator-form,
body.sv2-cart-has-items .cart-collaterals .cart_totals .woocommerce-shipping-destination {
  margin-top: var(--sv2-space-sm);
  line-height: 1.5;
}

body.sv2-cart-has-items .cart-collaterals .wc-proceed-to-checkout {
  margin-top: var(--sv2-space-lg);
}

body.sv2-cart-has-items .cart-collaterals .wc-proceed-to-checkout,
body.sv2-cart-has-items .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  max-width: 100%;
  box-sizing: border-box;
}

body.sv2-cart-has-items .cart-collaterals a.mfn-woo-cart-link {
  display: block;
  margin-top: var(--sv2-space-md);
}

/* Mobile: stack cart totals rows so prices / shipping text are not clipped */
@media (max-width: 768px) {
  body.sv2-cart-has-items .cart-collaterals,
  body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder) .cart-collaterals {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals {
    width: 100%;
    max-width: 100%;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr {
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid var(--sv2-border);
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr:last-child {
    border-bottom: 0;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr th,
  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr td {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0.25rem 0;
    text-align: left !important;
    box-sizing: border-box;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr td::before {
    display: none;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr th {
    margin-bottom: 0.25rem;
    color: var(--sv2-brown);
    font-weight: 700;
    font-size: 0.875rem;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr td {
    color: var(--sv2-text);
    font-size: 1rem;
    line-height: 1.45;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total {
    display: flex !important;
    flex-direction: row;
    justify-content: flex-end;
    align-items: baseline;
    gap: 0.75rem;
    padding-top: 1.25rem;
    border-bottom: 0;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total th,
  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total td {
    display: block;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    text-align: right !important;
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--sv2-brown);
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total th {
    margin-bottom: 0;
    font-size: 1rem;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total .woocommerce-Price-amount {
    font-size: 1.25rem;
  }
}

@media (min-width: 769px) {
  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr {
    display: table-row;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr th,
  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr td {
    display: table-cell;
    width: auto;
    padding: 1rem 0;
    vertical-align: top;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr th {
    width: 38%;
    padding-right: 1rem;
    text-align: left;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals table.shop_table_responsive tbody tr td {
    width: 62%;
    text-align: right;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total th,
  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total td {
    display: table-cell;
    padding-top: 1.25rem;
    font-weight: 800;
    color: var(--sv2-brown);
    vertical-align: baseline;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total th {
    width: 38%;
    padding-right: 1rem;
    text-align: left;
    font-size: 1rem;
    white-space: nowrap;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total td {
    width: 62%;
    text-align: right;
    font-size: 1.125rem;
  }

  body.sv2-cart-has-items .cart-collaterals .cart_totals tr.order-total .woocommerce-Price-amount {
    font-size: 1.25rem;
  }
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart {
  width: 100%;
  table-layout: auto;
  border: 1px solid var(--sv2-border-strong);
  border-radius: var(--sv2-radius-card-lg);
  box-shadow: var(--sv2-shadow-sm);
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .product-thumbnail a img {
  width: 72px;
  max-width: 100%;
  height: auto;
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .product-name a {
  word-break: break-word;
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .quantity {
  width: min(130px, 100%);
  max-width: 100%;
  margin: 0;
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .quantity .qty {
  min-height: 44px;
  font-size: 16px;
  padding: 10px 28px !important;
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .button,
body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions > .button {
  background: var(--sv2-bg-warm) !important;
  color: var(--sv2-brown) !important;
  border: 1px solid var(--sv2-border-strong) !important;
  background-image: none !important;
  box-shadow: none !important;
  font-weight: 700;
}

body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .button:hover,
body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions > .button:hover {
  background: var(--sv2-card) !important;
  color: var(--sv2-ink) !important;
  border-color: var(--sv2-brown) !important;
}

body.sv2-cart-has-items a.mfn-woo-cart-link {
  display: block;
  margin-top: 1rem;
  color: var(--sv2-brown);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

body.sv2-cart-has-items a.mfn-woo-cart-link:hover {
  color: var(--sv2-primary-hover);
}

body.sv2-cart-has-items .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
  box-sizing: border-box;
}

/* Mobile: card-style line items (Woo shop_table_responsive ≤768px) */
@media (max-width: 768px) {
  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart {
    border: none;
    box-shadow: none;
    background: transparent;
    overflow: visible;
    width: 100%;
    max-width: 100%;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td {
    border-bottom: none;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item {
    position: relative;
    display: block;
    margin-bottom: 0;
    padding: 1rem;
    border: 1px solid var(--sv2-border-strong);
    border-radius: var(--sv2-radius-card-lg);
    background: var(--sv2-card);
    box-shadow: var(--sv2-shadow-sm);
    box-sizing: border-box;
    overflow: hidden;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td {
    display: block;
    padding: 6px 0;
    border: 0;
    text-align: left !important;
    background: transparent;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td::before {
    display: inline-block;
    min-width: 42%;
    margin-right: 0.5rem;
    color: var(--sv2-brown);
    font-weight: 700;
    font-size: 0.8125rem;
    vertical-align: top;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-remove {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: auto;
    padding: 0;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-remove::before {
    display: none;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-thumbnail::before,
  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-name::before {
    display: none;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-thumbnail {
    margin-bottom: 0.25rem;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-name {
    padding-right: 2.75rem;
    font-size: 1rem;
    line-height: 1.35;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-quantity::before {
    flex: 1 1 auto;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td.product-quantity .quantity {
    flex-shrink: 0;
    margin-left: auto;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr td.actions {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 1.25rem 1rem;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
    float: none !important;
    clear: both !important;
    text-align: center !important;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr:has(> td.actions) {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 1.5rem;
    border: 1px solid var(--sv2-border-strong);
    border-radius: var(--sv2-radius-card-lg);
    background: var(--sv2-bg-soft) !important;
    overflow: hidden;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr td.actions .coupon {
    float: none !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: transparent !important;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr td.actions .coupon .button,
  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr td.actions > .button {
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    max-width: min(320px, 100%);
    min-height: 48px;
    margin: 0 auto !important;
    align-self: center;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table_responsive.cart tbody tr td.actions::before {
    display: none !important;
    content: none !important;
    float: none !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (min-width: 769px) {
  body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li {
    font-size: 0.875rem;
  }

  body.sv2-cart-has-items .mfn-be-cart .mfn-checkout-steps li .mfn-step-number {
    width: 36px;
    height: 36px;
    margin-right: 10px;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .product-thumbnail a img {
    width: 80px;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions {
    display: table-cell;
    position: static;
    padding: 1.25rem 1rem;
    border-top: 1px solid var(--sv2-border);
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    margin-right: 1rem;
    margin-bottom: 0;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: min(220px, 100%);
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions > .button {
    width: auto;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions .coupon {
    float: left;
    max-width: min(100%, 420px);
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions > .button {
    float: right;
    margin-top: 0;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions::after {
    content: '';
    display: block;
    clear: both;
  }
}

@media (min-width: 992px) {
  body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder),
  body.sv2-cart-has-items.woocommerce-cart .woocommerce {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    grid-template-areas:
      "sv2-cart-notices sv2-cart-notices"
      "sv2-cart-form sv2-cart-totals";
    column-gap: 30px;
    row-gap: 0;
    align-items: start;
  }

  body.sv2-cart-has-items .mfn-be-cart .woocommerce-notices-wrapper,
  body.sv2-cart-has-items .woocommerce-notices-wrapper {
    grid-area: sv2-cart-notices;
  }

  body.sv2-cart-has-items .woocommerce-cart-form,
  body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder) .woocommerce-cart-form {
    grid-area: sv2-cart-form;
    grid-column: auto;
    grid-row: auto;
    height: auto;
    margin: 0 !important;
    align-self: start;
    box-sizing: border-box;
  }

  body.sv2-cart-has-items .cart-collaterals,
  body.sv2-cart-has-items .woocommerce-cart .cart-collaterals,
  body.sv2-cart-has-items .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder) .cart-collaterals {
    grid-area: sv2-cart-totals;
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    min-width: 320px;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start;
    box-sizing: border-box;
  }

  body.sv2-cart-has-items .woocommerce-cart-form table.shop_table.cart {
    display: table;
    width: 100%;
    height: auto;
    min-height: 0;
    margin-bottom: 0;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.actions {
    padding-top: 24px;
    border-top: 1px solid var(--sv2-border);
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart .product-thumbnail {
    width: 96px;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.product-name {
    min-width: 12rem;
  }

  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.product-price,
  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.product-quantity,
  body.sv2-cart-has-items .woocommerce-cart table.shop_table.cart td.product-subtotal {
    white-space: nowrap;
  }
}

/* ==========================================================================
   Empty cart state (BEM: .sv2-cart-empty)
   ========================================================================== */

/* Hide checkout progress when there is nothing to check out */
body.woocommerce-cart.cart-empty .mfn-be-cart > .section_wrapper,
body.sv2-cart-is-empty .mfn-be-cart > .section_wrapper {
  display: none;
}

/* Fallback: compact steps on mobile if progress bar is still rendered */
@media (max-width: 575px) {
  body.woocommerce-cart.cart-empty .mfn-be-cart .mfn-checkout-steps,
  body.sv2-cart-is-empty .mfn-be-cart .mfn-checkout-steps {
    margin-bottom: var(--sv2-space-md) !important;
    gap: 4px;
  }

  body.woocommerce-cart.cart-empty .mfn-be-cart .mfn-checkout-steps li,
  body.sv2-cart-is-empty .mfn-be-cart .mfn-checkout-steps li {
    font-size: 12px;
  }

  body.woocommerce-cart.cart-empty .mfn-be-cart .mfn-checkout-steps li .mfn-step-number,
  body.sv2-cart-is-empty .mfn-be-cart .mfn-checkout-steps li .mfn-step-number {
    width: 32px;
    height: 32px;
    min-width: 32px;
    margin: 0 0 6px;
    font-size: 12px;
  }

  body.woocommerce-cart.cart-empty .mfn-be-cart .mfn-checkout-steps li:not(:last-child),
  body.sv2-cart-is-empty .mfn-be-cart .mfn-checkout-steps li:not(:last-child) {
    padding-right: 12px;
    margin-right: 12px;
  }
}

/* Reset Betheme cart flex grid — center empty state on all viewports */
body.sv2-cart-is-empty .mfn-be-cart,
body.sv2-cart-is-empty .mfn-be-cart.mfn-cart-step {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 24px 0 0;
  overflow-x: clip;
  box-sizing: border-box;
}

body.sv2-cart-is-empty .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder),
body.sv2-cart-is-empty .mfn-cart-step .woocommerce:not(.mfn-cart-tmpl-builder),
body.sv2-cart-is-empty .woocommerce {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: auto;
  margin: 0 auto;
  padding: 0 var(--sv2-gutter);
  float: none;
  box-sizing: border-box;
  text-align: center;
}

body.sv2-cart-is-empty .wc-empty-cart-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  flex-basis: auto;
  float: none;
  box-sizing: border-box;
}

/* Betheme / BeBuilder column grid — full-width, no float offset on empty cart */
body.sv2-cart-is-empty #Content .content_wrapper,
body.sv2-cart-is-empty .mfn-be-cart .section,
body.sv2-cart-is-empty .mfn-be-cart .mcb-section,
body.sv2-cart-is-empty .mfn-be-cart .mcb-section-inner,
body.sv2-cart-is-empty .mfn-be-cart .mcb-wrap,
body.sv2-cart-is-empty .mfn-be-cart .mcb-column,
body.sv2-cart-is-empty .mfn-be-cart .mcb-column-inner,
body.sv2-cart-is-empty .mfn-be-cart .section_wrapper,
body.sv2-cart-is-empty .mfn-be-cart .the_content_wrapper,
body.sv2-cart-is-empty .mfn-be-cart .column,
body.sv2-cart-is-empty .mfn-be-cart .column_column,
body.sv2-cart-is-empty .mfn-be-cart .column_attr {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  float: none;
  text-align: center;
  box-sizing: border-box;
}

/* Hide duplicate legacy Woo / Betheme return-to-shop CTAs */
body.sv2-cart-is-empty .return-to-shop:not(.sv2-cart-empty__actions),
body.sv2-cart-is-empty p.return-to-shop:not(.sv2-cart-empty__actions),
body.sv2-cart-is-empty .wc-empty-cart-message ~ .return-to-shop,
body.sv2-cart-is-empty a.button.wc-backward:not(.sv2-cart-empty__cta) {
  display: none !important;
}

.sv2-cart-empty {
  width: 100%;
  max-width: 100%;
  margin: 40px auto;
  padding: 0;
  position: static;
  box-sizing: border-box;
}

.sv2-cart-empty__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  position: static;
  box-sizing: border-box;
}

.sv2-cart-empty__message,
body.sv2-cart-is-empty .sv2-cart-empty .cart-empty {
  display: block;
  position: static;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 32px 16px;
  border: none;
  border-radius: 16px;
  background-color: rgba(43, 33, 23, 0.03);
  color: var(--sv2-text);
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 600;
  text-align: center;
  box-sizing: border-box;
}

.sv2-cart-empty__message::before,
body.sv2-cart-is-empty .sv2-cart-empty .cart-empty::before {
  display: none;
}

.sv2-cart-empty__actions,
body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop.sv2-cart-empty__actions {
  position: static;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: center;
  box-sizing: border-box;
}

.sv2-cart-empty__cta,
body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop .sv2-cart-empty__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: static;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 14px 24px;
  border: none;
  border-radius: var(--sv2-radius-pill);
  background: var(--sv2-ink);
  color: #fffaf1;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration: none;
  box-shadow: var(--sv2-shadow-sm);
  box-sizing: border-box;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

body.sv2-cart-is-empty .sv2-cart-empty__cta::before,
body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop .sv2-cart-empty__cta::before {
  display: none;
  content: none;
}

@media (min-width: 576px) {
  body.sv2-cart-is-empty .mfn-be-cart,
  body.sv2-cart-is-empty .mfn-be-cart.mfn-cart-step {
    padding-top: 40px;
  }

  body.sv2-cart-is-empty .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder),
  body.sv2-cart-is-empty .mfn-cart-step .woocommerce:not(.mfn-cart-tmpl-builder),
  body.sv2-cart-is-empty .woocommerce {
    min-height: clamp(320px, 50vh, 560px);
  }

  body.sv2-cart-is-empty .wc-empty-cart-message,
  .sv2-cart-empty {
    max-width: 480px;
  }

  .sv2-cart-empty {
    margin: 60px auto;
  }

  .sv2-cart-empty__inner {
    align-items: center;
  }

  .sv2-cart-empty__message,
  body.sv2-cart-is-empty .sv2-cart-empty .cart-empty {
    padding: 40px;
    font-size: 1.125rem;
  }

  .sv2-cart-empty__cta,
  body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop .sv2-cart-empty__cta {
    width: auto;
    max-width: 100%;
    padding: 14px 32px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .sv2-cart-empty__cta:hover,
  body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop .sv2-cart-empty__cta:hover {
    background: var(--sv2-brown);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: var(--sv2-shadow-md);
  }
}

/* Cross-sells reuse shop card styling from sv2-shop when loaded */
.woocommerce-cart .cross-sells > h2 {
  margin: var(--sv2-space-xl) 0 var(--sv2-space-md);
  color: var(--sv2-brown);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 800;
}

@media (min-width: 576px) {
  .woocommerce-cart table.shop_table.cart td.actions .coupon {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    margin-bottom: 0;
    margin-right: var(--sv2-space-md);
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: min(220px, 100%);
  }

  .woocommerce-cart table.shop_table.cart td.actions .coupon .button {
    width: auto;
  }

  .woocommerce-cart table.shop_table.cart td.actions > .button {
    width: auto;
  }

  body.sv2-cart-has-items .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
  }
}

/* ==========================================================================
   Checkout — steps, columns, payment
   ========================================================================== */

.woocommerce-checkout .mfn-checkout-steps {
  margin: 0 0 var(--sv2-space-xl) !important;
  padding: 0;
  gap: var(--sv2-space-sm);
}

.woocommerce-checkout .mfn-checkout-steps li {
  color: var(--sv2-text-muted);
  font-size: 0.875rem;
  font-weight: 700;
}

.woocommerce-checkout .mfn-checkout-steps li.active {
  color: var(--sv2-brown);
}

.woocommerce-checkout .mfn-checkout-steps li .mfn-step-number {
  width: 36px;
  height: 36px;
  margin-right: 10px;
  border-color: var(--sv2-border-strong);
  color: var(--sv2-brown);
  font-weight: 800;
}

.woocommerce-checkout .mfn-checkout-steps li.active .mfn-step-number {
  background: linear-gradient(135deg, var(--sv2-primary), var(--sv2-primary-soft));
  color: var(--sv2-on-primary);
  border-color: transparent;
  box-shadow: var(--sv2-shadow-primary);
}

.woocommerce-checkout form.checkout {
  margin-top: var(--sv2-space-lg);
}

/* Checkout cards — Оплата і доставка (#customer_details) + Ваше замовлення (#order_review) */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--sv2-space-xl);
  padding: var(--sv2-space-lg);
  border: 1px solid var(--sv2-border-strong);
  border-radius: var(--sv2-radius-card-lg);
  background: var(--sv2-card);
  box-shadow: var(--sv2-shadow-sm);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: clip;
}

/* Betheme .woocommerce-checkout-review-order box — same sv2 shell as #customer_details */
.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
  background: var(--sv2-card);
  border: 1px solid var(--sv2-border-strong);
  border-radius: var(--sv2-radius-card-lg);
  box-shadow: var(--sv2-shadow-sm);
}

.woocommerce-checkout #order_review #payment,
.woocommerce-checkout #order_review #payment ul.payment_methods,
.woocommerce-checkout #order_review #payment ul.payment_methods li,
.woocommerce-checkout #order_review #payment div.form-row.place-order {
  box-sizing: border-box;
  max-width: 100%;
}

.woocommerce-checkout #customer_details h3:not(#ship-to-different-address),
.woocommerce-checkout #order_review #order_review_heading {
  margin: 0 0 var(--sv2-space-lg);
  padding-bottom: var(--sv2-space-md);
  border-bottom: 1px solid var(--sv2-border);
  color: var(--sv2-brown);
  font-size: clamp(1.125rem, 2.5vw, 1.375rem);
  font-weight: 800;
  text-align: left;
  letter-spacing: -0.01em;
}

.woocommerce-checkout #customer_details {
  gap: var(--sv2-space-xl);
  position: relative;
}

.woocommerce-checkout #customer_details:has(.select2-container--open) {
  overflow: visible;
}

.woocommerce-checkout #customer_details .woocommerce-input-wrapper {
  position: relative;
  display: block;
  z-index: 1;
  overflow: visible;
}

/* Select2: native select must not reserve space in the grid row */
.woocommerce-checkout #customer_details select.select2-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.woocommerce-checkout #customer_details .select2-container {
  display: block;
  margin: 0;
}

.woocommerce-checkout #customer_details .form-row:has(.select2-container--open) {
  position: relative;
  z-index: 50;
}

.woocommerce-checkout #customer_details .form-row:has(.select2-container--open) .woocommerce-input-wrapper {
  z-index: 50;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields {
  width: 100%;
  float: none;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

/* Оплата і доставка — більш закруглені поля вводу */
.woocommerce-checkout #customer_details .form-row .input-text,
.woocommerce-checkout #customer_details .form-row select,
.woocommerce-checkout #customer_details .form-row textarea,
.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single,
.woocommerce-checkout #customer_details #billing_country_field strong,
.woocommerce-checkout #customer_details #shipping_country_field strong {
  border-radius: var(--sv2-radius-card);
}

/* Checkout fields — mobile-first 1-col grid, 2-col pairs from 576px */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sv2-space-md);
}

.woocommerce-checkout .form-row {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  clear: none;
  box-sizing: border-box;
}

.woocommerce-checkout .form-row label {
  display: block;
  color: var(--sv2-brown);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 8px;
}

.woocommerce-checkout .form-row .required {
  color: var(--sv2-accent);
  text-decoration: none;
  font-weight: 800;
}

.woocommerce-checkout .form-row .optional {
  color: var(--sv2-text-muted);
  font-weight: 600;
  font-size: 0.8125rem;
}

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  margin: 0;
  box-sizing: border-box;
  border: 1px solid var(--sv2-input-border);
  border-radius: var(--sv2-radius-input);
  background-color: var(--sv2-card);
  color: var(--sv2-text);
  font-size: 16px;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.woocommerce-checkout .form-row textarea {
  min-height: 120px;
  resize: vertical;
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--sv2-primary);
  background-color: var(--sv2-input-bg-focus);
  box-shadow: 0 0 0 3px rgba(226, 165, 46, 0.18);
  outline: none;
}

.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
  border-color: var(--sv2-error);
}

.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height: 48px;
  height: auto;
  padding: 10px 16px;
  border: 1px solid var(--sv2-input-border);
  border-radius: var(--sv2-radius-input);
  background-color: var(--sv2-card);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.4;
  color: var(--sv2-text);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px;
  right: 8px;
}

/* Select2 clear (×) — прибрати, лишити лише стрілку dropdown */
body.woocommerce-checkout #customer_details .select2-selection__clear {
  display: none !important;
}

body.woocommerce-checkout #customer_details .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-right: 28px;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--sv2-primary);
  box-shadow: 0 0 0 3px rgba(226, 165, 46, 0.18);
}

/* Оплата і доставка — Select2: безшовне з'єднання тригера та списку */
body.woocommerce-checkout #customer_details .select2-container--open {
  position: relative;
  z-index: 100002;
}

body.woocommerce-checkout #customer_details .select2-container--open .select2-selection--single,
body.woocommerce-checkout #customer_details .select2-container--below.select2-container--open .select2-selection--single {
  border-color: var(--sv2-primary) !important;
  border-bottom: 1px solid var(--sv2-primary) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .select2-dropdown.sv2-checkout-select2-dropdown {
  z-index: 100001;
  position: fixed;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-top: none !important;
  border-left: 1px solid var(--sv2-primary) !important;
  border-right: 1px solid var(--sv2-primary) !important;
  border-bottom: 1px solid var(--sv2-primary) !important;
  border-radius: 0 0 var(--sv2-radius-card) var(--sv2-radius-card) !important;
  background: var(--sv2-card);
  box-shadow: var(--sv2-shadow-md);
  overflow: hidden;
  box-sizing: border-box;
}

body.woocommerce-checkout .select2-dropdown.sv2-checkout-select2-dropdown.select2-dropdown--above {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-top: 1px solid var(--sv2-primary) !important;
  border-bottom: none !important;
  border-left: 1px solid var(--sv2-primary) !important;
  border-right: 1px solid var(--sv2-primary) !important;
  border-radius: var(--sv2-radius-card) var(--sv2-radius-card) 0 0 !important;
}

body.woocommerce-checkout #customer_details .select2-container--above.select2-container--open .select2-selection--single {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-color: var(--sv2-primary) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .select2-dropdown.sv2-checkout-select2-dropdown .select2-search--dropdown {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-checkout .select2-container--default .select2-search--dropdown {
  display: none;
}

body.woocommerce-checkout .select2-container--default .select2-results > .select2-results__options {
  max-height: min(240px, 50vh);
  padding: 8px;
  box-sizing: border-box;
}

body.woocommerce-checkout .select2-container--default .select2-results__option {
  padding: 10px 12px;
  border-radius: calc(var(--sv2-radius-card) - 6px);
  color: var(--sv2-text);
  font-size: 16px;
  line-height: 1.35;
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: rgba(226, 165, 46, 0.16);
  color: var(--sv2-brown);
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--sv2-primary);
  color: var(--sv2-on-primary);
  font-weight: 700;
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
  background-color: var(--sv2-primary-hover);
  color: var(--sv2-on-primary);
}

.woocommerce-checkout #billing_country_field strong,
.woocommerce-checkout #shipping_country_field strong {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--sv2-border);
  border-radius: var(--sv2-radius-input);
  background: var(--sv2-bg-soft);
  color: var(--sv2-brown);
  font-weight: 800;
  font-size: 1rem;
}

@media (min-width: 576px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--sv2-space-md);
    row-gap: var(--sv2-space-md);
  }

  .woocommerce-checkout .form-row-wide,
  .woocommerce-checkout #billing_country_field,
  .woocommerce-checkout #shipping_country_field,
  .woocommerce-checkout #billing_address_2_field,
  .woocommerce-checkout #shipping_address_2_field,
  .woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1;
  }
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
  margin-bottom: var(--sv2-space-lg);
  padding: var(--sv2-space-md);
  border: 1px solid var(--sv2-border);
  border-radius: var(--sv2-radius-card);
  background: var(--sv2-bg-soft);
}

.woocommerce-checkout form.checkout_coupon .form-row,
.woocommerce-checkout form.login .form-row {
  margin-bottom: var(--sv2-space-sm);
}

.woocommerce-checkout form.checkout_coupon .button,
.woocommerce-checkout form.login .button {
  width: 100%;
  min-height: 48px;
}

/* ==========================================================================
   #order_review — summary table, payment methods, actions
   ========================================================================== */

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
  margin-bottom: var(--sv2-space-lg);
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
  border-bottom: none;
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td {
  border-color: var(--sv2-border);
  padding: 16px 0;
  vertical-align: top;
  border-width: 0;
  border-bottom: none;
  box-shadow: none;
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th {
  text-align: left;
  color: var(--sv2-brown);
  font-weight: 700;
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td {
  text-align: right;
  color: var(--sv2-text);
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr th,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr td {
  border-bottom: 1px solid var(--sv2-border);
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td {
  border-bottom: 1px solid var(--sv2-border);
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th.product-name {
  text-align: left;
  padding-right: 16px;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td {
  padding-top: 20px;
  padding-bottom: 4px;
  border-width: 1px 0 0;
  border-style: solid;
  border-color: var(--sv2-border-strong);
  border-bottom: none;
  font-weight: 800;
  color: var(--sv2-brown);
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr:last-child td {
  border-bottom: none;
}

.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total .woocommerce-Price-amount {
  font-size: 1.25rem;
}

/* Payment section — inside #order_review, single card */
.woocommerce-checkout #order_review #payment {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  padding: var(--sv2-space-lg) 0 0;
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-top: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
  clear: both;
  float: none;
  overflow: hidden;
}

.woocommerce-checkout #order_review #payment ul.payment_methods {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  padding-left: 0;
  padding-right: 0;
  padding-inline: 0;
  border: 0;
  border-bottom: none;
  list-style: none;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 12px;
  margin-left: 0;
  margin-right: 0;
  padding: 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  background: var(--sv2-card);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li:last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li .input-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li.active-payment,
.woocommerce-checkout #order_review #payment ul.payment_methods li.payment_method_selected,
.woocommerce-checkout #order_review #payment ul.payment_methods li:has(.input-radio:checked) {
  border-color: var(--sv2-primary);
  background: var(--sv2-card);
  box-shadow: none;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #order_review #payment ul.payment_methods li:hover {
    border-color: var(--sv2-primary-soft);
  }
}

.woocommerce-checkout #order_review #payment ul.payment_methods li label {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 36px 0 0;
  box-sizing: border-box;
  word-break: break-word;
  overflow-wrap: break-word;
  color: var(--sv2-brown);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method .mfn-payment-check {
  display: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sv2-primary), var(--sv2-primary-soft));
  color: var(--sv2-on-primary);
  font-size: 11px;
  box-shadow: none;
  align-items: center;
  justify-content: center;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method.active-payment .mfn-payment-check,
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method:has(.input-radio:checked) .mfn-payment-check {
  display: flex;
}

/* Recalculate check position when payment_box is visible (below label) */
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method.active-payment:has(.payment_box) .mfn-payment-check,
.woocommerce-checkout #order_review #payment ul.payment_methods li.wc_payment_method:has(.input-radio:checked):has(.payment_box) .mfn-payment-check {
  top: 16px;
  transform: translateY(0);
}

.woocommerce-checkout #order_review #payment ul.payment_methods li .payment_box {
  display: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 12px 0 0;
  padding: 12px 0 0;
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #555;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  box-sizing: border-box;
  overflow: hidden;
  word-break: break-word;
  overflow-wrap: break-word;
}

.woocommerce-checkout #order_review #payment ul.payment_methods li.active-payment .payment_box,
.woocommerce-checkout #order_review #payment ul.payment_methods li.payment_method_selected .payment_box,
.woocommerce-checkout #order_review #payment ul.payment_methods li .input-radio:checked ~ .payment_box {
  display: block;
}

.woocommerce-checkout #order_review #payment div.payment_box::before {
  display: none;
}

.woocommerce-checkout #order_review #payment div.payment_box p {
  margin: 0 0 0.5rem;
  color: #555;
  font-size: 14px;
  line-height: 1.6;
}

.woocommerce-checkout #order_review #payment div.payment_box p:last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #order_review #payment div.payment_box p,
.woocommerce-checkout #order_review #payment div.payment_box li {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.woocommerce-checkout #order_review #payment div.payment_box:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Payment requisites — copy IBAN / ЄДРПОУ */
.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  vertical-align: middle;
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__value {
  word-break: break-all;
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--sv2-border-strong);
  border-radius: 10px;
  background: var(--sv2-bg-soft);
  color: var(--sv2-brown);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__icon {
  display: block;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__state {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__btn.is-copied {
  border-color: var(--sv2-green);
  background: rgba(79, 126, 56, 0.12);
  color: var(--sv2-green);
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__btn.is-copied .sv2-copyable__icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__btn.is-error {
  border-color: var(--sv2-accent);
  color: var(--sv2-accent);
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #order_review #payment div.payment_box .sv2-copyable__btn:hover {
    border-color: var(--sv2-primary);
    background: var(--sv2-soft-honey);
    color: var(--sv2-primary-hover);
  }
}

.woocommerce-checkout #order_review #payment .woocommerce-terms-and-conditions-wrapper {
  margin: var(--sv2-space-md) 0 0;
}

.woocommerce-checkout #order_review #payment div.form-row {
  width: 100%;
  max-width: 100%;
  margin: var(--sv2-space-md) 0 0;
  padding: 0;
  float: none;
  clear: both;
  border: 0;
  border-top: none;
  box-shadow: none;
}

.woocommerce-checkout #order_review #payment div.form-row.place-order {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: nowrap;
  gap: 16px;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  margin-top: var(--sv2-space-lg);
  margin-left: 0;
  margin-right: 0;
  padding: 20px 0 0;
  border-top: none;
  box-sizing: border-box;
  box-shadow: none;
}

.woocommerce-checkout #order_review #payment div.form-row.place-order .woocommerce-terms-and-conditions-wrapper {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  margin: 0;
  order: -1;
}

.woocommerce-checkout #order_review #payment #place_order {
  flex: none;
  order: 0;
  float: none;
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  font-size: 1rem;
  box-sizing: border-box;
  box-shadow: none;
}

.woocommerce-checkout #order_review #payment #place_order:hover,
.woocommerce-checkout #order_review #payment #place_order:focus,
.woocommerce-checkout #order_review #payment #place_order:active {
  box-shadow: none;
}

.woocommerce-checkout #order_review #payment #place_order::before,
.woocommerce-checkout #order_review #payment #place_order::after {
  display: none;
  box-shadow: none;
  content: none;
}

.woocommerce-checkout #order_review #payment .mfn-woo-cart-link {
  flex: none;
  order: 1;
  float: none;
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 12px 16px;
  color: var(--sv2-brown);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    padding: 16px;
    box-sizing: border-box;
    overflow-x: clip;
  }

  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2 {
    padding: 0;
    min-width: 0;
    max-width: 100%;
  }

  .woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
    width: 100%;
    max-width: 100%;
    word-break: break-word;
    box-sizing: border-box;
  }

  .woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th,
  .woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td {
    padding: 12px;
    word-break: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }

  .woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name,
  .woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table th.product-name {
    padding-right: 12px;
  }

  .woocommerce-checkout #order_review #payment {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
  }

  .woocommerce-checkout #order_review #payment ul.payment_methods {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    padding-inline: 0;
    list-style: none;
  }

  .woocommerce-checkout #order_review #payment ul.payment_methods li {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 12px;
    margin-left: 0;
    margin-right: 0;
    padding: 16px;
  }

  .woocommerce-checkout #order_review #payment ul.payment_methods li:last-child {
    margin-bottom: 0;
  }

  .woocommerce-checkout #order_review #payment ul.payment_methods li .payment_box {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .woocommerce-checkout #order_review #payment div.form-row.place-order {
    flex-direction: column-reverse;
    gap: 16px;
    padding-left: 0;
    padding-right: 0;
  }

  .woocommerce-checkout #order_review #payment #place_order {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .woocommerce-checkout #order_review #payment .mfn-woo-cart-link {
    display: block;
    width: 100%;
    max-width: 100%;
    text-align: center;
  }
}

@media (min-width: 769px) {
  .woocommerce-checkout #order_review #payment div.form-row.place-order {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 20px;
  }

  .woocommerce-checkout #order_review #payment #place_order {
    width: auto;
    max-width: none;
    min-width: 200px;
    margin: 0;
    margin-left: 0;
    margin-right: auto;
  }

  .woocommerce-checkout #order_review #payment .mfn-woo-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: none;
    margin: 0;
    margin-left: auto;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #order_review #payment .mfn-woo-cart-link:hover {
    color: var(--sv2-primary-hover);
  }
}

.woocommerce-checkout .col-2 h3#ship-to-different-address,
.woocommerce-checkout .create-account {
  margin: 0 0 var(--sv2-space-md);
  padding: var(--sv2-space-md) var(--sv2-space-lg);
  border: 1px solid var(--sv2-border);
  border-radius: var(--sv2-radius-input);
  background: var(--sv2-bg-soft);
  min-height: 48px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.woocommerce-checkout .col-2 h3#ship-to-different-address label,
.woocommerce-checkout .create-account label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  font-weight: 700;
  color: var(--sv2-brown);
  font-size: 0.9375rem;
}

@media (min-width: 768px) {
  .woocommerce-checkout form.checkout_coupon .button,
  .woocommerce-checkout form.login .button {
    width: auto;
  }
}

@media (min-width: 992px) {
  .mfn-be-checkout .woocommerce:not(.mfn-cart-tmpl-builder) .woocommerce-checkout {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sv2-space-xl);
    margin-top: var(--sv2-space-lg);
  }

  .mfn-be-checkout .woocommerce:not(.mfn-cart-tmpl-builder) .woocommerce-NoticeGroup {
    flex: 1 1 100%;
    max-width: 100%;
    margin-bottom: 0;
  }

  .mfn-be-checkout .woocommerce:not(.mfn-cart-tmpl-builder) #customer_details {
    flex: 1 1 calc(50% - var(--sv2-space-xl) / 2);
    max-width: calc(50% - var(--sv2-space-xl) / 2);
    margin-bottom: 0;
    margin-left: 0;
  }

  .mfn-be-checkout .woocommerce:not(.mfn-cart-tmpl-builder) #order_review {
    flex: 1 1 calc(50% - var(--sv2-space-xl) / 2);
    max-width: calc(50% - var(--sv2-space-xl) / 2);
    margin-left: 0;
    margin-bottom: 0;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    padding: 2rem 2.25rem;
  }
}

/* ==========================================================================
   Side cart (Betheme slide-out)
   ========================================================================== */

.mfn-cart-overlay {
  background: rgba(21, 15, 10, 0.45);
}

.mfn-cart-holder {
  background-color: var(--sv2-bg-page);
  box-shadow: var(--sv2-shadow-lg);
}

.mfn-cart-holder .mfn-ch-header {
  border-bottom: 1px solid var(--sv2-border);
  background: var(--sv2-header-bg);
}

.mfn-cart-holder .mfn-ch-header h3 {
  color: var(--sv2-brown);
  font-size: 1.25rem;
  font-weight: 800;
}

.mfn-cart-holder .mfn-ch-header h3 svg .path {
  stroke: var(--sv2-brown);
}

.mfn-cart-holder .mfn-ch-header .mfn-close-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--sv2-brown);
  border-radius: var(--sv2-radius-pill);
}

.mfn-cart-holder .mfn-ch-header .mfn-close-icon:hover {
  background: rgba(226, 165, 46, 0.14);
  color: var(--sv2-primary-hover);
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product {
  margin-bottom: var(--sv2-space-md);
  padding: var(--sv2-space-md);
  border: 1px solid var(--sv2-border);
  border-radius: var(--sv2-radius-card);
  background: var(--sv2-card);
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-info {
  border-right-color: var(--sv2-border);
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-info .mfn-chp-name,
.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-info .mfn-chp-name a {
  color: var(--sv2-brown);
  font-weight: 700;
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-price .woocommerce-Price-amount {
  color: var(--sv2-text);
  font-weight: 800;
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-footer {
  margin-top: var(--sv2-space-sm);
  border-top: 1px solid var(--sv2-border);
  background: var(--sv2-bg-soft);
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-footer .mfn-chpf-col .quantity .input-text {
  min-height: 44px;
  font-size: 16px;
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-footer .mfn-chpf-col a.mfn-chp-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  color: var(--sv2-text-muted);
}

.mfn-cart-holder .mfn-ch-content .mfn-ch-product .mfn-chp-footer .mfn-chpf-col a.mfn-chp-remove:hover {
  color: var(--sv2-error);
}

.mfn-cart-holder .mfn-ch-footer {
  border-top: 1px solid var(--sv2-border);
  background: var(--sv2-bg-soft);
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-totals .mfn-chft-row {
  color: var(--sv2-text);
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-totals .mfn-chft-row.mfn-chft-total {
  border-top-color: var(--sv2-border);
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-totals .mfn-chft-row.mfn-chft-total strong {
  color: var(--sv2-brown);
  font-size: 1.375rem;
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-buttons a.button {
  min-height: 52px;
  margin-bottom: var(--sv2-space-sm);
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-buttons a:not(.button) {
  color: var(--sv2-brown);
  font-weight: 700;
}

.mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-buttons a:not(.button):hover {
  color: var(--sv2-primary-hover);
}

.mfn-cart-holder .mfn-sidecart-apply-coupon-wrapper .mfn-sidecart-apply-coupon-input {
  min-height: 48px;
  font-size: 16px;
}

.mfn-cart-holder .mfn-chft-apply-coupon-switcher {
  color: var(--sv2-brown);
  font-weight: 700;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
  .mfn-cart-holder .mfn-ch-footer .mfn-ch-footer-buttons a.button:hover {
    transform: translateY(-2px);
  }

  .woocommerce-checkout #order_review #payment #place_order:hover {
    transform: none;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce-cart table.shop_table.cart .product-remove a.remove,
  .woocommerce-checkout #payment ul.payment_methods li,
  .woocommerce-checkout .form-row .input-text,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .select2-container--default .select2-selection--single,
  .mfn-cart-holder .mfn-ch-header .mfn-close-icon,
  .sv2-cart-empty__cta,
  .woocommerce-cart .sv2-cart-empty .return-to-shop .button,
  body.sv2-cart-is-empty .sv2-cart-empty .return-to-shop .sv2-cart-empty__cta {
    transition: none;
  }
}

/* ==========================================================================
   Desktop cart — sticky footer (short page: no cream band below #Footer)
   #Wrapper height follows content; on a sparse cart page it can be shorter than
   the viewport, so html/--sv2-bg-page (#fff8ec) shows under the footer.
   Homepage is fine — .svv-home content is always taller than one screen.
   Uses existing #Footer { margin-top: auto } from sv2-footer.css.
   ========================================================================== */

@media (min-width: 1240px) {
  body.sv2-cart-page #Wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
  }

  body.sv2-cart-page #Content {
    flex: 1 1 auto;
  }

  body.sv2-cart-is-empty.sv2-cart-page #Content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  body.sv2-cart-page #Footer {
    flex-shrink: 0;
  }
}
