/* =============================================================================
   Liva Mall V2 — cart, checkout, order received, My Account.
   PHASE 5.5. Presentation only: payment methods, shipping rules and totals stay
   exactly as WooCommerce has them configured.

   Two plugins own markup here and re-declare colours on it: the WooCommerce Cart
   BLOCK and Fluid Checkout. The !important declarations in those two sections exist
   because both write inline or high-specificity colour rules that this theme cannot
   out-rank on merit; every other rule in this file is plain cascade.
   ========================================================================== */

/* ---------- Classic cart (kept in case the block is ever switched off) ----- */

.lmv2-v3 .woocommerce-cart-form{margin:0}
@media (min-width:1024px){
  .lmv2-v3.lmv2-cart-two .woocommerce-cart-form{float:none;width:auto}
  .lmv2-v3.lmv2-cart-two .lmv2-cartgrid{display:grid;grid-template-columns:1fr 380px;gap:var(--s12);align-items:start}
  .lmv2-v3.lmv2-cart-two .cart-collaterals{width:auto;float:none;position:sticky;top:calc(var(--lmv2-header) + var(--s5))}
}
.lmv2-v3 .cart-collaterals{width:100%;float:none}
.lmv2-v3 .cart-collaterals .cart_totals{width:100%;float:none}

.lmv2-v3 table.shop_table{width:100%;border-collapse:collapse;border:0;border-radius:0;margin:0}
.lmv2-v3 table.shop_table th{
  font-family:var(--lmv2-label-ff);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lmv2-muted);text-align:left;
  padding:0 var(--s3) var(--s3);border-bottom:1px solid var(--lmv2-line);
}
.lmv2-v3 table.shop_table td{padding:var(--s5) var(--s3);border-top:0;border-bottom:1px solid var(--lmv2-line);vertical-align:middle}
.lmv2-v3 table.shop_table td.product-thumbnail img{width:76px;height:92px;object-fit:cover;border-radius:8px;background:var(--lmv2-surface)}
.lmv2-v3 td.product-name a{font-weight:600;text-decoration:none;color:var(--lmv2-ink)}
.lmv2-v3 td.product-name a:hover{color:var(--lmv2-brand)}
.lmv2-v3 .product-name .variation{margin:var(--s2) 0 0;font-size:13px;color:var(--lmv2-muted)}
.lmv2-v3 .product-name .variation dt,.lmv2-v3 .product-name .variation dd{display:inline;margin:0}
.lmv2-v3 a.remove{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--lmv2-muted);font-size:20px;line-height:1;text-decoration:none;background:transparent}
.lmv2-v3 a.remove:hover{background:var(--lmv2-surface);color:var(--lmv2-error)}
@media (max-width:767px){
  .lmv2-v3 table.shop_table thead{display:none}
  .lmv2-v3 table.shop_table tbody tr{display:grid;grid-template-columns:88px 1fr;gap:var(--s2) var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--lmv2-line)}
  .lmv2-v3 table.shop_table tbody td{border:0;padding:0}
  .lmv2-v3 table.shop_table td.product-thumbnail{grid-row:span 4}
  .lmv2-v3 table.shop_table td::before{content:attr(data-title) " ";font-family:var(--lmv2-label-ff);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--lmv2-muted);margin-right:var(--s2)}
  .lmv2-v3 table.shop_table td.product-name::before,
  .lmv2-v3 table.shop_table td.product-thumbnail::before,
  .lmv2-v3 table.shop_table td.product-remove::before{content:none}
}
.lmv2-v3 .cart_totals h2{font-size:var(--lmv2-h3-fs);margin-bottom:var(--s5)}
.lmv2-v3 .cart_totals table.shop_table{background:var(--lmv2-surface);border-radius:var(--lmv2-radius-card);box-shadow:inset 0 1px 0 var(--lmv2-edge)}
.lmv2-v3 .cart_totals table.shop_table th,
.lmv2-v3 .cart_totals table.shop_table td{padding:var(--s4) var(--s5);text-transform:none;letter-spacing:0;font-size:14.5px}
.lmv2-v3 .cart_totals .order-total th,.lmv2-v3 .cart_totals .order-total td{font-family:var(--lmv2-price-ff);font-size:19px;font-weight:700;color:var(--lmv2-ink);border-top:1px solid var(--lmv2-line)}
.lmv2-v3 .wc-proceed-to-checkout{padding:var(--s5) 0 0}
.lmv2-v3 .wc-proceed-to-checkout .checkout-button{width:100%}

.lmv2-v3 .lmv2-ship{padding:var(--s5);margin-bottom:var(--s6);background:var(--lmv2-surface);border-radius:var(--lmv2-radius-card);box-shadow:inset 0 1px 0 var(--lmv2-edge)}
.lmv2-v3 .lmv2-ship__text{font-size:14.5px;color:var(--lmv2-ink-2);margin-bottom:var(--s3)}
.lmv2-v3 .lmv2-ship__text strong{color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-ship__track{height:6px;border-radius:999px;background:var(--lmv2-surface-2);overflow:hidden}
.lmv2-v3 .lmv2-ship__fill{height:100%;border-radius:999px;background:var(--lmv2-brand);transition:width var(--lmv2-t-slow) ease}
.lmv2-v3 .lmv2-ship.is-met .lmv2-ship__fill{background:var(--lmv2-success)}

.lmv2-v3 .lmv2-emptycart{max-width:52ch;margin:var(--s16) auto;text-align:center}
.lmv2-v3 .lmv2-emptycart__icon{width:78px;height:78px;margin:0 auto var(--s6);display:grid;place-items:center;border-radius:50%;background:var(--lmv2-brand-ghost);color:var(--lmv2-brand)}
.lmv2-v3 .lmv2-emptycart__text{color:var(--lmv2-muted);margin:var(--s3) 0 var(--s8)}
.lmv2-v3 .lmv2-emptycart__cats{margin-top:var(--s8);justify-content:center}

/* =========================================================================
   WooCommerce Cart BLOCK — the cart this store actually runs.
   The block re-declares colours on its own elements, so the theme's tokens are
   handed to it through its own custom properties where it exposes them, and pinned
   with !important where it does not.
   ====================================================================== */

.lmv2-v3 .wp-block-woocommerce-cart{
  --wc-form-color-text:var(--lmv2-ink);
  --wc-form-color-background:var(--lmv2-input-bg);
  --wc-form-border-color:var(--lmv2-input-border);
  --wc-form-border-radius:var(--lmv2-radius-input);
  --wc-form-border-width:1px;
  color:var(--lmv2-ink);
}
/* No gap on the sidebar layout: WooCommerce sizes the two columns 65% + 35% inside a
   wrapping flex row, so any gap pushes the totals under the items (measured). The
   breathing room comes from the sidebar padding instead. */
.lmv2-v3 .wc-block-cart .wc-block-cart-items{border:0}
.lmv2-v3 .wc-block-cart-items__header{
  font-family:var(--lmv2-label-ff)!important;font-size:11.5px!important;font-weight:700!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:var(--lmv2-muted)!important;border-bottom:1px solid var(--lmv2-line)!important;
}
.lmv2-v3 .wc-block-cart-items .wc-block-cart-items__row{border-bottom:1px solid var(--lmv2-line)!important;padding-block:var(--s5)!important}
.lmv2-v3 .wc-block-cart-item__image img{border-radius:8px;background:var(--lmv2-surface-soft)}
.lmv2-v3 .wc-block-components-product-name{color:var(--lmv2-ink)!important;font-family:var(--lmv2-body-ff);font-weight:600;text-decoration:none}
.lmv2-v3 .wc-block-components-product-name:hover{color:var(--lmv2-brand)!important}
.lmv2-v3 .wc-block-components-product-details__name,
.lmv2-v3 .wc-block-components-product-details__value,
.lmv2-v3 .wc-block-components-product-metadata{color:var(--lmv2-muted)!important;font-size:13px}
.lmv2-v3 .wc-block-components-product-price,
.lmv2-v3 .wc-block-cart-item__total .wc-block-components-product-price{color:var(--lmv2-price)!important;font-variant-numeric:tabular-nums;font-family:var(--lmv2-price-ff)}
.lmv2-v3 .wc-block-components-product-price del{color:var(--lmv2-muted)!important}
.lmv2-v3 .wc-block-components-product-price ins{color:var(--lmv2-sale)!important;text-decoration:none}
.lmv2-v3 .wc-block-components-product-sale-badge,
.lmv2-v3 .wc-block-components-sale-badge,
.lmv2-v3 .wc-block-grid__product-onsale,
.lmv2-v3 .wc-block-grid__product-onsale span{
  background:var(--lmv2-brand)!important;color:var(--lmv2-on-brand)!important;border:0!important;border-radius:6px!important;
  font-family:var(--lmv2-label-ff);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:none;
}
.lmv2-v3 .wc-block-components-quantity-selector{
  background:var(--lmv2-input-bg)!important;border:1px solid var(--lmv2-input-border)!important;border-radius:var(--lmv2-radius-input)!important;
}
.lmv2-v3 .wc-block-components-quantity-selector::after{display:none!important}
.lmv2-v3 .wc-block-components-quantity-selector input,
.lmv2-v3 .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{color:var(--lmv2-ink)!important;background:transparent!important;min-height:44px!important}
.lmv2-v3 .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{min-width:40px!important}
.lmv2-v3 .wc-block-cart-item__remove-link{color:var(--lmv2-muted)!important;font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.lmv2-v3 .wc-block-cart-item__remove-link:hover{color:var(--lmv2-error)!important}

/* The summary: one calm surface. */
.lmv2-v3 .wc-block-cart__sidebar{
  padding:var(--s6)!important;border-radius:var(--lmv2-radius-card);
  background:var(--lmv2-surface);border:1px solid var(--lmv2-line);box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-1);
}
@media (min-width:1024px){ .lmv2-v3 .wc-block-cart__sidebar{position:sticky;top:calc(var(--lmv2-header) + var(--s5))} }
.lmv2-v3 .wc-block-components-totals-wrapper,
.lmv2-v3 .wc-block-components-totals-item,
.lmv2-v3 .wc-block-components-totals-footer-item{border-color:var(--lmv2-line)!important;color:var(--lmv2-ink-2)!important;padding-inline:0!important}
.lmv2-v3 .wc-block-components-totals-item__value,
.lmv2-v3 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.lmv2-v3 .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--lmv2-ink)!important;font-variant-numeric:tabular-nums}
.lmv2-v3 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--lmv2-price-ff);font-size:20px;font-weight:700}
.lmv2-v3 .wc-block-components-totals-item__description,
.lmv2-v3 .wc-block-components-shipping-rates-control__package,
.lmv2-v3 .wc-block-components-totals-shipping__via{color:var(--lmv2-muted)!important;font-size:13px}
.lmv2-v3 .wc-block-components-panel__button{color:var(--lmv2-ink)!important}
.lmv2-v3 .wc-block-components-radio-control__option,
.lmv2-v3 .wc-block-components-radio-control__label{color:var(--lmv2-ink)!important}
.lmv2-v3 .wc-block-components-radio-control__input{border-color:var(--lmv2-line-strong)!important;background:var(--lmv2-input-bg)!important}
.lmv2-v3 .wc-block-components-radio-control__input:checked{border-color:var(--lmv2-brand)!important}
.lmv2-v3 .wc-block-components-radio-control__input:checked::before{background:var(--lmv2-brand)!important}
.lmv2-v3 .wc-block-components-totals-coupon-link,
.lmv2-v3 .wc-block-components-totals-coupon__button{color:var(--lmv2-brand-ink)!important}
.lmv2-v3 .wc-block-components-text-input input,
.lmv2-v3 .wc-block-components-text-input label{color:var(--lmv2-ink)!important}
.lmv2-v3 .wc-block-components-text-input input{background:var(--lmv2-input-bg)!important;border-color:var(--lmv2-input-border)!important}

