/* ============================================================
   RWiz Cart 0003 - External CSS Consolidated Stable Fallback
   Version: v10.1.42
   Purpose: Keep RWiz/UX cart presentation CSS outside the PHP runtime, including AJAX busy indicators, progressive enhancement fallbacks and responsive hardening.
   v10.1.42 repair: shipping-method refresh is scope-isolated/de-duplicated; CSS preserves v10.1.39 single-owner safety-net selectors.

   Recommended server path for external-file deployment:
   wp-content/rwiz-snippets/0003/rwiz-0003-cart-v10.1.42.css

   Interim manual option:
   Preferred: load from the external file path above. Interim manual option: paste this full file into Flatsome > Advanced > Custom CSS.

   Ownership boundary:
   - UX Builder owns page layout and card placement.
   - This CSS styles RWiz frame helper classes and RWiz shortcode output.
   - PHP should own logic, shortcode rendering and AJAX only.
   ============================================================ */

/* ============================================================
   SECTION 001 - UX Builder frame helper classes
   Source: current Flatsome Custom CSS supplied by user.
   Scope: Visual frame helpers and cart utility button rounding.
   ============================================================ */

/* ============================================================
   RWiz Cart v10.0.0 - Frame-only visual helper classes
   Purpose: Visualise primary / nested primary / nested secondary
   Scope: Frames only. No movement, no hiding, no functional changes.
   ============================================================ */

:root {
  --rwiz-frame-blue: #1685d9;
  --rwiz-frame-blue-soft: rgba(22, 133, 217, 0.55);
  --rwiz-checkout-green: var(--fs-color-success, #2a8f1f);
  --rwiz-add-coupon-blue: #006fc9;
  --rwiz-frame-grey: rgba(31, 51, 71, 0.18);
  --rwiz-frame-bg: #ffffff;

  /* Consistent radius */
  --rwiz-frame-radius-primary: 6px;
  --rwiz-frame-radius-inner: 6px;
  --rwiz-frame-radius-cart-totals-frame: 6px;
  --rwiz-frame-radius-cart-item-frame: 6px;
  --rwiz-frame-radius-button: 6px;

  --rwiz-frame-padding-primary: 10px;
  --rwiz-frame-padding-inner: 10px;
  --rwiz-frame-padding-table-item: 5px;
  --rwiz-frame-padding-table-action-y: 2.5px;
  --rwiz-frame-table-product-item-gap: 5px;
  --rwiz-frame-gap: 10px;

  /* Booster / cart utility buttons */
  --rwiz-frame-cart-button-height: 36px;
  --rwiz-frame-cart-button-padding-x: 14px;
}

/* 0. Cart table row spacing */
.shop_table.shop_table_responsive {
  border-collapse: separate !important;
  border-spacing: 0 var(--rwiz-frame-table-product-item-gap) !important;
}

/* 1. Primary card: outer blue rounded frame */
.rwiz-primary-card {
  border: 1px solid var(--rwiz-frame-blue-soft);
  border-radius: var(--rwiz-frame-radius-primary);
  background: var(--rwiz-frame-bg);
  padding: var(--rwiz-frame-padding-primary);
  margin-bottom: var(--rwiz-frame-gap);
  box-sizing: border-box;
}

/* 2. Primary-in-primary card: blue rounded frame inside another primary card */
.rwiz-primary-in-primary-card {
  border: 1px solid var(--rwiz-frame-blue-soft);
  border-radius: var(--rwiz-frame-radius-inner);
  background: var(--rwiz-frame-bg);
  padding: var(--rwiz-frame-padding-inner);
  margin-bottom: var(--rwiz-frame-gap);
  box-sizing: border-box;
}

/* 3. Secondary-in-primary card: grey rounded frame inside a primary card */
.rwiz-secondary-in-primary-card {
  border: 1px solid var(--rwiz-frame-grey);
  border-radius: var(--rwiz-frame-radius-inner);
  background: var(--rwiz-frame-bg);
  padding: var(--rwiz-frame-padding-inner);
  margin-bottom: var(--rwiz-frame-gap);
  box-sizing: border-box;
}

/* 3.1. Secondary frame for the cart table header only */
.shop_table.shop_table_responsive > thead {
  outline: 1px solid var(--rwiz-frame-grey);
  outline-offset: -1px;
  border-radius: var(--rwiz-frame-radius-cart-item-frame);
  background: var(--rwiz-frame-bg);
  border-bottom: 0 !important;
  box-sizing: border-box;
}

/* 3.1.1. Hide theme/table line beneath the cart table header */
.shop_table.shop_table_responsive > thead > tr,
.shop_table.shop_table_responsive > thead > tr > th {
  border-bottom: 0 !important;
}

/* 3.1.2. Padding inside the cart table header */
.shop_table.shop_table_responsive > thead > tr > th {
  padding: var(--rwiz-frame-padding-table-item);
  box-sizing: border-box;
}

/* 3.2. Secondary frame for cart item rows only */
.shop_table.shop_table_responsive .woocommerce-cart-form__cart-item.cart_item {
  outline: 1px solid var(--rwiz-frame-grey);
  outline-offset: -1px;
  border-radius: var(--rwiz-frame-radius-cart-item-frame);
  background: var(--rwiz-frame-bg);
  box-sizing: border-box;
}

/* 3.2.1. Padding inside cart item rows */
.shop_table.shop_table_responsive .woocommerce-cart-form__cart-item.cart_item > td {
  padding: var(--rwiz-frame-padding-table-item);
  background: var(--rwiz-frame-bg);
  box-sizing: border-box;
}

/* 3.3. Update Cart action row: reduce space above and below button by 50% */
.shop_table.shop_table_responsive .rwiz-cart-items-actions {
  padding-top: var(--rwiz-frame-padding-table-action-y) !important;
  padding-bottom: var(--rwiz-frame-padding-table-action-y) !important;
  padding-left: var(--rwiz-frame-padding-table-item) !important;
  padding-right: var(--rwiz-frame-padding-table-item) !important;
  line-height: normal;
  box-sizing: border-box;
}

/* 3.3.1. Keep the Update Cart button itself compact */
.shop_table.shop_table_responsive .rwiz-cart-items-actions .button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 3.3.2. Booster Empty Cart button: match Continue Shopping button sizing/radius */
input[type="submit"].button[name="wcj_empty_cart"] {
  min-height: var(--rwiz-frame-cart-button-height);
  height: var(--rwiz-frame-cart-button-height);
  padding: 0 var(--rwiz-frame-cart-button-padding-x) !important;
  border-radius: var(--rwiz-frame-radius-button) !important;
  line-height: var(--rwiz-frame-cart-button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  vertical-align: middle;
}

/* 3.4. Cart totals frame radius only */
.cart_totals,
.cart_totals .shop_table,
.rwiz-cart-totals,
.rwiz-cart-component-totals {
  border-radius: var(--rwiz-frame-radius-cart-totals-frame);
}

/* 4. Buttons: apply consistent rounded corners */
.button,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button {
  border-radius: var(--rwiz-frame-radius-button);
}

/* Avoid extra spacing after the last nested frame in a parent card */
.rwiz-primary-card > .rwiz-primary-in-primary-card:last-child,
.rwiz-primary-card > .rwiz-secondary-in-primary-card:last-child,
.rwiz-primary-in-primary-card > .rwiz-secondary-in-primary-card:last-child {
  margin-bottom: 0;
}


/* ============================================================
   SECTION 002 - RWiz shortcode/internal component styling
   Source: v10.1.11 external CSS separation, originally moved from runtime inline CSS.
   Scope: RWiz shortcode wrappers, internal toggles, empty-cart state.
   ============================================================ */

.rwiz-cart-coupon-toggle,
.rwiz-cart-delivery-calculator-toggle {
	width: 100%;
}
.rwiz-cart-coupon-toggle-header,
.rwiz-cart-delivery-calculator-toggle-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 34px;
}
.rwiz-cart-coupon-toggle-copy,
.rwiz-cart-delivery-calculator-toggle-copy {
	min-width: 0;
}
.rwiz-cart-coupon-toggle-title,
.rwiz-cart-delivery-calculator-toggle-title {
	font-weight: 700;
	line-height: 1.2;
	color: #0a5ea8;
}
.rwiz-cart-coupon-toggle-subtitle,
.rwiz-cart-delivery-calculator-toggle-subtitle {
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.25;
	color: #555;
}
.rwiz-cart-coupon-toggle-control,
.rwiz-cart-delivery-calculator-toggle-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 74px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0a5ea8;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: none;
	appearance: none;
}
.rwiz-cart-coupon-toggle-control:hover,
.rwiz-cart-coupon-toggle-control:focus,
.rwiz-cart-delivery-calculator-toggle-control:hover,
.rwiz-cart-delivery-calculator-toggle-control:focus {
	background: transparent;
	border-color: transparent;
	color: #075eaF;
	outline: none;
}
.rwiz-cart-coupon-toggle-control:focus-visible,
.rwiz-cart-delivery-calculator-toggle-control:focus-visible {
	outline: 2px solid rgba(10, 116, 217, 0.35);
	outline-offset: 2px;
}
.rwiz-cart-coupon-toggle-icon,
.rwiz-cart-delivery-calculator-toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid #0a74d9;
	border-radius: 999px;
	background: #0a74d9;
	color: #fff;
	font-size: 16px;
	line-height: 1;
}
.rwiz-cart-coupon-toggle-control:hover .rwiz-cart-coupon-toggle-icon,
.rwiz-cart-coupon-toggle-control:focus .rwiz-cart-coupon-toggle-icon,
.rwiz-cart-delivery-calculator-toggle-control:hover .rwiz-cart-delivery-calculator-toggle-icon,
.rwiz-cart-delivery-calculator-toggle-control:focus .rwiz-cart-delivery-calculator-toggle-icon {
	background: #075eaF;
	border-color: #075eaF;
	color: #fff;
}
.rwiz-cart-coupon-toggle-text-hide,
.rwiz-cart-coupon-toggle-icon-hide,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-text-show,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-icon-show,
.rwiz-cart-delivery-calculator-toggle-text-hide,
.rwiz-cart-delivery-calculator-toggle-icon-hide,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-text-show,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-icon-show {
	display: none;
}
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-text-hide,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-icon-hide,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-text-hide,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-icon-hide {
	display: inline;
}
html.rwiz-003-js .rwiz-cart-coupon-toggle:not(.is-expanded) .rwiz-cart-coupon-toggle-body,
html.rwiz-003-js .rwiz-cart-delivery-calculator-toggle:not(.is-expanded) .rwiz-cart-delivery-calculator-toggle-body {
	display: none;
}
.rwiz-cart-coupon-toggle-body,
.rwiz-cart-delivery-calculator-toggle-body {
	margin-top: 8px;
}
.rwiz-cart-delivery-calculator-toggle .woocommerce-shipping-calculator > .shipping-calculator-button {
	display: none !important;
	pointer-events: none;
}
.rwiz-cart-delivery-calculator-toggle .woocommerce-shipping-calculator > .shipping-calculator-form {
	display: block !important;
	margin-top: 0;
}
html.rwiz-003-js .rwiz-cart-delivery-calculator-toggle:not(.is-expanded) .woocommerce-shipping-calculator > .shipping-calculator-form {
	display: none !important;
}
.rwiz-cart-delivery-calculator-toggle.is-expanded .woocommerce-shipping-calculator > .shipping-calculator-form {
	display: block !important;
}
.rwiz-cart-coupon-form-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 0;
}
.rwiz-cart-coupon-form-row .input-text {
	flex: 1 1 auto;
	min-width: 0;
}
.rwiz-cart-coupon-form-row .button {
	flex: 0 0 auto;
	white-space: nowrap;
}
.rwiz-cart-applied-coupons {
	display: grid;
	gap: 6px;
	margin: 0 0 8px 0;
}
.rwiz-cart-applied-coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
	line-height: 1.25;
}
.rwiz-cart-applied-coupon-code {
	font-weight: 700;
}