/* PROCEED TO CHECKOUT — the most important button in the basket. */
body.lmv2-v3 .wc-block-cart__submit-button,
body.lmv2-v3 .wp-block-woocommerce-proceed-to-checkout a.wc-block-components-button{
  width:100%;background:var(--lmv2-brand)!important;color:var(--lmv2-on-brand)!important;border:0!important;
  border-radius:var(--lmv2-radius-btn)!important;
  font-family:var(--lmv2-button-ff);font-size:var(--lmv2-button-fs);font-weight:var(--lmv2-button-fw);letter-spacing:var(--lmv2-button-ls);
  min-height:54px;transition:background var(--lmv2-t-base) ease;
}
body.lmv2-v3 .wc-block-cart__submit-button:hover,
body.lmv2-v3 .wp-block-woocommerce-proceed-to-checkout a.wc-block-components-button:hover{background:var(--lmv2-brand-hover)!important;color:var(--lmv2-on-brand)!important}
body.lmv2-v3 .wc-block-cart__submit-button:focus-visible,
body.lmv2-v3 .wp-block-woocommerce-proceed-to-checkout a.wc-block-components-button:focus-visible{outline:3px solid var(--lmv2-focus)!important;outline-offset:2px}

/* Empty cart. The block's 170px "sad face" mask becomes a small brand silhouette;
   the theme's script adds a real route back into the shop. */
.lmv2-v3 .wp-block-woocommerce-empty-cart-block{text-align:center;padding-block:var(--s12)}
.lmv2-v3 .with-empty-cart-icon::before{
  width:72px!important;height:72px!important;
  background-color:var(--lmv2-brand)!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;mask-position:center!important;
  opacity:.28;margin:0 auto var(--s5)!important;
}
.lmv2-v3 .wp-block-woocommerce-empty-cart-block .wp-block-heading,
.lmv2-v3 .wc-block-cart__empty-cart__title{font-family:var(--lmv2-h2-ff);letter-spacing:var(--lmv2-h2-ls);color:var(--lmv2-ink)!important;font-size:clamp(24px,4vw,30px)}
.lmv2-v3 .lmv2-injected-cta{margin:var(--s6) auto 0;display:inline-flex}
.lmv2-v3 .wp-block-woocommerce-empty-cart-block .wp-block-separator{border:0;border-top:1px solid var(--lmv2-line);background:none;height:0;margin-block:var(--s10)}
.lmv2-v3 .wp-block-woocommerce-empty-cart-block .wp-block-heading + .wp-block-heading,
.lmv2-v3 .wp-block-woocommerce-empty-cart-block h2.has-text-align-center:not(.wc-block-cart__empty-cart__title){text-align:left;font-size:var(--lmv2-h3-fs);margin-top:var(--s8)}

/* Product grids the blocks draw ("New in store"): onto the theme's tokens. */
.lmv2-v3 .wc-block-grid__product .wp-block-button__link,
.lmv2-v3 .wp-block-button__link.add_to_cart_button,
.lmv2-v3 .wc-block-components-product-button .wp-block-button__link{
  background:var(--lmv2-brand);color:var(--lmv2-on-brand);border-color:var(--lmv2-brand);
  min-height:44px;padding:0 var(--lmv2-btn-px);display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--lmv2-radius-btn);font-family:var(--lmv2-button-ff);font-size:14px;font-weight:var(--lmv2-button-fw);
}
.lmv2-v3 .wc-block-grid__product .wp-block-button__link:hover,
.lmv2-v3 .wc-block-components-product-button .wp-block-button__link:hover{background:var(--lmv2-brand-hover);border-color:var(--lmv2-brand-hover);color:var(--lmv2-on-brand)}
.lmv2-v3 .wc-block-grid__product-title,
.lmv2-v3 .wc-block-grid__product-link{color:var(--lmv2-ink);font-family:var(--lmv2-ptitle-ff);text-decoration:none}
.lmv2-v3 .wc-block-grid__product-image img{border-radius:var(--lmv2-radius-card);background:var(--lmv2-surface-soft)}
.lmv2-v3 .wc-block-grid__product-price{color:var(--lmv2-price);font-variant-numeric:tabular-nums}
.lmv2-v3 .wc-block-grid__product-price del{color:var(--lmv2-muted)}

/* ---------- Checkout (WooCommerce shell + Fluid Checkout) ----------------- */

.lmv2-v3.woocommerce-checkout .lmv2-main > .lmv2-wrap,
.lmv2-v3.woocommerce-checkout .lmv2-wrap{max-width:var(--lmv2-co-w)}
.lmv2-v3.lmv2-focus-mode .lmv2-header__inner{justify-content:center}
.lmv2-v3.lmv2-focus-mode .lmv2-brand{margin-inline:auto}
.lmv2-v3.lmv2-focus-mode .lmv2-acts{margin-left:0}

body.lmv2-v3.woocommerce-checkout h3,
body.lmv2-v3.woocommerce-checkout h2{font-size:var(--lmv2-h3-fs);margin-bottom:var(--s5)}
body.lmv2-v3.woocommerce-checkout .form-row{margin:0 0 var(--s5);padding:0}
body.lmv2-v3.woocommerce-checkout .col2-set{display:grid;gap:var(--s6);grid-template-columns:1fr}
body.lmv2-v3.woocommerce-checkout .col2-set .col-1,
body.lmv2-v3.woocommerce-checkout .col2-set .col-2{width:auto;float:none}
@media (min-width:768px){ body.lmv2-v3.woocommerce-checkout .col2-set{grid-template-columns:1fr 1fr} }
.lmv2-v3.lmv2-co-panels .woocommerce-billing-fields,
.lmv2-v3.lmv2-co-panels .woocommerce-shipping-fields,
.lmv2-v3.lmv2-co-panels .woocommerce-additional-fields,
.lmv2-v3.lmv2-co-panels #order_review,
.lmv2-v3.lmv2-co-panels .fc-step{
  background:var(--lmv2-surface);border-radius:var(--lmv2-radius-card);
  padding:var(--s6);box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-1);border:1px solid var(--lmv2-line);
  margin-bottom:var(--s6);
}
@media (min-width:1024px){
  .lmv2-v3.lmv2-co-right form.checkout{display:grid;grid-template-columns:1fr 400px;gap:var(--s10);align-items:start}
  .lmv2-v3.lmv2-co-right form.checkout > .col2-set,
  .lmv2-v3.lmv2-co-right form.checkout > .woocommerce-additional-fields{grid-column:1}
  .lmv2-v3.lmv2-co-right form.checkout > h3#order_review_heading,
  .lmv2-v3.lmv2-co-right form.checkout > #order_review{grid-column:2;grid-row:span 1}
  .lmv2-v3.lmv2-co-right form.checkout > #order_review{position:sticky;top:calc(var(--lmv2-header) + var(--s5))}
}

.lmv2-v3 #payment{background:none;border-radius:0}
.lmv2-v3 #payment ul.payment_methods{padding:0;border:0;display:grid;gap:var(--s2)}
.lmv2-v3 #payment ul.payment_methods li{list-style:none;padding:var(--s4) var(--s5);margin:0;border:1px solid var(--lmv2-line-strong);border-radius:var(--lmv2-radius-card);background:var(--lmv2-input-bg)}
.lmv2-v3 #payment ul.payment_methods li label{display:inline;text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--lmv2-ink)}
.lmv2-v3 #payment div.payment_box{background:var(--lmv2-surface);border-radius:var(--lmv2-radius-input);margin:var(--s3) 0 0;padding:var(--s4);font-size:14px;color:var(--lmv2-ink-2)}
.lmv2-v3 #payment div.payment_box::before{display:none}
.lmv2-v3 #payment .place-order{padding:var(--s6) 0 0}

@media (max-width:1023px){
  .lmv2-v3.lmv2-co-collapse #order_review_heading{
    cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
    padding:var(--s4) var(--s5);margin:0 0 var(--s5);background:var(--lmv2-surface);border-radius:var(--lmv2-radius-card);
  }
  .lmv2-v3.lmv2-co-collapse #order_review_heading::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--lmv2-t-micro) ease}
  .lmv2-v3.lmv2-co-collapse.is-summary-open #order_review_heading::after{transform:rotate(-135deg)}
  .lmv2-v3.lmv2-co-collapse:not(.is-summary-open) #order_review{display:none}
}

/* Fluid Checkout writes its own colours on ~130 elements. Surfaces first. */
.lmv2-v3 .fc-progress-bar,
.lmv2-v3 .fc-progress-bar__inner,
.lmv2-v3 .fc-checkout-step,
.lmv2-v3 .fc-step__substep,
.lmv2-v3 .fc-checkout-order-review__inner,
.lmv2-v3 .fc-sidebar__inner,
.lmv2-v3 .fc-step__substep-text-content{
  background-color:var(--lmv2-surface)!important;color:var(--lmv2-ink);
  border-color:var(--lmv2-line)!important;border-radius:var(--lmv2-radius-card);
  box-shadow:inset 0 1px 0 var(--lmv2-edge);
}
.lmv2-v3 .fc-checkout-step{margin-bottom:var(--s5);overflow:hidden}
.lmv2-v3 .fc-step__substep{border-radius:0;box-shadow:none;background-color:transparent!important}
.lmv2-v3 .fc-step__title,
.lmv2-v3 .fc-step__substep-title,
.lmv2-v3 .fc-checkout-order-review__title,
.lmv2-v3 .fc-progress-bar__item{color:var(--lmv2-ink)!important;font-family:var(--lmv2-label-ff);letter-spacing:.04em}
.lmv2-v3 .fc-step__substep-text-line,
.lmv2-v3 .fc-step__substep-text-content,
.lmv2-v3 [class*="fc-"] label{color:var(--lmv2-ink-2)}

/* Fields. Fluid Checkout re-declares white on every control; the theme paints the
   interior with an inset shadow because `background-color` alone was measured NOT
   applying on the shipping fields (Phase 5.4C — cause never found, remedy proven). */
body.lmv2-v3 input.input-text,
body.lmv2-v3 textarea.input-text,
body.lmv2-v3 .woocommerce-input-wrapper input,
body.lmv2-v3 .woocommerce-input-wrapper textarea,
body.lmv2-v3 .woocommerce-input-wrapper select,
body.lmv2-v3 [class*="fc-"] input.input-text,
body.lmv2-v3 [class*="fc-"] textarea,
body.lmv2-v3 [class*="fc-"] select,
body.lmv2-v3 .select2-selection,
body.lmv2-v3 .select2-selection--single,
body.lmv2-v3 .select2-selection__rendered,
body.lmv2-v3 .select2-search__field{
  background-color:var(--lmv2-input-bg)!important;
  box-shadow:inset 0 0 0 100px var(--lmv2-input-bg)!important;
  -webkit-text-fill-color:var(--lmv2-ink)!important;
  color:var(--lmv2-ink)!important;caret-color:var(--lmv2-ink);
  border-color:var(--lmv2-input-border)!important;border-radius:var(--lmv2-radius-input);
}
body.lmv2-v3 .select2-selection__rendered{line-height:46px!important}
body.lmv2-v3 .select2-selection__placeholder,
body.lmv2-v3 input.input-text::placeholder,
body.lmv2-v3 [class*="fc-"] input::placeholder{-webkit-text-fill-color:var(--lmv2-muted)!important;color:var(--lmv2-muted)!important;opacity:1}
body.lmv2-v3 .select2-selection__arrow b{border-top-color:var(--lmv2-ink-2)!important}
/* The open dropdown is a sibling of <body>. */
body.lmv2-v3 .select2-dropdown,
body.lmv2-v3 .select2-results__option{
  background:var(--lmv2-surface-2)!important;box-shadow:inset 0 0 0 100px var(--lmv2-surface-2)!important;
  -webkit-text-fill-color:var(--lmv2-ink)!important;color:var(--lmv2-ink)!important;border-color:var(--lmv2-line)!important;
}
body.lmv2-v3 .select2-results__option--highlighted{box-shadow:inset 0 0 0 100px var(--lmv2-brand)!important;-webkit-text-fill-color:var(--lmv2-on-brand)!important;color:var(--lmv2-on-brand)!important}

/* Shipping method rows and any other selectable option row. */
body.lmv2-v3:not(.lmv2-checkout-simple) .shipping-method__option-label,
body.lmv2-v3:not(.lmv2-checkout-simple) .shipping-method__option,
body.lmv2-v3:not(.lmv2-checkout-simple) .fc-radio-field,
body.lmv2-v3:not(.lmv2-checkout-simple) .wc_payment_method label{
  /* Scoped away from the 5.7 checkout: this block repaints Fluid Checkout's option
     rows and its !important border/background turned each payment method back into a
     card there. Fluid Checkout does not render that checkout, so it does not apply. */
  background-color:var(--lmv2-input-bg)!important;color:var(--lmv2-ink)!important;
  border:1px solid var(--lmv2-line-strong)!important;border-radius:var(--lmv2-radius-card);
}
body.lmv2-v3 .shipping-method__option-price,
body.lmv2-v3 .fc-step__substep-text-line strong{color:var(--lmv2-ink)!important}
body.lmv2-v3 .fc-step__substep-text-line{background-color:transparent!important;color:var(--lmv2-ink-2)!important}

/* Order summary. */
.lmv2-v3 .fc-checkout-order-review table,
.lmv2-v3 .fc-checkout-order-review th,
.lmv2-v3 .fc-checkout-order-review td,
.lmv2-v3 .fc-order-summary table,
.lmv2-v3 .fc-order-summary th,
.lmv2-v3 .fc-order-summary td{background:transparent!important;color:var(--lmv2-ink-2)!important;border-color:var(--lmv2-line)!important}
.lmv2-v3 .fc-checkout-order-review .order-total th,
.lmv2-v3 .fc-checkout-order-review .order-total td,
.lmv2-v3 .fc-order-summary .order-total th,
.lmv2-v3 .fc-order-summary .order-total td{color:var(--lmv2-ink)!important;font-family:var(--lmv2-price-ff);font-weight:700}
.lmv2-v3 .fc-checkout-order-review .product-name,
.lmv2-v3 .fc-checkout-order-review .product-quantity{color:var(--lmv2-ink)!important}

/* The step buttons join the button family; the progress bar is brand, not green. */
.lmv2-v3 .fc-step__next-step,
.lmv2-v3 button.fc-step__next-step,
.lmv2-v3 .fc-place-order-button,
.lmv2-v3 #fc-place-order{
  background:var(--lmv2-brand)!important;color:var(--lmv2-on-brand)!important;border-color:var(--lmv2-brand)!important;
  border-radius:var(--lmv2-radius-btn);min-height:var(--lmv2-btn-h);font-family:var(--lmv2-button-ff);font-weight:var(--lmv2-button-fw);
}
.lmv2-v3 .fc-step__next-step:hover,
.lmv2-v3 .fc-place-order-button:hover{background:var(--lmv2-brand-hover)!important;border-color:var(--lmv2-brand-hover)!important}
.lmv2-v3 .fc-progress-bar__bar{background:var(--lmv2-surface-2)!important}
.lmv2-v3 .fc-progress-bar__bar-current,
.lmv2-v3 .fc-progress-bar__current,
.lmv2-v3 .fc-progress-bar [class*="current"]:not([class*="item"]),
.lmv2-v3 .fc-progress-bar progress::-webkit-progress-value,
.lmv2-v3 .fc-progress-bar progress::-moz-progress-bar{background-color:var(--lmv2-brand)!important}
.lmv2-v3 .fc-progress-bar progress{accent-color:var(--lmv2-brand)}
.lmv2-v3 .fc-progress-bar__item--current,
.lmv2-v3 .fc-progress-bar__item.is-current{color:var(--lmv2-brand)!important}