/* Shortcode-internal content styling. Scope is limited to RWiz shortcode wrappers only. */
.rwiz-cart-component {
	width: 100%;
	box-sizing: border-box;
}
.rwiz-cart-component *,
.rwiz-cart-component *::before,
.rwiz-cart-component *::after {
	box-sizing: border-box;
}
.rwiz-cart-component-notices .woocommerce-notices-wrapper,
.rwiz-cart-notices-slot {
	margin: 0;
}
.rwiz-cart-component-notices .woocommerce-message,
.rwiz-cart-component-notices .woocommerce-info,
.rwiz-cart-component-notices .woocommerce-error {
	margin: 0 0 8px 0;
	padding-top: 9px;
	padding-bottom: 9px;
	line-height: 1.35;
}
.rwiz-cart-free-shipping-progress {
	display: grid;
	gap: 7px;
	font-weight: 700;
	line-height: 1.25;
	color: #0a5ea8;
}
.rwiz-cart-free-shipping-main {
	font-size: 14px;
}
.rwiz-cart-free-shipping-track {
	height: 7px;
	width: 100%;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(10, 116, 217, 0.12);
}
.rwiz-cart-free-shipping-track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #0a74d9;
}
.rwiz-cart-free-shipping-notice,
.rwiz-cart-delivery-destination,
.rwiz-cart-estimated-delivery,
.rwiz-cart-delivery-options-message,
.rwiz-paynowpaylateroffers-empty {
	font-size: 13px;
	line-height: 1.35;
	color: #4b5563;
}
.rwiz-cart-summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	line-height: 1.25;
}
.rwiz-cart-summary-row.is-empty {
	display: none;
}
.rwiz-cart-empty-state {
	display: grid;
	gap: 10px;
	align-items: start;
	padding: 6px 0 2px 0;
	line-height: 1.35;
}
.rwiz-cart-empty-message {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #1f3347;
}
.rwiz-cart-empty-action {
	margin: 0;
}
.rwiz-cart-empty-continue-button.button,
.rwiz-cart-empty-continue-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 14px;
	border-radius: 8px;
	line-height: 1.2;
	font-weight: 700;
}
.rwiz-cart-summary-label {
	font-size: 13px;
	font-weight: 700;
	color: #1f3347;
}
.rwiz-cart-summary-value {
	font-size: 14px;
	font-weight: 700;
	color: #0a5ea8;
	text-align: right;
}
.rwiz-cart-summary-row-total .rwiz-cart-summary-label,
.rwiz-cart-summary-row-total .rwiz-cart-summary-value {
	font-size: 15px;
	color: #0a5ea8;
}
.rwiz-cart-component-items .shop_table,
.rwiz-cart-component-items .rwiz-cart-items-table {
	width: 100%;
	margin: 0;
}
.rwiz-cart-component-items .shop_table th,
.rwiz-cart-component-items .shop_table td {
	vertical-align: middle;
	line-height: 1.3;
}
.rwiz-cart-component-items .product-name a {
	font-weight: 700;
	color: #0a5ea8;
}
.rwiz-cart-component-items .quantity input.qty {
	min-height: 34px;
	border-radius: 10px;
}
.rwiz-cart-component-items .button,
.rwiz-cart-coupon-form-row .button,
.rwiz-cart-delivery-calculator-toggle .button {
	border-radius: 10px;
}
.rwiz-cart-component-delivery-options .woocommerce-delivery-options,
.rwiz-cart-delivery-options-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.rwiz-cart-component-delivery-options .woocommerce-delivery-options li,
.rwiz-cart-delivery-option-row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 7px 0;
	line-height: 1.3;
}
.rwiz-cart-component-delivery-options .shipping_method {
	flex: 0 0 auto;
	margin-top: 2px;
}
.rwiz-cart-component-delivery-options label {
	flex: 1 1 auto;
	margin: 0;
	font-weight: 600;
	color: #1f3347;
}
.rwiz-cart-component-delivery-destination .rwiz-cart-delivery-destination::before {
	content: 'Delivery address: ';
	font-weight: 700;
	color: #1f3347;
}
.rwiz-cart-component-estimated-delivery .rwiz-cart-estimated-delivery strong,
.rwiz-cart-component-estimated-delivery .rwiz-cart-estimated-delivery b {
	color: #1f3347;
}
.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
	margin: 0 0 8px 0;
}
.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer:last-child {
	margin-bottom: 0;
}

@media (max-width: 549px) {
	.rwiz-cart-coupon-toggle-header,
	.rwiz-cart-delivery-calculator-toggle-header {
		align-items: flex-start;
	}
	.rwiz-cart-coupon-form-row {
		flex-direction: column;
	}
	.rwiz-cart-coupon-form-row .button {
		width: auto;
		align-self: flex-start;
	}
	.rwiz-cart-summary-row {
		align-items: flex-start;
	}
	.rwiz-cart-component-delivery-options .woocommerce-delivery-options li,
	.rwiz-cart-delivery-option-row {
		align-items: flex-start;
	}
}


/* ============================================================
   SECTION 003 - Empty-cart UX marker aliases
   Use rwiz-hide-when-cart-empty for any UX element that must disappear
   when the cart is empty. Use rwiz-cart-right-panel as a clearer optional
   alias for the right-hand cart panel if preferred.
   ============================================================ */

body.rwiz-cart-is-empty .rwiz-hide-when-cart-empty,
body.rwiz-cart-is-empty .rwiz-cart-right-panel {
  display: none !important;
}

body.rwiz-cart-is-not-empty .rwiz-show-when-cart-empty {
  display: none !important;
}


/* ============================================================
   SECTION 004 - Empty-cart left-panel centering
   Purpose: When the cart is empty and the right panel is hidden,
   centre the UX-owned left panel horizontally without moving elements
   in PHP. Add rwiz-cart-left-panel to the UX Builder LeftPanel column.
   ============================================================ */

body.rwiz-cart-is-empty .rwiz-cart-left-panel {
  float: none !important;
  clear: both !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
}

/* v10.1.11: strengthen Flatsome column centering when RightPanel is hidden.
   This targets only the approved UX marker class and does not use dynamic column IDs. */
body.rwiz-cart-is-empty .row:has(.rwiz-cart-left-panel) {
  justify-content: center !important;
}