/* A catalogue "Filters" widget has no business under the order summary. */
.lmv2-v3.woocommerce-checkout .fc-sidebar .widget,
.lmv2-v3.woocommerce-checkout aside .widget_layered_nav,
.lmv2-v3.woocommerce-checkout .fc-sidebar > :not([class*="fc-"]){display:none}

/* Commerce pages use the full container: a basket is scanned across, not read down. */
.lmv2-v3 .lmv2-doc__body--commerce{max-width:none;margin-inline:0;padding-bottom:var(--lmv2-section)}
.lmv2-v3 .lmv2-doc__body--commerce .wp-block-woocommerce-cart,
.lmv2-v3 .lmv2-doc__body--commerce .wc-block-cart,
.lmv2-v3 .lmv2-doc__body--commerce .wc-block-components-sidebar-layout{max-width:none;width:100%}
.lmv2-v3 .lmv2-doc--commerce .lmv2-doc__head{padding-bottom:var(--s5)}

/* Owner decision (Phase 5.4D): stack paired name fields at phone width. */
@media (max-width:480px){
  body.lmv2-v3.woocommerce-checkout .woocommerce-shipping-fields .form-row-first,
  body.lmv2-v3.woocommerce-checkout .woocommerce-shipping-fields .form-row-last,
  body.lmv2-v3.woocommerce-checkout .woocommerce-billing-fields .form-row-first,
  body.lmv2-v3.woocommerce-checkout .woocommerce-billing-fields .form-row-last,
  body.lmv2-v3.woocommerce-checkout .fc-step .form-row-first,
  body.lmv2-v3.woocommerce-checkout .fc-step .form-row-last{float:none;width:100%;margin-right:0;margin-left:0}
}

/* ---------- Order received ------------------------------------------------ */

.lmv2-v3 .lmv2-received{padding-block:var(--s10) var(--lmv2-section)}
.lmv2-v3 .lmv2-received__previewnote{
  display:inline-flex;align-items:center;gap:var(--s2);margin-bottom:var(--s6);padding:var(--s2) var(--s4);
  border-radius:999px;background:var(--lmv2-brand-ghost);color:var(--lmv2-sale);
  font-family:var(--lmv2-label-ff);font-size:12px;font-weight:700;letter-spacing:.04em;
}
.lmv2-v3 .lmv2-received__head{max-width:60ch}
.lmv2-v3 .lmv2-received__tick{
  display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin-bottom:var(--s5);
  background:var(--lmv2-success);color:var(--lmv2-bg);box-shadow:0 0 0 8px var(--lmv2-brand-ghost);
}
.lmv2-v3 .lmv2-received__title{margin-top:var(--s3);font-size:clamp(30px,5vw,var(--lmv2-h1-fs))}
.lmv2-v3 .lmv2-received__lede{margin-top:var(--s5);font-size:17px;line-height:1.65;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-received--bare{text-align:center;padding-block:var(--s16)}
.lmv2-v3 .lmv2-received--bare .lmv2-received__tick{margin-inline:auto}

.lmv2-v3 .lmv2-received__grid{display:grid;gap:var(--s10);grid-template-columns:1fr;margin-top:var(--s10);align-items:start}
@media (min-width:900px){ .lmv2-v3 .lmv2-received__grid{grid-template-columns:3fr 2fr;gap:var(--s16)} }

.lmv2-v3 .lmv2-received__meta{display:grid;gap:var(--s3);grid-template-columns:repeat(2,1fr)}
@media (min-width:600px){ .lmv2-v3 .lmv2-received__meta{grid-template-columns:repeat(3,1fr)} }
.lmv2-v3 .lmv2-received__meta div{padding:var(--s3) var(--s4);border-radius:var(--lmv2-radius-input);background:var(--lmv2-surface);border:1px solid var(--lmv2-line)}
.lmv2-v3 .lmv2-received__meta dt{font-family:var(--lmv2-label-ff);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lmv2-muted)}
.lmv2-v3 .lmv2-received__meta dd{margin-top:2px;font-weight:600;color:var(--lmv2-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lmv2-v3 .lmv2-received__number{font-family:var(--lmv2-h3-ff);font-size:20px}
.lmv2-v3 .lmv2-received__total{font-family:var(--lmv2-price-ff);color:var(--lmv2-price)}
.lmv2-v3 .lmv2-received__next{margin-top:var(--s10)}
.lmv2-v3 .lmv2-received__next .lmv2-steps{margin-top:var(--s6)}
.lmv2-v3 .lmv2-received__ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s10)}
.lmv2-v3 .lmv2-received__support{margin-top:var(--s6);font-size:14.5px;color:var(--lmv2-muted);display:flex;flex-wrap:wrap;gap:var(--s2)}
.lmv2-v3 .lmv2-received__support a{color:var(--lmv2-brand-ink)}

.lmv2-v3 .lmv2-received__summary{
  padding:var(--s6);border-radius:var(--lmv2-radius-card);
  background:var(--lmv2-surface);border:1px solid var(--lmv2-line);box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-1);
}
.lmv2-v3 .lmv2-received__items{display:grid;gap:var(--s4);margin-top:var(--s5);padding-bottom:var(--s5);border-bottom:1px solid var(--lmv2-line)}
.lmv2-v3 .lmv2-received__item{display:flex;gap:var(--s3);align-items:flex-start}
.lmv2-v3 .lmv2-received__thumb{flex:0 0 auto;width:56px;height:68px;border-radius:8px;overflow:hidden;background:var(--lmv2-surface-soft)}
.lmv2-v3 .lmv2-received__thumb img{width:100%;height:100%;object-fit:cover}
.lmv2-v3 .lmv2-received__itembody{flex:1 1 auto;min-width:0;display:grid;gap:2px}
.lmv2-v3 .lmv2-received__itemname{font-weight:600;color:var(--lmv2-ink);font-size:14.5px;line-height:1.4}
.lmv2-v3 .lmv2-received__itemmeta,.lmv2-v3 .lmv2-received__itemqty{font-size:13px;color:var(--lmv2-muted)}
.lmv2-v3 .lmv2-received__itemprice{flex:0 0 auto;font-family:var(--lmv2-price-ff);font-weight:700;color:var(--lmv2-price);font-variant-numeric:tabular-nums}
.lmv2-v3 .lmv2-received__totals{display:grid;gap:var(--s2);margin-top:var(--s5)}
.lmv2-v3 .lmv2-received__totals div{display:flex;justify-content:space-between;gap:var(--s4);font-size:14.5px;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-received__totals dd{font-variant-numeric:tabular-nums;color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-received__totals .is-total{margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--lmv2-line);font-family:var(--lmv2-price-ff);font-size:18px;font-weight:700;color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-received__address{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--lmv2-line)}
.lmv2-v3 .lmv2-received__addressh{font-family:var(--lmv2-label-ff);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lmv2-muted)}
.lmv2-v3 .lmv2-received__address address{font-style:normal;line-height:1.6;margin-top:var(--s2);color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-order__hooks:empty{display:none}
.lmv2-v3 .lmv2-order__hooks{padding-bottom:var(--s12)}
.lmv2-v3 .lmv2-order__hooks .woocommerce-bacs-bank-details,
.lmv2-v3 .lmv2-order__hooks .wc-bacs-bank-details-heading,
.lmv2-v3 .lmv2-order__hooks > p{max-width:64ch}
.lmv2-v3 .lmv2-orderfailed{padding-block:var(--s12)}

/* ---------- My Account ---------------------------------------------------- */

body.lmv2-v3.woocommerce-account .woocommerce{padding-block:var(--s8) var(--s10)}
@media (min-width:900px){
  .lmv2-v3.lmv2-account--side .woocommerce-MyAccount-navigation{float:none;width:auto}
  body.lmv2-v3.lmv2-account--side.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px 1fr;gap:var(--s12);align-items:start}
  .lmv2-v3.lmv2-account--side .woocommerce-MyAccount-content{float:none;width:auto}
}
/* WooCommerce's clearfix pseudo-elements are GRID ITEMS and swapped the columns. */
body.lmv2-v3.lmv2-account--side.woocommerce-account .woocommerce::before,
body.lmv2-v3.lmv2-account--side.woocommerce-account .woocommerce::after{content:none;display:none}

.lmv2-v3 .woocommerce-MyAccount-navigation ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.lmv2-v3 .woocommerce-MyAccount-navigation a{
  display:flex;align-items:center;min-height:46px;padding:0 var(--s4);border-radius:var(--lmv2-radius-btn);text-decoration:none;
  font-size:14.5px;font-weight:500;color:var(--lmv2-ink-2);
}
.lmv2-v3 .woocommerce-MyAccount-navigation a:hover{background:var(--lmv2-surface);color:var(--lmv2-ink)}
.lmv2-v3 .woocommerce-MyAccount-navigation li.is-active a{background:var(--lmv2-ink);color:var(--lmv2-bg);font-weight:600}
.lmv2-v3.lmv2-account--tabs .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s8);border-bottom:1px solid var(--lmv2-line);padding-bottom:var(--s4)}
.lmv2-v3 .woocommerce-MyAccount-content{color:var(--lmv2-ink-2);line-height:1.65}
.lmv2-v3 .woocommerce-MyAccount-content > p:first-child{font-size:16.5px}
.lmv2-v3 .woocommerce-MyAccount-content a:not(.button){color:var(--lmv2-brand-ink)}
.lmv2-v3 .woocommerce-MyAccount-content .woocommerce-orders-table th{font-family:var(--lmv2-label-ff);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--lmv2-muted);border-bottom:1px solid var(--lmv2-line);padding:var(--s3)}
.lmv2-v3 .woocommerce-MyAccount-content .woocommerce-orders-table td{padding:var(--s4) var(--s3);border-bottom:1px solid var(--lmv2-line);color:var(--lmv2-ink-2)}

.lmv2-v3 .lmv2-login{display:grid;gap:var(--s10);grid-template-columns:1fr;align-items:start}
@media (min-width:900px){ .lmv2-v3.lmv2-login-split .lmv2-login{grid-template-columns:1fr 1fr;gap:var(--s16)} }
.lmv2-v3 .woocommerce-form-login,
.lmv2-v3 .woocommerce-form-register,
.lmv2-v3 .woocommerce-ResetPassword,
.lmv2-v3 .woocommerce-form-track-order{
  border:1px solid var(--lmv2-line);padding:var(--s8);margin:0;border-radius:var(--lmv2-radius-card);
  background:var(--lmv2-surface);box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-1);
}
.lmv2-v3 .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:var(--s2)}
.lmv2-v3 .woocommerce-form-login__rememberme span{text-transform:none;letter-spacing:0;font-weight:400}
.lmv2-v3 .woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:var(--s2);text-transform:none;letter-spacing:0;font-weight:400;font-size:14.5px}
.lmv2-v3 .woocommerce-form__label-for-checkbox input{width:auto;min-height:0}
.lmv2-v3 .woocommerce-LostPassword a{color:var(--lmv2-brand-ink)}
.lmv2-v3 .show-password-input{top:14px}

.lmv2-v3 .woocommerce-EditAccountForm fieldset{border:1px solid var(--lmv2-line);border-radius:var(--lmv2-radius-card);padding:var(--s6);margin-top:var(--s8)}
.lmv2-v3 .woocommerce-EditAccountForm legend{font-family:var(--lmv2-label-ff);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lmv2-muted);padding-inline:var(--s2)}
.lmv2-v3 .woocommerce-Addresses{display:grid;gap:var(--s6);grid-template-columns:1fr}
@media (min-width:768px){ .lmv2-v3 .woocommerce-Addresses{grid-template-columns:1fr 1fr} }
.lmv2-v3 .woocommerce-Address{padding:var(--s6);border-radius:var(--lmv2-radius-card);background:var(--lmv2-surface);border:1px solid var(--lmv2-line);box-shadow:inset 0 1px 0 var(--lmv2-edge);width:auto;float:none}
.lmv2-v3 .woocommerce-Address-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}
.lmv2-v3 .woocommerce-Address address{font-style:normal;line-height:1.7;color:var(--lmv2-ink-2)}
.lmv2-v3 .woocommerce-info,
.lmv2-v3 .woocommerce-Message--info{align-items:center}
.lmv2-v3 .lmv2-emptystate{padding:var(--s12) var(--s6);text-align:center;border:1px dashed var(--lmv2-line-strong);border-radius:var(--lmv2-radius-card)}
.lmv2-v3 .lmv2-emptystate__text{color:var(--lmv2-muted);margin-bottom:var(--s6)}

/* ---------- Checkout: dark-mode contrast leftovers (measured 2026-09-05) ------
   Fluid Checkout paints field descriptions and the order-summary variation meta in a
   fixed grey (#7b7575 = 3.9:1 on the dark surface), every NON-selected shipping option
   label in #f3f3f3 (light ink on light grey = 1.02:1), and WooCommerce paints the
   summary's remove link pure red. Each is scoped to the plugin's own class. */
body.lmv2-v3.woocommerce-checkout .description,
body.lmv2-v3.woocommerce-checkout .variation dt,
body.lmv2-v3.woocommerce-checkout .variation dd,
body.lmv2-v3.woocommerce-checkout .variation dd p{color:var(--lmv2-muted)!important}
body.lmv2-v3.woocommerce-checkout .shipping-method__option .shipping-method__option-label{background-color:var(--lmv2-surface)!important;color:var(--lmv2-ink)!important}
body.lmv2-v3.woocommerce-checkout .shipping-method__option-label .woocommerce-Price-amount{color:var(--lmv2-ink)!important}
body.lmv2-v3 .woocommerce a.remove,
body.lmv2-v3.woocommerce-checkout a.remove{color:var(--lmv2-error)!important;background:transparent!important}

/* ---------- My Account: options wired 2026-09-05 -------------------------- */
.lmv2-v3 .lmv2-account__greeting{grid-column:1 / -1;margin:0 0 var(--s4);font-family:var(--lmv2-h1-ff);font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.015em;color:var(--lmv2-ink)}
.lmv2-v3.lmv2-acc-noemptycta .woocommerce-MyAccount-content .woocommerce-info .button,
.lmv2-v3.lmv2-acc-noemptycta .woocommerce-MyAccount-content .woocommerce-message .button{display:none}

/* ---------- Checkout: two fixes measured at phone widths (2026-09-05) ------------
   1. The shipping option labels ignored the background override above (the plugin's
      rule wins the cascade for background-color), so paint them the 5.4C way: an inset
      box-shadow, a property nothing else contests.
   2. The progress bar overflowed the viewport by 8px at 320-430px. */
body.lmv2-v3.woocommerce-checkout .shipping-method__option-label{box-shadow:inset 0 0 0 200px var(--lmv2-surface)!important;-webkit-text-fill-color:var(--lmv2-ink);border-color:var(--lmv2-line)!important}
body.lmv2-v3.woocommerce-checkout .shipping-method__option input:checked ~ .shipping-method__option-label,
body.lmv2-v3.woocommerce-checkout .shipping-method__option.is-selected .shipping-method__option-label{box-shadow:inset 0 0 0 200px var(--lmv2-surface-2)!important;border-color:var(--lmv2-brand)!important}
body.lmv2-v3.woocommerce-checkout .shipping-method__option-label *{-webkit-text-fill-color:var(--lmv2-ink)}
body.lmv2-v3.woocommerce-checkout .fc-progress-bar,
body.lmv2-v3.woocommerce-checkout .fc-progress-bar__inner,
body.lmv2-v3.woocommerce-checkout .fc-checkout-steps{max-width:100%;box-sizing:border-box}
body.lmv2-v3.woocommerce-checkout #fc-wrapper{overflow-x:clip}

/* ---------- Checkout/cart on phones: the ~110px of empty ground under the last step was
   the doc body padding (56px) stacked on the main section padding (56px) — both ours.
   One of them is enough. Measured 2026-09-07 at 390px. */
@media (max-width:767px){
  body.lmv2-v3.woocommerce-checkout .lmv2-doc__body--commerce,
  body.lmv2-v3.woocommerce-cart .lmv2-doc__body--commerce{padding-bottom:0}
}


/* =============================================================================
   PHASE 5.7C - the simplified guest checkout.
   -----------------------------------------------------------------------------
   Rewritten from the 5.7 block rather than layered over it, so there is one set of
   rules for this checkout and no override fighting an earlier rule.

   The owner's direction for the order column was that it read as
       heading / content / small separators / controls
   and not as box inside box inside box. So: ONE surface for the column, nothing
   boxed inside it, hairline dividers only where they clarify hierarchy, and a
   tighter vertical rhythm - major sections 20-28px, related rows 8-14px.

   Everything is a token from the 5.6 system, so light, dark and system all follow.
   WooCommerce's own class names are styled directly because the markup is
   WooCommerce's - that is what keeps its scripts working.
   ========================================================================== */

/* The page template already wraps this content in a .lmv2-wrap, so the template's own
   wrap must not pad again - doubled padding left only 311px of usable width on a 390px
   phone. Max-width and centring are still wanted; the side padding is not. */
.lmv2-v3 .lmv2-co{max-width:var(--lmv2-co-w,1180px);padding-left:0;padding-right:0;padding-top:var(--s6);padding-bottom:var(--s12)}
.lmv2-v3 .lmv2-co__head{margin:0 0 var(--s7)}
.lmv2-v3 .lmv2-co__title{margin:0}
.lmv2-v3 .lmv2-co__lede{margin:var(--s2) 0 0;color:var(--lmv2-ink-2);font-size:15.5px;max-width:52ch}

/* minmax(0,1fr), not 1fr. A `1fr` track floors at MIN-CONTENT, so the order table's
   own minimum (351px, measured) pushed the single mobile column wider than its 311px
   container and put 8px of sideways movement on every phone. minmax(0,...) lets the
   track shrink and the content inside it wrap instead. */
.lmv2-v3 .lmv2-co__grid{display:grid;gap:var(--s6);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:960px){
  .lmv2-v3 .lmv2-co__grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:var(--s8)}
  .lmv2-v3 .lmv2-co__side{position:sticky;top:calc(var(--lmv2-header-h,76px) + var(--s4))}
}