body.rwiz-cart-is-empty .rwiz-cart-left-panel.col,
body.rwiz-cart-is-empty .row > .rwiz-cart-left-panel,
body.rwiz-cart-is-empty .rwiz-cart-left-panel[class*="large-"],
body.rwiz-cart-is-empty .rwiz-cart-left-panel[class*="medium-"] {
  flex: 0 1 min(100%, 760px) !important;
  flex-basis: min(100%, 760px) !important;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.rwiz-cart-is-empty .rwiz-cart-left-panel .rwiz-cart-empty-state {
  justify-items: center;
  text-align: center;
}

body.rwiz-cart-is-empty .rwiz-cart-left-panel .rwiz-cart-empty-action {
  text-align: center;
}

@media screen and (max-width: 849px) {
  body.rwiz-cart-is-empty .rwiz-cart-left-panel.col,
  body.rwiz-cart-is-empty .row > .rwiz-cart-left-panel,
  body.rwiz-cart-is-empty .rwiz-cart-left-panel[class*="large-"],
  body.rwiz-cart-is-empty .rwiz-cart-left-panel[class*="medium-"] {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================================
   SECTION 005 - Progressive enhancement and no-JavaScript fallback
   Default/no-JS: essential WooCommerce controls remain usable.
   JS-ready: RWiz AJAX controls may hide fallback buttons and collapse toggles.
   ============================================================ */

html.rwiz-003-js .rwiz-cart-items-actions button[name="update_cart"],
html.rwiz-003-js .rwiz-cart-items-actions input[name="update_cart"] {
  display: none !important;
}

html:not(.rwiz-003-js) .rwiz-cart-items-actions button[name="update_cart"],
html:not(.rwiz-003-js) .rwiz-cart-items-actions input[name="update_cart"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: var(--rwiz-frame-cart-button-height);
  height: var(--rwiz-frame-cart-button-height);
  padding: 0 var(--rwiz-frame-cart-button-padding-x) !important;
  border-radius: var(--rwiz-frame-radius-button) !important;
  line-height: var(--rwiz-frame-cart-button-height);
}

html:not(.rwiz-003-js) .rwiz-cart-coupon-toggle-control,
html:not(.rwiz-003-js) .rwiz-cart-delivery-calculator-toggle-control {
  display: none !important;
}

html:not(.rwiz-003-js) .rwiz-cart-coupon-toggle-body,
html:not(.rwiz-003-js) .rwiz-cart-delivery-calculator-toggle-body,
html:not(.rwiz-003-js) .rwiz-cart-delivery-calculator-toggle .woocommerce-shipping-calculator > .shipping-calculator-form {
  display: block !important;
}

/* ============================================================
   SECTION 006 - AJAX busy-state indicators
   Keep loader count low: one local zone plus one right-panel zone.
   ============================================================ */

.rwiz-is-busy {
  position: relative !important;
  min-height: 34px;
}

.rwiz-is-busy::before {
  content: "";
  position: absolute;
  z-index: 60;
  inset: 0;
  background: rgba(255, 255, 255, 0.72);
  border-radius: inherit;
  pointer-events: auto;
}

.rwiz-is-busy::after {
  content: attr(data-rwiz-busy-label);
  position: absolute;
  z-index: 61;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  max-width: calc(100% - 20px);
  padding: 6px 12px;
  border: 1px solid rgba(22, 133, 217, 0.28);
  border-radius: 999px;
  background: #ffffff;
  color: #1f3347;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(31, 51, 71, 0.12);
  pointer-events: none;
}

body.rwiz-cart-ajax-updating .rwiz-is-busy input,
body.rwiz-cart-ajax-updating .rwiz-is-busy button,
body.rwiz-cart-ajax-updating .rwiz-is-busy select,
body.rwiz-cart-ajax-updating .rwiz-is-busy a {
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .rwiz-is-busy::after {
    animation: rwiz-busy-soft-pulse 1.1s ease-in-out infinite alternate;
  }

  @keyframes rwiz-busy-soft-pulse {
    from { opacity: 0.82; }
    to { opacity: 1; }
  }
}

/* ============================================================
   SECTION 007 - Responsive hardening below 1200px
   Keep the replacement cart usable on reduced-width desktop, tablet and mobile.
   ============================================================ */

@media screen and (max-width: 1200px) {
  .rwiz-cart-left-panel,
  .rwiz-cart-right-panel,
  .rwiz-cart-component,
  .rwiz-cart-component * {
    min-width: 0;
  }

  .rwiz-cart-component {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .rwiz-cart-items-form {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .rwiz-cart-component-items .shop_table,
  .rwiz-cart-component-items .rwiz-cart-items-table {
    max-width: 100%;
  }

  .rwiz-cart-summary-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .rwiz-cart-component-delivery-options label,
  .rwiz-cart-delivery-option-row label,
  .rwiz-cart-summary-label,
  .rwiz-cart-summary-value {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .rwiz-cart-coupon-toggle-header,
  .rwiz-cart-delivery-calculator-toggle-header {
    gap: 8px;
  }
}

@media screen and (max-width: 849px) {
  .rwiz-cart-coupon-toggle-header,
  .rwiz-cart-delivery-calculator-toggle-header {
    align-items: flex-start;
  }

  .rwiz-cart-coupon-toggle-control,
  .rwiz-cart-delivery-calculator-toggle-control {
    flex: 0 0 auto;
  }

  .rwiz-cart-component-delivery-options .woocommerce-delivery-options li,
  .rwiz-cart-delivery-option-row {
    align-items: flex-start;
    flex-wrap: nowrap;
  }
}

@media screen and (max-width: 390px) {
  .rwiz-is-busy::after {
    font-size: 12px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .rwiz-cart-coupon-toggle-title,
  .rwiz-cart-delivery-calculator-toggle-title,
  .rwiz-cart-summary-label,
  .rwiz-cart-summary-value {
    font-size: 13px;
  }
}




/* ============================================================
   SECTION 004A - Consolidated Order Summary - v10.1.11
   Scope: Styling only inside [rwiz_cart_order_summary].
   UX Builder still owns the outer Order Summary card.
   ============================================================ */
.rwiz-cart-component-order-summary {
  width: 100%;
}

.rwiz-cart-order-summary {
  display: grid;
  gap: 0;
  width: 100%;
}

.rwiz-cart-order-summary.is-empty {
  display: none;
}

.rwiz-cart-order-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  width: 100%;
  padding: 9px 0;
  border-bottom: 1px solid rgba(31, 51, 71, 0.12);
  line-height: 1.25;
}

.rwiz-cart-order-summary-row:first-child {
  padding-top: 0;
}

.rwiz-cart-order-summary-row-total {
  border-bottom: 0;
  padding-top: 12px;
  padding-bottom: 0;
}

.rwiz-cart-order-summary-label-wrap {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.rwiz-cart-order-summary-label {
  font-size: 13px;
  font-weight: 600;
  color: #1f3347;
}

.rwiz-cart-order-summary-label-extra {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  line-height: 1.2;
}

.rwiz-cart-order-summary-value {
  min-width: 82px;
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  text-align: right;
  white-space: nowrap;
}

.rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-label,
.rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value {
  font-size: 16px;
  font-weight: 800;
  color: #111827;
}

.rwiz-cart-order-summary-row-estimated-delivery .rwiz-cart-order-summary-label,
.rwiz-cart-order-summary-row-estimated-delivery .rwiz-cart-order-summary-value {
  color: #6b7280;
  font-size: 12px;
  font-weight: 600;
}

.rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-value {
  color: #148a2a;
}

.rwiz-cart-order-summary-row-coupon-discount .rwiz-cart-order-summary-value {
  color: #111827;
}

.rwiz-cart-order-summary-remove-coupon {
  color: #0a74d9;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.rwiz-cart-order-summary-remove-coupon:hover,
.rwiz-cart-order-summary-remove-coupon:focus {
  color: #075ba8;
  text-decoration: underline;
}

@media screen and (max-width: 549px) {
  .rwiz-cart-order-summary-row {
    gap: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .rwiz-cart-order-summary-value {
    min-width: 72px;
    font-size: 12px;
  }

  .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-label,
  .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value {
    font-size: 15px;
  }
}

/* ============================================================
   SECTION 009 - Pay Later Offer Hook and Widget Bridge - v10.1.11
   Scope: Styling only inside [rwiz_paynowpaylateroffers].
   ============================================================ */
.rwiz-paynowpaylateroffers-list {
  display: grid;
  gap: 10px;
  width: 100%;
}

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
  width: 100%;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid rgba(31, 51, 71, 0.12);
  border-radius: var(--rwiz-frame-radius-inner, 6px);
  background: #ffffff;
  box-sizing: border-box;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetext,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext {
  margin: 0;
  line-height: 1.4;
  font-size: 14px;
  color: #1f3347;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetextpjn,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetextpjn,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetextzero {
  font-weight: 700;
}

.rwiz-paynowpaylater-offer-payflex .payflexCalculatorWidgetContainer,
.rwiz-payflex-widget-host {
  min-height: 72px;
  width: 100%;
  display: block;
  overflow: hidden;
}

.rwiz-paynowpaylater-offer-payflex .payflex-widget-wrapper {
  max-width: 100%;
}

.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  color: #666666;
  background: #ffffff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
}

.rwiz-paynowpaylater-offer-mobicred .mobicred-logo img {
  display: block;
  max-width: 120px;
  height: auto;
}

.rwiz-paynowpaylater-offer-moretyme {
  overflow: hidden;
}

.rwiz-paynowpaylater-offer-moretyme iframe,
.rwiz-paynowpaylater-offer-moretyme img,
.rwiz-paynowpaylater-offer-moretyme svg {
  max-width: 100%;
  height: auto;
}

.rwiz-paynowpaylater-offer-moretyme script {
  display: none !important;
}

.rwiz-paynowpaylater-noscript,
.rwiz-mobicred-fallback {
  font-size: 13px;
  line-height: 1.35;
  color: #4b5563;
}

@media (max-width: 549px) {
  .rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
    padding: 7px;
  }

  .rwiz-cart-component-paynowpaylateroffers .pjncartpagetext,
  .rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext {
    font-size: 13px;
  }

  .rwiz-paynowpaylater-offer-payflex .payflexCalculatorWidgetContainer,
  .rwiz-payflex-widget-host {
    min-height: 86px;
  }
}

.rwiz-paynowpaylater-offer-payjustnow {
  overflow: hidden;
}


/* MoreTyme by PayFast widget bridge */
.rwiz-moretyme-widget-host {
  display: block;
  width: 100%;
  min-height: 54px;
  overflow: hidden;
}

.rwiz-moretyme-widget-host script {
  display: none !important;
}


/* ============================================================
   SECTION 010 - Pay Later Provider Visual Normalisation - v10.1.11
   Scope: Internal visual normalisation only inside [rwiz_paynowpaylateroffers].
   ============================================================ */
.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer-normalised {
  padding: 9px;
}

.rwiz-paynowpaylater-provider-row {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.rwiz-paynowpaylater-provider-logo-col {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.rwiz-paynowpaylater-provider-logo-col a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}

.rwiz-paynowpaylater-provider-logo {
  display: block;
  max-width: 96px;
  max-height: 44px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.rwiz-paynowpaylater-provider-content {
  min-width: 0;
}

.rwiz-paynowpaylater-offer-payjustnow .pjncartpagetext {
  margin: 0;
}

.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator {
  min-height: 24px;
}

.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator .mobicred-logo {
  display: none !important;
}

/* MoreTyme uses its own official hosted logo. Normalise that provider-owned logo into a left column. */
.rwiz-paynowpaylater-offer-moretyme .moretyme__title {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__title > div:first-of-type {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__title > span,
.rwiz-paynowpaylater-offer-moretyme .moretyme__desc {
  grid-column: 2 !important;
  min-width: 0 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__img {
  max-width: 96px !important;
  max-height: 44px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-flex-row {
  align-items: center !important;
}

.rwiz-paynowpaylater-offer-payflex #payflex-logo {
  max-width: 96px !important;
  max-height: 44px !important;
  object-fit: contain !important;
}

@media (max-width: 549px) {
  .rwiz-paynowpaylater-provider-row,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__title {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .rwiz-paynowpaylater-provider-logo,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__img,
  .rwiz-paynowpaylater-offer-payflex #payflex-logo {
    max-width: 78px !important;
    max-height: 38px !important;
  }
}


/* ============================================================
   SECTION 011 - v10.1.11 Pay Later typography, toggle alignment
   and Empty Cart label hardening
   Scope: internal RWiz shortcode content only.
   ============================================================ */

/* Show / Hide control: compact sentence-case label and centred filled icon. */
.rwiz-cart-coupon-toggle-header,
.rwiz-cart-delivery-calculator-toggle-header {
  align-items: center !important;
  min-height: 46px;
}

.rwiz-cart-coupon-toggle-control,
.rwiz-cart-delivery-calculator-toggle-control {
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 58px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.rwiz-cart-coupon-toggle-text,
.rwiz-cart-delivery-calculator-toggle-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  line-height: 1;
}

.rwiz-cart-coupon-toggle-icon,
.rwiz-cart-delivery-calculator-toggle-icon {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  overflow: hidden !important;
}

.rwiz-cart-coupon-toggle-icon > span,
.rwiz-cart-delivery-calculator-toggle-icon > span {
  position: absolute;
  inset: 0;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.rwiz-cart-coupon-toggle:not(.is-expanded) .rwiz-cart-coupon-toggle-icon-show,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-icon-hide,
.rwiz-cart-delivery-calculator-toggle:not(.is-expanded) .rwiz-cart-delivery-calculator-toggle-icon-show,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-icon-hide {
  display: flex !important;
}

.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-icon-hide,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-icon-hide {
  transform: translateY(-1px);
}

/* Provider-card rhythm: allow payment text to breathe and avoid crushed line-height. */
.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
  padding: 11px 12px !important;
  line-height: 1.35 !important;
}

.rwiz-paynowpaylater-provider-row {
  grid-template-columns: 132px minmax(0, 1fr) !important;
  grid-template-areas: "logo content" !important;
  gap: 14px !important;
  align-items: center !important;
}

.rwiz-paynowpaylater-provider-logo-col {
  grid-area: logo !important;
  min-height: 58px;
}

.rwiz-paynowpaylater-provider-content {
  grid-area: content !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}

.rwiz-paynowpaylater-provider-logo {
  max-width: 122px !important;
  max-height: 54px !important;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetext,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext {
  font-size: 15px !important;
  line-height: 1.38 !important;
  margin: 0 !important;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetext a,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext a {
  display: inline-block;
  margin-top: 2px;
}

/* Payflex official widget: keep provider-owned content, but normalise spacing to match product-page rhythm. */
.rwiz-paynowpaylater-offer-payflex .payflexCalculatorWidgetContainer,
.rwiz-payflex-widget-host {
  min-height: 76px !important;
  overflow: visible !important;
}

.rwiz-paynowpaylater-offer-payflex #payflexCalculatorWidget,
.rwiz-paynowpaylater-offer-payflex .payflex-widget-wrapper,
.rwiz-paynowpaylater-offer-payflex .payflex-w-full {
  width: 100% !important;
  max-width: 100% !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-flex-row {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
}

.rwiz-paynowpaylater-offer-payflex #payflex-logo {
  max-width: 122px !important;
  max-height: 54px !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-ml-4 {
  margin-left: 0 !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-text-center,
.rwiz-paynowpaylater-offer-payflex .payflex-text-left {
  text-align: left !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-text-title,
.rwiz-paynowpaylater-offer-payflex .payflex-text-subtitle,
.rwiz-paynowpaylater-offer-payflex #payflex-primary-color-inverse {
  margin-top: 0 !important;
  margin-bottom: 3px !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-text-title {
  font-size: 14px !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-text-subtitle,
.rwiz-paynowpaylater-offer-payflex #payflex-primary-color-inverse {
  font-size: 13px !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-break {
  display: none !important;
}

/* MoreTyme official widget: keep the hosted image but make the text area breathe. */
.rwiz-paynowpaylater-offer-moretyme .moretyme__title {
  grid-template-columns: 132px minmax(0, 1fr) !important;
  grid-template-areas: "logo text" "logo desc" !important;
  gap: 2px 14px !important;
  line-height: 1.35 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__title > div:first-of-type {
  grid-area: logo !important;
  min-height: 58px !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__title > span {
  grid-area: text !important;
  line-height: 1.35 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__desc {
  grid-area: desc !important;
  line-height: 1.35 !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__img {
  max-width: 122px !important;
  max-height: 54px !important;
}

/* Mobicred: left logo column supplied by RWiz, script-generated text stays in the content column. */
.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator {
  font-size: 15px !important;
  line-height: 1.38 !important;
}

.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator .mobicred-logo {
  display: none !important;
}

@media screen and (max-width: 549px) {
  .rwiz-paynowpaylater-provider-row,
  .rwiz-paynowpaylater-offer-payflex .payflex-flex-row,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__title {
    grid-template-columns: 98px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .rwiz-paynowpaylater-provider-logo,
  .rwiz-paynowpaylater-offer-payflex #payflex-logo,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__img {
    max-width: 90px !important;
    max-height: 42px !important;
  }

  .rwiz-cart-component-paynowpaylateroffers .pjncartpagetext,
  .rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext,
  .rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator {
    font-size: 13.5px !important;
  }

  .rwiz-paynowpaylater-offer-payflex .payflex-text-title,
  .rwiz-paynowpaylater-offer-payflex .payflex-text-subtitle,
  .rwiz-paynowpaylater-offer-payflex #payflex-primary-color-inverse {
    font-size: 12.5px !important;
  }
}

@media screen and (max-width: 380px) {
  .rwiz-paynowpaylater-provider-row,
  .rwiz-paynowpaylater-offer-payflex .payflex-flex-row,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__title {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .rwiz-paynowpaylater-provider-logo,
  .rwiz-paynowpaylater-offer-payflex #payflex-logo,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__img {
    max-width: 78px !important;
    max-height: 38px !important;
  }
}


/* ============================================================
   SECTION 012 - v10.1.11 MoreTyme logo fallback support and
   Pay Later logo-column left alignment
   Scope: [rwiz_paynowpaylateroffers] visual alignment only.
   ============================================================ */

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-provider-logo-col,
.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-provider-logo-col a,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex:first-child,
.rwiz-paynowpaylater-offer-moretyme .moretyme__title > div:first-of-type {
  justify-content: flex-start !important;
  text-align: left !important;
}

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-provider-logo,
.rwiz-paynowpaylater-offer-payflex #payflex-logo,
.rwiz-paynowpaylater-offer-moretyme .moretyme__img,
.rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
  display: block !important;
  max-width: 122px !important;
  max-height: 54px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

@media screen and (max-width: 549px) {
  .rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
    max-width: 90px !important;
    max-height: 42px !important;
  }
}

@media screen and (max-width: 380px) {
  .rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
    max-width: 78px !important;
    max-height: 38px !important;
  }
}


/* ============================================================
   SECTION 013 - v10.1.11 coupon default collapse, MoreTyme
   local logo fallback and Estimated Delivery probe styling
   Scope: RWiz shortcode internals only.
   ============================================================ */

.rwiz-cart-applied-coupons-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.rwiz-cart-applied-coupon-summary-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 7px;
  border: 1px solid rgba(10, 116, 217, 0.22);
  border-radius: 999px;
  background: rgba(10, 116, 217, 0.08);
  color: #334862;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.rwiz-paynowpaylater-offer-moretyme img.rwiz-moretyme-logo-is-checking {
  visibility: hidden !important;
}

.rwiz-paynowpaylater-offer-moretyme img.rwiz-moretyme-logo-hidden {
  display: none !important;
}

.rwiz-estimated-delivery-debug {
  margin-top: 6px;
  padding: 6px 8px;
  border: 1px dashed rgba(10, 116, 217, 0.28);
  border-radius: 6px;
  background: rgba(10, 116, 217, 0.06);
  color: #334862;
  font-size: 11px;
  line-height: 1.35;
}


/* ============================================================
   SECTION 012 - v10.1.11 Toggle single-label state and coupon
   remove placement hardening
   Scope: RWiz coupon/delivery toggle internals only.
   ============================================================ */

/* Show exactly one word. Earlier provider/theme rules can re-display both spans,
   so this late section locks the final visual state. */
.rwiz-cart-coupon-toggle:not(.is-expanded) .rwiz-cart-coupon-toggle-text-show,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-text-hide,
.rwiz-cart-delivery-calculator-toggle:not(.is-expanded) .rwiz-cart-delivery-calculator-toggle-text-show,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-text-hide {
  display: inline-flex !important;
}

.rwiz-cart-coupon-toggle:not(.is-expanded) .rwiz-cart-coupon-toggle-text-hide,
.rwiz-cart-coupon-toggle.is-expanded .rwiz-cart-coupon-toggle-text-show,
.rwiz-cart-delivery-calculator-toggle:not(.is-expanded) .rwiz-cart-delivery-calculator-toggle-text-hide,
.rwiz-cart-delivery-calculator-toggle.is-expanded .rwiz-cart-delivery-calculator-toggle-text-show {
  display: none !important;
}

.rwiz-cart-coupon-toggle-control,
.rwiz-cart-delivery-calculator-toggle-control {
  min-width: 0 !important;
  width: auto !important;
}

.rwiz-cart-applied-coupons-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  margin-top: 6px !important;
  line-height: 1.1 !important;
}

.rwiz-cart-applied-coupon-summary-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  min-height: 21px !important;
  padding: 2px 7px !important;
  border: 1px solid rgba(10, 116, 217, 0.28) !important;
  border-radius: 999px !important;
  background: #f4f9ff !important;
  color: #1f3347 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.rwiz-cart-applied-coupon-summary-code {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.rwiz-cart-applied-coupon-summary-remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 2px !important;
  color: #0a5ea8 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.rwiz-cart-applied-coupon-summary-remove:hover,
.rwiz-cart-applied-coupon-summary-remove:focus {
  color: #075eaF !important;
  text-decoration: underline !important;
}

/* Applied coupon removal belongs in the always-visible summary row, not inside the dropdown body. */
.rwiz-cart-coupon-toggle-body .rwiz-cart-applied-coupons {
  display: none !important;
}

/* ============================================================
   SECTION 016 - v10.1.11 Order Summary coupon and delivery action hardening
   Scope: Styling only inside [rwiz_cart_order_summary].
   ============================================================ */
.rwiz-cart-order-summary-coupon-group {
  display: grid;
  width: 100%;
}

.rwiz-cart-order-summary-coupon-group .rwiz-cart-order-summary-row-coupon-discount {
  width: 100%;
}

.rwiz-cart-order-summary-coupon-pill {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  min-height: 22px !important;
  max-width: 100% !important;
  padding: 2px 8px !important;
  border: 1px solid rgba(10, 116, 217, 0.30) !important;
  border-radius: 999px !important;
  background: #f4f9ff !important;
  color: #0a5ea8 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer;
}

.rwiz-cart-order-summary-coupon-pill:hover,
.rwiz-cart-order-summary-coupon-pill:focus {
  border-color: rgba(10, 116, 217, 0.48) !important;
  background: #eaf4ff !important;
  color: #075ea8 !important;
  text-decoration: none !important;
}

.rwiz-cart-order-summary-coupon-pill-action,
.rwiz-cart-order-summary-coupon-pill-code {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.rwiz-cart-order-summary-coupon-body {
  display: block;
  padding: 0 0 10px 0;
  border-bottom: 1px solid rgba(31, 51, 71, 0.12);
}

html.rwiz-003-js .rwiz-cart-order-summary-coupon-body:not(.is-expanded) {
  display: none !important;
}

.rwiz-cart-order-summary-coupon-form {
  margin: 0;
}

.rwiz-cart-order-summary-coupon-form-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  margin: 0;
}

.rwiz-cart-order-summary-coupon-form-row .input-text {
  min-width: 0;
  flex: 1 1 auto;
  height: 34px;
  margin: 0 !important;
}

.rwiz-cart-order-summary-coupon-form-row .button {
  flex: 0 0 auto;
  min-height: 34px;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  white-space: nowrap;
}


.rwiz-cart-order-summary-delivery-group {
  width: 100%;
}

.rwiz-cart-order-summary-delivery-body {
  margin-top: 7px;
  padding: 8px;
  border: 1px solid rgba(31, 51, 71, 0.14);
  border-radius: 10px;
  background: #ffffff;
}

html.rwiz-003-js .rwiz-cart-order-summary-delivery-body:not(.is-expanded) {
  display: none !important;
}

.rwiz-cart-order-summary-delivery-options-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rwiz-cart-order-summary-delivery-option-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid rgba(31, 51, 71, 0.12);
  border-radius: 9px;
  background: #ffffff;
}

.rwiz-cart-order-summary-delivery-option-row label {
  margin: 0;
  cursor: pointer;
  font-size: 0.92rem;
  line-height: 1.25;
}

.rwiz-cart-order-summary-delivery-pill {
  margin-top: 2px;
}



/* v10.1.11: Order Summary embedded delivery calculator. */
.rwiz-cart-order-summary-delivery-calculator-body {
  margin-top: 7px;
  padding: 8px;
  border: 1px solid rgba(31, 51, 71, 0.14);
  border-radius: 10px;
  background: #f7f7f7;
}

html.rwiz-003-js .rwiz-cart-order-summary-delivery-calculator-body:not(.is-expanded) {
  display: none !important;
}

.rwiz-cart-order-summary-delivery-calculator-body .shipping-calculator-button {
  display: none !important;
}

.rwiz-cart-order-summary-delivery-calculator-body .shipping-calculator-form {
  display: block;
}

.rwiz-cart-order-summary-delivery-calculator-body .woocommerce-shipping-calculator,
.rwiz-cart-order-summary-delivery-calculator-body .shipping-calculator-form {
  margin: 0 !important;
}

.rwiz-cart-order-summary-delivery-calculator-body .form-row {
  margin-bottom: 9px !important;
}

.rwiz-cart-order-summary-delivery-calculator-body label {
  display: block;
  margin-bottom: 4px;
  font-weight: 700;
}

.rwiz-cart-order-summary-delivery-calculator-body input.input-text,
.rwiz-cart-order-summary-delivery-calculator-body select {
  min-height: 36px;
  margin: 0 !important;
}

.rwiz-cart-order-summary-delivery-calculator-body button[name="calc_shipping"] {
  min-height: 36px;
  margin: 2px 0 0 !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  text-transform: none !important;
}

.rwiz-cart-order-summary-delivery-calculator-pill {
  margin-top: 2px;
}

@media screen and (max-width: 549px) {
  .rwiz-cart-order-summary-coupon-form-row {
    flex-direction: column;
  }

  .rwiz-cart-order-summary-coupon-form-row .button {
    width: 100%;
  }
}

/* ============================================================
   SECTION 010 - v10.1.11 UX-controlled Order Summary rows
   Purpose: Restore UX Builder control of row order/panels while RWiz styles only shortcode output.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-component {
  margin: 0;
}

.rwiz-order-summary-card .rwiz-cart-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.25;
  box-sizing: border-box;
}

.rwiz-order-summary-card .rwiz-cart-summary-label,
.rwiz-order-summary-card .rwiz-cart-summary-value {
  font-size: 15px;
  font-weight: 700;
  color: #0f1f2f;
  line-height: 1.25;
}

.rwiz-order-summary-card .rwiz-cart-summary-value {
  justify-self: end;
  text-align: right;
  white-space: nowrap;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total {
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(31, 51, 71, 0.16);
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label,
.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
  font-size: 22px;
  font-weight: 800;
  color: #081524;
}

.rwiz-cart-summary-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
}

.rwiz-order-summary-pill,
.rwiz_roundedsmallbutton.button,
.rwiz_roundedsmallbutton.button.is-outline,
.rwiz_roundedsmallbutton.button.primary,
.rwiz_roundedsmallbutton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 26px !important;
  height: auto !important;
  margin: 0 6px 0 0 !important;
  padding: 4px 11px !important;
  border: 1px solid #9fd2f6 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #006fc9 !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.rwiz-order-summary-pill:hover,
.rwiz-order-summary-pill:focus,
.rwiz_roundedsmallbutton.button:hover,
.rwiz_roundedsmallbutton.button:focus,
.rwiz_roundedsmallbutton:hover,
.rwiz_roundedsmallbutton:focus {
  border-color: #1685d9 !important;
  background: #eef8ff !important;
  color: #005fae !important;
  box-shadow: none !important;
}

.rwiz-order-summary-pill-code {
  font-weight: 800;
}

html.rwiz-003-js .rwiz-coupon-panel:not(.is-rwiz-open),
html.rwiz-003-js .rwiz-delivery-calculator-panel:not(.is-rwiz-open),
html.rwiz-003-js .rwiz-delivery-options-panel:not(.is-rwiz-open) {
  display: none !important;
}

.rwiz-cart-coupon-form-only .rwiz-cart-coupon-form,
.rwiz-cart-coupon-form-only .rwiz-cart-coupon-form-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin: 0;
}

.rwiz-cart-coupon-form-only input.input-text {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  border-radius: 0;
  font-size: 16px;
}

.rwiz-cart-coupon-form-only button.button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 10px !important;
  background: #1685d9 !important;
  color: #ffffff !important;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.rwiz-cart-delivery-calculator-form-only .woocommerce-shipping-calculator > .shipping-calculator-button {
  display: none !important;
}

.rwiz-cart-delivery-calculator-form-only .shipping-calculator-form {
  display: block !important;
  padding: 14px;
  border: 1px solid rgba(31, 51, 71, 0.16);
  border-radius: 10px;
  background: #f7f7f7;
  box-sizing: border-box;
}

.rwiz-cart-delivery-calculator-form-only .form-row {
  position: relative;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.rwiz-cart-delivery-calculator-form-only .form-row label,
.rwiz-cart-delivery-calculator-form-only .rwiz-floating-label {
  position: absolute !important;
  z-index: 2;
  top: -7px !important;
  left: 11px !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 5px !important;
  background: #f7f7f7 !important;
  color: #222222 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  pointer-events: none !important;
}

.rwiz-cart-delivery-calculator-form-only input.input-text,
.rwiz-cart-delivery-calculator-form-only select,
.rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  border: 1px solid #d7dbe1 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10) inset !important;
  font-size: 17px !important;
  color: #1f3347 !important;
}

.rwiz-cart-delivery-calculator-form-only input.input-text {
  padding: 10px 14px !important;
}

.rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection__rendered {
  line-height: 44px !important;
  padding-left: 14px !important;
  padding-right: 34px !important;
}

.rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection__arrow {
  min-height: 44px !important;
  height: 44px !important;
}

.rwiz-cart-delivery-calculator-form-only button.button,
.rwiz-cart-delivery-calculator-form-only p > button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 10px !important;
  background: #1685d9 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.rwiz-cart-component-delivery-options .woocommerce-delivery-options,
.rwiz-cart-delivery-options-list {
  display: grid;
  gap: 10px;
}

.rwiz-cart-component-delivery-options .woocommerce-delivery-options li,
.rwiz-cart-delivery-option-row {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center !important;
  column-gap: 12px !important;
  min-height: 58px;
  padding: 14px 16px !important;
  border: 1px solid rgba(31, 51, 71, 0.16) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-sizing: border-box;
}

.rwiz-cart-component-delivery-options .shipping_method {
  justify-self: start;
  align-self: center;
  margin: 0 !important;
}

.rwiz-cart-component-delivery-options label {
  align-self: center;
  margin: 0 !important;
  font-size: 15px;
  font-weight: 800;
  color: #0f1f2f;
  line-height: 1.25;
}

@media (max-width: 549px) {
  .rwiz-cart-coupon-form-only .rwiz-cart-coupon-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .rwiz-cart-coupon-form-only button.button {
    width: 100%;
  }

  .rwiz_roundedsmallbutton.button,
  .rwiz_roundedsmallbutton,
  .rwiz-order-summary-pill {
    margin-bottom: 6px !important;
  }
}

/* ============================================================
   SECTION 017 - v10.1.11 Native-style Cart Totals text refinement
   Purpose: Keep the UX Builder separated-row architecture but make
   the Order Summary text read closer to the original WooCommerce /
   Flatsome Cart Totals table shown in the approved reference.
   Scope: Typography and row rhythm only. No movement, no merge,
   no payment/shipping/order logic changes.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-component-subtotal,
.rwiz-order-summary-card .rwiz-cart-component-coupon-discount,
.rwiz-order-summary-card .rwiz-cart-component-delivery-fees,
.rwiz-order-summary-card .rwiz-cart-component-yousaved,
.rwiz-order-summary-card .rwiz-cart-component-total {
  margin: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: baseline !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid rgba(31, 51, 71, 0.12) !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-label {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1f3347 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-value {
  justify-self: end !important;
  min-width: 84px !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-value-prefix,
.rwiz-order-summary-card .rwiz-cart-shipment-method-prefix,
.rwiz-cart-order-summary .rwiz-cart-summary-value-prefix,
.rwiz-cart-order-summary .rwiz-cart-shipment-method-prefix {
  font-weight: 400 !important;
  color: #4b5563 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total {
  min-height: 43px !important;
  margin-top: 0 !important;
  padding-top: 11px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #111827 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #000000 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-coupon-action-row {
  justify-content: flex-end !important;
  margin-top: -4px !important;
  margin-bottom: 6px !important;
}

.rwiz-order-summary-card .rwiz-coupon-remove-pill,
.rwiz-cart-order-summary .rwiz-cart-order-summary-remove-coupon {
  min-height: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #334862 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

.rwiz-order-summary-card .rwiz-coupon-remove-pill:hover,
.rwiz-order-summary-card .rwiz-coupon-remove-pill:focus,
.rwiz-cart-order-summary .rwiz-cart-order-summary-remove-coupon:hover,
.rwiz-cart-order-summary .rwiz-cart-order-summary-remove-coupon:focus {
  background: transparent !important;
  color: #0a5ea8 !important;
  text-decoration: underline !important;
}

/* Legacy/rollback consolidated order-summary shortcode: same visual language if used. */
.rwiz-cart-order-summary .rwiz-cart-order-summary-label {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1f3347 !important;
}

.rwiz-cart-order-summary .rwiz-cart-order-summary-value {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-label {
  font-size: 16px !important;
  font-weight: 500 !important;
}

.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value {
  font-size: 16px !important;
  font-weight: 800 !important;
}

@media screen and (max-width: 549px) {
  .rwiz-order-summary-card .rwiz-cart-summary-row {
    min-height: 36px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    column-gap: 8px !important;
  }

  .rwiz-order-summary-card .rwiz-cart-summary-label,
  .rwiz-order-summary-card .rwiz-cart-summary-value {
    font-size: 14px !important;
  }

  .rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label,
  .rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
    font-size: 15px !important;
  }
}



/* ============================================================
   SECTION 018 - v10.1.11 Approved Order Summary Text Mapping
   Purpose: Map the separated UX Builder shortcode stack to the
   approved right-hand Order Summary text format:
   Subtotal, Delivery (method), Coupon Discount + inline action,
   Total (To Pay). Styling only; no layout consolidation.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-component-subtotal,
.rwiz-order-summary-card .rwiz-cart-component-delivery-fees,
.rwiz-order-summary-card .rwiz-cart-component-coupon-discount,
.rwiz-order-summary-card .rwiz-cart-component-total {
  margin: 0 !important;
  padding: 0 !important;
}

/* The dropdown shortcode remains in the UX stack for compatibility, but the visible
   action now belongs inline inside the Coupon Discount row. */
.rwiz-order-summary-card .rwiz-cart-component-coupon-dropdown-button {
  display: none !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 18px !important;
  width: 100% !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  border: 0 !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-label {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-value {
  justify-self: end !important;
  min-width: 90px !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount {
  color: #15803d !important;
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total {
  margin-top: 2px !important;
  padding-top: 5px !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label,
.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #000000 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-pill,
.rwiz-order-summary-card .rwiz-order-summary-pill,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 2px 9px !important;
  border: 1px solid #b7ddff !important;
  border-radius: 999px !important;
  background: #f2f8ff !important;
  color: #006fc9 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-pill:hover,
.rwiz-order-summary-card .rwiz-cart-summary-inline-pill:focus,
.rwiz-order-summary-card .rwiz-order-summary-pill:hover,
.rwiz-order-summary-card .rwiz-order-summary-pill:focus,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill:hover,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill:focus {
  border-color: #1685d9 !important;
  background: #e9f5ff !important;
  color: #005fae !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Legacy/rollback consolidated order summary shortcode follows the same text language. */
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-coupon-discount .rwiz-cart-order-summary-label-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-label,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value {
  font-weight: 800 !important;
}

@media screen and (max-width: 549px) {
  .rwiz-order-summary-card .rwiz-cart-summary-row {
    column-gap: 10px !important;
    min-height: 32px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .rwiz-order-summary-card .rwiz-cart-summary-label,
  .rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label,
  .rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
    font-size: 15.5px !important;
  }

  .rwiz-order-summary-card .rwiz-cart-summary-value {
    min-width: 76px !important;
    font-size: 15px !important;
  }

  .rwiz-order-summary-card .rwiz-cart-summary-inline-pill,
  .rwiz-order-summary-card .rwiz-order-summary-pill,
  .rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill {
    height: 22px !important;
    min-height: 22px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 11px !important;
  }
}


/* ============================================================
   SECTION 019 - v10.1.11 Text-only Order Summary and Cart Item Typography
   Purpose: RWiz owns text/output only. UX Builder/page code owns row spacing,
   card padding, vertical rhythm and visual placement. No layout movement.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-component-subtotal,
.rwiz-order-summary-card .rwiz-cart-component-delivery-fees,
.rwiz-order-summary-card .rwiz-cart-component-coupon-discount,
.rwiz-order-summary-card .rwiz-cart-component-coupon-dropdown-button,
.rwiz-order-summary-card .rwiz-cart-component-yousaved,
.rwiz-order-summary-card .rwiz-cart-component-total {
  margin: 0 !important;
  padding: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-component-coupon-dropdown-button {
  display: none !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: baseline !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-label {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  color: #1f2933 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-value {
  justify-self: end !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  color: #111827 !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount {
  color: #15803d !important;
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label,
.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value {
  font-size: inherit !important;
  font-weight: 700 !important;
  color: #000000 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-pill,
.rwiz-order-summary-card .rwiz-order-summary-pill,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 2px 7px !important;
  border: 1px solid #b7ddff !important;
  border-radius: 999px !important;
  background: #f2f8ff !important;
  color: #006fc9 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 0.72em !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-inline-pill:hover,
.rwiz-order-summary-card .rwiz-cart-summary-inline-pill:focus,
.rwiz-order-summary-card .rwiz-order-summary-pill:hover,
.rwiz-order-summary-card .rwiz-order-summary-pill:focus,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill:hover,
.rwiz-order-summary-card .rwiz-cart-order-summary-coupon-pill:focus {
  border-color: #1685d9 !important;
  background: #e9f5ff !important;
  color: #005fae !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.rwiz-cart-component-items .product-name,
.rwiz-cart-component-items .product-name a,
.rwiz-cart-component-items .rwiz-cart-product-name-link,
.rwiz-cart-component-items .rwiz-cart-product-display-name {
  color: #1f2933 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.rwiz-cart-component-items .product-name a:hover,
.rwiz-cart-component-items .product-name a:focus,
.rwiz-cart-component-items .rwiz-cart-product-name-link:hover,
.rwiz-cart-component-items .rwiz-cart-product-name-link:focus {
  color: #111827 !important;
  text-decoration: underline !important;
}

.rwiz-cart-component-items .product-price,
.rwiz-cart-component-items .product-price .amount,
.rwiz-cart-component-items .product-price bdi,
.rwiz-cart-component-items .product-price ins,
.rwiz-cart-component-items .product-price ins .amount,
.rwiz-cart-component-items .product-price ins bdi,
.rwiz-cart-component-items .product-price del,
.rwiz-cart-component-items .product-price del .amount,
.rwiz-cart-component-items .product-price del bdi {
  font-weight: 400 !important;
}

.rwiz-cart-component-items .product-price,
.rwiz-cart-component-items .product-price .amount,
.rwiz-cart-component-items .product-price bdi,
.rwiz-cart-component-items .product-price ins,
.rwiz-cart-component-items .product-price ins .amount,
.rwiz-cart-component-items .product-price ins bdi {
  color: #1f2933 !important;
}

.rwiz-cart-component-items .product-price del,
.rwiz-cart-component-items .product-price del .amount,
.rwiz-cart-component-items .product-price del bdi {
  color: #6b7280 !important;
}


/* ============================================================
   SECTION 019 - v10.1.11 Order Summary typography and layout-ownership guard
   Purpose: RWiz owns only text alignment/typography for the separated shortcode
   output. UX Builder/page code owns row spacing, card padding and visual rhythm.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-summary-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: baseline !important;
  column-gap: 18px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-label {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-value {
  justify-self: end !important;
  min-width: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  color: inherit !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount {
  color: #15803d !important;
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total,
.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-label {
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-total-label-strong,
.rwiz-cart-order-summary .rwiz-cart-total-label-strong {
  font-weight: 800 !important;
}

.rwiz-order-summary-card .rwiz-cart-total-label-qualifier,
.rwiz-cart-order-summary .rwiz-cart-total-label-qualifier {
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value {
  font-weight: 800 !important;
}

.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-label {
  font-weight: 400 !important;
}

/* Product table text refinement: keep headers sentence case, with Product and Price bold. */
.rwiz-cart-component-items .shop_table thead th,
.rwiz-cart-component-items .rwiz-cart-items-table thead th {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.rwiz-cart-component-items .shop_table thead th.product-name,
.rwiz-cart-component-items .shop_table thead th.product-price,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-name,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-price {
  font-weight: 800 !important;
}

.rwiz-cart-component-items .shop_table thead th.product-quantity,
.rwiz-cart-component-items .shop_table thead th.product-subtotal,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-quantity,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-subtotal {
  font-weight: 600 !important;
}

/* Re-assert product-row typography without changing row spacing or layout. */
.rwiz-cart-component-items .product-name,
.rwiz-cart-component-items .product-name a,
.rwiz-cart-component-items .rwiz-cart-product-name-link,
.rwiz-cart-component-items .rwiz-cart-product-display-name {
  color: #1f2933 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.rwiz-cart-component-items .product-price,
.rwiz-cart-component-items .product-price .amount,
.rwiz-cart-component-items .product-price bdi,
.rwiz-cart-component-items .product-price ins,
.rwiz-cart-component-items .product-price ins .amount,
.rwiz-cart-component-items .product-price ins bdi,
.rwiz-cart-component-items .product-price del,
.rwiz-cart-component-items .product-price del .amount,
.rwiz-cart-component-items .product-price del bdi {
  font-weight: 400 !important;
}


/* ============================================================
   SECTION 020 - v10.1.11 Product table header uniformity
   Purpose: make all Product table headers match the Quantity header
   format while keeping the Product header left-aligned. This section
   does not add spacing, padding, row gaps or layout movement.
   ============================================================ */
.rwiz-cart-component-items .shop_table thead th,
.rwiz-cart-component-items .rwiz-cart-items-table thead th,
.rwiz-cart-component-items .shop_table thead th.product-name,
.rwiz-cart-component-items .shop_table thead th.product-price,
.rwiz-cart-component-items .shop_table thead th.product-quantity,
.rwiz-cart-component-items .shop_table thead th.product-subtotal,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-name,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-price,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-quantity,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-subtotal {
  color: #1f2933 !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  vertical-align: middle !important;
}

.rwiz-cart-component-items .shop_table thead th.product-name,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-name {
  text-align: left !important;
}

.rwiz-cart-component-items .shop_table thead th.product-price,
.rwiz-cart-component-items .shop_table thead th.product-quantity,
.rwiz-cart-component-items .shop_table thead th.product-subtotal,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-price,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-quantity,
.rwiz-cart-component-items .rwiz-cart-items-table thead th.product-subtotal {
  text-align: center !important;
}

/* ============================================================
   SECTION 018 - v10.1.11 Booster Empty Cart button parity
   Scope: Empty Cart button only. Matches the UX Builder Continue shopping
   primary button without adding row spacing, margins, padding to rows or
   moving page-code elements.
   ============================================================ */
body.woocommerce-cart div:has(> form > input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart div:has(> form > button[name="wcj_empty_cart"]),
body.woocommerce-cart form:has(> input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart form:has(> button[name="wcj_empty_cart"]) {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart input[type="submit"].button[name="wcj_empty_cart"],
body.woocommerce-cart button.button[name="wcj_empty_cart"],
body.woocommerce-cart .wcj_empty_cart_button,
body.woocommerce-cart .wcj-empty-cart-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: var(--rwiz-frame-cart-button-height, 36px) !important;
  height: var(--rwiz-frame-cart-button-height, 36px) !important;
  margin: 0 !important;
  padding: 0 var(--rwiz-frame-cart-button-padding-x, 14px) !important;
  border: 1px solid var(--rwiz-frame-blue, #1685d9) !important;
  border-radius: 10px !important;
  background: var(--rwiz-frame-blue, #1685d9) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.woocommerce-cart input[type="submit"].button[name="wcj_empty_cart"]:hover,
body.woocommerce-cart input[type="submit"].button[name="wcj_empty_cart"]:focus,
body.woocommerce-cart button.button[name="wcj_empty_cart"]:hover,
body.woocommerce-cart button.button[name="wcj_empty_cart"]:focus,
body.woocommerce-cart .wcj_empty_cart_button:hover,
body.woocommerce-cart .wcj_empty_cart_button:focus,
body.woocommerce-cart .wcj-empty-cart-button:hover,
body.woocommerce-cart .wcj-empty-cart-button:focus {
  border-color: #0f74bf !important;
  background: #0f74bf !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-transform: none !important;
}


/* ============================================================
   RWC Cart v10.1.11 - Delivery Options compact method cards
   Purpose: remove visual double-frame pressure around delivery methods
   Scope: Delivery Options panel only. No shipping logic, no checkout logic,
          no JS movement, no row consolidation.
   Page-code note: DeliveryOptionsCard may use class="rwiz-delivery-options-panel"
   without rwiz-secondary-in-primary-card. This CSS also neutralises the outer
   frame if the older class is still present during transition.
   ============================================================ */
body.woocommerce-cart .rwiz-delivery-options-panel.rwiz-secondary-in-primary-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-options-list {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options li,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(31, 51, 71, 0.16) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .shipping_method,
body.woocommerce-cart .rwiz-delivery-options-panel input.shipping_method {
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options label {
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0f1f2f !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options label > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ============================================================
   SECTION 021 - v10.1.11 Pay Now - Pay Later card compaction
   Scope: [rwiz_paynowpaylateroffers] visual spacing only.
   Purpose: Keep each provider card framed, but reduce wasted top/bottom
   whitespace inside the individual Pay Now - Pay Later cards.
   ============================================================ */
.rwiz-paynowpaylateroffers-list {
  gap: 7px !important;
}

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
  display: flex !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 6px 9px !important;
  line-height: 1.24 !important;
}

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer > * {
  width: 100%;
  min-height: 0 !important;
}

.rwiz-paynowpaylater-provider-row,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row,
.rwiz-paynowpaylater-offer-moretyme .moretyme__title {
  min-height: 0 !important;
  gap: 8px 12px !important;
  align-items: center !important;
}

.rwiz-paynowpaylater-provider-logo-col,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex:first-child,
.rwiz-paynowpaylater-offer-moretyme .moretyme__title > div:first-of-type {
  min-height: 40px !important;
}

.rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-provider-logo,
.rwiz-paynowpaylater-offer-payflex #payflex-logo,
.rwiz-paynowpaylater-offer-moretyme .moretyme__img,
.rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
  max-height: 42px !important;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetext,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext,
.rwiz-paynowpaylater-offer-mobicred .rwiz-mobicred-calculator {
  line-height: 1.24 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.rwiz-cart-component-paynowpaylateroffers .pjncartpagetext a,
.rwiz-cart-component-paynowpaylateroffers .pjnsinglepagetext a {
  margin-top: 0 !important;
}

.rwiz-paynowpaylater-offer-payflex .payflexCalculatorWidgetContainer,
.rwiz-payflex-widget-host {
  min-height: 0 !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-text-title,
.rwiz-paynowpaylater-offer-payflex .payflex-text-subtitle,
.rwiz-paynowpaylater-offer-payflex #payflex-primary-color-inverse,
.rwiz-paynowpaylater-offer-moretyme .moretyme__title > span,
.rwiz-paynowpaylater-offer-moretyme .moretyme__desc {
  line-height: 1.22 !important;
  margin-top: 0 !important;
  margin-bottom: 1px !important;
}

.rwiz-paynowpaylater-offer-moretyme .moretyme__title {
  gap: 1px 12px !important;
}

@media screen and (max-width: 549px) {
  .rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-offer {
    padding: 6px 7px !important;
  }

  .rwiz-paynowpaylater-provider-logo-col,
  .rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex:first-child,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__title > div:first-of-type {
    min-height: 36px !important;
  }

  .rwiz-cart-component-paynowpaylateroffers .rwiz-paynowpaylater-provider-logo,
  .rwiz-paynowpaylater-offer-payflex #payflex-logo,
  .rwiz-paynowpaylater-offer-moretyme .moretyme__img,
  .rwiz-paynowpaylater-offer-moretyme img[data-rwiz-moretyme-logo-fallback-ready="1"] {
    max-height: 36px !important;
  }
}

/* ============================================================
   SECTION 014 - v10.1.12 Payflex Logo Left Alignment Refinement
   Scope: Pay Now - Pay Later Payflex widget visual alignment only.
   Owns: flex alignment of the Payflex logo wrapper and image.
   Must not own: payment logic, amounts, provider widget loading, checkout/order flow.
   ============================================================ */

.rwiz-paynowpaylater-offer-payflex .payflex-flex.payflex-self-centered,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex.payflex-self-centered {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  justify-self: start !important;
  text-align: left !important;
  width: 100% !important;
}

.rwiz-paynowpaylater-offer-payflex .payflex-flex.payflex-self-centered #payflex-logo,
.rwiz-paynowpaylater-offer-payflex .payflex-flex.payflex-self-centered img.payflex-image-responsive,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex.payflex-self-centered #payflex-logo,
.rwiz-paynowpaylater-offer-payflex .payflex-flex-row > .payflex-flex.payflex-self-centered img.payflex-image-responsive {
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ============================================================
   SECTION 015 - v10.1.31 Order Summary non-total value weight refinement
   Scope: Order Summary value typography only.
   Purpose: make Subtotal, Delivery and Coupon Discount values regular-weight
   while keeping only the Total value bold. This does not add spacing, padding,
   margins, row gaps, layout movement or functional behaviour.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-summary-row:not(.rwiz-cart-summary-row-total) .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row:not(.rwiz-cart-summary-row-total) .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-row-subtotal .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-subtotal .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-row-delivery .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-delivery .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-row-delivery-fees .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-delivery-fees .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row:not(.rwiz-cart-order-summary-row-total) .rwiz-cart-order-summary-value,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row:not(.rwiz-cart-order-summary-row-total) .rwiz-cart-order-summary-value * {
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-total .rwiz-cart-summary-value *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-total .rwiz-cart-order-summary-value * {
  font-weight: 800 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount {
  color: #15803d !important;
}

/* ============================================================
   SECTION 016 - v10.1.31 Empty Cart compact intrinsic button width
   Scope: Booster Empty Cart button only.
   Purpose: keep the Empty Cart button visually aligned with the UX Builder
            Continue shopping button sizing model. The button must not expand
            to the full width of its column. No row, column, card, spacing,
            margin, padding or layout movement changes are introduced.
   ============================================================ */
body.woocommerce-cart div:has(> form > input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart div:has(> form > button[name="wcj_empty_cart"]),
body.woocommerce-cart form:has(> input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart form:has(> button[name="wcj_empty_cart"]) {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart input[type="submit"].button[name="wcj_empty_cart"],
body.woocommerce-cart button.button[name="wcj_empty_cart"],
body.woocommerce-cart .wcj_empty_cart_button,
body.woocommerce-cart .wcj-empty-cart-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: var(--rwiz-frame-cart-button-height, 36px) !important;
  height: var(--rwiz-frame-cart-button-height, 36px) !important;
  margin: 0 !important;
  padding: 0 var(--rwiz-frame-cart-button-padding-x, 14px) !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  text-transform: none !important;
}

/* ============================================================
   SECTION 017 - v10.1.31 Change Address form visual compaction
   Scope: Delivery calculator / Change Address dropdown only.
   Purpose: change the calculator panel from grey to the approved light-blue fill,
            make floating labels match the panel fill, normalise the vertical gap
            above Postcode, and reduce wasted space above/below the Save button.
   Must not own: delivery calculation, shipping methods, totals, coupon logic,
                 checkout/order flow, panel movement, or UX Builder row layout.
   ============================================================ */
.rwiz-cart-delivery-calculator-form-only .shipping-calculator-form {
  padding: 10px 12px !important;
  border: 1px solid #9fd2f6 !important;
  border-radius: 10px !important;
  background: #eef8ff !important;
  box-sizing: border-box !important;
}

.rwiz-cart-delivery-calculator-form-only .form-row,
.rwiz-cart-delivery-calculator-form-only #calc_shipping_country_field,
.rwiz-cart-delivery-calculator-form-only #calc_shipping_state_field,
.rwiz-cart-delivery-calculator-form-only #calc_shipping_city_field,
.rwiz-cart-delivery-calculator-form-only #calc_shipping_postcode_field {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

.rwiz-cart-delivery-calculator-form-only #calc_shipping_postcode_field {
  margin-top: 0 !important;
}

.rwiz-cart-delivery-calculator-form-only .form-row label,
.rwiz-cart-delivery-calculator-form-only .rwiz-floating-label,
.rwiz-cart-delivery-calculator-form-only #calc_shipping_state_field span > label {
  background: #eef8ff !important;
}

.rwiz-cart-delivery-calculator-form-only .shipping-calculator-form > p:not(.form-row) {
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.rwiz-cart-delivery-calculator-form-only button.button,
.rwiz-cart-delivery-calculator-form-only p > button[type="submit"],
.rwiz-cart-delivery-calculator-form-only button[name="calc_shipping"] {
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  line-height: 1 !important;
}

/* ============================================================
   SECTION 018 - v10.1.31 Delivery Options old-cart style rows
   Scope: Delivery Options shipping methods only.
   Purpose: match the old cart method list visual: simple bordered rows,
            compact vertical rhythm, default-looking radio controls, bold
            selected method label, normal unselected method label and bold
            price amount only.
   Must not own: shipping calculation, selected method persistence, delivery
                 address logic, checkout/order logic, payment logic, panel
                 movement, or UX Builder row/column layout.
   ============================================================ */
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-options-list {
  width: 100% !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-options-list,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options li {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 10px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 1px solid #d9dee7 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel input.shipping_method,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .shipping_method {
  justify-self: center !important;
  align-self: center !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options label,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row label {
  display: inline !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1f3347 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row:has(input.shipping_method:checked) label {
  font-weight: 700 !important;
  color: #0f1f2f !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row label .amount,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row label .amount bdi,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row label .woocommerce-Price-amount,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row label .woocommerce-Price-amount bdi {
  font-weight: 700 !important;
  color: #1f3347 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row .custom-shipping-description,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row > div:not(.rwiz-cart-delivery-option-row) {
  grid-column: 2 / -1 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
}


/* v10.1.31 fallback for browsers/selectors where :has() is unavailable. */
body.woocommerce-cart .rwiz-delivery-options-panel input.shipping_method:checked + label {
  font-weight: 700 !important;
  color: #0f1f2f !important;
}


/* ============================================================
   RWC Cart v10.1.31 - Integrated sale-price and You Saved display
   Scope: Display only. Does not alter product price, coupon, tax,
   shipping, payment or order calculations.
   ============================================================ */
.sassy-014-sale-price,
.rwiz-sale-price-display {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.2rem 0.35rem;
  line-height: 1.25;
}

.sassy-014-sale-price del,
.rwiz-sale-price-display del {
  display: inline-block;
  font-weight: 400 !important;
  opacity: 0.62;
  text-decoration-thickness: 1px;
}

.sassy-014-sale-price ins,
.rwiz-sale-price-display ins {
  display: inline-block;
  font-weight: 700 !important;
  text-decoration: none;
  background: transparent;
}

.product-subtotal .sassy-014-sale-price,
.product-subtotal .rwiz-sale-price-display,
.woocommerce-checkout-review-order-table .product-total .sassy-014-sale-price,
.woocommerce-checkout-review-order-table .product-total .rwiz-sale-price-display {
  justify-content: flex-end;
}

.rwiz-cart-summary-row-yousaved .rwiz-cart-summary-value {
  font-weight: 700;
}

.rwiz-cart-component-yousaved .rwiz-cart-summary-row-yousaved.is-empty {
  display: none !important;
}

.rwiz-cart-estimated-delivery--active {
  color: #334862;
}


/* ============================================================
   RWC Cart v10.1.31 - Cart item responsive product display
   Scope: [rwiz_cart_items] display only. No cart totals, coupon,
   shipping, payment, checkout or order calculation changes.
   ============================================================ */
.rwiz-cart-component-items .rwiz-cart-mobile-price-line {
  display: none;
}

/* Wider-screen sale display: regular price above, current/sale price below. */
.rwiz-cart-component-items .product-price .sassy-014-sale-price,
.rwiz-cart-component-items .product-price .rwiz-sale-price-display,
.rwiz-cart-component-items .product-subtotal .sassy-014-sale-price,
.rwiz-cart-component-items .product-subtotal .rwiz-sale-price-display {
  display: inline-flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  line-height: 1.18 !important;
}

.rwiz-cart-component-items .product-subtotal .sassy-014-sale-price,
.rwiz-cart-component-items .product-subtotal .rwiz-sale-price-display {
  align-items: flex-end !important;
}

.rwiz-cart-component-items .product-price .sassy-014-sale-price del,
.rwiz-cart-component-items .product-price .rwiz-sale-price-display del,
.rwiz-cart-component-items .product-subtotal .sassy-014-sale-price del,
.rwiz-cart-component-items .product-subtotal .rwiz-sale-price-display del {
  color: #9ca3af !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.rwiz-cart-component-items .product-price .sassy-014-sale-price ins,
.rwiz-cart-component-items .product-price .rwiz-sale-price-display ins,
.rwiz-cart-component-items .product-subtotal .sassy-014-sale-price ins,
.rwiz-cart-component-items .product-subtotal .rwiz-sale-price-display ins {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* Remove the earlier rounded-corner refinement from quantity plus/minus buttons only. */
.rwiz-cart-component-items .quantity input[type="button"],
.rwiz-cart-component-items .quantity button,
.rwiz-cart-component-items .quantity .button,
.rwiz-cart-component-items .ux-quantity__button,
.rwiz-cart-component-items .button.minus,
.rwiz-cart-component-items .button.plus {
  border-radius: 0 !important;
}

@media screen and (max-width: 849px) {
  .rwiz-cart-component-items .rwiz-cart-items-form {
    overflow-x: visible !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table,
  .rwiz-cart-component-items .rwiz-cart-items-table thead,
  .rwiz-cart-component-items .rwiz-cart-items-table tbody,
  .rwiz-cart-component-items .rwiz-cart-items-table tr,
  .rwiz-cart-component-items .rwiz-cart-items-table th,
  .rwiz-cart-component-items .rwiz-cart-items-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table thead tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(31, 51, 71, 0.14) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-remove,
  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-thumbnail,
  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-price,
  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-subtotal {
    display: none !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-name,
  .rwiz-cart-component-items .rwiz-cart-items-table thead th.product-quantity {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center !important;
    font-weight: 700 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 42px 76px minmax(0, 1fr) auto !important;
    grid-template-areas: "remove thumbnail product quantity" !important;
    align-items: center !important;
    column-gap: 10px !important;
    min-height: 0 !important;
    margin: 8px 0 0 !important;
    padding: 9px 10px 9px 12px !important;
    border: 1px solid rgba(31, 51, 71, 0.14) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table tbody tr.cart_item td {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    min-width: 0 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table tbody tr.cart_item td::before {
    display: none !important;
    content: "" !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-remove {
    grid-area: remove !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    padding-left: 2px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-remove .remove {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    border: 1px solid rgba(31, 51, 71, 0.18) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #9ca3af !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-thumbnail {
    grid-area: thumbnail !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-thumbnail img {
    width: auto !important;
    max-width: 62px !important;
    max-height: 76px !important;
    object-fit: contain !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-name {
    grid-area: product !important;
    align-self: center !important;
    text-align: left !important;
    line-height: 1.25 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-product-name-link,
  .rwiz-cart-component-items .rwiz-cart-product-display-name {
    display: block !important;
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-line {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 0.26rem !important;
    margin-top: 5px !important;
    color: #374151 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-qty {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    color: #374151 !important;
    font-weight: 400 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-value,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value .sassy-014-sale-price,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value .rwiz-sale-price-display {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-value del,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value del .amount,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value del bdi {
    color: #9ca3af !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-value ins,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value ins .amount,
  .rwiz-cart-component-items .rwiz-cart-mobile-price-value ins bdi {
    color: #0f172a !important;
    font-weight: 700 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-quantity {
    grid-area: quantity !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    align-self: center !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-price,
  .rwiz-cart-component-items .rwiz-cart-items-table td.product-subtotal {
    display: none !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table .quantity,
  .rwiz-cart-component-items .rwiz-cart-items-table .ux-quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table .quantity input.qty {
    min-width: 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    text-align: center !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-actions {
    display: none !important;
  }
}

@media screen and (max-width: 430px) {
  .rwiz-cart-component-items .rwiz-cart-items-table tbody tr.cart_item {
    grid-template-columns: 34px 58px minmax(0, 1fr) auto !important;
    column-gap: 7px !important;
    padding-left: 9px !important;
    padding-right: 8px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-thumbnail img {
    max-width: 48px !important;
    max-height: 66px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-product-name-link,
  .rwiz-cart-component-items .rwiz-cart-product-display-name {
    font-size: 13px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-mobile-price-line {
    font-size: 12.5px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table td.product-remove .remove {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }

  .rwiz-cart-component-items .rwiz-cart-items-table .quantity input.qty {
    min-width: 30px !important;
    width: 30px !important;
  }
}

/* ============================================================
   SECTION 021 - v10.1.31 Change Address form visual cleanup
   Scope: Delivery calculator / Change Address dropdown only.
   Purpose: remove the extra framed/padded feel around the light-blue form area,
            keep the approved light-blue fill, and make calculator input frames
            visually match the coupon-code input style.
   Must not own: delivery calculation, shipping methods, totals, coupon logic,
                 checkout/order flow, panel movement, or UX Builder row layout.
   ============================================================ */
body.woocommerce-cart .rwiz-delivery-calculator-panel.rwiz-primary-in-primary-card {
  padding: 0 !important;
  background: #eef8ff !important;
  overflow: hidden !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .shipping-calculator-form {
  padding: 10px 12px 8px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #eef8ff !important;
  box-shadow: none !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .form-row,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_country_field,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_state_field,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_city_field,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_postcode_field {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only input.input-text,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only select,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection--single {
  min-height: 42px !important;
  height: 42px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: #1f3347 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only input.input-text {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection__rendered {
  line-height: 40px !important;
  padding-left: 14px !important;
  padding-right: 34px !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection__arrow {
  min-height: 40px !important;
  height: 40px !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .form-row label,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .rwiz-floating-label,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_state_field span > label {
  background: #eef8ff !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .shipping-calculator-form > p:not(.form-row) {
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only button.button,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only p > button[type="submit"],
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only button[name="calc_shipping"] {
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 18px !important;
}

/* ============================================================
   SECTION 022 - v10.1.31 Order Summary coupon form compaction
   Scope: Order Summary / Coupon dropdown form only.
   Purpose: remove the extra wasted space below the Coupon code input and
            Apply Coupon button while preserving the UX Builder-owned row
            placement and card frame.
   Must not own: coupon validation, coupon totals, cart totals, product rows,
                 delivery, payment, checkout/order flow, or JS movement.
   ============================================================ */
body.woocommerce-cart .rwiz-order-summary-card .rwiz-coupon-panel,
body.woocommerce-cart .rwiz-order-summary-card .rwiz-coupon-panel > .col-inner {
  padding-bottom: 10px !important;
}

body.woocommerce-cart .rwiz-order-summary-card .rwiz-coupon-panel .text,
body.woocommerce-cart .rwiz-order-summary-card .rwiz-coupon-panel .ux-text,
body.woocommerce-cart .rwiz-order-summary-card .rwiz-coupon-panel p {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.woocommerce-cart .rwiz-order-summary-card .rwiz-cart-coupon-form-only,
body.woocommerce-cart .rwiz-order-summary-card .rwiz-cart-coupon-form-only .rwiz-cart-coupon-form {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-order-summary-card .rwiz-cart-coupon-form-only .rwiz-cart-coupon-form-row {
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
}

body.woocommerce-cart .rwiz-order-summary-card .rwiz-cart-coupon-form-only input.input-text,
body.woocommerce-cart .rwiz-order-summary-card .rwiz-cart-coupon-form-only button.button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ============================================================
   SECTION 023 - v10.1.31 Delivery Options panel blue-box refinement
   Scope: Delivery calculator and Delivery Options visual spacing only.
   Purpose: show all shipping methods inside one light-blue panel similar to
            the Change Address panel, while keeping each method in its own
            simple white bordered row and tightening inner padding to a max
            10px rhythm.
   Must not own: delivery/shipping calculation, selected method persistence,
                 coupon/payment/checkout/order flow, product rows, or UX
                 Builder row/column layout.
   ============================================================ */
body.woocommerce-cart .rwiz-delivery-calculator-panel.rwiz-primary-in-primary-card,
body.woocommerce-cart .rwiz-delivery-options-panel {
  padding: 0 !important;
  border: 1px solid #9fd2f6 !important;
  border-radius: 6px !important;
  background: #eef8ff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel.rwiz-secondary-in-primary-card {
  border: 1px solid #9fd2f6 !important;
  border-radius: 6px !important;
  background: #eef8ff !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .shipping-calculator-form {
  padding: 10px !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options {
  margin: 0 !important;
  padding: 10px !important;
  background: #eef8ff !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-options-list,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options {
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-delivery-option-row,
body.woocommerce-cart .rwiz-delivery-options-panel .rwiz-cart-component-delivery-options .woocommerce-delivery-options li {
  padding: 8px 10px !important;
  border: 1px solid #d9dee7 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  min-height: 44px !important;
  box-shadow: none !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only input.input-text {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .select2-container .select2-selection__rendered {
  padding-left: 10px !important;
  padding-right: 30px !important;
}

body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .form-row label,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only .rwiz-floating-label,
body.woocommerce-cart .rwiz-cart-delivery-calculator-form-only #calc_shipping_state_field span > label {
  background: #eef8ff !important;
}

@media (max-width: 480px) {
  body.woocommerce-cart .rwiz-cart-right-panel a.button.success,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] {
    font-size: 14px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.35px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href$="/"] .icon-shopping-bag,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"] span {
    font-size: 13px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.15px !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"] {
    padding-left: 9px !important;
    padding-right: 9px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  body.woocommerce-cart .rwiz-cart-right-panel a.button.success,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] {
    font-size: 13px !important;
    letter-spacing: 0.2px !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"] span {
    font-size: 12.5px !important;
  }
}



/* ============================================================
   SECTION 024 - v10.1.31 Narrow-screen action button vertical alignment
   Scope: Proceed to Checkout and Continue shopping buttons only.
   Purpose: when responsive font-size rules make action text smaller or allow
            wrapping, keep text and icons vertically centred with equal top
            and bottom spacing.
   No-change rule: no checkout flow, link target, delivery, coupon, payment,
                   product-row, row/column layout, or JavaScript movement changes.
   ============================================================ */

@media (max-width: 480px) {
  body.woocommerce-cart .rwiz-cart-right-panel a.button.success,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 46px !important;
    height: auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href$="/"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 36px !important;
    height: auto !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button.success i,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] i,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"] i,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href$="/"] i {
    flex: 0 0 auto !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button.success span,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] span,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"] span,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href$="/"] span {
    display: inline-block !important;
    line-height: 1.15 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 360px) {
  body.woocommerce-cart .rwiz-cart-right-panel a.button.success,
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href*="/checkout"] {
    min-height: 44px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel a.button[href$="/"] {
    min-height: 34px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}


/* ============================================================
   SECTION 025 - v10.1.31 Coupon dropdown light-blue panel cleanup
   Scope: Order Summary coupon dropdown panel and its coupon form only.
   Purpose: Match the Delivery Options light-blue panel language, while
            removing leftover paragraph/form whitespace below the coupon
            input and Apply Coupon button.
   No-change rule: no coupon validation, coupon calculation, cart total,
                   delivery, product table, payment, checkout/order flow,
                   JavaScript movement, or UX Builder layout ownership changes.
   ============================================================ */
body.woocommerce-cart .rwiz-coupon-panel,
body.woocommerce-cart .rwiz-coupon-panel.rwiz-secondary-card {
  padding: 0 !important;
  border: 1px solid #9fd2f6 !important;
  border-radius: 6px !important;
  background: #eef8ff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-component-coupon,
body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-only {
  margin: 0 !important;
  padding: 10px !important;
  background: #eef8ff !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form,
body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row,
body.woocommerce-cart .rwiz-coupon-panel p.rwiz-cart-coupon-form-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row .input-text,
body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row input.input-text {
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  border: 1px solid #d9dee7 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row .button,
body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row button.button {
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row + *,
body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form > *:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 549px) {
  body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form,
  body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row,
  body.woocommerce-cart .rwiz-coupon-panel p.rwiz-cart-coupon-form-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row .button,
  body.woocommerce-cart .rwiz-coupon-panel .rwiz-cart-coupon-form-row button.button {
    width: 100% !important;
  }
}

/* ============================================================
   SECTION 026 - v10.1.31 Responsive nav-button row wrapping
   Scope: Continue shopping + Empty Cart navigation buttons only.
   Purpose: On narrow screens, keep the two UX Builder navigation buttons
            in the same row whenever both buttons can fit. Let Empty Cart
            wrap to the next row only when the available width is too small.
   No-change rule: no checkout flow, button link target, cart total, coupon
                   calculation, product table, delivery/shipping, payment,
                   order-flow, JavaScript movement, or UX Builder layout
                   ownership changes.
   ============================================================ */
@media (max-width: 849px) {
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px 10px !important;
    width: 100% !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]) > .col,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]) > .col,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]) > .col,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) > .col {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    min-width: 0 !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]) > .col > .col-inner,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]) > .col > .col-inner,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]) > .col > .col-inner,
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) > .col > .col-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]) a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]) a.button[href="/"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]) a.button[href$="/"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) a.button[href$="/"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]) input[type="submit"].button[name="wcj_empty_cart"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]) button.button[name="wcj_empty_cart"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]) input[type="submit"].button[name="wcj_empty_cart"],
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) button.button[name="wcj_empty_cart"] {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(input[type="submit"][name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href="/"]):has(button[name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(input[type="submit"][name="wcj_empty_cart"]),
  body.woocommerce-cart .rwiz-cart-right-panel .row:has(a.button[href$="/"]):has(button[name="wcj_empty_cart"]) {
    gap: 7px 8px !important;
  }
}



/* ============================================================
   SECTION 027 - v10.1.31 Cart Summary savings and subtotal value refinement
   Scope: separated Order Summary values only.
   Purpose: show crossed-out regular Subtotal beside the current Subtotal,
            make You Saved dark green with a leading minus sign from PHP,
            and make Coupon Discount value use the Add Coupon pill blue.
   No-change rule: no calculation ownership change, no coupon logic change,
                   no shipping/payment/checkout/order flow change, and no
                   UX Builder layout movement.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-summary-subtotal-comparison,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-comparison {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-subtotal-regular,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-regular {
  display: inline-block !important;
  color: #9ca3af !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  opacity: 0.9 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-subtotal-current,
.rwiz-order-summary-card .rwiz-cart-summary-subtotal-current *,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-current,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-current * {
  display: inline-block !important;
  color: #111827 !important;
  font-weight: 400 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label,
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label *,
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-value *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-value,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-value * {
  color: var(--rwiz-checkout-green, #2a8f1f) !important;
  font-weight: 700 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value,
.rwiz-order-summary-card .rwiz-cart-summary-row-coupon-discount .rwiz-cart-summary-value *,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount,
.rwiz-order-summary-card .rwiz-cart-summary-value-discount *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-coupon-discount .rwiz-cart-order-summary-value,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-coupon-discount .rwiz-cart-order-summary-value * {
  color: var(--rwiz-add-coupon-blue, #006fc9) !important;
  font-weight: 400 !important;
}

@media (max-width: 420px) {
  .rwiz-order-summary-card .rwiz-cart-summary-subtotal-comparison,
  .rwiz-cart-order-summary .rwiz-cart-summary-subtotal-comparison {
    gap: 5px !important;
  }
}


/* ============================================================
   SECTION 028 - v10.1.31 Delivery label and estimate line refinement
   Scope: Delivery text display only. No delivery/shipping calculation changes.
   ============================================================ */
.rwiz-cart-component-estimated-delivery .rwiz-estimated-delivery-text {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  line-height: 1.25;
}

.rwiz-cart-component-estimated-delivery .rwiz-estimated-delivery-detail {
  display: block;
  font-weight: 400;
  color: inherit;
}

.rwiz-cart-component-estimated-delivery .sassy-010-estimated-delivery-label {
  display: block;
}


/* ============================================================
   SECTION 029 - v10.1.31 Cart Summary savings display refinement
   Scope: subtotal comparison and You Saved percentage display only.
   Purpose: keep the crossed-out regular Subtotal to the left of the
            current Subtotal value, hide savings display when zero via
            PHP/empty component, and render a non-bold green savings
            percentage beside the You saved label when threshold is met.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-summary-subtotal-comparison,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-comparison {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  white-space: nowrap !important;
  line-height: 1.25 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-subtotal-regular,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-regular {
  display: inline-block !important;
  margin: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-subtotal-current,
.rwiz-cart-order-summary .rwiz-cart-summary-subtotal-current {
  display: inline-block !important;
  margin: 0 !important;
}

.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label .rwiz-cart-summary-yousaved-percentage,
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label .rwiz-cart-summary-yousaved-percentage *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label .rwiz-cart-summary-yousaved-percentage,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label .rwiz-cart-summary-yousaved-percentage * {
  color: var(--rwiz-checkout-green, #2a8f1f) !important;
  font-weight: 400 !important;
}

@media (max-width: 420px) {
  .rwiz-order-summary-card .rwiz-cart-summary-subtotal-comparison,
  .rwiz-cart-order-summary .rwiz-cart-summary-subtotal-comparison {
    gap: 5px !important;
  }
}


/* ============================================================
   SECTION 028 - v10.1.31 Empty Cart button height parity
   Scope: Booster Empty Cart button only.
   Purpose: reduce the Empty Cart button visual height so it matches the
            UX Builder Continue shopping button while preserving compact
            intrinsic width and existing blue styling.
   No-change rule: no checkout flow, link target, cart total, coupon,
                   product table, delivery/shipping, payment/order-flow,
                   JavaScript movement, or UX Builder layout changes.
   ============================================================ */
body.woocommerce-cart .rwiz-cart-right-panel input[type="submit"].button[name="wcj_empty_cart"],
body.woocommerce-cart .rwiz-cart-right-panel button.button[name="wcj_empty_cart"],
body.woocommerce-cart .rwiz-cart-right-panel .wcj_empty_cart_button,
body.woocommerce-cart .rwiz-cart-right-panel .wcj-empty-cart-button {
  min-height: 36px !important;
  height: 36px !important;
  max-height: 36px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  line-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.woocommerce-cart .rwiz-cart-right-panel div:has(> form > input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart .rwiz-cart-right-panel div:has(> form > button[name="wcj_empty_cart"]),
body.woocommerce-cart .rwiz-cart-right-panel form:has(> input[type="submit"][name="wcj_empty_cart"]),
body.woocommerce-cart .rwiz-cart-right-panel form:has(> button[name="wcj_empty_cart"]) {
  line-height: 0 !important;
}

@media (max-width: 480px) {
  body.woocommerce-cart .rwiz-cart-right-panel input[type="submit"].button[name="wcj_empty_cart"],
  body.woocommerce-cart .rwiz-cart-right-panel button.button[name="wcj_empty_cart"],
  body.woocommerce-cart .rwiz-cart-right-panel .wcj_empty_cart_button,
  body.woocommerce-cart .rwiz-cart-right-panel .wcj-empty-cart-button {
    min-height: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    line-height: 34px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* ============================================================
   SECTION 030 - v10.1.31 Delivery action button height refinement
   Scope: Change Address and Show/Hide Options buttons only.
   Purpose: reduce the visual height by approximately 10% using
            balanced internal padding while keeping the text/icon centred.
   No-change rule: no delivery/shipping calculation changes, no panel
                   behaviour changes, no JavaScript movement, and no UX
                   Builder layout ownership changes.
   ============================================================ */
body.woocommerce-cart .rwiz-delivery-buttons .rwiz_calcfees.rwiz_roundedsmallbutton,
body.woocommerce-cart .rwiz-delivery-buttons .rwiz_calcfees.rwiz_roundedsmallbutton.button,
body.woocommerce-cart .rwiz-delivery-buttons .rwiz_fasterdelivery.rwiz_roundedsmallbutton,
body.woocommerce-cart .rwiz-delivery-buttons .rwiz_fasterdelivery.rwiz_roundedsmallbutton.button {
  min-height: 23px !important;
  height: auto !important;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  line-height: 1.08 !important;
  gap: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

@media (max-width: 480px) {
  body.woocommerce-cart .rwiz-delivery-buttons .rwiz_calcfees.rwiz_roundedsmallbutton,
  body.woocommerce-cart .rwiz-delivery-buttons .rwiz_calcfees.rwiz_roundedsmallbutton.button,
  body.woocommerce-cart .rwiz-delivery-buttons .rwiz_fasterdelivery.rwiz_roundedsmallbutton,
  body.woocommerce-cart .rwiz-delivery-buttons .rwiz_fasterdelivery.rwiz_roundedsmallbutton.button {
    min-height: 23px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    line-height: 1.08 !important;
  }
}


/* ============================================================
   SECTION 031 - v10.1.31 You Saved percentage visibility and size refinement
   Scope: Cart Summary You Saved percentage display only.
   Purpose: make the bracketed savings percentage approximately 15% smaller,
            while PHP hides the full You Saved row when savings are <= 1.5%.
   No-change rule: crossed-out regular subtotal remains to the left of the
                   current subtotal value; no calculations or layout ownership change.
   ============================================================ */
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label .rwiz-cart-summary-yousaved-percentage,
.rwiz-order-summary-card .rwiz-cart-summary-row-yousaved .rwiz-cart-summary-label .rwiz-cart-summary-yousaved-percentage *,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label .rwiz-cart-summary-yousaved-percentage,
.rwiz-cart-order-summary .rwiz-cart-order-summary-row-you-saved .rwiz-cart-order-summary-label .rwiz-cart-summary-yousaved-percentage * {
  font-size: 0.85em !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: var(--rwiz-checkout-green, #2a8f1f) !important;
}


/* v10.1.42 - Cart Shipping Method Refresh Scope Isolation and De-Duplication Repair.
   The order-summary inline delivery-method visibility owner is disabled.
   Delivery methods are owned only by the UX Builder Delivery Estimate card. */
.rwiz-cart-order-summary-delivery-toggle-control,
.rwiz-cart-order-summary-delivery-body,
[data-rwiz-cart-component="order-summary-delivery-options"] {
  display: none !important;
}

/* ============================================================
   v10.1.42 - Shipping Method Checkout Guard
   Purpose: while a delivery-method save is settling, do not allow
   Proceed to Checkout to leave before WooCommerce session has the
   latest selected method. No overlay, no cart-table refresh.
   ============================================================ */
body.woocommerce-cart.rwiz-shipping-method-settling .rwiz-cart-right-panel a.button[href*="/checkout"],
body.woocommerce-cart .rwiz-cart-right-panel a.button.rwiz-checkout-is-guarded {
  cursor: progress !important;
}