/* The two columns each get ONE surface. Nothing inside them is boxed again. */
.lmv2-v3 .lmv2-co__panel{
  background:var(--lmv2-surface);border:1px solid var(--lmv2-line);border-radius:var(--lmv2-radius-card,14px);
  padding:var(--s6);
}
.lmv2-v3 .lmv2-co__h{
  margin:0 0 var(--s5);padding:0;
  font-family:var(--lmv2-display-ff);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--lmv2-ink);
}

/* ---------- left: the four answers ------------------------------------------ */

.lmv2-v3 .lmv2-co__fields{display:grid;gap:var(--s5)}
.lmv2-v3 .lmv2-co__fields .form-row{display:block;margin:0;padding:0;width:100%;float:none}
.lmv2-v3 .lmv2-co__fields label{
  display:block;margin:0 0 6px;font-family:var(--lmv2-label-ff);font-size:13px;font-weight:600;
  letter-spacing:.01em;color:var(--lmv2-ink);
}
.lmv2-v3 .lmv2-co__fields .required{color:var(--lmv2-brand);text-decoration:none;margin-left:2px}
.lmv2-v3 .lmv2-co__fields .optional{color:var(--lmv2-muted);font-weight:500}
.lmv2-v3 .lmv2-co__fields input[type=text],
.lmv2-v3 .lmv2-co__fields input[type=tel],
.lmv2-v3 .lmv2-co__fields input[type=email],
.lmv2-v3 .lmv2-co__fields textarea{
  width:100%;min-height:52px;padding:14px var(--s4);
  border:1px solid var(--lmv2-input-border);border-radius:var(--lmv2-radius-input,10px);
  background:var(--lmv2-input-bg);color:var(--lmv2-ink);
  font-family:var(--lmv2-body-ff);font-size:16px;line-height:1.4;
  transition:border-color var(--lmv2-t-micro) ease,box-shadow var(--lmv2-t-micro) ease;
}
.lmv2-v3 .lmv2-co__fields textarea{min-height:92px;padding-top:12px;resize:vertical;line-height:1.55}
.lmv2-v3 .lmv2-co__fields input:hover,.lmv2-v3 .lmv2-co__fields textarea:hover{border-color:var(--lmv2-line-strong)}
.lmv2-v3 .lmv2-co__fields input:focus,.lmv2-v3 .lmv2-co__fields textarea:focus{
  outline:0;border-color:var(--lmv2-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--lmv2-focus) 22%,transparent);
}
.lmv2-v3 .lmv2-co__fields .description{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--lmv2-muted)}
.lmv2-v3 .lmv2-co__fields .woocommerce-invalid input,
.lmv2-v3 .lmv2-co__fields .woocommerce-invalid textarea{border-color:var(--lmv2-error)}
.lmv2-v3 .lmv2-co__fields .woocommerce-validated input{border-color:var(--lmv2-success)}

.lmv2-v3 .lmv2-co__consent{margin:var(--s5) 0 0}
.lmv2-v3 .lmv2-co__consent label{display:flex;align-items:flex-start;gap:var(--s3);cursor:pointer;font-size:14px;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-co__consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--lmv2-brand);flex:0 0 auto}

/* ---------- right: free-delivery progress, at the very top ------------------- */

.lmv2-v3 .lmv2-co__side .lmv2-ship{margin:0 0 var(--s5);padding:0;border:0;background:none}
.lmv2-v3 .lmv2-co__side .lmv2-ship__text{margin:0 0 7px;font-size:13px;line-height:1.4;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-co__side .lmv2-ship__text strong{color:var(--lmv2-ink);font-weight:600}
.lmv2-v3 .lmv2-co__side .lmv2-ship__track{height:4px;border-radius:99px;background:var(--lmv2-surface-soft);overflow:hidden}
.lmv2-v3 .lmv2-co__side .lmv2-ship__fill{height:100%;background:var(--lmv2-brand);border-radius:99px}
.lmv2-v3 .lmv2-co__side .lmv2-ship.is-met .lmv2-ship__fill{background:var(--lmv2-success)}
.lmv2-v3 .lmv2-co__side .lmv2-ship.is-met .lmv2-ship__text strong{color:var(--lmv2-success)}

/* ---------- right: product lines, no boxes ---------------------------------- */

.lmv2-v3 .lmv2-co__side .shop_table{width:100%;border-collapse:collapse;margin:0;table-layout:fixed;border:0;background:none}
.lmv2-v3 .lmv2-co__side .shop_table thead{display:none}          /* the column is self-evident */
.lmv2-v3 .lmv2-co__side .shop_table th,
.lmv2-v3 .lmv2-co__side .shop_table td{border:0;padding:0;background:none;font-size:14px;vertical-align:top}
.lmv2-v3 .lmv2-co__side .cart_item td{padding:var(--s3) 0}
.lmv2-v3 .lmv2-co__side .cart_item + .cart_item td{border-top:1px solid var(--lmv2-line)}
.lmv2-v3 .lmv2-co__side .product-name{color:var(--lmv2-ink);line-height:1.4;padding-right:var(--s3);width:auto}
.lmv2-v3 .lmv2-co__side .product-total{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;width:5.5em}
/* Quantity and size sit under the name as their own small meta lines.
   Tried and reverted: making them inline put the variation's "Size:" label ahead of
   the quantity, because WooCommerce emits `strong.product-quantity` and `dl.variation`
   as siblings and the dl's own dt then led the line. Three tidy lines beat two wrong
   ones. */
.lmv2-v3 .lmv2-co__side .product-quantity{color:var(--lmv2-muted);font-weight:600;font-size:12.5px}
.lmv2-v3 .lmv2-co__side .variation{margin:3px 0 0;font-size:12.5px;color:var(--lmv2-muted);line-height:1.4}
.lmv2-v3 .lmv2-co__side .variation dt,.lmv2-v3 .lmv2-co__side .variation dd{display:inline;margin:0;padding:0}
.lmv2-v3 .lmv2-co__side .variation dd{margin-right:var(--s2)}
.lmv2-v3 .lmv2-co__side .variation p{margin:0;display:inline}

/* The line itself: a picture, a name, and nothing drawn around either. */
.lmv2-v3 .lmv2-co__line{display:flex;align-items:flex-start;gap:var(--s3)}
.lmv2-v3 .lmv2-co__linethumb{
  flex:0 0 44px;width:44px;display:block;border-radius:6px;overflow:hidden;
  background:none;                       /* no plate behind the photograph */
}
.lmv2-v3 .lmv2-co__linethumb img{
  display:block;width:100%;height:auto;   /* the photograph's own ratio, never cropped */
}
.lmv2-v3 .lmv2-co__linename{
  flex:1 1 auto;min-width:0;font-size:14px;line-height:1.4;color:var(--lmv2-ink);
  /* These catalogue titles run to four clauses and no short title is set for most
     products, so the summary clamps the display instead of inventing a shorter name.
     The full title stays in the DOM for screen readers and in the title attribute. */
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:anywhere;
}

/* ---------- right: totals --------------------------------------------------- */

.lmv2-v3 .lmv2-co__side tfoot{display:table-row-group}
.lmv2-v3 .lmv2-co__side tfoot tr:first-child th,
.lmv2-v3 .lmv2-co__side tfoot tr:first-child td{padding-top:var(--s4);border-top:1px solid var(--lmv2-line)}
.lmv2-v3 .lmv2-co__side tfoot th,
.lmv2-v3 .lmv2-co__side tfoot td{padding:5px 0;border:0;font-size:14px;font-weight:400;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-co__side tfoot td{text-align:right;font-variant-numeric:tabular-nums;color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-co__side tfoot .order-total th,
.lmv2-v3 .lmv2-co__side tfoot .order-total td{
  padding-top:var(--s3);
  font-family:var(--lmv2-display-ff);font-size:18px;font-weight:700;color:var(--lmv2-ink);
}
.lmv2-v3 .lmv2-co__side .woocommerce-shipping-destination{margin:4px 0 0;font-size:12.5px;color:var(--lmv2-muted);overflow-wrap:anywhere}
.lmv2-v3 .lmv2-co__side ul#shipping_method{margin:0;padding:0;list-style:none}
.lmv2-v3 .lmv2-co__side ul#shipping_method li{margin:0;padding:0}

/* ---------- right: coupon, collapsed until wanted --------------------------- */

.lmv2-v3 .lmv2-co__coupon{margin:var(--s5) 0 0}
.lmv2-v3 .lmv2-co__coupontoggle{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
  width:100%;min-height:40px;padding:0;border:0;background:none;cursor:pointer;text-align:left;
  font-family:var(--lmv2-label-ff);font-size:13.5px;font-weight:600;color:var(--lmv2-ink-2);
  transition:color var(--lmv2-t-micro) ease;
}
.lmv2-v3 .lmv2-co__coupontoggle:hover{color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-co__coupontoggle:focus-visible{outline:var(--lmv2-focus-w) solid var(--lmv2-focus);outline-offset:3px;border-radius:4px}
.lmv2-v3 .lmv2-co__couponplus{position:relative;flex:0 0 auto;width:12px;height:12px}
.lmv2-v3 .lmv2-co__couponplus::before,
.lmv2-v3 .lmv2-co__couponplus::after{
  content:"";position:absolute;left:0;top:5px;width:12px;height:2px;border-radius:2px;background:currentColor;
  transition:transform var(--lmv2-t-micro) ease;
}
.lmv2-v3 .lmv2-co__couponplus::after{transform:rotate(90deg)}
.lmv2-v3 .lmv2-co__coupontoggle[aria-expanded=true] .lmv2-co__couponplus::after{transform:rotate(0deg)}
.lmv2-v3 .lmv2-co__couponpanel{overflow:hidden}
.lmv2-v3 .lmv2-co__couponpanel[hidden]{display:none}
.lmv2-v3 .lmv2-co__couponpanel.is-opening{animation:lmv2-couponin 200ms cubic-bezier(.2,0,0,1)}
@keyframes lmv2-couponin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.lmv2-v3 .lmv2-co__couponpanel form{margin:8px 0 0;padding:0;border:0;background:none}
.lmv2-v3 .lmv2-co__couponrow{display:flex;gap:var(--s2)}
.lmv2-v3 input.lmv2-co__couponinput{
  flex:1 1 auto;min-width:0;min-height:44px;padding:0 var(--s3);
  border:1px solid var(--lmv2-input-border);border-radius:var(--lmv2-radius-input,10px);
  background:var(--lmv2-input-bg);color:var(--lmv2-ink);font-size:15px;letter-spacing:.03em;text-transform:uppercase;
}
.lmv2-v3 input.lmv2-co__couponinput:focus{outline:0;border-color:var(--lmv2-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--lmv2-focus) 22%,transparent)}
.lmv2-v3 button.lmv2-co__couponbtn{
  flex:0 0 auto;min-height:44px;padding:0 var(--s4);
  border:1px solid var(--lmv2-line-strong);border-radius:var(--lmv2-radius-btn,10px);
  background:transparent;color:var(--lmv2-ink);
  font-family:var(--lmv2-label-ff);font-size:14px;font-weight:600;cursor:pointer;
  transition:background var(--lmv2-t-micro) ease,color var(--lmv2-t-micro) ease,border-color var(--lmv2-t-micro) ease;
}
.lmv2-v3 button.lmv2-co__couponbtn:hover{background:var(--lmv2-ink);border-color:var(--lmv2-ink);color:var(--lmv2-bg)}

/* ---------- right: payment as a plain radio list ---------------------------- */

.lmv2-v3 .lmv2-co__side #payment{
  margin:var(--s5) 0 0;padding:var(--s4) 0 0;border-top:1px solid var(--lmv2-line);
  background:none;border-radius:0;
}
/* The 5.x checkout styled payment as cards with ID-level selectors
   (`.lmv2-v3 #payment ul.payment_methods li`, specificity 1,2,1) - a border, a radius,
   a filled background per method and a grey slab for the description. The owner asked
   for a plain radio list instead, so these overrides carry the same ID weight; a
   class-only rule silently lost to them. */
.lmv2-v3.lmv2-checkout-simple #payment{background:none;border-radius:0}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods{display:block;gap:0;margin:0;padding:0;border:0}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li{
  list-style:none;margin:0;padding:0;
  border:0;border-radius:0;background:none;box-shadow:none;
  /* A two-column row: the radio, then the label. The description spans both so it
     sits under the label rather than beside the radio. */
  display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:var(--s3);align-items:start;
}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li + li{border-top:1px solid var(--lmv2-line)}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li > label{
  grid-column:2;display:block;
  margin:0;padding:12px 0;min-height:0;
  border:0;border-radius:0;background:none;cursor:pointer;
  font-size:14.5px;font-weight:500;line-height:1.45;color:var(--lmv2-ink);
  text-transform:none;letter-spacing:0;overflow-wrap:anywhere;
}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li > input[type=radio]{
  grid-column:1;position:static;width:20px;height:20px;margin:13px 0 0;
  accent-color:var(--lmv2-brand);cursor:pointer;
}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li > input[type=radio]:checked + label{font-weight:600}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li > input[type=radio]:focus-visible + label{outline:var(--lmv2-focus-w) solid var(--lmv2-focus);outline-offset:2px;border-radius:4px}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li label img{display:none}
.lmv2-v3.lmv2-checkout-simple #payment div.payment_box{
  grid-column:1/-1;margin:0 0 12px;padding:0 0 0 calc(20px + var(--s3));
  border:0;border-radius:0;background:none;
  color:var(--lmv2-muted);font-size:13px;line-height:1.5;
}
.lmv2-v3.lmv2-checkout-simple #payment div.payment_box::before{display:none}
.lmv2-v3.lmv2-checkout-simple #payment div.payment_box p{margin:0 0 6px}
.lmv2-v3.lmv2-checkout-simple #payment div.payment_box p:last-child{margin-bottom:0}
.lmv2-v3 .lmv2-co__side .woocommerce-terms-and-conditions-wrapper{margin:var(--s4) 0 0;font-size:13px;line-height:1.5;color:var(--lmv2-ink-2)}
.lmv2-v3 .lmv2-co__side .woocommerce-terms-and-conditions-wrapper p{margin:0}

/* ---------- right: place order ---------------------------------------------- */

.lmv2-v3 .lmv2-co__side .form-row.place-order{margin:0;padding:0}
.lmv2-v3 .lmv2-co__side #place_order,
.lmv2-v3 .lmv2-co__side button#place_order{
  width:100%;margin:var(--s4) 0 0;min-height:56px;padding:0 var(--s6);
  border:0;border-radius:var(--lmv2-radius-btn,10px);
  background:var(--lmv2-brand);color:var(--lmv2-on-brand);
  font-family:var(--lmv2-label-ff);font-size:16px;font-weight:700;letter-spacing:.01em;cursor:pointer;
  transition:background var(--lmv2-t-micro) ease;
}
.lmv2-v3 .lmv2-co__side #place_order:hover{background:var(--lmv2-brand-hover)}
.lmv2-v3 .lmv2-co__side #place_order:focus-visible{outline:var(--lmv2-focus-w) solid var(--lmv2-focus);outline-offset:3px}
.lmv2-v3 .lmv2-co__support{margin:var(--s3) 0 0;font-size:12.5px;line-height:1.5;color:var(--lmv2-muted);text-align:center}

/* Whatever wrapper any plugin puts around the submit button, the one control that
   completes the order is never allowed to collapse or hide. */
.lmv2-v3.lmv2-checkout-simple .fc-place-order,
.lmv2-v3.lmv2-checkout-simple .form-row.place-order{
  display:block!important;position:static!important;visibility:visible!important;
  width:auto!important;height:auto!important;overflow:visible!important;
}

/* ---------- structural overrides carried forward ---------------------------- */

/* Earlier phases padded WooCommerce's own review container and its form rows for the
   old checkout (measured: 24px on #order_review, 16px on .form-row.place-order). Inside
   this column that padding stacked on the panel's own and left the Place Order button
   228px wide in a 343px column instead of filling it. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side #order_review{padding:0;margin:0;border:0;background:none;border-radius:0}
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side .form-row{width:100%;max-width:none;padding:0;margin:0;float:none;display:block}
/* An ID-level rule already governs this container (`#payment .place-order`), so the
   override has to match that weight to win. Measured before: the row kept 16px of side
   padding and the Place Order button came out 278px wide in a 311px column. */
.lmv2-v3.lmv2-checkout-simple #payment .form-row.place-order,
.lmv2-v3.lmv2-checkout-simple #payment .place-order{padding-left:0;padding-right:0;margin-left:0;margin-right:0;width:100%}


/* The 5.x layout made the checkout FORM itself a two-column grid for the old
   structure (`.lmv2-v3.lmv2-co-right form.checkout`, specificity 0,3,1). This
   checkout carries its own grid inside the form, so that rule was placing the whole
   grid into one 580px column of the old one. The body class wins at (0,4,1). */
.lmv2-v3.lmv2-checkout-simple form.checkout,
.lmv2-v3.lmv2-checkout-simple.lmv2-co-right form.checkout{display:block;max-width:none;gap:0}

/* The 5.x checkout collapsed the order summary on phones behind a tappable heading.
   This checkout has no such toggle, so that rule hid the whole order column on every
   phone - summary, coupon, payment and the Place Order button with it. */
.lmv2-v3.lmv2-checkout-simple #order_review,
.lmv2-v3.lmv2-checkout-simple.lmv2-co-collapse:not(.is-summary-open) #order_review{display:block!important}
.lmv2-v3.lmv2-checkout-simple #order_review_heading::after{content:none!important}
.lmv2-v3.lmv2-checkout-simple #order_review_heading{cursor:default!important}

/* The delivery address is collected in the form beside this, so WooCommerce's shipping
   calculator would be a second, competing address form. */
.lmv2-v3.lmv2-checkout-simple .shipping-calculator-button,
.lmv2-v3.lmv2-checkout-simple .shipping-calculator-form{display:none!important}

/* "Direct bank transfer/EasyPaisa/JazzCash or via international ACH/SWIFT" is one
   45-character token with no spaces around the slashes; a table cell and a flex label
   both take their minimum width from it, which pinned the checkout's content width. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side .product-name,
.lmv2-v3.lmv2-checkout-simple .woocommerce-shipping-destination{overflow-wrap:anywhere;word-break:normal;min-width:0}

/* ---------- phones ----------------------------------------------------------- */

@media (max-width:959px){
  .lmv2-v3 .lmv2-co{padding-top:var(--s4)}
  .lmv2-v3 .lmv2-co__panel{padding:var(--s5) var(--s4);border-radius:12px}
  .lmv2-v3 .lmv2-co__side{position:static}
  /* Nothing fixed may sit over the order button. */
  .lmv2-v3.lmv2-checkout-simple .qlwapp{display:none!important}
}
@media (max-width:400px){
  .lmv2-v3 .lmv2-co__couponrow{flex-wrap:wrap}
  .lmv2-v3 button.lmv2-co__couponbtn{width:100%}
}

/* ---------- 5.7: order number, copy button, keep-this note ------------------- */

.lmv2-v3 .lmv2-received__number{display:inline-flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.lmv2-v3 .lmv2-received__copy{
  min-height:32px;padding:0 var(--s3);border:1px solid var(--lmv2-line-strong);border-radius:999px;
  background:transparent;color:var(--lmv2-ink-2);cursor:pointer;
  font-family:var(--lmv2-label-ff);font-size:12px;font-weight:600;letter-spacing:.02em;
  transition:border-color var(--lmv2-t-micro) ease,color var(--lmv2-t-micro) ease;
}
.lmv2-v3 .lmv2-received__copy:hover{border-color:var(--lmv2-ink);color:var(--lmv2-ink)}
.lmv2-v3 .lmv2-received__copy:focus-visible{outline:var(--lmv2-focus-w) solid var(--lmv2-focus);outline-offset:2px}
.lmv2-v3 .lmv2-received__copy.is-done{border-color:var(--lmv2-success);color:var(--lmv2-success)}
.lmv2-v3 .lmv2-received__keep{
  margin:var(--s5) 0 0;padding:var(--s4);border-radius:10px;
  background:var(--lmv2-surface-soft);color:var(--lmv2-ink-2);font-size:14px;line-height:1.6;
}

@media (prefers-reduced-motion:reduce){
  .lmv2-v3 .lmv2-co__couponpanel.is-opening{animation:none}
}


/* ============================================================================
   PHASE 5.7F — the owner's visual pass on the order column
   ========================================================================= */

/* ---------- 1. Your Order is not a card ------------------------------------
   The owner reported this as fixed in dark and still boxed in light. Both themes
   were always running the same two rules; dark only looked right because its
   surface and line tokens sit close to the dark ground. The two real sources:

     .lmv2-v3 .lmv2-co__panel            (this file, ~l.563)
        white surface + 1px line + 14px radius. It is shared by BOTH columns.

     .lmv2-v3.lmv2-co-panels #order_review   (this file, ~l.211)
        the raised-card shadow. The 5.7C rule that neutralised this container
        zeroed padding, margin, border, background and radius — but not
        box-shadow, so the shadow alone survived and kept the column looking
        lifted off the page.

   PHASE 5.7H supersedes that. The owner's final direction is a subtle premium panel on
   BOTH columns, in the same visual language as the Cart Totals panel on the cart page.
   Measured from that panel in light mode, and matched here rather than guessed:

       background   #FFFFFF   (--lmv2-surface)
       border       0.8px solid rgba(227,223,215,.9)   (--lmv2-line)
       radius       12px      (--lmv2-radius-card)
       padding      24px      (--s6)
       shadow       inset 0 1px 0 --lmv2-edge, then --lmv2-shadow-1

   One rule covers both columns, so they cannot drift into a matched-pair problem again.
   Only the OUTER column is a panel: the shadow that Phase 5.7C found on #order_review
   stays suppressed, so nothing inside becomes a second card. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__panel{
  background:var(--lmv2-surface);
  border:1px solid var(--lmv2-line);
  border-radius:var(--lmv2-radius-card);
  padding:var(--s6);
  box-shadow:inset 0 1px 0 var(--lmv2-edge),var(--lmv2-shadow-1);
}
@media (max-width:767px){
  .lmv2-v3.lmv2-checkout-simple .lmv2-co__panel{padding:20px}
}
/* No nested cards inside the panel. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side #order_review{box-shadow:none;background:none;border:0;padding:0}

/* With no panel padding, each heading is the top edge of its own column, so the two sit on
   the same baseline without being nudged. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__h{margin-top:0}

/* ---------- 2. Totals: two quiet lines, one rule, one loud total -----------
   Target spacing from the owner's reference: 8-10px between Subtotal and
   Delivery, 16-20px either side of the divider. Cell padding is halved because
   two adjacent cells make the gap.

   The divider that used to sit ABOVE Subtotal is gone: the reference carries one
   line, before Total, and the products above are separated by space instead. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot tr:first-child th,
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot tr:first-child td{
  border-top:0;padding-top:var(--s5);
}
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot th,
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot td{
  padding:4px 0;border:0;font-size:14.5px;font-weight:500;line-height:1.45;
  color:var(--lmv2-ink-2);
}
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot td{
  text-align:right;font-variant-numeric:tabular-nums;
}
/* The row before Total — shipping, whether or not a discount row precedes it. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot tr:nth-last-child(2) th,
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot tr:nth-last-child(2) td{
  padding-bottom:var(--s5);
}
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot .order-total th,
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot .order-total td{
  border-top:1px solid var(--lmv2-line);
  padding-top:var(--s5);
  font-family:var(--lmv2-display-ff);font-size:18px;font-weight:700;
  color:var(--lmv2-ink);
}
/* WooCommerce prints the chosen method's name and a destination line under the
   shipping row; in a one-method store that is two lines saying nothing. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side .woocommerce-shipping-destination{display:none}

/* Mobile stacks WooCommerce tables and prints each cell's data-title before its value
   (this file, ~l.42). In the totals that repeats the row's own label: the row said
   "DELIVERY" on the left and "DELIVERY / Rs 290" stacked on the right. The heading is
   already there, so the echo is dropped for this column only. */
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot td::before,
.lmv2-v3.lmv2-checkout-simple .lmv2-co__side tfoot th::before{content:none}

/* ---------- 3. Payment: a settings list, not a set of cards ---------------- */
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li + li{margin-top:12px}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li .payment_box{
  grid-column:2;margin:4px 0 0;padding:0;background:none;border:0;border-radius:0;
  font-size:13px;line-height:1.45;color:var(--lmv2-muted);
}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li .payment_box::before{content:none}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li .payment_box p{margin:0}
.lmv2-v3.lmv2-checkout-simple #payment ul.payment_methods li .payment_box p + p{margin-top:6px}
/* Place Order follows the payment list, not a gap. */
.lmv2-v3.lmv2-checkout-simple #payment .form-row.place-order{margin-top:var(--s6)}

/* ---------- 4. Cart: the free-delivery line, inside the block totals -------
   Rendered by PHP and moved here by v3.js (see cartFreeDelivery). The shared
   .lmv2-ship treatment is a padded card, which is right on its own but wrong
   inside a totals panel — so it is flattened to a label and a thin line. */
.lmv2-v3 .lmv2-cartship{margin:0 0 var(--s4)}
.lmv2-v3 .lmv2-cartship .lmv2-ship{
  padding:0;margin:0;background:none;box-shadow:none;border-radius:0;border:0;
}
.lmv2-v3 .lmv2-cartship .lmv2-ship__text{
  font-size:13px;line-height:1.4;margin:0 0 7px;color:var(--lmv2-ink-2);
}
.lmv2-v3 .lmv2-cartship .lmv2-ship__text strong{color:var(--lmv2-ink);font-weight:600}
.lmv2-v3 .lmv2-cartship .lmv2-ship.is-met .lmv2-ship__text strong{color:var(--lmv2-success)}
.lmv2-v3 .lmv2-cartship .lmv2-ship__track{height:4px;background:var(--lmv2-surface-2)}

/* The block cart's line-items table scrolls sideways on phones, which puts a scrollbar in
   the middle of the page and clips the badge. Measured at 390px: the table needs 353px in a
   343px box. The cause is WooCommerce's own "Save Rs X" badge, which is nowrap and so holds
   the total column open at 79px. Letting it wrap frees the track: 353 -> 343, overflow 0.
   Pre-existing, not introduced by this phase's changes. */
.lmv2-v3 .wc-block-cart-item__total .wc-block-components-product-badge{white-space:normal}


/* ============================================================================
   PHASE 5.7H - the product card
   ========================================================================= */

/* The product-card hover is fixed at source in v3/motion.css. It was briefly duplicated
   here and lost: both rules are (0,4,0) and motion.css loads later, so this one never
   applied. Same specificity is settled by load order, not by which file looks more specific
   - the same trap caught the card text spacing in this phase. */

/* Card text spacing is set at source in card.css (gap 2px -> 6px). It was briefly duplicated
   here and lost: both rules are (0,2,0) and card.css loads later, so the override never
   applied. Same specificity is decided by load order, not by which file feels more specific. */
