/* =========================================================
   RecallMastery — Checkout & payment button UX
   Goal: no low-contrast / white pay buttons, bigger tap
   targets, clearer payment selection, roomier cart.
   ========================================================= */

/* ---------- 1. Base style for every commerce button ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button,
.woocommerce .wd-buy-now-btn,
.wc-proceed-to-checkout a.checkout-button,
#place_order {
  border-radius: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.25 !important;
  text-align: center !important;
  border: 0 !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .08s ease !important;
}

/* No commerce button may ever render white / transparent */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button,
.woocommerce .wd-buy-now-btn {
  background-color: #193F99 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .wd-buy-now-btn:hover {
  background-color: #12307A !important;
  color: #ffffff !important;
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce .single_add_to_cart_button:active,
.woocommerce .wd-buy-now-btn:active { transform: translateY(1px) !important; }

/* ---------- 2. Product page: real tap targets ---------- */
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .wd-buy-now-btn {
  min-height: 50px !important;
  padding: 0 26px !important;
  font-size: 15px !important;
}
.single-product form.cart .quantity input.qty,
.single-product form.cart .quantity .plus,
.single-product form.cart .quantity .minus { height: 50px !important; }

@media (max-width: 768px) {
  .single-product form.cart .single_add_to_cart_button,
  .single-product form.cart .wd-buy-now-btn {
    width: 100% !important;
    flex: 1 0 100% !important;
    margin-left: 0 !important;
    margin-top: 10px !important;
  }
}

/* ---------- 3. Cart & checkout get the full width ---------- */
.woocommerce-cart .sidebar-container,
.woocommerce-checkout .sidebar-container { display: none !important; }

.woocommerce-cart .site-content,
.woocommerce-checkout .site-content {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.woocommerce-cart .woocommerce-cart-form { overflow-x: auto !important; }

/* ---------- 4. Cart: one obvious next step ---------- */
.wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 17px 20px !important;
  font-size: 16px !important;
  background-color: #193F99 !important;
  background-image: none !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(25,63,153,.28) !important;
}
.wc-proceed-to-checkout a.checkout-button:hover {
  background-color: #12306f !important;
  color: #ffffff !important;
}

/* ---------- 5. Checkout: payment methods as tappable cards ---------- */
#payment ul.payment_methods { padding: 0 !important; border-bottom: 0 !important; }

#payment ul.payment_methods li.wc_payment_method {
  border: 2px solid #D8DDE6 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin: 0 0 12px !important;
  background: #ffffff !important;
  transition: border-color .15s ease, background-color .15s ease;
}
#payment ul.payment_methods li.wc_payment_method:hover { border-color: #193F99 !important; }

#payment ul.payment_methods li.wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  width: 100% !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1B1B1B !important;
  cursor: pointer !important;
}
#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 4px 0 0 !important;
  accent-color: #193F99;
  cursor: pointer !important;
}
#payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
  border-color: #193F99 !important;
  background: #f5f7fb !important;
}
#payment .payment_box {
  background: #f6f8fc !important;
  border: 1px solid #e4e8f0 !important;
  border-radius: 8px !important;
  color: #333333 !important;
  margin-top: 12px !important;
}
#payment .payment_box:before { display: none !important; }

/* ---------- 6. Terms checkbox people can actually hit ---------- */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}
.woocommerce-terms-and-conditions-wrapper input#terms {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin: 1px 0 0 !important;
  accent-color: #193F99;
  cursor: pointer !important;
}

/* ---------- 7. The pay button ---------- */
.woocommerce #payment #place_order,
#place_order {
  display: block !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 17px 20px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  background-image: none !important;
  background-color: #193F99 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 18px rgba(25,63,153,.30) !important;
  cursor: pointer !important;
  float: none !important;
}
.woocommerce #payment #place_order:hover,
#place_order:hover { background-color: #12306f !important; color: #ffffff !important; }
#place_order:active { transform: translateY(1px) !important; }
#place_order[disabled],
#place_order.disabled {
  background-color: #9AA6B2 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Total stands out so people know what they are paying */
.woocommerce-checkout .shop_table .order-total th,
.woocommerce-checkout .shop_table .order-total td {
  font-size: 19px !important;
  font-weight: 800 !important;
}
.woocommerce-checkout .shop_table .order-total td { color: #0E1A33 !important; }

/* Keep the pay button reachable on phones */
@media (max-width: 768px) {
  .woocommerce-checkout #place_order {
    position: sticky !important;
    bottom: 10px !important;
    z-index: 50 !important;
  }
  .wc-proceed-to-checkout a.checkout-button,
  #place_order { min-height: 56px !important; font-size: 17px !important; }
  #payment ul.payment_methods li.wc_payment_method { padding: 16px !important; }
  .woocommerce .button { min-height: 46px !important; }
}

/* ---------- 8. Visible keyboard focus ---------- */
#place_order:focus-visible,
.wc-proceed-to-checkout a.checkout-button:focus-visible,
.woocommerce .single_add_to_cart_button:focus-visible,
.woocommerce .wd-buy-now-btn:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible {
  outline: 3px solid #FFB020 !important;
  outline-offset: 2px !important;
}

/* ---------- 9. Home page hero CTA was white-on-gold (2.4:1) ---------- */
.elementor-element-338e260 .elementor-button {
  color: #1A1200 !important;
  font-weight: 700 !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.elementor-element-338e260 .elementor-button:hover {
  background-color: #B9871F !important;
  color: #1A1200 !important;
}


/* ---------- 10. Keep the radio on the same line as its label ---------- */
#payment ul.payment_methods li.wc_payment_method {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
#payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
  flex: 0 0 auto !important;
  order: 1 !important;
}
#payment ul.payment_methods li.wc_payment_method > label {
  flex: 1 1 auto !important;
  width: auto !important;
  order: 2 !important;
}
#payment ul.payment_methods li.wc_payment_method > .payment_box {
  flex: 1 0 100% !important;
  order: 3 !important;
}

/* ---------- 11. Ship-to-different-address toggle ---------- */
#ship-to-different-address .woocommerce-form__label-for-checkbox { display: flex !important; align-items: center !important; gap: 10px !important; cursor: pointer !important; }
#ship-to-different-address input[type="checkbox"] { width: 18px !important; height: 18px !important; min-width: 18px !important; accent-color: #193F99; cursor: pointer !important; }


/* =========================================================
   12. CHECKOUT FIELDS - ergonomics (Fitts's law, no iOS zoom)
   ========================================================= */
.woocommerce-checkout .form-row { margin-bottom: 18px; }
.woocommerce-checkout .form-row label { font-weight: 600; color: #1f2933; margin-bottom: 6px; display: block; font-size: 14px; }
.woocommerce-checkout .form-row .required { color: #c0392b; text-decoration: none; }
.woocommerce-checkout .form-row .optional { color: #6b7280; font-weight: 400; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: 50px; font-size: 16px; line-height: 1.4; border-radius: 10px;
  border: 1px solid #ccd4de; background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
.woocommerce-checkout .form-row textarea { min-height: 110px; padding-top: 12px; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: #193f99; box-shadow: 0 0 0 3px rgba(11,122,59,.15); outline: none;
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-selection--single {
  border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192,57,43,.12);
}
.woocommerce-checkout .form-row.woocommerce-validated input.input-text { border-color: #193f99; }

/* =========================================================
   13. ORDER SUMMARY - price anchoring + sticky on desktop
   ========================================================= */
.woocommerce-checkout .checkout-order-review { align-self: flex-start; }
@media (min-width: 992px) {
  .woocommerce-checkout .checkout-order-review { position: sticky; top: 24px; z-index: 5; }
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 600; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td { font-size: 20px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td .amount { color: #193f99; font-weight: 800; }

/* =========================================================
   14. TRUST + REASSURANCE BLOCKS
   ========================================================= */
.rm-trust-bar {
  display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none;
  margin: 0 0 26px; padding: 14px 18px;
  border: 1px solid #d8e6dc; background: #f3f9f5; border-radius: 12px;
}
.rm-trust-bar li {
  position: relative; margin: 0; padding-left: 26px;
  font-size: 14px; line-height: 1.5; color: #1f2933; font-weight: 500; list-style: none;
}
.rm-trust-bar li:before {
  content: ""; position: absolute; left: 0; top: 2px;
  width: 18px; height: 18px; background: #193f99; border-radius: 50%;
}
.rm-trust-bar li:after {
  content: ""; position: absolute; left: 6px; top: 6px;
  width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.rm-pay-note { margin: 14px 2px 0; font-size: 13px; line-height: 1.6; color: #5b6572; text-align: center; }
.rm-product-note { margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: #5b6572; }

/* =========================================================
   15. FOCUS - strip distractions from the checkout funnel
   ========================================================= */
body.woocommerce-checkout .whb-top-bar { display: none !important; }

/* =========================================================
   16. PROGRESS STEPS - goal-gradient effect
   ========================================================= */
.wd-checkout-steps li { font-weight: 700; }
body.woocommerce-checkout .wd-checkout-steps .step-cart > a,
body.woocommerce-checkout .wd-checkout-steps .step-cart > a > span { color: #4d7fd6 !important; }
.wd-checkout-steps .step-active > a,
.wd-checkout-steps .step-active > a > span,
.wd-checkout-steps .step-active > span { color: #fff !important; }

/* =========================================================
   17. PRODUCT PAGE - Buy now is the primary instant action
   ========================================================= */
.single-product form.cart .wd-buy-now-btn,
.single-product form.cart .wd-buy-now-btn.button {background-color:#fff!important;background-image:none!important;border:2px solid #193f99!important;color:#193f99!important;min-height:52px;border-radius:10px;font-weight:700;letter-spacing:.02em;box-shadow:none!important}
.single-product form.cart .wd-buy-now-btn:hover,
.single-product form.cart .wd-buy-now-btn.button:hover {background-color:#eaf0fb!important;border-color:#193f99!important;color:#12306f!important}
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button.button {background-color:#193f99!important;background-image:none!important;border:2px solid #193f99!important;color:#fff!important;min-height:52px;border-radius:10px;font-weight:700}
.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button.button:hover {background-color:#12306f!important;border-color:#12306f!important;color:#fff!important}

/* =========================================================
   18. MOBILE - sticky pay button, comfortable tap targets
   ========================================================= */
@media (max-width: 767px) {
  .woocommerce-checkout #place_order { position: sticky; bottom: 12px; z-index: 30; box-shadow: 0 8px 26px rgba(0,0,0,.22); }
  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .select2-container .select2-selection--single { min-height: 52px; }
  .rm-trust-bar { gap: 8px 0; flex-direction: column; }
}

/* =========================================================
   19. PAYMENT ROWS - affordance
   ========================================================= */
.woocommerce-checkout #payment .wc_payment_methods > li { cursor: pointer; }
.woocommerce-checkout #payment .wc_payment_methods > li:hover { border-color: #193f99; }
.woocommerce-checkout #payment .wc_payment_methods > li label { cursor: pointer; }


/* ============================================================
   20. BLOCK CHECKOUT - primary action buttons
   The live checkout uses the WooCommerce Blocks checkout, whose
   button is NOT #place_order. Without these it renders pale grey.
   ============================================================ */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-container a {
  background-color: #193f99 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 2px solid #193f99 !important;
  border-radius: 10px !important;
  min-height: 58px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  box-shadow: 0 4px 14px rgba(25,63,153,.28) !important;
  transition: background-color .18s ease, box-shadow .18s ease, transform .06s ease !important;
}
.wc-block-components-checkout-place-order-button * ,
.wc-block-cart__submit-button * { color: #ffffff !important; }
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
  background-color: #12306f !important;
  border-color: #12306f !important;
  box-shadow: 0 6px 18px rgba(25,63,153,.38) !important;
}
.wc-block-components-checkout-place-order-button:active { transform: translateY(1px) !important; }
.wc-block-components-checkout-place-order-button:focus-visible,
.wc-block-cart__submit-button:focus-visible { outline: 3px solid #ffc439 !important; outline-offset: 2px !important; }
.wc-block-components-checkout-place-order-button:disabled,
.wc-block-components-checkout-place-order-button.is-disabled {
  background-color: #8fa4d1 !important; border-color: #8fa4d1 !important; box-shadow: none !important;
}
.wc-block-components-checkout-return-to-cart-button { color: #193f99 !important; font-weight: 600 !important; }

/* ============================================================
   21. BLOCK CHECKOUT - field ergonomics
   ============================================================ */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-blocks-components-select__container,
.wp-block-woocommerce-checkout .wc-block-components-select__container {
  border-radius: 10px !important;
  min-height: 54px !important;
  font-size: 16px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout select:focus {
  border-color: #193f99 !important;
  box-shadow: 0 0 0 3px rgba(25,63,153,.18) !important;
  outline: none !important;
}

/* ============================================================
   22. BLOCK CHECKOUT - selectable payment / shipping rows
   ============================================================ */
.wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option { cursor: pointer !important; }
.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: #193f99 !important;
  box-shadow: inset 0 0 0 1px #193f99 !important;
  background: #f6f8fc !important;
}
.wc-block-components-radio-control__input:checked { accent-color: #193f99 !important; }
.wc-block-components-radio-control-accordion-option:hover { border-color: #193f99 !important; }

/* ============================================================
   23. BLOCK CHECKOUT - order summary emphasis
   ============================================================ */
.wp-block-woocommerce-checkout-order-summary-block { border-radius: 12px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #193f99 !important; font-weight: 800 !important;
}

/* ============================================================
   24. RAZORPAY ORDER-PAY PAGE (Pay Now / Cancel)
   Bare button elements with no theme class, so they inherit the
   browser default grey. Highest-risk screen on the site.
   ============================================================ */
#btn-razorpay, #btn-razorpay-cancel,
#razorpay-payment-button, .razorpay-payment-button,
body.woocommerce-order-pay #place_order {
  min-height: 56px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  padding: 0 30px !important;
  cursor: pointer !important;
  transition: background-color .18s ease, box-shadow .18s ease !important;
}
#btn-razorpay, #razorpay-payment-button, .razorpay-payment-button,
body.woocommerce-order-pay #place_order {
  background: #193f99 !important;
  color: #ffffff !important;
  border: 2px solid #193f99 !important;
  box-shadow: 0 4px 14px rgba(25,63,153,.28) !important;
}
#btn-razorpay:hover, #razorpay-payment-button:hover,
body.woocommerce-order-pay #place_order:hover {
  background: #12306f !important; border-color: #12306f !important;
}
#btn-razorpay-cancel {
  background: #ffffff !important;
  color: #193f99 !important;
  border: 2px solid #c9d4ea !important;
  box-shadow: none !important;
  margin-left: 12px !important;
}
#btn-razorpay-cancel:hover { border-color: #193f99 !important; background: #f6f8fc !important; }
body.woocommerce-order-pay #rzp-btn-container { margin-top: 18px !important; }

/* ============================================================
   25. Misc contrast + alignment tidy-up
   ============================================================ */
.searchsubmit, .wd-search-form button { color: #444444 !important; }
.rm-trust-bar.rm-trust-block { margin: 0 0 22px 0 !important; }
@media (max-width: 767px) {
  #btn-razorpay, #btn-razorpay-cancel { width: 100% !important; margin: 8px 0 0 0 !important; }
}

/* ============================================================
   26. BLOCK CHECKOUT - action row layout
   Full-width primary action with the reassurance note directly
   beneath it, rather than squeezed alongside.
   ============================================================ */
.wc-block-checkout__actions_row { flex-wrap: wrap !important; align-items: center !important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
  flex: 1 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.wc-block-checkout__actions_row .rm-pay-note,
.wc-block-checkout__actions .rm-pay-note {
  flex: 1 0 100% !important;
  width: 100% !important;
  text-align: center !important;
  margin: 12px 0 0 0 !important;
}
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button {
  flex: 1 0 100% !important; text-align: center !important; margin-top: 10px !important;
}

/* ============================================================
   27. Site-wide colour cohesion
   The top bar still carried the WooDmart demo placeholder text in
   a green that clashes with the brand blue. Hide only the leftover
   text (social icons are kept) and align the bar to the brand.
   ============================================================ */
.whb-top-bar { background-color: #193f99 !important; }
.whb-top-bar .wd-header-text { display: none !important; }
.whb-top-bar a, .whb-top-bar .wd-social-icons a { color: #ffffff !important; }

/* Chat launcher recoloured from purple to brand blue */
.chaty-cta-button .open-chaty,
button.open-chaty { background-color: #193f99 !important; color: #ffffff !important; }
.chaty-cta-button .open-chaty svg,
.chaty-cta-button .open-chaty svg path { fill: #ffffff !important; }

/* Mini-cart actions sized to match the rest of the button system */
.wd-dropdown-cart .widget_shopping_cart_content .buttons a.button,
.widget_shopping_cart_content .buttons a.button { min-height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }

/* ============================================================
   28. MOBILE / TABLET PAGE GUTTERS
   The .container horizontal padding was being zeroed out, so the
   grid's -15px row margins were left uncompensated and every
   heading, field and button sat flush against the screen edge on
   phones. Restoring the gutter here fixes shop, product, cart,
   checkout and account pages in one place. The +/-15px row and
   column margins cancel out, so this value flows through cleanly.
   ============================================================ */
@media (max-width: 1024px) {
  .main-page-wrapper .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* ================================================================
   29. CERTAINTY LIST - product page
   Certainty effect: name what is guaranteed next to the price,
   so the buyer is not gambling on what happens after they pay.
   ================================================================ */
.rm-certainty {
  list-style: none !important;
  margin: 16px 0 20px !important;
  padding: 14px 16px !important;
  background: #f5f7fb !important;
  border: 1px solid #dce7fa !important;
  border-radius: 10px !important;
}
.rm-certainty li {
  position: relative !important;
  list-style: none !important;
  margin: 0 0 9px !important;
  padding-left: 28px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #22314F !important;
}
.rm-certainty li:last-child { margin-bottom: 0 !important; }
.rm-certainty li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 50%;
  background: #193F99;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

/* ================================================================
   30. SAVE BADGE - Rule of 100 discount framing
   Replaces the passive percentage chip with an active 'Save X'.
   ================================================================ */
.woocommerce span.onsale.rm-save-badge,
.rm-save-badge {
  background: #193F99 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 6px 13px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
.woocommerce span.onsale.rm-save-free,
.rm-save-badge.rm-save-free {
  background: #FFC439 !important;
  color: #1B2A4A !important;
}

/* ================================================================
   31. PRICE HIERARCHY - the number you pay is the loud one
   Size maps to magnitude: the old price is dimmed and shrunk so
   the saving reads as a gain rather than two competing numbers.
   ================================================================ */
.single-product .summary .price del,
.single-product .entry-summary .price del {
  color: #8A93A6 !important;
  font-weight: 500 !important;
  font-size: .66em !important;
  opacity: 1 !important;
}
.single-product .summary .price ins,
.single-product .entry-summary .price ins {
  text-decoration: none !important;
  font-weight: 800 !important;
  color: #0E1A33 !important;
}

/* ================================================================
   32. MOBILE STICKY PRICE + CTA BAR
   Pattern C: the price travels with the button, so nobody has to
   scroll back up to buy. Sits above the WooDmart mobile toolbar.
   ================================================================ */
.rm-sticky-buy {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 340;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #ffffff;
  border-top: 1px solid #e4e8f0;
  box-shadow: 0 -6px 20px rgba(16, 29, 56, .12);
  transform: translateY(130%);
  transition: transform .22s ease;
  pointer-events: none;
}
body:has(.wd-toolbar) .rm-sticky-buy { bottom: 55px; }
.rm-sticky-buy.is-on {
  transform: translateY(0);
  pointer-events: auto;
}
.rm-sticky-buy__price {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 16px;
  font-weight: 800;
  color: #0E1A33;
  line-height: 1.2;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.rm-sticky-buy__price del {
  color: #8A93A6;
  font-weight: 500;
  font-size: .72em;
  margin-right: 6px;
}
.rm-sticky-buy__price ins { text-decoration: none; }
.rm-sticky-buy__price .wd-hide, .rm-sticky-buy__price .screen-reader-text { display: none !important; }
.rm-sticky-buy__cta {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  background: #193F99;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
}
.rm-sticky-buy__cta:active { background: #12307a; }
@media (min-width: 769px) {
  .rm-sticky-buy { display: none !important; }
}


/* ==========================================================================
   31. SAVE CHIP + STICKY BUY BAR INTERNALS (rm-save-chip / rm-sticky-*)
   Additive only - nothing above is overridden.
   ========================================================================== */

.rm-save-chip{display:inline-block;margin-left:10px;padding:5px 11px;border-radius:999px;background:#eaf0fb;color:#193f99;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
.product-grid-item .rm-save-chip,.products .rm-save-chip{display:inline-block;margin:6px 0 0;font-size:12px;padding:4px 9px}

/* WooDmart already prints a -17% corner label; one discount signal is enough. */
.single-product .product-labels .product-label.onsale,
.product-grid-item .product-labels .product-label.onsale{display:none !important}

.rm-sticky-buy.is-visible{transform:translateY(0)}
.rm-sticky-inner{display:flex;align-items:center;gap:12px;padding:10px 18px}
.rm-sticky-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.rm-sticky-name{font-size:12px;line-height:1.25;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-sticky-price{font-size:17px;font-weight:700;color:#101828;line-height:1.35;white-space:nowrap}
.rm-sticky-price del{font-size:13px;font-weight:400;color:#98a1b3;margin-right:5px}
.rm-sticky-price ins{text-decoration:none;background:transparent;color:#101828}
.rm-sticky-cta{flex:0 0 auto;min-height:48px;padding:0 22px;border:0;border-radius:8px;background:#193f99;color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.rm-sticky-cta:hover,.rm-sticky-cta:focus{background:#12306f;color:#fff}
@media (max-width:1024px){
  body.rm-sticky-on .chaty-widget{bottom:135px !important}
}

/* ==========================================================================
   33. PRICE META ROW - SAVE CHIP + LAST UPDATED
   Two chips, one row, directly under the price.

   Colour: the save chip now uses the brand navy that the top bar, the Buy Now
   button and the sticky bar already use, so the discount reads as part of the
   site instead of a pale sticker floating next to it.

   Placement: inline with the price beats a badge parked elsewhere - the
   discount has to be read in the same glance as the number it applies to.

   Recency: buyers of dated exam material are asking "is this current?" before
   they ask anything else. A specific date answers it; "regularly updated"
   would not. Specific beats vague.
   ========================================================================== */

.rm-price-meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:2px 0 18px;
}

.rm-price-meta .rm-save-chip,
.rm-price-meta .rm-updated-chip{
	display:inline-flex;
	align-items:center;
	height:28px;
	margin:0;
	padding:0 11px;
	border-radius:6px;
	font-size:12.5px;
	font-weight:700;
	line-height:1;
	letter-spacing:.01em;
	white-space:nowrap;
	vertical-align:middle;
}

.rm-price-meta .rm-save-chip{
	border:1px solid #193f99;
	background:#193f99;
	color:#fff;
}

.rm-price-meta .rm-updated-chip{
	gap:7px;
	border:1px solid #d7dded;
	background:#fff;
	color:#0e1a33;
	font-weight:600;
	cursor:default;
}

.rm-price-meta .rm-updated-dot{
	flex:0 0 auto;
	width:6px;
	height:6px;
	border-radius:50%;
	background:#193f99;
	box-shadow:0 0 0 3px rgba(25,63,153,.13);
}

/* Product cards: same language, one size down, aligned with the card. */
.rm-price-meta--loop{
	gap:6px;
	margin:8px 0 2px;
}

.rm-price-meta--loop .rm-save-chip,
.rm-price-meta--loop .rm-updated-chip{
	height:23px;
	padding:0 8px;
	font-size:11px;
	border-radius:5px;
}

.rm-price-meta--loop .rm-updated-dot{
	width:5px;
	height:5px;
	box-shadow:0 0 0 2.5px rgba(25,63,153,.13);
}

.wd-product.product-type-1.text-center .rm-price-meta--loop,
.product-grid-item.text-center .rm-price-meta--loop{justify-content:center}

.wd-product.text-left .rm-price-meta--loop,
.product-grid-item.text-left .rm-price-meta--loop{justify-content:flex-start}

.wd-product.text-right .rm-price-meta--loop,
.product-grid-item.text-right .rm-price-meta--loop{justify-content:flex-end}

/* The certainty list opens with the update date, so give it room to land. */
.rm-certainty li strong{color:#0e1a33;font-weight:700}

@media (max-width:575px){
	.rm-price-meta{gap:6px;margin-bottom:15px}
	.rm-price-meta .rm-save-chip,
	.rm-price-meta .rm-updated-chip{height:26px;padding:0 10px;font-size:11.5px}
	.rm-price-meta--loop .rm-save-chip,
	.rm-price-meta--loop .rm-updated-chip{height:21px;padding:0 7px;font-size:10.5px}
}


/* ==========================================================================
   34. PREMIUM PASS - reassurance panel + price meta
   UX Peak, "Make Any UI Look Premium": cheap reads as too much colour,
   too much decoration and too many things competing. Premium is colour used
   sparingly with one job, one calm surface, emphasis through fill rather than
   new colours, restrained shadows, and open space doing the work decoration
   was doing.

   Applied here: the reassurance panel loses its blue fill and its filled
   circle icons and becomes one quiet white surface with a hairline edge and
   real breathing room. The only saturated fills left above the fold are the
   Buy Now button and the Save chip, which is exactly one job each.
   ========================================================================== */

.rm-certainty{
	margin:22px 0 26px !important;
	padding:24px 26px !important;
	background:#fff !important;
	border:1px solid #e4e8f0 !important;
	border-radius:14px !important;
	box-shadow:0 1px 2px rgba(14,26,51,.04) !important;
}

.rm-certainty-list{
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.rm-certainty li{
	margin:0 0 14px !important;
	padding-left:27px !important;
	font-size:14.5px !important;
	line-height:1.62 !important;
	color:#3c4660 !important;
	letter-spacing:0 !important;
}

.rm-certainty li:last-child{margin-bottom:0 !important}

/* A thin check instead of a filled blue disc - the tick is punctuation,
   not a badge, so it should not carry a surface of its own. */
.rm-certainty li::before{
	content:'\2713' !important;
	position:absolute !important;
	left:1px !important;
	top:1px !important;
	width:auto !important;
	height:auto !important;
	line-height:1.62 !important;
	text-align:left !important;
	background:none !important;
	background-color:transparent !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	color:#193f99 !important;
	font-size:13px !important;
	font-weight:700 !important;
}

.rm-certainty li strong{color:#0e1a33 !important;font-weight:700 !important}

.rm-certainty .rm-honest{
	margin:20px 0 0 !important;
	padding-top:19px !important;
	border-top:1px solid #eef1f7 !important;
	font-size:13.5px !important;
	line-height:1.68 !important;
	color:#5c667e !important;
}

.rm-certainty .rm-honest strong{color:#0e1a33 !important;font-weight:700 !important}

.rm-certainty .rm-help{
	margin:11px 0 0 !important;
	font-size:13px !important;
	line-height:1.68 !important;
	color:#7b849b !important;
}

.rm-certainty a{
	color:#193f99 !important;
	text-decoration:underline !important;
	text-underline-offset:2px !important;
	text-decoration-thickness:1px !important;
}

/* The date is metadata, not an offer. It stays quiet so the discount and the
   button keep the only two loud voices on the page. */
.rm-price-meta .rm-updated-chip{
	border-color:transparent !important;
	background:#f5f7fb !important;
	color:#4b5570 !important;
	font-weight:600 !important;
}

.rm-price-meta .rm-updated-dot{
	background:#193f99 !important;
	box-shadow:none !important;
}

.rm-price-meta .rm-save-chip{
	letter-spacing:.015em !important;
	box-shadow:none !important;
}

/* Open space around the price block. */
.summary-inner p.price{margin-bottom:12px !important}
.summary-inner .rm-price-meta{margin:0 0 20px !important}

@media (max-width:767px){
	.rm-certainty{
		margin:18px 0 22px !important;
		padding:18px 18px !important;
		border-radius:12px !important;
	}
	.rm-certainty li{font-size:14px !important;margin-bottom:12px !important}
	.summary-inner .rm-price-meta{margin-bottom:16px !important}
}

/* --- 35.2 Equal-height cards ------------------------------ */
.product-grid-item{ display: flex !important; flex-direction: column !important; }
.product-grid-item .product-wrapper{ flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
.product-grid-item .product-element-bottom{ flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; padding-top: 14px !important; }
.product-grid-item .wd-entities-title{ min-height: 2.5em !important; }
.product-grid-item .rm-price-meta{ margin-top: auto !important; padding-top: 10px !important; }

/* --- 35.3 Save + Last updated row ------------------------- */
.rm-price-meta{ display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.rm-price-meta--loop{ justify-content: center !important; }
.rm-price-meta .rm-save-chip{
	display: inline-flex !important; align-items: center !important;
	height: 26px !important; padding: 0 10px !important; margin: 0 !important;
	background: rgba(25,63,153,.07) !important; color: #193f99 !important;
	border: 0 !important; border-radius: 6px !important;
	font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .02em !important;
	box-shadow: none !important;
}
.rm-price-meta .rm-updated-chip{
	display: inline-flex !important; align-items: center !important; gap: 6px !important;
	height: 26px !important; padding: 0 !important; margin: 0 !important;
	background: transparent !important; border: 0 !important;
	color: #6b7488 !important; font-size: 12.5px !important; font-weight: 500 !important;
}
.rm-price-meta .rm-updated-dot{ width: 6px !important; height: 6px !important; background: #2e7d5b !important; box-shadow: none !important; }

/* --- 35.5 Vertical thumbnail strip (desktop) --------------
   WooDmart writes --wd-slick-h from a stale measurement, which
   stretched every thumbnail to roughly 1270px tall and pushed the
   column to 3877px. Render the strip as a plain column instead;
   clicking a thumbnail still swaps the main image.             */
.single-product .thumbnails.slick-slider{ height: auto !important; max-height: none !important; overflow: visible !important; }
.single-product .thumbnails.slick-slider .slick-list{ height: auto !important; overflow: visible !important; padding: 0 !important; }
.single-product .thumbnails.slick-slider .slick-track{ height: auto !important; transform: none !important; display: block !important; width: auto !important; }
.single-product .thumbnails.slick-slider .slick-arrow{ display: none !important; }
.single-product .thumbnails.slick-slider .product-image-thumbnail{ float: none !important; width: auto !important; margin: 0 0 10px 0 !important; }
.single-product .thumbnails .product-image-thumbnail{
	position: relative !important; display: block !important;
	aspect-ratio: 4 / 3 !important; height: auto !important; padding: 0 !important;
	background: #fff !important; border: 1px solid #e4e8f0 !important; border-radius: 9px !important;
	overflow: hidden !important; cursor: pointer !important;
	transition: border-color .18s ease, box-shadow .18s ease !important;
}
.single-product .thumbnails .product-image-thumbnail img{
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
	object-fit: contain !important; padding: 6px !important; margin: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
.single-product .thumbnails .product-image-thumbnail:hover{ border-color: #c6d1e8 !important; }
/* Owl marks every visible item .active, so the selected state has to
   hang off WooDmart's own .active-thumb class or all three read as chosen. */
.single-product .thumbnails .product-image-thumbnail.active-thumb{ border-color: #193f99 !important; box-shadow: 0 0 0 2px rgba(25,63,153,.13) !important; }

/* --- 35.6 Mobile ------------------------------------------ */
@media (max-width: 991px){
	.single-product .product-images{ padding-left: 20px !important; padding-right: 20px !important; }
	.single-product .thumbnails{ padding-left: 20px !important; padding-right: 20px !important; }
}
@media (max-width: 575px){
	.product-grid-item .wd-entities-title{ min-height: 0 !important; }
	.rm-price-meta{ gap: 8px !important; }
	.rm-price-meta .rm-save-chip,
	.rm-price-meta .rm-updated-chip{ font-size: 12px !important; height: 24px !important; }
}

/* ==========================================================
   36. PREMIUM PASS 2 (cont.) - one accent colour, quiet
   secondary actions, readable prices, restrained labels.
   The green primary buttons were a second accent competing
   with the brand navy, so every commerce button now uses
   #193F99 and emphasis comes from fill, not from a new hue.
   ========================================================== */

/* --- 36.1 Card prices ------------------------------------- */
/* The theme paints .price white under color-scheme-light, which
   made the en-dash in a price range invisible (AI Chat read as
   '$ 20.00  $ 50.00' with nothing between the two numbers). */
.product-grid-item .price,
.product-grid-item .price bdi,
.product-grid-item .price .amount{ color: #0e1a33 !important; }
.product-grid-item .price del,
.product-grid-item .price del bdi,
.product-grid-item .price del .amount{ color: #8a93a6 !important; font-weight: 400 !important; }
.product-grid-item .price ins,
.product-grid-item .price ins bdi,
.product-grid-item .price ins .amount{ color: #0e1a33 !important; font-weight: 700 !important; text-decoration: none !important; }

/* --- 36.2 Secondary actions stay quiet -------------------- */
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"],
.woocommerce .coupon .button{
	background: #fff !important;
	background-image: none !important;
	color: #193f99 !important;
	border: 1px solid #c9d4ea !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce .coupon .button:hover{
	background: #f5f7fb !important;
	border-color: #193f99 !important;
	color: #193f99 !important;
}

/* --- 36.3 Labels: a small flat pill, not an ornament ------- */
.product-labels .product-label{
	width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important;
	padding: 4px 9px !important; border-radius: 6px !important;
	font-size: 11px !important; font-weight: 700 !important; letter-spacing: .03em !important;
	line-height: 1.2 !important; box-shadow: none !important;
	background: #0e1a33 !important; color: #fff !important;
}
.product-labels .product-label.onsale{ background: #193f99 !important; }

/* --- 36.4 Form fields: one surface, one focus colour ------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea{
	border: 1px solid #dfe4ee !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus{
	border-color: #193f99 !important;
	box-shadow: 0 0 0 3px rgba(25,63,153,.12) !important;
	outline: 0 !important;
}

/* --- 36.5 Cart and checkout surfaces ---------------------- */
.woocommerce table.cart img,
.woocommerce-checkout .shop_table img{
	border: 1px solid #e4e8f0 !important;
	border-radius: 8px !important;
	background: #fff !important;
	object-fit: contain !important;
}
.woocommerce .cart_totals,
.woocommerce-checkout-review-order{ border-radius: 14px !important; }

/* ==========================================================
   37. HOME - the "Limited offer" section.
   It ran a magenta-to-peach gradient behind pink cards with
   white text: four colours competing and none of them the
   brand navy. Colour now sits in the background as mood only,
   the cards are one calm white surface, and the only filled
   element left in the block is the navy Add to cart.
   Keyed to the Elementor section id, so if that section is
   ever rebuilt in Elementor the id changes and this goes quiet.
   ========================================================== */
.elementor-element-3d7b6087{ background-image: linear-gradient(180deg,#f6f8fc 0%,#eaf0fb 100%) !important; }
.elementor-element-3d7b6087 .title-wrapper,
.elementor-element-3d7b6087 .title-wrapper *,
.elementor-element-3d7b6087 .elementor-widget-text-editor,
.elementor-element-3d7b6087 .elementor-widget-text-editor *{ color: #5c667e !important; }
.elementor-element-3d7b6087 h1,
.elementor-element-3d7b6087 h2,
.elementor-element-3d7b6087 h3,
.elementor-element-3d7b6087 h4,
.elementor-element-3d7b6087 .title-wrapper h1,
.elementor-element-3d7b6087 .title-wrapper h2,
.elementor-element-3d7b6087 .title-wrapper h3,
.elementor-element-3d7b6087 .title-wrapper h4,
.elementor-element-3d7b6087 .title-wrapper h5,
.elementor-element-3d7b6087 .title-wrapper h6,
.elementor-element-3d7b6087 .woodmart-title-container{ color: #0e1a33 !important; }
.elementor-element-3d7b6087 .product-grid-item .product-wrapper{
	background: #fff !important;
	border: 1px solid #e4e8f0 !important;
	border-radius: 16px !important;
	padding: 14px !important;
	box-shadow: 0 1px 2px rgba(14,26,51,.05) !important;
	transition: box-shadow .2s ease !important;
}
.elementor-element-3d7b6087 .product-grid-item:hover .product-wrapper{ box-shadow: 0 10px 26px rgba(14,26,51,.10) !important; }
.elementor-element-3d7b6087 .product-grid-item .wd-entities-title a{ color: #0e1a33 !important; }
.elementor-element-3d7b6087 .product-grid-item .wd-product-cats a{ color: #7b849b !important; }

/* --- 36.6 Single product price range ---------------------- */
/* Same white-text inheritance on the product page: the dash in
   'from - to' pricing was painted white and vanished. */
.single-product .summary p.price,
.single-product .summary-inner p.price,
.woocommerce div.product p.price{ color: #0e1a33 !important; }
.single-product .summary p.price del,
.single-product .summary-inner p.price del{ color: #8a93a6 !important; }


/* =====================================================================
 * 37. TOKENS
 * One scale and one palette for every block added below, sampled from
 * the theme so the new sections cannot drift away from the old ones.
 * ===================================================================== */
:root{
  --rm-ink:#0e1a33;
  --rm-body:#4a5568;
  --rm-muted:#7b849b;
  --rm-line:#e4e8f0;
  --rm-line-soft:#eef1f7;
  --rm-tint:#f5f7fb;
  --rm-blue:#193f99;
  --rm-blue-dk:#12306f;
  --rm-blue-tint:#eaf0fb;
  --rm-green:#2e7d5b;
  --rm-star:#e8a33d;
  --rm-r:14px;
  --rm-r-sm:10px;
  --rm-shadow:0 1px 2px rgba(14,26,51,.04),0 8px 24px rgba(14,26,51,.06);
  --rm-shadow-lg:0 2px 4px rgba(14,26,51,.05),0 18px 48px rgba(14,26,51,.09);
  --rm-max:1180px;
  --rm-gut:20px;
  --rm-s1:8px;--rm-s2:12px;--rm-s3:16px;--rm-s4:24px;
  --rm-s5:32px;--rm-s6:44px;--rm-s7:64px;--rm-s8:88px;
}

/* =====================================================================
 * 38. LANDING PAGE VERTICAL RHYTHM
 * Every block carried three stacks of vertical space: its own bottom
 * padding, an Elementor section margin, and a decorative gap. Sections
 * were landing 180-290px apart. One scale, applied once. The hero is
 * excluded from every rule on this page.
 * ===================================================================== */
.home .elementor-section:not(.elementor-element-676735b){
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.home .elementor-element-1bfe6f1,
.home .elementor-element-624b861,
.home .elementor-element-2a96c23a,
.home .elementor-element-3d7b6087,
.home .elementor-element-72924ad2,
.home .elementor-element-418b6cef,
.home .elementor-element-463506ef{
  padding-top:var(--rm-s7) !important;
  padding-bottom:var(--rm-s7) !important;
}
.home .elementor-element-bc84d18{
  padding-top:var(--rm-s7) !important;
  padding-bottom:var(--rm-s4) !important;
}
.home .elementor-element-dc31d83{
  padding-top:0 !important;
  padding-bottom:var(--rm-s7) !important;
}
/* An empty 121px spacer section between the band and the disclaimer. */
.home .elementor-element-e920db1{display:none !important;}
.home .elementor-element-17069ef{
  padding-top:var(--rm-s5) !important;
  padding-bottom:var(--rm-s5) !important;
}
/* Stock graduates clip-art. Hidden on every width, not just desktop. */
.elementor-element-cd14568{display:none !important;}

/* =====================================================================
 * 39. THE BAND IS BLUE
 * It was a pink-to-crimson gradient, the only place on the site that
 * colour appeared, and the heading sat on it in near-black.
 * ===================================================================== */
.home .elementor-element-f7e6f8e{
  background-image:linear-gradient(100deg,#1b4bb0 0%,var(--rm-blue) 46%,var(--rm-blue-dk) 100%) !important;
  background-color:var(--rm-blue) !important;
  padding-top:var(--rm-s7) !important;
  padding-bottom:var(--rm-s7) !important;
}
.home .elementor-element-f7e6f8e h1,
.home .elementor-element-f7e6f8e h2,
.home .elementor-element-f7e6f8e h3,
.home .elementor-element-f7e6f8e p,
.home .elementor-element-f7e6f8e .elementor-heading-title{
  color:#fff !important;
}

/* =====================================================================
 * 40. SHARED PRIMITIVES FOR THE INJECTED BLOCKS
 * ===================================================================== */
.rm-lossband,.rm-after,.rm-proof,.rm-why,.rm-voices,.rm-trustrow,.rm-close,.rm-lf{
  box-sizing:border-box;
}
.rm-lossband *,.rm-after *,.rm-proof *,.rm-why *,.rm-voices *,
.rm-trustrow *,.rm-close *,.rm-lf *{box-sizing:border-box;}

.rm-after__eyebrow,.rm-proof__eyebrow,.rm-lossband__eyebrow,.rm-lf__eyebrow{
  margin:0 0 var(--rm-s2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--rm-blue);
}
.rm-after__title,.rm-voices__title,.rm-lossband__title,.rm-why__h,.rm-lf__title{
  margin:0 0 var(--rm-s4);
  color:var(--rm-ink);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  font-size:clamp(24px,2.2vw,34px);
}

/* =====================================================================
 * 41. FRONT PAGE TRUST ROW
 * Replaces a cropped screenshot of four clip-art seals that was
 * illegible at 305px on a phone.
 * ===================================================================== */
.rm-trustrow{width:100%;padding:0;}
.rm-trustrow__inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--rm-s3);
  max-width:var(--rm-max);
  margin:0 auto;
}
.rm-trustrow__item{
  display:flex;
  align-items:flex-start;
  gap:var(--rm-s2);
  padding:var(--rm-s4);
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:var(--rm-r);
  box-shadow:var(--rm-shadow);
}
.rm-trustrow__icon{
  flex:0 0 34px;
  width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;
  background:var(--rm-blue-tint);
  color:var(--rm-blue);
}
.rm-trustrow__icon svg{width:18px;height:18px;display:block;}
.rm-trustrow__text{display:block;min-width:0;}
.rm-trustrow__t{
  display:block;
  font-size:15px;font-weight:700;color:var(--rm-ink);
  line-height:1.3;margin-bottom:3px;
}
.rm-trustrow__s{
  display:block;
  font-size:13px;color:var(--rm-muted);line-height:1.45;
}

/* =====================================================================
 * 42. LOSS BAND
 * Sits above the product grid. Points at a loss that is real: material
 * written before this year's exams were sat.
 * ===================================================================== */
.rm-lossband{
  display:block;
  padding:var(--rm-s7) var(--rm-gut);
  background:var(--rm-tint);
  border-top:1px solid var(--rm-line-soft);
  border-bottom:1px solid var(--rm-line-soft);
}
.rm-lossband__inner{max-width:760px;margin:0 auto;text-align:center;}
.rm-lossband__title{margin-bottom:var(--rm-s3);font-size:clamp(22px,2vw,30px);}
.rm-lossband__body{
  margin:0;color:var(--rm-body);
  font-size:16px;line-height:1.65;
  max-width:60ch;margin-inline:auto;
}

/* =====================================================================
 * 43. WHY STUDENTS CHOOSE RECALLMASTERY
 * Was three translucent tiles on a navy gradient: the tiles did not
 * separate from the background, two of three were half empty, and the
 * heading sat alone above 800px of nothing. Rebuilt as a statement on
 * the left and the reasons as a hairline-separated list on the right.
 * ===================================================================== */
.home .elementor-element-418b6cef{background-image:none !important;background-color:#fff !important;}
.home .elementor-element-418b6cef .elementor-widget-wrap{
  display:block !important;
  padding:0 !important;
  width:100% !important;
}
.home .elementor-element-418b6cef .elementor-column{width:100% !important;}
.rm-why{
  display:grid;
  grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);
  gap:var(--rm-s8);
  align-items:start;
  max-width:var(--rm-max);
  margin:0 auto;
  padding:0 var(--rm-gut);
}
.rm-why__intro{padding-top:2px;}
.rm-why__h{margin-bottom:var(--rm-s3);}
.rm-why__p{
  margin:0 0 var(--rm-s4);
  color:var(--rm-body);font-size:16px;line-height:1.65;max-width:34ch;
}
.rm-why__link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:700;color:var(--rm-blue);
  text-decoration:none;border-bottom:1px solid transparent;
}
.rm-why__link svg{
  width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .18s ease;
}
.rm-why__link:hover{color:var(--rm-blue-dk);}
.rm-why__link:hover svg{transform:translateX(3px);}
.rm-why__list{list-style:none;margin:0;padding:0;}
.rm-why__item{
  display:flex;gap:var(--rm-s4);
  padding:var(--rm-s5) 0;
  border-top:1px solid var(--rm-line);
  margin:0;
}
.rm-why__item:first-child{border-top:0;padding-top:0;}
.rm-why__item:last-child{padding-bottom:0;}
.rm-why__ico{
  flex:0 0 42px;width:42px;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:11px;background:var(--rm-blue-tint);color:var(--rm-blue);
}
.rm-why__ico svg{
  width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.rm-why__txt{min-width:0;}
.rm-why__t{
  margin:0 0 6px;font-size:17px;font-weight:700;
  color:var(--rm-ink);line-height:1.3;
}
.rm-why__b{margin:0;color:var(--rm-body);font-size:15px;line-height:1.65;}

/* =====================================================================
 * 44. STUDENT VOICES
 * Was one flattened 1280x720 screenshot: cards at random offsets,
 * uneven widths, decorative rules. Same words, real type, one surface.
 * ===================================================================== */
.home .elementor-element-2a96c23a{background-color:var(--rm-tint) !important;}
.rm-voices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--rm-s4);
  max-width:var(--rm-max);
  margin:0 auto;
  padding:0;
}
.rm-voices__title{text-align:left;}
.rm-voice{
  display:flex;flex-direction:column;
  margin:0;padding:var(--rm-s5);
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:var(--rm-r);
  box-shadow:var(--rm-shadow);
}
.rm-voice__stars{display:flex;gap:2px;margin-bottom:var(--rm-s3);}
.rm-voice__stars svg{width:15px;height:15px;display:block;flex:0 0 15px;}
.rm-voice__title{
  margin:0 0 var(--rm-s2);
  font-size:16px;font-weight:700;color:var(--rm-ink);line-height:1.35;
}
.rm-voice__body{
  margin:0 0 var(--rm-s4);padding:0;border:0;
  font-size:15px;line-height:1.7;color:var(--rm-body);
  font-style:normal;quotes:none;
  flex:1 1 auto;
}
.rm-voice__body:before,.rm-voice__body:after{content:none;}
.rm-voice__meta{
  display:flex;align-items:center;justify-content:space-between;gap:var(--rm-s2);
  padding-top:var(--rm-s3);
  border-top:1px solid var(--rm-line-soft);
  font-size:13px;color:var(--rm-muted);
}
.rm-voice__score{
  display:inline-flex;align-items:center;
  padding:4px 9px;border-radius:999px;
  background:var(--rm-blue-tint);color:var(--rm-blue);
  font-size:12px;font-weight:700;white-space:nowrap;
}
.rm-voices__foot{
  max-width:var(--rm-max);
  margin:var(--rm-s4) auto 0;
  font-size:13px;color:var(--rm-muted);
}


/* =====================================================================
 * 45. PROOF BAND - "Recall Mastery since 2017"
 * Was an eyebrow and a two-line heading crammed into a 317px measure
 * with 800px of empty space beside it, then a plain row of four
 * numbers separated by hairlines. It read old and cheap. Rebuilt as one
 * elevated card: centred eyebrow and lede, the real revision dates as
 * chips, then the four figures on a ruled ledger.
 * ===================================================================== */
.home .elementor-element-72924ad2{
  background-color:var(--rm-tint) !important;
  background-image:none !important;
}
.rm-proof{
  max-width:var(--rm-max);
  margin:0 auto;
  padding:0 var(--rm-gut);
}
.rm-proof__card{
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:20px;
  box-shadow:var(--rm-shadow-lg);
  padding:var(--rm-s7) var(--rm-s6);
  text-align:center;
}
.rm-proof__eyebrow{text-align:center;}
.rm-proof__lede{
  margin:0 auto var(--rm-s5);
  max-width:19ch;
  color:var(--rm-ink);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.18;
  font-size:clamp(26px,2.6vw,38px);
}
.rm-proof__log{
  list-style:none;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:var(--rm-s2);
  margin:0 0 var(--rm-s7);padding:0;
}
.rm-proof__log li{
  display:inline-flex;align-items:center;gap:7px;
  height:29px;
  margin:0 !important;
  padding:0 12px !important;
  border:1px solid var(--rm-line);
  border-radius:999px;
  background:#fff;
  font-size:12.5px;font-weight:600;color:var(--rm-body);
  white-space:nowrap;
  list-style:none;
}
.rm-proof__log li:before{content:none !important;}
.rm-proof__dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--rm-green);
  flex:0 0 6px;
}
.rm-proof__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--rm-line);
}
.rm-proof__item{
  padding:var(--rm-s5) var(--rm-s3) 0;
  border-left:1px solid var(--rm-line);
  text-align:center;
}
.rm-proof__item:first-child{border-left:0;}
.rm-proof__n{
  margin:0 0 6px;
  color:var(--rm-ink);
  font-weight:800;letter-spacing:-.02em;line-height:1;
  font-size:clamp(24px,2.3vw,32px);
  font-variant-numeric:tabular-nums;
}
.rm-proof__l{
  margin:0 auto;
  max-width:23ch;
  color:var(--rm-muted);
  font-size:13px;line-height:1.45;
}

/* =====================================================================
 * 46. WHAT HAPPENS AFTER YOU PAY
 * The single biggest unanswered question on a digital-download store.
 * ===================================================================== */
.rm-after{
  display:block;
  padding:var(--rm-s7) var(--rm-gut);
  background:#fff;
}
.rm-after__eyebrow,.rm-after__title{max-width:var(--rm-max);margin-inline:auto;}
.rm-after__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--rm-s4);
  max-width:var(--rm-max);
  margin:0 auto;
  counter-reset:rmstep;
}
.rm-after__step{
  counter-increment:rmstep;
  padding:var(--rm-s5);
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:var(--rm-r);
  box-shadow:var(--rm-shadow);
}
.rm-after__n{
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:var(--rm-s3);
  border-radius:50%;
  background:var(--rm-blue);color:#fff;
  font-size:14px;font-weight:700;
  font-variant-numeric:tabular-nums;
}
.rm-after__n:before{content:counter(rmstep);}
.rm-after__h{
  margin:0 0 6px;
  font-size:17px;font-weight:700;color:var(--rm-ink);line-height:1.3;
}
.rm-after__p{margin:0;color:var(--rm-body);font-size:15px;line-height:1.65;}

/* =====================================================================
 * 47. ONE MARKED CARD
 * Twelve identical cards give the eye nowhere to start. Exactly one is
 * marked. The ring is drawn with box-shadow: a border or a transform
 * changes the box and knocks the whole first row out of alignment.
 * ===================================================================== */
.rm-marked{
  position:relative;
  z-index:2;
  border-radius:var(--rm-r);
  box-shadow:0 0 0 1.5px var(--rm-blue),0 14px 34px rgba(25,63,153,.14) !important;
}
.rm-mark{
  position:absolute;
  top:-11px;left:var(--rm-s3);
  z-index:3;
  display:inline-flex;align-items:center;
  height:22px;padding:0 10px;
  border-radius:999px;
  background:var(--rm-blue);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;
}

/* =====================================================================
 * 48. THE CLOSE
 * The last band was a sentence with nothing to act on.
 * ===================================================================== */
.rm-close{
  max-width:var(--rm-max);
  margin:var(--rm-s5) auto 0;
  text-align:center;
}
.rm-close__btn{
  display:inline-flex;align-items:center;gap:10px;
  min-height:54px;
  padding:0 30px;
  border-radius:var(--rm-r-sm);
  background:#fff;color:var(--rm-blue-dk) !important;
  font-size:16px;font-weight:800;letter-spacing:.01em;
  text-decoration:none !important;
  box-shadow:0 10px 26px rgba(4,12,36,.28);
  transition:transform .16s ease,box-shadow .16s ease;
}
.rm-close__btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(4,12,36,.34);}
.rm-close__btn svg{width:19px;height:19px;flex:0 0 19px;}
.rm-close__tags{
  list-style:none;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:var(--rm-s2) var(--rm-s5);
  margin:var(--rm-s4) 0 0;padding:0;
}
.rm-close__tags li{
  margin:0 !important;padding:0 !important;
  display:inline-flex;align-items:center;gap:7px;
  font-size:13.5px;color:rgba(255,255,255,.86);
  list-style:none;
}
.rm-close__tags li:before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.55);
  flex:0 0 5px;
}

/* =====================================================================
 * 49. FOOTER, DISCLAIMER AND THE LEGAL NOTE
 * The trademark notice was an H1, 615px wide, dominating the footer.
 * Two of the three footer columns carried their own dark gradient,
 * which drew a lighter rectangle across the middle of one surface.
 * The disclaimer was inset 24px off the page grid and ran ~200
 * characters to the line.
 * ===================================================================== */
.rm-legal{
  max-width:660px;
  margin:var(--rm-s4) auto 0;
  font-size:12.5px;
  font-weight:400;
  line-height:1.6;
  color:rgba(255,255,255,.6);
  text-align:center;
}
.home .elementor-element-17069ef .elementor-widget-container{padding-left:0;padding-right:0;}
.home .elementor-element-17069ef p{
  max-width:88ch;
  margin-left:auto;margin-right:auto;
  font-size:13px;line-height:1.65;color:var(--rm-muted);
}
.home .elementor-element-eea9029 .elementor-column,
.home .elementor-element-eea9029 .elementor-widget-wrap{
  background-image:none !important;
}


/* =====================================================================
 * 50. PRODUCT GRID - EQUAL HEIGHT CARDS
 * Card heights in the same row were 517 / 573 / 594 / 604px. The theme
 * puts align-items-start on the holder, so align-items:stretch on the
 * children is ignored. The holder is converted to a real CSS grid,
 * the title box is pinned, and the button is pushed to the bottom.
 * ===================================================================== */
.wd-products-element .products.elements-grid:not([class*="carousel"]),
.woocommerce .products.elements-grid:not([class*="carousel"]){
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:var(--rm-s4);
  margin:0 !important;
}
.wd-products-element .products.elements-grid:not([class*="carousel"]) > .product-grid-item,
.woocommerce .products.elements-grid:not([class*="carousel"]) > .product-grid-item{
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  display:flex !important;
  flex-direction:column;
}
.products.elements-grid > .product-grid-item > .product-wrapper,
.products.elements-grid > .product-grid-item .product-element-bottom{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
/* A name that wraps to two lines must not move the price under it. */
.product-grid-item .wd-entities-title{
  height:42px;
  overflow:hidden;
  margin-bottom:8px;
  line-height:1.35;
}
/* The chip row is printed even when empty, so the button never floats. */
.rm-price-meta--loop{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  min-height:36px;
  margin:6px 0 10px;
}
.rm-price-meta--empty{visibility:hidden;}

/* =====================================================================
 * 51. BLOG CARDS
 * Heights were 468 / 468 / 522 / 468 in one track: one title ran to
 * three lines and one excerpt to four. One portrait thumbnail at 351px
 * also set the track height, leaving 118px of void on three of four
 * slides. Fixed ratio, fixed boxes, hard cut on the excerpt so there
 * is never a second ellipsis after the theme's own.
 * ===================================================================== */
.elementor-element-463506ef .blog-post-loop .article-inner{
  display:flex;
  flex-direction:column;
  height:100%;
}
.elementor-element-463506ef .entry-thumbnail img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
}
.elementor-element-463506ef .article-body-container{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.elementor-element-463506ef .article-body-container .wd-entities-title{
  height:52px;
  overflow:hidden;
  margin:0 0 10px;
  font-size:17px;
  line-height:1.3;
}
.elementor-element-463506ef .entry-content{
  height:66px;
  overflow:hidden;
  margin:0 0 var(--rm-s3);
  font-size:14px;
  line-height:1.6;
  color:var(--rm-body);
}
.elementor-element-463506ef .read-more-section{margin:auto 0 0;}
.elementor-element-463506ef .title-subtitle{
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--rm-blue);
}

/* =====================================================================
 * 52. PRODUCT PAGE - LOSS FRAME
 * Two columns, both restating claims already made on the page. The
 * left column is what the buyer keeps if they close the tab.
 * ===================================================================== */
.rm-lf{
  margin:var(--rm-s5) 0 0;
  padding:var(--rm-s6) var(--rm-s5);
  background:var(--rm-tint);
  border:1px solid var(--rm-line);
  border-radius:18px;
}
.rm-lf__head{max-width:44ch;margin:0 0 var(--rm-s6);}
.rm-lf__title{margin:0;font-size:clamp(21px,1.9vw,28px);}
.rm-lf__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rm-s4);
}
.rm-lf__col{
  padding:var(--rm-s5);
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:var(--rm-r);
}
.rm-lf__col--with{
  border-color:rgba(25,63,153,.28);
  box-shadow:0 12px 30px rgba(25,63,153,.10);
}
.rm-lf__coltitle{
  margin:0 0 var(--rm-s3);
  padding-bottom:var(--rm-s3);
  border-bottom:1px solid var(--rm-line-soft);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rm-muted);
}
.rm-lf__col--with .rm-lf__coltitle{color:var(--rm-blue);}
.rm-lf__list{list-style:none;margin:0;padding:0;}
.rm-lf__list li{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0 !important;
  padding:11px 0 !important;
  font-size:14.5px;
  line-height:1.6;
  color:var(--rm-body);
  list-style:none;
}
.rm-lf__list li:before{content:none !important;}
.rm-lf__mark{
  flex:0 0 18px;
  width:18px;height:18px;
  margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
.rm-lf__mark--no{background:#f0eef2;color:#8b8794;}
.rm-lf__mark--no:before{content:"\2715";}
.rm-lf__mark--yes{background:var(--rm-blue-tint);color:var(--rm-blue);}
.rm-lf__mark--yes:before{content:"\2713";}
.rm-lf__foot{
  margin:var(--rm-s4) 0 0;
  font-size:13.5px;
  line-height:1.6;
  color:var(--rm-muted);
}

/* =====================================================================
 * 53. PRE-TAP MICROCOPY AND STICKER CLEANUP
 * Emoji in body copy is the loudest amateur signal on a paid page.
 * ===================================================================== */
.rm-cta-micro{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0 0;
  font-size:13.5px;
  color:var(--rm-body);
}
.rm-cta-micro__i{
  flex:0 0 16px;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--rm-blue-tint);
  position:relative;
}
.rm-cta-micro__i:before{
  content:"";
  position:absolute;
  left:5px;top:4px;
  width:6px;height:6px;
  border-right:1.6px solid var(--rm-blue);
  border-bottom:1.6px solid var(--rm-blue);
  transform:rotate(45deg);
}
.rm-tick,.rm-cross{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:17px;height:17px;
  margin-right:7px;
  border-radius:50%;
  font-size:10px;
  font-weight:700;
  vertical-align:-3px;
}
.rm-tick{background:var(--rm-blue-tint);color:var(--rm-blue);}
.rm-tick:before{content:"\2713";}
.rm-cross{background:#f0eef2;color:#8b8794;}
.rm-cross:before{content:"\2715";}
.rm-emo{
  font-size:.86em;
  opacity:.55;
  filter:saturate(.25);
}
.single-product .wd-gallery-thumb img,
.single-product .thumbnails img,
.single-product .flex-control-thumbs img{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
}


/* =====================================================================
 * 55. TABLET
 * ===================================================================== */
@media (max-width:1024px){
  :root{--rm-s7:48px;--rm-s8:48px;--rm-s6:32px;}
  .rm-trustrow__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rm-voices{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rm-why{grid-template-columns:1fr;gap:var(--rm-s5);}
  .rm-why__p{max-width:none;}
  .rm-after__grid{grid-template-columns:1fr;}
  .rm-lf__grid{grid-template-columns:1fr;}
  .rm-lf{padding:var(--rm-s6) var(--rm-s5);}
  .rm-proof__card{padding:var(--rm-s6) var(--rm-s5);}
  .rm-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rm-proof__item{
    border-left:0;
    border-top:1px solid var(--rm-line);
    padding:var(--rm-s4) var(--rm-s2) var(--rm-s4);
  }
  .rm-proof__item:nth-child(-n+2){border-top:0;}
  .rm-proof__grid{border-top:0;}

  /* One gutter. Content must never run to the edge of the glass. */
  .rm-voices,
  .rm-voices__title,
  .rm-voices__foot,
  .rm-trustrow__inner{
    padding-left:var(--rm-gut);
    padding-right:var(--rm-gut);
  }

  /* Two stacked sticky bars was the worst thing on the phone. Ours
     carries the price and the CTA, so the theme's duplicate goes. */
  .wd-sticky-cart,
  .wd-sticky-btn,
  .wd-sticky-add-to-cart,
  .woodmart-sticky-btn{display:none !important;}
}

/* =====================================================================
 * 56. PHONE
 * ===================================================================== */
@media (max-width:600px){
  :root{--rm-s7:40px;--rm-s6:26px;}
  .rm-trustrow__inner{grid-template-columns:1fr;}
  .rm-voices{grid-template-columns:1fr;}
  .rm-voice{padding:var(--rm-s4);}
  .rm-proof__card{padding:var(--rm-s5) var(--rm-s4);border-radius:16px;}
  .rm-proof__lede{max-width:22ch;font-size:24px;}
  .rm-proof__log{margin-bottom:var(--rm-s5);}

  /* Four figures side by side on a 391px screen gave 8-character
     labels and a 15px number. Turned on its side it reads as a
     ledger, which is what it always was. */
  .rm-proof__grid{grid-template-columns:1fr;border-top:0;}
  .rm-proof__item{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:var(--rm-s3);
    padding:13px 0;
    text-align:left;
    border-top:1px solid var(--rm-line);
    border-left:0;
  }
  .rm-proof__item:first-child{border-top:0;padding-top:0;}
  .rm-proof__n{margin:0;font-size:22px;}
  .rm-proof__l{margin:0;max-width:20ch;text-align:right;font-size:12.5px;}

  .rm-lossband{padding:var(--rm-s7) var(--rm-gut);}
  .rm-lf{padding:var(--rm-s5) var(--rm-s4);border-radius:14px;}
  .rm-lf__col{padding:var(--rm-s4);}
  .rm-close__btn{
    width:100%;
    max-width:340px;
    justify-content:center;
    padding:0 20px;
  }
  .rm-close__tags{
    flex-direction:column;
    align-items:center;
    gap:9px;
  }
  .rm-why__item{gap:var(--rm-s3);padding:var(--rm-s4) 0;}
  .rm-why__ico{flex:0 0 36px;width:36px;height:36px;border-radius:10px;}
  .rm-why__ico svg{width:18px;height:18px;}
  .rm-legal{padding:0 var(--rm-gut);}

  /* One column of product cards on a phone, at the same gutter as
     everything else. */
  .wd-products-element .products.elements-grid:not([class*="carousel"]),
  .woocommerce .products.elements-grid:not([class*="carousel"]){
    grid-template-columns:1fr;
    gap:var(--rm-s3);
  }
  .product-grid-item .wd-entities-title{height:auto;min-height:0;}
  .elementor-element-463506ef .article-body-container .wd-entities-title{height:auto;}
  .elementor-element-463506ef .entry-content{height:auto;max-height:88px;}
}

/* =====================================================================
 * 57. NOTHING OVERFLOWS SIDEWAYS
 * Grid children with long unbroken strings were pushing the document
 * 6-14px wider than the viewport, which shows as a horizontal scroll.
 * ===================================================================== */
.rm-proof,.rm-why,.rm-voices,.rm-after,.rm-lossband,.rm-trustrow,.rm-lf{max-width:100%;}
.rm-proof__log li,.rm-close__tags li{max-width:100%;}
.rm-why__t,.rm-why__b,.rm-voice__title,.rm-voice__body,
.rm-after__h,.rm-after__p,.rm-lf__list li{overflow-wrap:anywhere;}

/* =====================================================================
 * 58. THE MARKED CARD MUST NOT CLIP
 * The grid gap is 24px and the ring is drawn 1.5px outside the box, so
 * the row needs a little breathing room above it for the label.
 * ===================================================================== */
.products.elements-grid{padding-top:12px !important;}
.rm-marked{overflow:visible !important;}
.rm-marked .product-wrapper{overflow:visible !important;}


/* =====================================================================
 * 59. DETAIL PASS AFTER THE REBUILD
 * ===================================================================== */

/* 59.1 One type scale for every section heading on the landing page.
   "Limited offer" was rendering at 77px against 34px everywhere else,
   which made the rest of the page look like a different site. */
.home .elementor-element-3d7b6087 h4.woodmart-title-container,
.home .elementor-element-bc84d18 h2,
.home .elementor-element-bc84d18 .woodmart-title-container,
.home .elementor-element-463506ef h4.woodmart-title-container,
.home .elementor-element-463506ef .woodmart-title-container.title{
  font-size:clamp(26px,2.6vw,38px) !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
  color:var(--rm-ink) !important;
}

/* 59.2 The label belongs above the title it labels, as a quiet pill.
   It was sitting underneath, in grey body copy. */
.home .elementor-element-3d7b6087 .liner-continer{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.home .elementor-element-3d7b6087 .title-after_title{
  order:-1;
  margin:0 0 14px !important;
}
.home .elementor-element-3d7b6087 .title-after_title p{
  display:inline-flex;
  align-items:center;
  height:30px;
  margin:0;
  padding:0 14px;
  border-radius:999px;
  background:var(--rm-blue-tint);
  color:var(--rm-blue);
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* 59.3 The testimonial footers were 3px out of line with each other
   because only two of the six carry a score chip. */
.rm-voice__meta{min-height:34px;}
.rm-voice__score{height:24px;}

/* 59.4 The disclaimer was marked up as an H5 followed by a bold H6, so
   it rendered as 12px bold running 1,885px to the line - wider than
   anything else on the page and heavier than the body copy. */
.home .elementor-element-17069ef .elementor-container{
  max-width:var(--rm-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--rm-gut);
  padding-right:var(--rm-gut);
}
.home .elementor-element-17069ef .wd-text-block{
  max-width:82ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.home .elementor-element-17069ef h5{
  margin:0 0 8px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  color:var(--rm-muted) !important;
}
.home .elementor-element-17069ef h6{
  margin:0 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--rm-muted) !important;
}

/* 59.5 The blog eyebrow, matching the other eyebrows on the page. */
.home .elementor-element-463506ef .title-subtitle,
.home .elementor-element-463506ef .title-after_title p{
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  color:var(--rm-blue) !important;
}

/* 59.6 A calmer step down from the reason list into the FAQ. */
.home .elementor-element-418b6cef{padding-bottom:var(--rm-s6) !important;}
.home .elementor-element-bc84d18{padding-top:var(--rm-s6) !important;}


/* =====================================================================
 * 60. ONE GUTTER ON MOBILE
 * The landing sections are Elementor stretched sections, so each one
 * sits at a slightly different negative offset. Measured at 387px the
 * new blocks were landing at 13, 16, 18, 20, 23, 38 and 48px from the
 * edge. Rather than chase each parent, every block is given the same
 * width and centred inside whatever its parent happens to be.
 * ===================================================================== */
@media (max-width:1024px){
  .rm-lossband,.rm-after{padding-left:0 !important;padding-right:0 !important;}
  .rm-lossband__inner,
  .rm-after__eyebrow,
  .rm-after__title,
  .rm-after__grid,
  .rm-proof,
  .rm-why,
  .rm-voices,
  .rm-voices__title,
  .rm-voices__foot,
  .rm-trustrow__inner,
  .rm-close,
  .home .elementor-element-3d7b6087 .products,
  .home .elementor-element-17069ef .wd-text-block{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .rm-legal{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
  }
}


/* =====================================================================
 * 61. LAST DETAILS
 * ===================================================================== */

/* 61.1 Two sections carried their own container padding on top of the
   shared gutter, so the trust row sat 28px in and the disclaimer 30px
   while everything else sat at 13-20px. */
@media (max-width:1024px){
  .home .elementor-element-624b861 .elementor-container,
  .home .elementor-element-624b861 .elementor-widget-wrap,
  .home .elementor-element-17069ef .elementor-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* 61.2 The comparison block was butting straight into the product tabs. */
.rm-lf{margin-bottom:var(--rm-s6);}

/* 61.3 The theme's feature strip inherited the replaced emoji at body
   size, which left it looking speckled. */
.woocommerce-Tabs-panel .rm-tick,
.wd-single-product .rm-tick,
.summary .rm-tick{
  width:15px;
  height:15px;
  margin-right:5px;
  font-size:9px;
}


/* ============================================================
   62. PRECISION PASS - one measure, one gutter, no clipped text
   ============================================================ */

/* --- 62.1  One content measure on desktop (1140px) --------- */
.rm-trustrow,
.rm-voices,
.rm-lossband,
.rm-after,
.rm-why,
.rm-close,
.rm-legal{
  width:100% !important;
  max-width:1140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.rm-proof__card{
  max-width:1140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* --- 62.2  Product grid fills the same 1140 measure -------- */
[data-id="3d7b6087"] .elementor-widget-wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}
[data-id="3d7b6087"] .elementor-widget__width-initial,
[data-id="3d7b6087"] .wd-products-element,
[data-id="3d7b6087"] .products{
  width:100% !important;
  max-width:100% !important;
}

/* --- 62.3  Eyebrow ABOVE the title, one treatment ---------- */
.title-wrapper{
  display:flex !important;
  flex-direction:column !important;
}
.title-wrapper > .title-after_title,
.title-wrapper > .title-subtitle{
  order:-1 !important;
  margin:0 0 14px !important;
}
.title-wrapper > .liner-continer{ order:0 !important; }

.title-wrapper .title-after_title p,
.title-wrapper .title-subtitle,
.rm-lossband__eyebrow,
.rm-after__eyebrow,
.rm-proof__eyebrow{
  display:inline-block !important;
  margin:0 !important;
  padding:6px 14px !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  color:#193f99 !important;
  background:#eaf0fb !important;
  border-radius:999px !important;
}
.rm-lossband__eyebrow,
.rm-after__eyebrow,
.rm-proof__eyebrow{ margin-bottom:14px !important; }

/* --- 62.4  Centre the "after you pay" header --------------- */
.rm-after{ text-align:center; }
.rm-after__step{ text-align:left; }

/* --- 62.5  No clipped product titles ----------------------- */
.products .wd-entities-title{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  height:auto !important;
  min-height:66px !important;
  max-height:66px !important;
  line-height:22px !important;
  margin:0 0 6px !important;
}

/* --- 62.6  No clipped blog titles -------------------------- */
.blog-post-loop h3,
.blog-post-loop .wd-entities-title{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  height:auto !important;
  min-height:78px !important;
  max-height:78px !important;
  line-height:26px !important;
}

/* --- 62.7  Close the dead whitespace ----------------------- */
[data-id="1bfe6f1"]{ padding-bottom:24px !important; }
[data-id="624b861"]{ padding-top:28px !important; padding-bottom:56px !important; }
[data-id="dc31d83"]{ padding-bottom:28px !important; }
[data-id="463506ef"]{ padding-top:44px !important; padding-bottom:36px !important; }
[data-id="f7e6f8e"]{ padding-top:44px !important; padding-bottom:44px !important; overflow:hidden !important; }
[data-id="17069ef"]{ padding-top:28px !important; padding-bottom:28px !important; }

/* --- 62.8  Footer icons align to the first line ------------ */
.elementor-icon-list-item{ align-items:flex-start !important; }
.elementor-icon-list-icon{ margin-top:3px !important; }

/* --- 62.9  MOBILE: one 20px gutter, everything centred ----- */
@media (max-width:767px){
  .rm-trustrow,
  .rm-voices,
  .rm-lossband,
  .rm-after,
  .rm-why,
  .rm-close,
  .rm-legal,
  .rm-proof__card{
    width:calc(100% - 40px) !important;
    max-width:calc(100% - 40px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  .rm-proof{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  [data-id="1bfe6f1"] > .elementor-container,
  [data-id="624b861"] > .elementor-container,
  [data-id="2a96c23a"] > .elementor-container,
  [data-id="3d7b6087"] > .elementor-container,
  [data-id="dc31d83"] > .elementor-container,
  [data-id="bc84d18"] > .elementor-container,
  [data-id="463506ef"] > .elementor-container,
  [data-id="17069ef"] > .elementor-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
  [data-id="3d7b6087"] .elementor-widget-wrap,
  [data-id="3d7b6087"] .elementor-column{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .wd-carousel-container{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* --- 62.10  MOBILE: two products per row ------------------- */
@media (max-width:767px){
  .products.elements-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .products.elements-grid > *{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
  .products .wd-entities-title{
    font-size:13.5px !important;
    line-height:18px !important;
    min-height:54px !important;
    max-height:54px !important;
  }
  .products .wd-product-cats{ font-size:11px !important; margin-bottom:4px !important; }
  .products .price{ font-size:14.5px !important; }
  .products .price del{ font-size:12.5px !important; }
  .rm-price-meta--loop{
    flex-wrap:wrap !important;
    gap:4px 6px !important;
    min-height:auto !important;
  }
  .rm-save-chip{ font-size:10px !important; padding:3px 7px !important; }
  .rm-updated-chip{ font-size:10px !important; }
}

/* --- 62.11  Release the two remaining width clamps --------- */
/* product widget sits in a column Elementor pinned to 1000px */
[data-id="8362826"]{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}
/* trust row + testimonials lose 20px to widget-wrap padding */
[data-id="624b861"] .elementor-widget-wrap,
[data-id="2a96c23a"] .elementor-widget-wrap,
[data-id="3d7b6087"] .elementor-widget-wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* --- 62.12  Inner section pinned the grid to 1000px -------- */
[data-id="ca783a6"] > .elementor-container{
  max-width:100% !important;
  width:100% !important;
}

/* --- 62.13  Flex column must honour the alignment class ---- */
.title-wrapper.text-center{ align-items:center !important; }
.title-wrapper.text-left{ align-items:flex-start !important; }
.title-wrapper.text-right{ align-items:flex-end !important; }
.title-wrapper:not(.text-center):not(.text-right){ align-items:flex-start; }
.title-wrapper > .liner-continer{ max-width:100%; }

/* --- 62.14  Loss band runs edge to edge (tint, not a slab) - */
.rm-lossband{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:56px 20px !important;
}
.rm-lossband__inner{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html,body{ overflow-x:clip; }

@media (max-width:767px){
  .rm-lossband{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:40px 20px !important;
  }
  .rm-lossband__inner{ max-width:100% !important; }
}

/* --- 62.15  Product title: one fixed two-line box ---------- */
.products .wd-entities-title{
  -webkit-line-clamp:3 !important;
  min-height:44px !important;
  max-height:66px !important;
  line-height:22px !important;
  margin:0 0 8px !important;
}
@media (max-width:767px){
  .products .wd-entities-title{
    -webkit-line-clamp:2 !important;
    min-height:36px !important;
    max-height:36px !important;
    line-height:18px !important;
  }
}


/* ============================================================
   63. SCOPE THE EYEBROW TREATMENT
   The intro heading's "subtitle" is a 600-character paragraph,
   not an eyebrow. Revert the global change, then re-apply it
   only to the two headings that actually have a short kicker.
   ============================================================ */

/* 63.1  revert the global title-wrapper change */
.title-wrapper{ display:block !important; }
.title-wrapper > .title-after_title,
.title-wrapper > .title-subtitle,
.title-wrapper > .liner-continer{ order:0 !important; }
.title-wrapper .title-after_title{ margin:14px 0 0 !important; }
.title-wrapper .title-after_title p{
  display:block !important;
  margin:0 0 1em !important;
  padding:0 !important;
  background:none !important;
  border-radius:0 !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.7 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  color:inherit !important;
}

/* 63.2  re-apply only where the kicker is a real eyebrow */
[data-id="3d7b6087"] .title-wrapper,
[data-id="463506ef"] .title-wrapper{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
[data-id="3d7b6087"] .title-wrapper > .title-after_title,
[data-id="463506ef"] .title-wrapper > .title-subtitle{
  order:-1 !important;
  margin:0 0 14px !important;
}
[data-id="3d7b6087"] .title-wrapper > .liner-continer,
[data-id="463506ef"] .title-wrapper > .liner-continer{ order:0 !important; }

[data-id="3d7b6087"] .title-wrapper .title-after_title p,
[data-id="463506ef"] .title-wrapper .title-subtitle{
  display:inline-block !important;
  margin:0 !important;
  padding:6px 14px !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  color:#193f99 !important;
  background:#eaf0fb !important;
  border-radius:999px !important;
}


/* ============================================================
   64. VERTICAL RHYTHM - at a specificity that actually wins
   Section 38 used ".home .elementor-element-XXX" so the
   [data-id] overrides in 62.7 never applied. Same shape here.
   ============================================================ */
body.home .elementor-element.elementor-element-1bfe6f1{ padding-top:56px !important; padding-bottom:28px !important; }
body.home .elementor-element.elementor-element-624b861{ padding-top:28px !important; padding-bottom:48px !important; }
body.home .elementor-element.elementor-element-2a96c23a{ padding-top:48px !important; padding-bottom:40px !important; }
body.home .elementor-element.elementor-element-3d7b6087{ padding-top:48px !important; padding-bottom:40px !important; }
body.home .elementor-element.elementor-element-72924ad2{ padding-top:40px !important; padding-bottom:48px !important; }
body.home .elementor-element.elementor-element-418b6cef{ padding-top:48px !important; padding-bottom:24px !important; }
body.home .elementor-element.elementor-element-bc84d18{ padding-top:24px !important; padding-bottom:16px !important; }
body.home .elementor-element.elementor-element-dc31d83{ padding-top:0 !important; padding-bottom:40px !important; }
body.home .elementor-element.elementor-element-463506ef{ padding-top:40px !important; padding-bottom:36px !important; }
body.home .elementor-element.elementor-element-f7e6f8e{ padding-top:44px !important; padding-bottom:44px !important; }
body.home .elementor-element.elementor-element-17069ef{ padding-top:28px !important; padding-bottom:28px !important; }

@media (max-width:767px){
  body.home .elementor-element.elementor-element-1bfe6f1{ padding-top:40px !important; padding-bottom:20px !important; }
  body.home .elementor-element.elementor-element-624b861{ padding-top:20px !important; padding-bottom:36px !important; }
  body.home .elementor-element.elementor-element-2a96c23a{ padding-top:36px !important; padding-bottom:28px !important; }
  body.home .elementor-element.elementor-element-3d7b6087{ padding-top:36px !important; padding-bottom:28px !important; }
  body.home .elementor-element.elementor-element-72924ad2{ padding-top:28px !important; padding-bottom:36px !important; }
  body.home .elementor-element.elementor-element-418b6cef{ padding-top:36px !important; padding-bottom:20px !important; }
  body.home .elementor-element.elementor-element-bc84d18{ padding-top:20px !important; padding-bottom:12px !important; }
  body.home .elementor-element.elementor-element-dc31d83{ padding-top:0 !important; padding-bottom:28px !important; }
  body.home .elementor-element.elementor-element-463506ef{ padding-top:28px !important; padding-bottom:24px !important; }
  body.home .elementor-element.elementor-element-f7e6f8e{ padding-top:32px !important; padding-bottom:32px !important; }
  body.home .elementor-element.elementor-element-17069ef{ padding-top:20px !important; padding-bottom:20px !important; }
}


/* ============================================================
   65. MOBILE GUTTER - ONE source of truth
   The gutter now lives on the section container only. Every
   injected block fills it at 100%. Hero is excluded on purpose.
   ============================================================ */
@media (max-width:767px){

  body.home .elementor-top-section:not(.elementor-element-676735b) > .elementor-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-widget-wrap{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-column,
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-inner-section > .elementor-container{
    padding-left:0 !important;
    padding-right:0 !important;
    max-width:100% !important;
  }

  /* injected blocks fill the padded container exactly */
  .rm-trustrow,
  .rm-voices,
  .rm-after,
  .rm-why,
  .rm-close,
  .rm-legal,
  .rm-proof__card,
  .products,
  .wd-carousel-container{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  /* the two full-bleed bands keep their own inner gutter */
  .rm-lossband{ padding-left:20px !important; padding-right:20px !important; }
  .rm-proof{
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
}


/* ============================================================
   66. MOBILE GUTTER - collapse the three stacked gutters
   WoodMart .site-content adds 15px, the Elementor section adds
   its own, then 65 added 20px. Zero the outer two, keep one.
   Hero is excluded everywhere (it is stretched to 100vw).
   ============================================================ */
@media (max-width:767px){

  body.home .row.content-layout-wrapper{ margin-left:0 !important; margin-right:0 !important; }
  body.home .site-content{ padding-left:0 !important; padding-right:0 !important; }

  /* the ONE gutter lives here */
  body.home .elementor-top-section:not(.elementor-element-676735b) > .elementor-container{
    padding-left:20px !important;
    padding-right:20px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* every other horizontal gutter in the chain goes to zero */
  body.home .elementor-top-section:not(.elementor-element-676735b),
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-column,
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-widget-wrap,
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-inner-section,
  body.home .elementor-top-section:not(.elementor-element-676735b) .elementor-inner-section > .elementor-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* injected blocks simply fill the gutter */
  .rm-trustrow,
  .rm-voices,
  .rm-after,
  .rm-why,
  .rm-close,
  .rm-legal,
  .products,
  .wd-carousel-container{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* the two bands break out of the gutter and re-add it inside */
  .rm-lossband,
  .rm-proof{
    width:calc(100% + 40px) !important;
    max-width:calc(100% + 40px) !important;
    margin-left:-20px !important;
    margin-right:-20px !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
  .rm-proof__card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
}


/* ============================================================
   67. MOBILE GUTTER - final. WoodMart's .container already
   supplies an 18px page gutter for every section including the
   hero. Zero the extra 20px added in 66 and let that one
   gutter govern. Nothing else touches the horizontal axis.
   ============================================================ */
@media (max-width:767px){

  body.home .elementor-top-section:not(.elementor-element-676735b) > .elementor-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .rm-trustrow,
  .rm-voices,
  .rm-after,
  .rm-why,
  .rm-close,
  .rm-legal,
  .rm-proof__card,
  .products,
  .wd-carousel-container{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* the two bands break the gutter and re-add it inside */
  .rm-lossband,
  .rm-proof{
    width:calc(100% + 36px) !important;
    max-width:none !important;
    margin-left:-18px !important;
    margin-right:-18px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box !important;
  }
}


/* ============================================================
   68. MOBILE GUTTER - definitive.
   Two families of section exist: some sit inside WoodMart's
   .container (18px gutter), others are stretched full width and
   got their gutter from .elementor-container. Zero the outer
   chrome, then put ONE 20px gutter on the elementor container of
   every non-hero section, plus on blocks injected outside one.
   ============================================================ */
@media (max-width:767px){

  body.home .container,
  body.home .site-content{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.home .content-layout-wrapper{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.home .elementor-top-section:not(.elementor-element-676735b) > .elementor-container{
    padding-left:20px !important;
    padding-right:20px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* injected straight into .site-content, so it carries its own */
  .site-content > .rm-after,
  .site-content > .rm-lossband{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }

  /* everything inside the gutter simply fills it */
  .rm-trustrow,
  .rm-voices,
  .rm-why,
  .rm-close,
  .rm-legal,
  .rm-proof__card,
  .products,
  .wd-carousel-container{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* bands inside a gutter break out of it and re-add it inside */
  .elementor-container .rm-lossband,
  .elementor-container .rm-proof,
  .elementor-widget-container > .rm-lossband,
  .elementor-widget-container > .rm-proof{
    width:calc(100% + 40px) !important;
    max-width:none !important;
    margin-left:-20px !important;
    margin-right:-20px !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
}


/* --- 69. The two bands: true full bleed, gutter re-added ---- */
@media (max-width:767px){
  .rm-lossband,
  .rm-proof{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
  .rm-proof__card,
  .rm-lossband__inner{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* --- 70. Shop archive: three columns instead of two -------- */
body.post-type-archive-product .products.elements-grid,
body.tax-product_cat .products.elements-grid{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr)) !important;
}
@media (max-width:767px){
  body.post-type-archive-product .products.elements-grid,
  body.tax-product_cat .products.elements-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* ================================================================
   71. MOBILE EXPERIENCE REBUILD (v2)
   Driven by a measured audit at 391px of home / shop / product /
   cart / checkout. Fixes the dead sticky CTA, the double bottom
   bar, the 12,800px description, mobile type scale, the broken
   trust strip, the footer gutter and the cart/checkout details.
   ---------------------------------------------------------------- */

/* --- 71.1  THE BUG -------------------------------------------------
   Section 32 shipped .rm-sticky-buy{pointer-events:none} and only
   restored it on .is-on. The live JS toggles .is-visible, so the bar
   rendered but every tap fell straight through it to the page below.
   elementFromPoint() over the CTA returned h2.rm-lf__title.
   ------------------------------------------------------------------ */
.rm-sticky-buy{
  pointer-events:none;
}
.rm-sticky-buy.is-visible,
.rm-sticky-buy.is-on{
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
.rm-sticky-buy.is-visible *,
.rm-sticky-buy.is-on *{
  pointer-events:auto;
}
.rm-sticky-cta,
.rm-sticky-buy__cta{
  pointer-events:auto !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

@media (max-width:768px){

  /* --- 71.2  One bottom bar, not two ----------------------------
     On a product page the only job of the bottom edge is to buy.
     The WooDmart toolbar duplicates the header cart icon.        */
  body.single-product .wd-toolbar{ display:none !important; }
  body.single-product .scrollToTop{ display:none !important; }

  /* --- 71.3  Slim, premium sticky bar (89px -> 66px) ------------- */
  .rm-sticky-buy{
    padding:0 !important;
    background:rgba(255,255,255,.97) !important;
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    backdrop-filter:saturate(180%) blur(14px);
    border-top:1px solid #e4e8f0 !important;
    box-shadow:0 -10px 28px rgba(14,26,51,.12) !important;
  }
  .rm-sticky-inner{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    padding:9px 16px !important;
    padding-bottom:calc(9px + env(safe-area-inset-bottom)) !important;
    min-height:66px;
  }
  .rm-sticky-name{ display:none !important; }
  .rm-sticky-text{ flex:0 0 auto !important; min-width:0 !important; }
  .rm-sticky-price{
    display:flex !important;
    align-items:baseline;
    gap:7px;
    white-space:nowrap;
  }
  .rm-sticky-price del{
    font-size:13px !important;
    font-weight:600 !important;
    color:#98A1B3 !important;
  }
  .rm-sticky-price ins{
    font-size:21px !important;
    font-weight:800 !important;
    color:#0E1A33 !important;
    text-decoration:none !important;
    background:none !important;
  }
  .rm-sticky-cta{
    flex:1 1 auto !important;
    min-width:0 !important;
    min-height:50px !important;
    padding:0 18px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#193F99 !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
    box-shadow:0 6px 18px rgba(25,63,153,.30) !important;
  }
  .rm-sticky-cta:active{ transform:translateY(1px); }

  /* keep the chat launcher clear of the bar */
  body.rm-sticky-on .chaty-widget,
  body.single-product .chaty-widget{ bottom:76px !important; }
}

@media (max-width:768px){

  /* --- 71.4  Mobile type scale ----------------------------------
     Body copy was rendering ~17px/1.75. The short description alone
     measured 981px. 15.5px/1.62 is the comfortable reading size at
     391px and cuts roughly a fifth off the column height.        */
  .woocommerce-product-details__short-description,
  .wc-tab-inner{
    font-size:15.5px !important;
    line-height:1.62 !important;
    color:#2B3648;
  }
  .wc-tab-inner p,
  .woocommerce-product-details__short-description p{ margin-bottom:14px !important; }
  .wc-tab-inner li,
  .woocommerce-product-details__short-description li{ margin-bottom:7px !important; }
  .wc-tab-inner h2{ font-size:21px !important; line-height:1.26 !important; margin:26px 0 10px !important; letter-spacing:-.01em; }
  .wc-tab-inner h3{ font-size:17.5px !important; line-height:1.32 !important; margin:20px 0 8px !important; }
  .wc-tab-inner h4{ font-size:16px !important; margin:18px 0 6px !important; }

  /* --- 71.5  Product meta: quieter, not shouting ----------------- */
  .product_meta{
    font-size:13px !important;
    color:#6b7280 !important;
    border-top:1px solid #eef1f7;
    padding-top:14px !important;
    margin-top:6px !important;
  }
  .product_meta span > span:first-child,
  .product_meta .meta-label{ color:#0E1A33; font-weight:700; }
}

/* --- 71.6  Description: read-more on mobile ---------------------
   The description tab measured 12,824px of a 16,850px page - 76%.
   Related products and the footer were effectively unreachable.
   Content stays in the DOM for search engines; it is simply folded.
   ---------------------------------------------------------------- */
.rm-readmore-btn{ display:none; }
@media (max-width:768px){
  .rm-readmore-host{ position:relative; }
  .rm-readmore-host.is-clamped{
    max-height:540px;
    overflow:hidden;
  }
  .rm-readmore-host.is-clamped::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:170px;
    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 76%);
    pointer-events:none;
  }
  .rm-readmore-btn{
    display:block;
    width:100%;
    margin:16px 0 4px;
    min-height:50px;
    padding:0 16px;
    border:1.5px solid #193F99;
    border-radius:10px;
    background:#fff;
    color:#193F99;
    font-size:15px;
    font-weight:800;
    letter-spacing:.02em;
    cursor:pointer;
    touch-action:manipulation;
  }
  .rm-readmore-btn:active{ background:#f5f7fb; }
}

/* --- 71.7  Trust strip inside the description -------------------
   Was centred running text with orphaned ticks and pipe characters
   wrapping mid-phrase. JS rebuilds it as chips; this styles them.
   ---------------------------------------------------------------- */
.rm-chiprow{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  background:#f5f7fb;
  border:1px solid #DCE7FA;
  border-radius:12px;
  padding:14px;
  margin:0 0 28px;
}
.rm-chiprow .rm-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #DCE7FA;
  font-size:13.5px;
  font-weight:700;
  color:#0E1A33;
  white-space:nowrap;
  line-height:1.2;
}
.rm-chiprow .rm-chip::before{
  content:"";
  flex:0 0 auto;
  width:15px; height:15px;
  border-radius:50%;
  background:#193F99 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/9px 9px no-repeat;
}
@media (max-width:768px){
  .rm-chiprow{ gap:7px; padding:12px; }
  .rm-chiprow .rm-chip{ font-size:12.5px; padding:6px 10px; }
}

/* --- 71.8  Footer ------------------------------------------------
   Was #0F051D (a dark purple that fights the navy), 10px gutters
   against the 18px the rest of the page uses, and centred body copy
   under left-aligned links.
   ---------------------------------------------------------------- */
footer.elementor-location-footer > .elementor-section,
footer.elementor-location-footer > .elementor-section > .elementor-container{
  background-color:#0B1B3A !important;
}
footer.elementor-location-footer .elementor-widget-wrap{
  padding-left:18px !important;
  padding-right:18px !important;
}
footer.elementor-location-footer p,
footer.elementor-location-footer .elementor-heading-title{
  color:#AFBDD6 !important;
}
@media (max-width:768px){
  footer.elementor-location-footer .elementor-widget-wrap{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  footer.elementor-location-footer .elementor-heading-title{
    font-size:12.5px !important;
    line-height:1.65 !important;
    text-align:left !important;
  }
  footer.elementor-location-footer .elementor-icon-list-item{
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
  footer.elementor-location-footer .elementor-icon-list-text{ font-size:14px !important; }
}

/* --- 71.9  Page title band: brand navy, not near-black ----------- */
.page-title.page-title-default{
  background-color:#0B1B3A !important;
  background-image:linear-gradient(90deg,#0B1B3A 0%,#193F99 100%) !important;
}
.page-title.page-title-default .entry-title,
.page-title.page-title-default .title{
  color:#fff !important;
  letter-spacing:.02em;
}

/* --- 71.10  Cart page -------------------------------------------
   "CART PAGE" was a leftover 48px Elementor placeholder heading
   sitting directly under a band that already said "Shopping cart".
   ---------------------------------------------------------------- */
body.woocommerce-cart .elementor-element-73879d1{ display:none !important; }
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .cart-empty{
  font-size:20px !important;
  font-weight:800 !important;
  color:#0E1A33 !important;
}
body.woocommerce-cart .return-to-shop{ margin-top:22px !important; }
body.woocommerce-cart .return-to-shop .button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:52px !important;
  min-width:230px !important;
  padding:0 26px !important;
  border-radius:10px !important;
  background:#193F99 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:.03em;
  box-shadow:0 6px 18px rgba(25,63,153,.28) !important;
}
@media (max-width:768px){
  body.woocommerce-cart .return-to-shop .button{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
  }
  /* the empty-cart panel was followed by ~400px of dead space */
  body.woocommerce-cart .site-content{ padding-bottom:24px !important; }
  body.woocommerce-cart .wd-empty-page-text{ padding-bottom:0 !important; }
}

/* --- 71.11  Checkout details ------------------------------------- */
@media (max-width:768px){
  /* payment labels were wrapping to three lines beside their logo */
  .woocommerce-checkout .wc_payment_methods li > label{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    font-size:14.5px !important;
    line-height:1.3 !important;
    min-height:44px;
  }
  .woocommerce-checkout .wc_payment_methods li > label img{
    margin-left:auto !important;
    max-height:26px !important;
    width:auto !important;
    flex:0 0 auto;
  }
  .woocommerce-checkout .payment_box p{
    font-size:13.5px !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
  /* order notes was a two-line box with its own scrollbar */
  .woocommerce-checkout #order_comments{
    min-height:96px !important;
    line-height:1.5 !important;
    padding:12px 14px !important;
  }
  /* remove-item cross sat to the left of the thumbnail */
  .woocommerce-checkout-review-order-table .product-name{ position:relative; }
  .woocommerce-checkout-review-order-table td.product-name .remove,
  .woocommerce-checkout-review-order-table .product-thumbnail .remove{
    position:absolute !important;
    right:0 !important;
    top:0 !important;
    left:auto !important;
    width:26px; height:26px;
    line-height:26px;
    text-align:center;
  }
  .woocommerce-checkout .woocommerce-form-coupon-toggle{
    font-size:14.5px !important;
    line-height:1.4 !important;
  }
}

/* --- 71.12  Tap targets (WCAG 2.2 target size) ------------------- */
@media (max-width:768px){
  .woocommerce-breadcrumb a,
  .single-breadcrumbs a{
    display:inline-block;
    padding:6px 2px;
  }
  .wd-nav-product a,
  .wd-products-nav a{
    min-width:40px !important;
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
  }
}


/* ================================================================
   72. UI v2 - corrections found in verification
   ================================================================ */
@media (max-width:768px){

  /* 72.1  The fold needs to beat WooDmart's own max-height on
     .wd-scroll-content, which was resolving to none.            */
  .wc-tab-inner.rm-readmore-host.is-clamped{
    max-height:540px !important;
    overflow:hidden !important;
  }

  /* 72.2  Related products: WooDmart shows its hover overlay
     permanently on touch, so a 122x46 ADD TO CART sat on top of
     every thumbnail. The card itself links to the product.      */
  .related-and-upsells .wd-buttons.wd-pos-r-t,
  .related-products .wd-buttons.wd-pos-r-t,
  .related .wd-buttons.wd-pos-r-t,
  .up-sells .wd-buttons.wd-pos-r-t{
    display:none !important;
  }

  /* 72.3  Related products: tighter, legible cards */
  .related-products .product-grid-item .wd-entities-title{
    font-size:14px !important;
    line-height:1.35 !important;
  }
  .related-products h2,
  .related-and-upsells h2{
    font-size:18px !important;
    letter-spacing:.02em;
  }
}


/* ================================================================
   73. CART PAGE - measured corrections
   ================================================================ */
/* An empty Elementor section was holding 329px of dead space below
   the totals, and the placeholder heading section another 21px.   */
body.woocommerce-cart .elementor-30 > [data-id="2baebaf"],
body.woocommerce-cart .elementor-30 > [data-id="72a5d1f"]{
  display:none !important;
}

/* Every product here is a single-licence download, so the quantity
   column only ever rendered an empty cell under a heading.        */
body.woocommerce-cart .shop_table .product-quantity{ display:none !important; }

/* The cart form was 7px wider than its container, which put a
   horizontal scrollbar across the middle of the page on mobile.   */
body.woocommerce-cart .woocommerce-cart-form{ overflow-x:clip !important; }
body.woocommerce-cart .woocommerce-cart-form .shop_table{
  width:100% !important;
  min-width:0 !important;
}

@media (max-width:768px){
  body.woocommerce-cart .coupon.wd-coupon-form{ padding:14px !important; }
  body.woocommerce-cart .coupon.wd-coupon-form .button{
    min-height:48px !important;
    font-weight:700 !important;
  }
  body.woocommerce-cart .site-content{ margin-bottom:16px !important; }
}


/* ================================================================
   74. ABOVE THE FOLD ON A PHONE
   Measured on a 391x844 viewport: the gallery ran 463px, so the
   title landed at y710 and the buy button at y834 - off the first
   screen. A visitor's opening impression was an unreadable scan of
   a PDF page. Trimming the gallery and the leftover demo top bar
   brings the title, price and CTA into view without touching the
   desktop layout.
   ================================================================ */
@media (max-width:768px){

  /* WooDmart demo strip - "ADD ANYTHING HERE OR JUST..." - 40px */
  .whb-row.whb-top-bar{ display:none !important; }
  body.single-product .thumbnails{
    max-height:58px !important;
    margin-top:8px !important;
  }
  body.single-product .thumbnails img{
    max-height:54px !important;
    width:auto !important;
    object-fit:contain !important;
  }
  body.single-product .single-breadcrumbs-wrapper{
    margin-bottom:6px !important;
    font-size:12.5px !important;
  }
  body.single-product .product_title{
    font-size:23px !important;
    line-height:1.22 !important;
    letter-spacing:-.015em;
    margin-bottom:8px !important;
  }
  body.single-product .summary-inner > .price{ margin-bottom:14px !important; }
}

/* 74.1  Scale the gallery image down instead of clipping it.
   WooDmart forces height:auto on gallery images, so max-height
   alone only cropped the page mid-sentence. */
@media (max-width:768px){
}


/* ============================================================================
   75. FOOTER - COLOUR REPAIR + PREMIUM POLISH
   Audited live 10 Aug 2026. Faults found:
     a) <footer> carried a legacy linear-gradient(#9C2D2D 0%, #000 100%)
        red-to-black underlay left over from the old theme kit.
     b) 3rd column .elementor-widget-wrap was painted #0F051D (plum) while the
        footer section is #0B1B3A (navy) - a visibly mismatched block, worst on
        mobile where it becomes a full-width 351x97 plum slab.
     c) 2nd column .elementor-widget-wrap carried box-shadow 0 0 10px
        rgba(0,0,0,.5) - a dark halo that read as a random floating panel.
     d) inherited #777777 / #333333 body + link colours sitting on navy.
     e) landing-page disclaimer used inline #ff0000 and #000000.
   Palette: one navy surface, white links, gold hover, steel-blue icons.
   ========================================================================== */

/* --- 75.1 one surface, one colour ---------------------------------------- */
footer.elementor-location-footer{
  background-color:#0B1B3A !important;
  background-image:linear-gradient(180deg,#0C1E40 0%,#081228 100%) !important;
  box-shadow:inset 0 1px 0 0 rgba(255,255,255,.07) !important;
}
footer.elementor-location-footer .elementor-section,
footer.elementor-location-footer .elementor-container,
footer.elementor-location-footer .elementor-column,
footer.elementor-location-footer .elementor-widget-wrap,
footer.elementor-location-footer .elementor-element,
footer.elementor-location-footer .elementor-widget-container{
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* --- 75.2 type colour on navy -------------------------------------------- */
footer.elementor-location-footer,
footer.elementor-location-footer li,
footer.elementor-location-footer p,
footer.elementor-location-footer span{
  color:#AEC0DD;
}
footer.elementor-location-footer a,
footer.elementor-location-footer a .elementor-icon-list-text{
  color:#FFFFFF !important;
  text-decoration:none !important;
  transition:color .18s ease;
}
footer.elementor-location-footer a:hover,
footer.elementor-location-footer a:hover .elementor-icon-list-text{
  color:#E3B75C !important;
}
footer.elementor-location-footer .elementor-icon-list-icon svg{
  fill:#5C7CBD !important;
  width:12px !important;
  height:12px !important;
  transition:fill .18s ease;
}
footer.elementor-location-footer a:hover .elementor-icon-list-icon svg{
  fill:#E3B75C !important;
}
footer.elementor-location-footer p.rm-legal,
footer.elementor-location-footer .rm-legal{
  color:#93A6C6 !important;
  font-size:12.5px !important;
  line-height:1.7 !important;
}

/* --- 75.3 rhythm ---------------------------------------------------------- */
footer.elementor-location-footer .elementor-icon-list-item{
  line-height:1.55 !important;
}

/* --- 75.4 mobile: two link columns, legal centred underneath -------------- */
@media (max-width:767px){
  footer.elementor-location-footer > .elementor-section > .elementor-container{
    display:flex !important;
    flex-wrap:wrap !important;
    padding:22px 16px 26px !important;
  }
  footer.elementor-location-footer .elementor-column{
    width:50% !important;
  }
  footer.elementor-location-footer .elementor-column:nth-child(1){ order:1; }
  footer.elementor-location-footer .elementor-column:nth-child(3){ order:2; }
  footer.elementor-location-footer .elementor-column:nth-child(2){
    order:3;
    width:100% !important;
  }
  footer.elementor-location-footer .elementor-widget-wrap{
    padding:0 !important;
  }
  footer.elementor-location-footer .elementor-column:nth-child(2) .elementor-widget-wrap{
    margin-top:18px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
  }
  footer.elementor-location-footer p.rm-legal{
    margin:0 !important;
    text-align:center !important;
    font-size:11.5px !important;
  }
  footer.elementor-location-footer .elementor-icon-list-item{
    margin-bottom:8px !important;
  }
}

/* --- 75.5 landing-page disclaimer: retire the #ff0000 / #000000 inline ---- */
.elementor-element-b665076 .wd-text-block h5 span{
  color:#8a97ab !important;
  letter-spacing:.14em !important;
}
.elementor-element-b665076 .wd-text-block h6 span,
.elementor-element-b665076 .wd-text-block h6{
  color:#5c667e !important;
}

/* --- 75.6 specificity top-up ---------------------------------------------
   Elementor paints the inner .elementor-container with the section colour at
   a higher specificity than 75.1 could reach, which left a flat #0B1B3A band
   sitting on top of the new vertical gradient (visible as a lighter 1140px
   strip across the middle of the footer on desktop). Raise and repeat.      */
html body footer.elementor-location-footer .elementor-section > .elementor-container,
html body footer.elementor-location-footer .elementor-section .elementor-container,
html body footer.elementor-location-footer .elementor-column > .elementor-widget-wrap,
html body footer.elementor-location-footer .elementor-widget-wrap.elementor-element-populated{
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}


/* ============================================================================
   76. LANDING PAGE - ONE DESIGN SYSTEM
   Diagnosis of the "cut and stitched" look, measured on the live page:
     1) VERTICAL RHYTHM was random. The 15 top-level sections used
        56/28, 28/48, 48/40, 56/56, 48/40, 64/64, 40/48, 48/24, 24/16, 0/40,
        40/36, 44/44, 28/28 - thirteen different padding pairs, no scale.
     2) SECTION TITLES used 6 sizes (30/34/38/43/45/48px), 2 weights (700/800),
        2 colours (#242424 and #0E1A33) and 3 letter-spacings.
     3) WAVE DIVIDERS were filled #F6F6F6 on sections 5 and 12 while their
        neighbours are #FFFFFF - that is the mystery grey band above the blue
        CTA. Section 8 carried two white-on-white waves doing nothing but
        eating 140px.
     4) CARD LANGUAGE had 6 radii (6/10/14/16/20/30px), 5 shadow recipes and
        3 near-identical border greys (#E4E8F0 / #e4e8f0 / #e4e8f0). Blog
        cards had square corners and WoodMart's generic grey glow; FAQ rows
        had a 2px #D5D8DC underline and no card at all.
     5) BAND ORDER ran W W T T W W T W W W W B W - four white sections in a
        row, so the tints read as accidents rather than structure.
     6) One empty zero-height leftover section (e920db1).
   Fix: one token set, one 72/44px rhythm, one 36px title, one 16px card,
   one hairline, and a strict W W | T T | W | T T | W | T T | W | dark | W
   band cadence. Hero (676735b) is not touched.
   ========================================================================== */

/* --- 76.0 tokens ---------------------------------------------------------- */
.elementor-3469{
  --rm-ink:#0E1A33;
  --rm-body:#46536B;
  --rm-muted:#7B849B;
  --rm-blue:#193F99;
  --rm-navy:#0B1B3A;
  --rm-surface:#FFFFFF;
  --rm-tint:#F6F8FC;
  --rm-line:#e4e8f0;
  --rm-line-hi:#D6E0F2;
  --rm-r-card:16px;
  --rm-r-inner:12px;
  --rm-shadow:0 1px 2px rgba(14,26,51,.04), 0 10px 30px -18px rgba(14,26,51,.20);
  --rm-shadow-hi:0 1px 2px rgba(14,26,51,.05), 0 20px 44px -22px rgba(14,26,51,.30);
}

/* --- 76.1 one vertical rhythm --------------------------------------------
   72px between bands. Where two sections share a background they are joined
   (44 bottom + 24 top) so the pair reads as ONE band instead of two stitched
   panels. Law of proximity: related blocks sit closer than unrelated ones. */
.elementor-3469 > .elementor-element-1bfe6f1{ padding:72px 0 32px !important; }
.elementor-3469 > .elementor-element-624b861{ padding:0 0 72px !important; }
.elementor-3469 > .elementor-element-2a96c23a{ padding:72px 0 44px !important; }
.elementor-3469 > .rm-lossband{ padding:24px 0 72px !important; }
.elementor-3469 > .elementor-element-3d7b6087{ padding:72px 0 !important; }
.elementor-3469 > .rm-after{ padding:72px 0 44px !important; }
.elementor-3469 > .elementor-element-72924ad2{ padding:24px 0 72px !important; }
.elementor-3469 > .elementor-element-418b6cef{ padding:72px 0 !important; }
.elementor-3469 > .elementor-element-bc84d18{ padding:72px 0 18px !important; }
.elementor-3469 > .elementor-element-dc31d83{ padding:0 0 72px !important; }
.elementor-3469 > .elementor-element-463506ef{ padding:72px 0 !important; }
.elementor-3469 > .elementor-element-f7e6f8e{ padding:58px 0 !important; }
.elementor-3469 > .elementor-element-17069ef{ padding:44px 0 !important; }
.elementor-3469 > .elementor-element-e920db1{ display:none !important; }

/* --- 76.2 band cadence ---------------------------------------------------- */
.elementor-3469 > .elementor-element-1bfe6f1,
.elementor-3469 > .elementor-element-624b861,
.elementor-3469 > .elementor-element-3d7b6087,
.elementor-3469 > .elementor-element-418b6cef,
.elementor-3469 > .elementor-element-463506ef,
.elementor-3469 > .elementor-element-17069ef{
  background-color:#FFFFFF !important;
  background-image:none !important;
}
.elementor-3469 > .elementor-element-2a96c23a,
.elementor-3469 > .rm-lossband,
.elementor-3469 > .rm-after,
.elementor-3469 > .elementor-element-72924ad2,
.elementor-3469 > .elementor-element-bc84d18,
.elementor-3469 > .elementor-element-dc31d83{
  background-color:#F6F8FC !important;
  background-image:none !important;
}
.elementor-3469 > .elementor-element-f7e6f8e{
  background-color:#123A86 !important;
  background-image:linear-gradient(135deg,#16418F 0%,#0B1B3A 100%) !important;
}

/* --- 76.3 wave dividers: only the dark full-bleed bands keep them --------- */
.elementor-3469 > .elementor-element-3d7b6087 > .elementor-shape,
.elementor-3469 > .elementor-element-418b6cef > .elementor-shape{
  display:none !important;
}
.elementor-3469 > .elementor-element-f7e6f8e > .elementor-shape .elementor-shape-fill{
  fill:#FFFFFF !important;
}

/* --- 76.4 one section-header type scale ----------------------------------- */
.elementor-3469 .rm-voices__title,
.elementor-3469 .rm-lossband__title,
.elementor-3469 .rm-after__title,
.elementor-3469 .rm-why__h,
.elementor-3469 .elementor-element-7528cd8f .title,
.elementor-3469 .elementor-element-365e7029 .title,
.elementor-3469 .elementor-element-2fffdd6c .title,
.elementor-3469 .elementor-element-7fe112da .title,
.elementor-3469 .elementor-element-d831188 .elementor-heading-title{
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
  color:#0E1A33 !important;
  margin:0 0 14px !important;
}
.elementor-3469 .elementor-element-181ea31 .elementor-heading-title{
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1.28 !important;
  letter-spacing:-.01em !important;
  color:#FFFFFF !important;
}

/* --- 76.5 one eyebrow chip ------------------------------------------------ */
.elementor-3469 .rm-after__eyebrow,
.elementor-3469 .rm-lossband__eyebrow,
.elementor-3469 .rm-proof__eyebrow,
.elementor-3469 .elementor-element-365e7029 .title-subtitle,
.elementor-3469 .elementor-element-7fe112da .title-subtitle{
  display:inline-block !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  line-height:1.1 !important;
  color:#193F99 !important;
  background:#EAF0FB !important;
  border-radius:999px !important;
  padding:6px 14px !important;
  margin:0 0 16px !important;
}
/* the two sections that had no eyebrow at all */
.elementor-3469 .rm-why__h::before{
  content:"The difference";
  display:block;
  width:max-content;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.1;
  color:#193F99;
  background:#EAF0FB;
  border-radius:999px;
  padding:6px 14px;
  margin:0 0 16px;
}
.elementor-3469 .elementor-element-d831188 .elementor-heading-title::before{
  content:"Good to know";
  display:block;
  width:max-content;
  margin:0 auto 16px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.1;
  color:#193F99;
  background:#EAF0FB;
  border-radius:999px;
  padding:6px 14px;
}

/* --- 76.6 one deck / lede ------------------------------------------------- */
.elementor-3469 .rm-lossband__body,
.elementor-3469 .rm-proof__lede,
.elementor-3469 .rm-why__intro,
.elementor-3469 .rm-voices__foot{
  font-size:17px !important;
  line-height:1.65 !important;
  color:#46536B !important;
}

/* --- 76.7 one card ------------------------------------------------------- */
.elementor-3469 .rm-voice,
.elementor-3469 .rm-trustrow__item,
.elementor-3469 .rm-after__step,
.elementor-3469 .rm-proof__card,
.elementor-3469 .blog-post-loop .article-inner,
.elementor-3469 .elementor-toggle .elementor-toggle-item,
.elementor-3469 .product-grid-item .product-wrapper{
  background:#FFFFFF !important;
  border:1px solid #e4e8f0 !important;
  border-radius:16px !important;
  box-shadow:0 1px 2px rgba(14,26,51,.04), 0 10px 30px -18px rgba(14,26,51,.20) !important;
}
.elementor-3469 .rm-voice,
.elementor-3469 .rm-trustrow__item,
.elementor-3469 .rm-after__step,
.elementor-3469 .rm-proof__card,
.elementor-3469 .blog-post-loop .article-inner{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.elementor-3469 .rm-voice:hover,
.elementor-3469 .rm-trustrow__item:hover,
.elementor-3469 .rm-after__step:hover,
.elementor-3469 .rm-proof__card:hover,
.elementor-3469 .blog-post-loop:hover .article-inner{
  transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(14,26,51,.05), 0 20px 44px -22px rgba(14,26,51,.30) !important;
  border-color:#D6E0F2 !important;
}

/* --- 76.8 blog cards: square + grey glow -> same card as everything else -- */
.elementor-3469 .blog-post-loop .article-inner{
  overflow:hidden !important;
}
.elementor-3469 .blog-post-loop .article-body-container{
  padding:22px !important;
  background:transparent !important;
}
.elementor-3469 .blog-post-loop .post-img-wrapp,
.elementor-3469 .blog-post-loop .post-img-wrapp img{
  border-radius:0 !important;
}

/* --- 76.9 FAQ rows -> cards, not underlines ------------------------------ */
.elementor-3469 .elementor-toggle .elementor-toggle-item{
  margin-bottom:10px !important;
  overflow:hidden !important;
}
.elementor-3469 .elementor-toggle .elementor-tab-title{
  border:0 !important;
  background:transparent !important;
  padding:16px 20px !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  color:#0E1A33 !important;
}
.elementor-3469 .elementor-toggle .elementor-tab-title.elementor-active{
  color:#193F99 !important;
}
.elementor-3469 .elementor-toggle .elementor-toggle-icon{
  color:#193F99 !important;
}
.elementor-3469 .elementor-toggle .elementor-tab-content{
  border:0 !important;
  padding:0 20px 18px !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
  color:#46536B !important;
}

/* --- 76.10 tablet + mobile: same system, smaller steps ------------------- */
@media (max-width:1024px){
  .elementor-3469 > .elementor-element-1bfe6f1{ padding:56px 0 26px !important; }
  .elementor-3469 > .elementor-element-624b861{ padding:0 0 56px !important; }
  .elementor-3469 > .elementor-element-2a96c23a{ padding:56px 0 34px !important; }
  .elementor-3469 > .rm-lossband{ padding:20px 0 56px !important; }
  .elementor-3469 > .elementor-element-3d7b6087{ padding:56px 0 !important; }
  .elementor-3469 > .rm-after{ padding:56px 0 34px !important; }
  .elementor-3469 > .elementor-element-72924ad2{ padding:20px 0 56px !important; }
  .elementor-3469 > .elementor-element-418b6cef{ padding:56px 0 !important; }
  .elementor-3469 > .elementor-element-bc84d18{ padding:56px 0 16px !important; }
  .elementor-3469 > .elementor-element-dc31d83{ padding:0 0 56px !important; }
  .elementor-3469 > .elementor-element-463506ef{ padding:56px 0 !important; }
  .elementor-3469 .rm-voices__title,
  .elementor-3469 .rm-lossband__title,
  .elementor-3469 .rm-after__title,
  .elementor-3469 .rm-why__h,
  .elementor-3469 .elementor-element-7528cd8f .title,
  .elementor-3469 .elementor-element-365e7029 .title,
  .elementor-3469 .elementor-element-2fffdd6c .title,
  .elementor-3469 .elementor-element-7fe112da .title,
  .elementor-3469 .elementor-element-d831188 .elementor-heading-title{
    font-size:31px !important;
  }
}
@media (max-width:767px){
  .elementor-3469 > .elementor-element-1bfe6f1{ padding:44px 0 20px !important; }
  .elementor-3469 > .elementor-element-624b861{ padding:0 0 44px !important; }
  .elementor-3469 > .elementor-element-2a96c23a{ padding:44px 0 26px !important; }
  .elementor-3469 > .rm-lossband{ padding:16px 0 44px !important; }
  .elementor-3469 > .elementor-element-3d7b6087{ padding:44px 0 !important; }
  .elementor-3469 > .rm-after{ padding:44px 0 26px !important; }
  .elementor-3469 > .elementor-element-72924ad2{ padding:16px 0 44px !important; }
  .elementor-3469 > .elementor-element-418b6cef{ padding:44px 0 !important; }
  .elementor-3469 > .elementor-element-bc84d18{ padding:44px 0 14px !important; }
  .elementor-3469 > .elementor-element-dc31d83{ padding:0 0 44px !important; }
  .elementor-3469 > .elementor-element-463506ef{ padding:44px 0 !important; }
  .elementor-3469 > .elementor-element-f7e6f8e{ padding:70px 0 !important; }
  .elementor-3469 > .elementor-element-17069ef{ padding:32px 0 !important; }
  .elementor-3469 .rm-voices__title,
  .elementor-3469 .rm-lossband__title,
  .elementor-3469 .rm-after__title,
  .elementor-3469 .rm-why__h,
  .elementor-3469 .elementor-element-7528cd8f .title,
  .elementor-3469 .elementor-element-365e7029 .title,
  .elementor-3469 .elementor-element-2fffdd6c .title,
  .elementor-3469 .elementor-element-7fe112da .title,
  .elementor-3469 .elementor-element-d831188 .elementor-heading-title{
    font-size:26px !important;
    line-height:1.2 !important;
    margin:0 0 12px !important;
  }
  .elementor-3469 .elementor-element-181ea31 .elementor-heading-title{
    font-size:22px !important;
  }
  .elementor-3469 .rm-after__eyebrow,
  .elementor-3469 .rm-lossband__eyebrow,
  .elementor-3469 .rm-proof__eyebrow,
  .elementor-3469 .elementor-element-365e7029 .title-subtitle,
  .elementor-3469 .elementor-element-7fe112da .title-subtitle,
  .elementor-3469 .rm-why__h::before,
  .elementor-3469 .elementor-element-d831188 .elementor-heading-title::before{
    font-size:10.5px !important;
    padding:5px 12px !important;
    margin-bottom:13px !important;
  }
  .elementor-3469 .rm-lossband__body,
  .elementor-3469 .rm-proof__lede,
  .elementor-3469 .rm-why__intro,
  .elementor-3469 .rm-voices__foot{
    font-size:15.5px !important;
  }
  .elementor-3469 .blog-post-loop .article-body-container{ padding:18px !important; }
  .elementor-3469 .elementor-toggle .elementor-tab-title{ font-size:15.5px !important; padding:14px 16px !important; }
  .elementor-3469 .elementor-toggle .elementor-tab-content{ padding:0 16px 16px !important; font-size:15px !important; }
}

/* --- 76.11 rhythm specificity top-up -------------------------------------
   Elementor emits .elementor-3469 .elementor-element.elementor-element-ID
   (0-3-0) with !important for per-section padding, so the 76.1 selectors
   (0-2-0) lost. Same declarations, raised above Elementor's own.          */
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1{ padding:72px 0 32px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861{ padding:0 0 72px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a{ padding:72px 0 44px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087{ padding:72px 0 !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-72924ad2{ padding:24px 0 72px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef{ padding:72px 0 !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18{ padding:72px 0 18px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83{ padding:0 0 72px !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef{ padding:72px 0 !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{ padding:58px 0 !important; }
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-17069ef{ padding:44px 0 !important; }

@media (max-width:1024px){
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1{ padding:56px 0 26px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861{ padding:0 0 56px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a{ padding:56px 0 34px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087{ padding:56px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-72924ad2{ padding:20px 0 56px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef{ padding:56px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18{ padding:56px 0 16px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83{ padding:0 0 56px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef{ padding:56px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{ padding:64px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-17069ef{ padding:40px 0 !important; }
}
@media (max-width:767px){
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1{ padding:44px 0 20px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861{ padding:0 0 44px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a{ padding:44px 0 26px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087{ padding:44px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-72924ad2{ padding:16px 0 44px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef{ padding:44px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18{ padding:44px 0 14px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83{ padding:0 0 44px !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef{ padding:44px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{ padding:70px 0 !important; }
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-17069ef{ padding:32px 0 !important; }
}


/* ============================================================================
   77. LANDING PAGE - EDGE ALIGNMENT + HEADER CORRECTIONS
   Measured at 1440px and 1920px: the coloured bands were landing on FIVE
   different left edges going down the page -
       hero .............. x8    (WoodMart stretch)
       brand intro ....... x109  (boxed, 1222px)
       testimonials ...... x8
       loss band ......... x0
       products .......... x8
       after-you-pay ..... x150  (only 1140px wide!)
       since-2017 ........ x0    (WoodMart JS inline stretch)
       why-us ............ x8
       FAQ ............... x109  <- visible white gutters either side of the
                                    tint band, the most obvious seam
       blog .............. x109
       CTA ............... x8
   Bands that start and stop at different x is exactly what reads as
   "cut and stitched". Every band is now edge-to-edge and every content
   column is one 1140px measure. html/body already carry overflow-x:clip,
   so 100vw costs no horizontal scrollbar.
   ========================================================================== */

/* --- 77.1 every band edge-to-edge --------------------------------------- */
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef,
html body .elementor-3469 > .rm-after,
html body .elementor-3469 > .rm-lossband{
  position:relative;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

/* --- 77.2 one content measure inside every band ------------------------- */
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1 > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861 > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18 > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83 > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef > .elementor-container{
  max-width:1140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body .elementor-3469 > .rm-after,
html body .elementor-3469 > .rm-lossband{
  padding-left:max(20px, calc(50% - 570px)) !important;
  padding-right:max(20px, calc(50% - 570px)) !important;
}
@media (max-width:1200px){
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* --- 77.3 FAQ heading: the H2 carries no .elementor-heading-title class,
   so the 76.4 selector never matched and it stayed at 38px with no eyebrow */
.elementor-3469 .elementor-element-d831188 h2{
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
  color:#0E1A33 !important;
  margin:0 0 14px !important;
}
.elementor-3469 .elementor-element-d831188 h2::before{
  content:"Good to know";
  display:block;
  width:max-content;
  margin:0 auto 16px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.1;
  color:#193F99;
  background:#EAF0FB;
  border-radius:999px;
  padding:6px 14px;
}

/* --- 77.4 since-2017: the real headline was styled as a 17px lede -------
   Section 7 still holds the retired WoodMart title + info-boxes at height 0,
   so .rm-proof__lede is the visible headline and belongs on the title scale.
   The duplicate 36px H4 "Recall mastery since 2017" is collapsed already;
   pin it shut so it can never reflow back in.                            */
.elementor-3469 .rm-proof__lede{
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
  color:#0E1A33 !important;
  margin:0 0 18px !important;
}
.elementor-3469 .elementor-element-2fffdd6c{
  display:none !important;
}

/* --- 77.5 alignment consistency ----------------------------------------
   Law of alignment: single-column sections centre their header, two-column
   sections (brand intro, why-us) keep it left. Testimonials was the only
   single-column section still left-aligned.                             */
.elementor-3469 .rm-voices__title,
.elementor-3469 .elementor-element-4e307ff .rm-after__eyebrow,
.elementor-3469 .rm-voices__foot{
  text-align:center !important;
}
.elementor-3469 .elementor-element-4e307ff{
  text-align:center !important;
}
.elementor-3469 .rm-voices,
.elementor-3469 .rm-voice{
  text-align:left !important;
}
.elementor-3469 .rm-voices__foot{
  margin-top:22px !important;
  color:#7B849B !important;
  font-size:13.5px !important;
}

/* --- 77.6 mobile edges -------------------------------------------------- */
@media (max-width:767px){
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-1bfe6f1,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-624b861,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-bc84d18,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-dc31d83,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-463506ef{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  html body .elementor-3469 > .rm-after,
  html body .elementor-3469 > .rm-lossband{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .elementor-3469 .elementor-element-d831188 h2{
    font-size:26px !important;
    line-height:1.2 !important;
  }
  .elementor-3469 .elementor-element-d831188 h2::before{
    font-size:10.5px;
    padding:5px 12px;
    margin-bottom:13px;
  }
  .elementor-3469 .rm-proof__lede{
    font-size:26px !important;
    line-height:1.2 !important;
  }
}


/* ============================================================================
   78. LANDING PAGE - FINAL SEAM + COMPONENT PASS
   After 77 the WoodMart-stretched bands (testimonials, products, why-us, CTA)
   still measured x8-1433 while the rest measured x0-1440, leaving an 8px
   white sliver down both sides of every coloured band. Same edge for all.
   Plus: the since-2017 headline lost its auto centring, the FAQ toggle glyph
   renders as a dark block, and blog cards were centre-set while every other
   card on the page is left-set.
   ========================================================================== */

/* --- 78.1 the last 8px: stretched bands share the same edge -------------- */
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087 > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef > .elementor-container,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e > .elementor-container{
  max-width:1140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:1200px){
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}
@media (max-width:767px){
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

/* --- 78.2 since-2017 headline: restore auto centring --------------------- */
.elementor-3469 .rm-proof__lede{
  margin:0 auto 18px !important;
  text-align:center !important;
}

/* --- 78.3 FAQ: replace the block glyph with a hairline chevron ----------- */
.elementor-3469 .elementor-toggle .elementor-tab-title{
  position:relative !important;
  padding-right:52px !important;
  cursor:pointer;
}
.elementor-3469 .elementor-toggle .elementor-toggle-icon{
  display:none !important;
}
.elementor-3469 .elementor-toggle .elementor-tab-title::after{
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:9px;
  height:9px;
  margin-top:-6px;
  border-right:2px solid #193F99;
  border-bottom:2px solid #193F99;
  transform:rotate(45deg);
  transition:transform .22s ease;
}
.elementor-3469 .elementor-toggle .elementor-tab-title.elementor-active::after{
  transform:rotate(-135deg);
  margin-top:-2px;
}
.elementor-3469 .elementor-toggle .elementor-toggle-item:hover{
  border-color:#D6E0F2 !important;
}

/* --- 78.4 blog cards: left-set like every other card -------------------- */
.elementor-3469 .blog-post-loop .article-body-container,
.elementor-3469 .blog-post-loop .entry-content,
.elementor-3469 .blog-post-loop .wd-entry-content,
.elementor-3469 .blog-post-loop .read-more-section,
.elementor-3469 .blog-post-loop h3.wd-entities-title{
  text-align:left !important;
}
.elementor-3469 .blog-post-loop h3.wd-entities-title{
  font-size:17.5px !important;
  font-weight:700 !important;
  line-height:1.38 !important;
  letter-spacing:-.01em !important;
  margin:0 0 10px !important;
}
.elementor-3469 .blog-post-loop h3.wd-entities-title a{
  color:#0E1A33 !important;
}
.elementor-3469 .blog-post-loop .wd-entry-content{
  font-size:14.5px !important;
  line-height:1.65 !important;
  color:#46536B !important;
}
.elementor-3469 .blog-post-loop .read-more-section{
  margin:14px 0 0 !important;
}
.elementor-3469 .blog-post-loop a.btn-read-more{
  font-size:12.5px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  color:#193F99 !important;
  border:0 !important;
  background:none !important;
  padding:0 !important;
}
.elementor-3469 .blog-post-loop a.btn-read-more:hover{
  color:#0B1B3A !important;
}
/* date badge: inset, rounded, on-brand */
.elementor-3469 .blog-post-loop .post-date.wd-post-date{
  border-radius:12px !important;
  margin:12px !important;
  box-shadow:0 4px 14px -6px rgba(14,26,51,.35) !important;
  padding:6px 4px !important;
  min-width:50px !important;
}
.elementor-3469 .blog-post-loop .post-date-day{
  font-size:20px !important;
  font-weight:800 !important;
  color:#0E1A33 !important;
  line-height:1.1 !important;
}
.elementor-3469 .blog-post-loop .post-date-month{
  font-size:10.5px !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  color:#193F99 !important;
}

/* --- 78.5 correction to 78.1 ---------------------------------------------
   WoodMart stretches its own sections with position:relative + left:-341.5px,
   so the negative margins from 78.1 stacked on top of that offset and shoved
   the four stretched bands 342px to the left. Drive them with the left
   property only, margins back to zero. Verified: every band now spans the
   full clipped viewport and every content column lands on x383 / 1140px. */
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-2a96c23a,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-3d7b6087,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-418b6cef,
html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{
  position:relative !important;
  left:calc(50% - 50vw) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:100vw !important;
  max-width:100vw !important;
}

/* ============================================================================
   79. LANDING PAGE - COMPONENT POLISH
   Measured at 391px: the eyebrow pills were stretching to the full column
   (351px for a 90px label) because their parents are flex columns, so they
   read as full-width bars instead of chips. Also: START HERE badge wider
   than its card, blog cards ragged because the excerpt length sets the
   height, and carousel dots at default grey.
   ========================================================================== */

/* --- 79.1 eyebrow chips hug their label at every width ------------------- */
.elementor-3469 .rm-after__eyebrow,
.elementor-3469 .rm-lossband__eyebrow,
.elementor-3469 .rm-proof__eyebrow{
  width:max-content !important;
  max-width:100% !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* --- 79.2 START HERE badge inside its card ------------------------------- */
@media (max-width:767px){
  .elementor-3469 .rm-mark{
    font-size:9.5px !important;
    padding:0 7px !important;
    letter-spacing:.06em !important;
  }
}

/* --- 79.3 blog cards: equal height, CTA pinned to the baseline ---------- */
.elementor-3469 .blog-post-loop,
.elementor-3469 .blog-post-loop .article-inner{
  height:100% !important;
}
.elementor-3469 .blog-post-loop .article-inner{
  display:flex !important;
  flex-direction:column !important;
}
.elementor-3469 .blog-post-loop .article-body-container{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}
.elementor-3469 .blog-post-loop .read-more-section{
  margin-top:auto !important;
  padding-top:14px !important;
}

/* --- 79.4 carousel dots on brand --------------------------------------- */
.elementor-3469 .owl-dot span,
.elementor-3469 .wd-nav-pagin li a{
  background:#c9d4ea !important;
  border:0 !important;
  transition:background .2s ease, transform .2s ease !important;
}
.elementor-3469 .owl-dot.active span,
.elementor-3469 .wd-nav-pagin li.active a,
.elementor-3469 .wd-nav-pagin li a:hover{
  background:#193F99 !important;
  transform:scale(1.25) !important;
}

/* ________________________________________________________________
   80. PRODUCT CARDS - ONE HIGH-CONVERSION COMPONENT
   Landing grid, shop archive, related + upsell carousels all use
   the same card so the page reads as one system.
   Measured 10 Aug 2026 before this pass:
     - media panel 140x105 landscape, portrait art rendered 53x75
     - cards ragged height, CTAs sat on 3 different baselines
     - SELECT OPTIONS wrapped to 2 lines, ADD TO CART did not
     - "Premium Recalls" repeated on every card, "guidence" exposed
     - everything centre-set so nothing lined up down the column
   ________________________________________________________________ */

/* --- 80.1 grid + card shell: equal height, one frame ------------------ */
body .products,
body .wd-products-holder{ align-items:stretch !important; }

body .product-grid-item{ display:flex !important; }

body .product-grid-item > .product-wrapper{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  height:100% !important;
  padding:10px 10px 16px !important;
  background:#FFFFFF !important;
  border:1px solid #e4e8f0 !important;
  border-radius:16px !important;
  box-shadow:0 1px 2px rgba(14,26,51,.04), 0 10px 30px -18px rgba(14,26,51,.20) !important;
  overflow:hidden !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
body .product-grid-item:hover > .product-wrapper{
  transform:translateY(-3px) !important;
  border-color:#D6E0F2 !important;
  box-shadow:0 1px 2px rgba(14,26,51,.05), 0 20px 44px -22px rgba(14,26,51,.30) !important;
}
/* the recommended card carries the brand edge, nothing louder */
body .product-grid-item.rm-marked > .product-wrapper{
  border-color:#B9CCEE !important;
  box-shadow:0 0 0 1px rgba(25,63,153,.28), 0 2px 4px rgba(14,26,51,.05), 0 18px 40px -20px rgba(25,63,153,.35) !important;
}
/* the duplicate stacked image and the hover icon rail add nothing */
body .product-grid-item .product-element-top .hover-img,
body .product-grid-item .wd-buttons{ display:none !important; }

/* --- 80.3 text block: one order, left set, clamped title ------------- */
body .product-grid-item .product-element-bottom{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  width:100% !important;
  padding:14px 6px 0 !important;
  text-align:left !important;
}
body .product-grid-item .wd-entities-title{
  order:1 !important;
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:16.5px !important;
  line-height:1.34 !important;
  font-weight:700 !important;
  letter-spacing:-.005em !important;
  color:#0E1A33 !important;
  text-align:left !important;
  min-height:2.68em !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
body .product-grid-item .wd-entities-title a{
  color:inherit !important; font:inherit !important; letter-spacing:inherit !important;
}

/* category row: noise inside the funnel, an eyebrow on the archive */
body .elementor-3469 .product-grid-item .wd-product-cats,
body .related-products .product-grid-item .wd-product-cats,
body .related-and-upsells .product-grid-item .wd-product-cats,
body .up-sells .product-grid-item .wd-product-cats{ display:none !important; }
body .archive .product-grid-item .wd-product-cats,
body .post-type-archive-product .product-grid-item .wd-product-cats,
body .tax-product_cat .product-grid-item .wd-product-cats{
  order:0 !important;
  margin:0 0 6px !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  text-align:left !important;
}
body .product-grid-item .wd-product-cats a{ color:#8A93A6 !important; font:inherit !important; letter-spacing:inherit !important; }

/* --- 80.4 price: the number you pay is the loud one ------------------ */
body .product-grid-item .price{
  order:2 !important;
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:0 8px !important;
  margin:0 0 10px !important;
  padding:0 !important;
  text-align:left !important;
  justify-content:flex-start !important;
  line-height:1.15 !important;
}
body .product-grid-item .price del{
  order:1 !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  text-decoration:line-through !important;
  opacity:1 !important;
}
body .product-grid-item .price del,
body .product-grid-item .price del *{ color:#8A93A6 !important; font-size:inherit !important; font-weight:inherit !important; }
body .product-grid-item .price ins{
  order:2 !important;
  margin:0 !important;
  text-decoration:none !important;
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
body .product-grid-item .price ins,
body .product-grid-item .price ins *,
body .product-grid-item .price > .woocommerce-Price-amount,
body .product-grid-item .price > .woocommerce-Price-amount *{
  color:#0E1A33 !important; font-size:inherit !important; font-weight:inherit !important;
}
body .product-grid-item .price > .woocommerce-Price-amount{
  font-size:22px !important; font-weight:800 !important; letter-spacing:-.02em !important;
}
body .product-grid-item .price .screen-reader-text{ position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* --- 80.5 saving + freshness on one row ------------------------------ */
body .product-grid-item .rm-price-meta{
  order:3 !important;
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px 8px !important;
  margin:0 0 14px !important;
  padding:0 !important;
  min-height:24px !important;
  justify-content:flex-start !important;
}
body .product-grid-item .rm-save-chip{
  display:inline-flex !important;
  align-items:center !important;
  background:#eaf0fb !important;
  border:1px solid #D2E1FF !important;
  color:#173B90 !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}
body .product-grid-item .rm-updated-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  color:#5F6B82 !important;
  white-space:nowrap !important;
}
body .product-grid-item .rm-updated-dot{
  width:6px !important; height:6px !important; border-radius:50% !important;
  background:#1E9E62 !important;
  box-shadow:0 0 0 3px rgba(30,158,98,.14) !important;
}

/* --- 80.7 one reassurance line under every CTA ----------------------- */
body .product-grid-item .product-element-bottom::after{
  content:"Secure checkout";
  order:5 !important;
  display:block !important;
  width:100% !important;
  margin:9px 0 0 !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  color:#7B849B !important;
  text-align:center !important;
}
body .product-grid-item.downloadable .product-element-bottom::after,
body .product-grid-item.virtual .product-element-bottom::after{
  content:"Instant download";
}

/* --- 80.8 recommended marker sits on the panel, not on the border ---- */
body .product-grid-item .rm-mark{
  top:20px !important;
  left:21px !important;
  z-index:3 !important;
  margin:0 !important;
  background:#0B1B3A !important;
  color:#FFFFFF !important;
  font-size:9.5px !important;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  box-shadow:0 6px 14px -6px rgba(11,27,58,.55) !important;
}

/* --- 80.9 related + upsell carousels use the same card -------------- */
body .slider-type-product .owl-stage{
  display:flex !important;
  align-items:stretch !important;
}
body .slider-type-product .owl-item{ display:flex !important; height:auto !important; float:none !important; }
body .slider-type-product .owl-item > .slide-product{ display:flex !important; width:100% !important; }
body .slider-type-product .slide-product > .product-grid-item{ width:100% !important; }
body .related-products,
body .related-and-upsells,
body .up-sells{ text-align:left !important; }
body .related-products > h2,
body .related-and-upsells > h2,
body .up-sells > h2{
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  color:#0E1A33 !important;
  text-align:left !important;
  margin:0 0 18px !important;
}

/* --- 80.10 tablet ---------------------------------------------------- */
@media (max-width:1024px){
  body .product-grid-item .wd-entities-title{ font-size:15.5px !important; }
  body .product-grid-item .price ins,
  body .product-grid-item .price > .woocommerce-Price-amount{ font-size:20px !important; }
}

/* --- 80.11 phone: 2 columns that still read as premium -------------- */
@media (max-width:767px){
  body .product-grid-item > .product-wrapper{
    padding:8px 8px 13px !important;
    border-radius:14px !important;
  }
  body .product-grid-item .product-element-bottom{ padding:11px 4px 0 !important; }
  body .product-grid-item .wd-entities-title{
    font-size:13.5px !important;
    line-height:1.32 !important;
    min-height:2.64em !important;
    margin:0 0 6px !important;
  }
  body .product-grid-item .price{ gap:0 6px !important; margin:0 0 8px !important; }
  body .product-grid-item .price del{ font-size:12px !important; }
  body .product-grid-item .price ins,
  body .product-grid-item .price > .woocommerce-Price-amount{ font-size:17px !important; }
  body .product-grid-item .rm-price-meta{ gap:5px 6px !important; margin:0 0 11px !important; min-height:22px !important; }
  body .product-grid-item .rm-save-chip{ font-size:10.5px !important; padding:5px 8px !important; }
  body .product-grid-item .rm-updated-chip{ font-size:10.5px !important; }
  body .product-grid-item .product-element-bottom::after{
    font-size:10.5px !important;
    margin:7px 0 0 !important;
  }
  body .product-grid-item .rm-mark{
    top:15px !important; left:16px !important;
    font-size:9px !important; padding:6px 8px !important; letter-spacing:.08em !important;
  }
  body .related-products > h2,
  body .related-and-upsells > h2,
  body .up-sells > h2{ font-size:18px !important; margin:0 0 14px !important; }
}

/* --- 80.12 since-2017 card had 0 horizontal padding on a phone,
     so every stat label was flush against the card border --------- */
@media (max-width:767px){
  body .elementor-3469 .rm-proof__card{ padding:28px 20px !important; }
  body .elementor-3469 .rm-proof__grid{ width:100% !important; }
  body .elementor-3469 .rm-proof__item{ gap:12px !important; padding:11px 0 !important; }
  body .elementor-3469 .rm-proof__item + .rm-proof__item{ border-top:1px solid #eef1f7 !important; }
  body .elementor-3469 .rm-proof__n{ font-size:20px !important; white-space:nowrap !important; }
  body .elementor-3469 .rm-proof__l{ font-size:12px !important; line-height:1.35 !important; }
}

/* --- 80.13 long eyebrows must stay on one line on a phone --------- */
@media (max-width:430px){
  body .elementor-3469 .rm-eyebrow,
  body .elementor-3469 .elementor-widget-heading .rm-eyebrow,
  body .elementor-3469 .rm-proof__eyebrow{
    font-size:9.5px !important;
    letter-spacing:.1em !important;
    white-space:nowrap !important;
    max-width:100% !important;
  }
}
body .product-grid-item .rm-mark{
  top:13px !important;
  left:18px !important;
}

/* --- 81.2 the section eyebrow was breaking across two lines ------- */
@media (max-width:600px){
  body .elementor-3469 .title-after_title > p,
  body .elementor-3469 .wd-products-element .title-after_title p{
    font-size:9.5px !important;
    letter-spacing:.09em !important;
    white-space:nowrap !important;
    padding:6px 12px !important;
    max-width:100% !important;
  }
}

/* --- 81.3 phone: keep the price pair on one line ------------------ */
@media (max-width:767px){
  body .product-grid-item .rm-mark{ top:8px !important; left:10px !important; }
  body .product-grid-item .price{
    flex-wrap:nowrap !important;
    gap:0 5px !important;
    white-space:nowrap !important;
  }
  body .product-grid-item .price del{ font-size:11.5px !important; }
  body .product-grid-item .price ins,
  body .product-grid-item .price > .woocommerce-Price-amount{ font-size:16.5px !important; }
}

/* --- 81.4 very narrow phones: 340px and under -------------------- */
@media (max-width:360px){
  body .product-grid-item .price del{ font-size:10.5px !important; }
  body .product-grid-item .price ins,
  body .product-grid-item .price > .woocommerce-Price-amount{ font-size:15px !important; }
}
body .product-grid-item .product-rating-price{
  order:2 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body .product-grid-item .wrapp-product-price{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:100% !important;
  margin:0 !important;
}
body .product-grid-item .content-product-imagin{ display:none !important; }

/* --- 82.2 turn the hidden icon button into the card CTA ----------- */
body .product-grid-item .fade-in-block{
  order:3 !important;
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  margin:auto 0 0 !important;
  padding:0 !important;
  max-height:none !important;
  overflow:visible !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  position:static !important;
}
body .product-grid-item .fade-in-block .hover-content,
body .product-grid-item .fade-in-block .wd-more-desc{ display:none !important; }
body .product-grid-item .product-element-top .wd-buttons{ display:none !important; }

/* --- 82.3 carousel section heading matches the page scale --------- */
body .related-products > h3.title,
body .related-products > h2.title,
body .up-sells > h3.title,
body .up-sells > h2.title,
body .related-and-upsells h3.slider-title,
body .related-and-upsells h2.slider-title{
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  text-transform:none !important;
  color:#0E1A33 !important;
  text-align:left !important;
  margin:0 0 20px !important;
}
body .related-products > h3.title::after,
body .up-sells > h3.title::after,
body .related-and-upsells h3.slider-title::after{
  background:#193F99 !important;
  height:3px !important;
  width:32px !important;
  border-radius:2px !important;
}
@media (max-width:767px){
  body .related-products > h3.title,
  body .up-sells > h3.title,
  body .related-and-upsells h3.slider-title{ font-size:18px !important; margin:0 0 15px !important; }
}

/* --- 82.4 carousel arrows centre on the taller card -------------- */
body .slider-type-product .wd-btn-arrow,
body .slider-type-product .owl-nav > div{
  top:38% !important;
}
@media (max-width:767px){
}
body .product-grid-item .product-element-bottom .wd-buttons > *:not(.wd-add-btn){
  display:none !important;
}
body .product-grid-item .quick-view,
body .product-grid-item .wd-quick-view-icon,
body .product-grid-item .wd-wishlist-btn,
body .product-grid-item .wd-compare-btn,
body .product-grid-item .wd-quick-shop-btn{
  display:none !important;
}

/* ________________________________________________________________
   85. LAST SEAM - WooDmart paints a 32px absolute overlay at the
   foot of every product image, which read as a hairline across the
   bottom of the new panel.
   ________________________________________________________________ */
body .product-grid-item .product-element-top::after,
body .product-grid-item .product-element-top::before{
  display:none !important;
  content:none !important;
}


/* ________________________________________________________________

   86. PRODUCT CARD - premium finish, tighter rhythm, working hover.

   Rewritten. What the previous pass got wrong:
   - the CTA was capped by an inherited max-height:44px, so height:50px
     never took on desktop;
   - the phone gutter fix lost to five per-section rules carrying
     !important at a higher weight, so the 18px + 20px pair survived and
     the page still ran at 354px inside a 430px screen;
   - .wd-products-element kept a 390px width and -18px side margins from
     an earlier rule, which pushed the grid past the viewport;
   - .rm-trustrow__inner and the voices heading carried the same -18px
     compensation and overflowed once the gutter changed.

   Weights here are deliberate: selectors are repeated to outrank the
   older blocks rather than to shout. Nothing new is claimed on the
   card - the saving, the update date and the "limited offer" heading
   were already on the page; they are only given the emphasis they earn.
   ________________________________________________________________ */


/* ==========================================================
   86. PREMIUM PRODUCT CARDS (loop grid: home / shop / related)
   ========================================================== */

/* 86.1 Grid: full width, real CSS grid, no legacy negative margins */
html body .elementor-widget-container .wd-products-element.wd-products-element,
html body .wd-products-element.wd-products-element{width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body .wd-products-element .products.wd-products-holder{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
body .wd-products-element .products.wd-products-holder>.product-grid-item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;padding:0!important}

/* 86.2 Card shell */
body .product-grid-item.product-grid-item.product-grid-item .product-wrapper{position:relative!important;display:flex!important;flex-direction:column!important;gap:0!important;height:100%!important;padding:0!important;background:#fff!important;border:1px solid #e4e8f0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 1px 2px rgba(14,26,51,.04),0 6px 18px rgba(14,26,51,.05)!important;transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease!important}
@media (hover:hover){body .product-grid-item.product-grid-item.product-grid-item:hover .product-wrapper{transform:translateY(-4px)!important;border-color:#d6e0f2!important;box-shadow:0 2px 4px rgba(14,26,51,.05),0 18px 40px rgba(14,26,51,.12)!important}}
body .product-grid-item.product-grid-item.product-grid-item:has(.rm-mark) .product-wrapper{border-color:transparent!important;box-shadow:0 0 0 2px rgba(25,63,153,.55),0 10px 30px rgba(25,63,153,.18)!important}
@media (hover:hover){}

/* 86.4 Content block */
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;gap:0!important;padding:16px 16px 15px!important;text-align:left!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom>*{margin:0!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats{margin:0 0 6px!important;line-height:1!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats a{font-size:10px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#5b6a8c!important}
body.home .wd-products-element .wd-product-cats{display:none!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{margin:0 0 10px!important;min-height:0!important;height:auto!important;font-size:16.5px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:-.015em!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title a{color:#0e1a33!important;transition:color .2s ease!important}
body .product-grid-item.product-grid-item.product-grid-item:hover h3.wd-entities-title a{color:#193f99!important}

/* 86.5 Price + FOMO chips (buying block pinned to card bottom) */
body .product-grid-item.product-grid-item.product-grid-item .price{display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:8px!important;margin:auto 0 0!important;padding-top:2px!important;font-variant-numeric:tabular-nums!important}
body .product-grid-item.product-grid-item.product-grid-item .price del{opacity:1!important;font-size:14px!important;font-weight:500!important;color:#98a1b3!important;text-decoration-thickness:1px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{background:none!important;text-decoration:none!important;font-size:24px!important;font-weight:800!important;color:#0e1a33!important;letter-spacing:-.025em!important}
body .product-grid-item.product-grid-item.product-grid-item .price bdi{white-space:nowrap!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-price-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin:10px 0 0!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-save-chip{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:4px 9px!important;border-radius:999px!important;background:#e8f5ef!important;border:1px solid #bfe0d0!important;color:#1a6a49!important;font-size:11px!important;font-weight:700!important;letter-spacing:.01em!important;white-space:nowrap!important;box-shadow:none!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0!important;border:0!important;background:none!important;font-size:11.5px!important;font-weight:600!important;color:#6f7890!important;white-space:nowrap!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:#2e7d5b!important;box-shadow:0 0 0 3px rgba(46,125,91,.15)!important}
@media (hover:hover){}
@media (hover:hover){}
@keyframes rmSheen{0%{left:-60%}100%{left:120%}}

/* 86.7 Reassurance line + "START HERE" mark */
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{display:block!important;margin-top:10px!important;font-size:11.5px!important;font-weight:500!important;letter-spacing:.01em!important;color:#8a93a6!important;text-align:center!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-mark{position:absolute!important;top:12px!important;left:12px!important;z-index:3!important;padding:5px 10px!important;border-radius:999px!important;background:linear-gradient(180deg,#193f99,#12306f)!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important;box-shadow:0 4px 12px rgba(18,45,110,.35)!important}

/* 86.8 Mobile text overflow: section intros were forced to nowrap */
body .title-wrapper .title-after_title{display:block!important;width:auto!important;max-width:100%!important}
body .title-wrapper .title-after_title,body .title-wrapper .title-after_title *{white-space:normal!important;overflow-wrap:break-word!important}

/* 86.9 Mobile gutters: 38px each side was eating the layout */
@media (max-width:767px){
html body .elementor>.elementor-section.elementor-section.elementor-top-section.elementor-element.elementor-element{padding-left:16px!important;padding-right:16px!important}
html body .elementor .elementor-container.elementor-container.elementor-container.elementor-container{padding-left:0!important;padding-right:0!important}
html body .rm-trustrow__inner.rm-trustrow__inner,
html body .rm-voices__inner.rm-voices__inner,
html body .rm-voices__title.rm-voices__title,
html body .rm-voices__foot.rm-voices__foot{width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
}

/* 86.10 Mobile scale */
@media (max-width:767px){
body .wd-products-element .products.wd-products-holder{grid-template-columns:1fr!important;gap:10px!important}
body .product-grid-item.product-grid-item.product-grid-item .product-wrapper{border-radius:14px!important}
body .product-grid-item.product-grid-item.product-grid-item:hover .product-wrapper{transform:none!important;box-shadow:0 1px 2px rgba(14,26,51,.04),0 6px 18px rgba(14,26,51,.05)!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{padding:11px 11px 12px!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{margin-bottom:8px!important;font-size:13.5px!important}
body .product-grid-item.product-grid-item.product-grid-item .price{gap:6px!important}
body .product-grid-item.product-grid-item.product-grid-item .price del{font-size:12px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{font-size:19px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-price-meta{gap:6px!important;margin-top:7px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-save-chip{padding:3px 6px!important;font-size:9px!important;gap:3px!important;letter-spacing:0!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-chip{gap:4px!important;font-size:9.5px!important;letter-spacing:0!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-dot{width:6px!important;height:6px!important;box-shadow:0 0 0 2px rgba(46,125,91,.15)!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{margin-top:8px!important;font-size:10px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-mark{top:8px!important;left:8px!important;padding:4px 8px!important;font-size:9px!important;letter-spacing:.1em!important}
}
@media (max-width:389px){
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:12.5px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{font-size:17px!important}
}
@media (prefers-reduced-motion:reduce){
body .product-grid-item.product-grid-item.product-grid-item *,body .product-grid-item.product-grid-item.product-grid-item *::before,body .product-grid-item.product-grid-item.product-grid-item *::after{transition:none!important;animation:none!important}
}


/* 86.11 Tablet columns + honest urgency accent on the real saving */
@media (min-width:768px) and (max-width:991px){
body .wd-products-element .products.wd-products-holder{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:15.5px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{font-size:22px!important}
}
@keyframes rmSavePulse{0%,100%{box-shadow:0 1px 2px rgba(184,120,20,.25)}50%{box-shadow:0 1px 2px rgba(184,120,20,.25),0 0 0 4px rgba(232,163,61,.20)}}
body .product-grid-item.product-grid-item.product-grid-item .rm-save-chip{animation:none!important}
@media (prefers-reduced-motion:reduce){
body .product-grid-item.product-grid-item.product-grid-item .rm-save-chip{animation:none!important}
}


/* 86.12 Single product: match the loop's saving accent */
body.single-product .summary-inner .rm-price-meta .rm-save-chip.rm-save-chip{background:#e8f5ef!important;border:1px solid #bfe0d0!important;color:#1a6a49!important;font-weight:700!important;box-shadow:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){body.single-product .summary-inner .rm-price-meta .rm-save-chip.rm-save-chip{animation:none!important}}

/* 86.13 Phone: one product per row - horizontal list card (image rail + buying column) */
@media (max-width:767px){
body .wd-products-element .products.wd-products-holder{grid-template-columns:1fr!important;gap:10px!important}
body .product-grid-item.product-grid-item.product-grid-item .product-wrapper{border-radius:14px!important;overflow:hidden!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{min-width:0!important;padding:12px 12px 13px!important;justify-content:center!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:15px!important;margin:0 0 9px!important}
body .product-grid-item.product-grid-item.product-grid-item .price{margin:0!important;gap:7px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{font-size:21px!important}
body .product-grid-item.product-grid-item.product-grid-item .price del{font-size:13px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-price-meta{gap:7px!important;margin-top:8px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-save-chip{padding:4px 8px!important;font-size:10px!important;gap:4px!important;letter-spacing:.01em!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-chip{font-size:10.5px!important;gap:5px!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{text-align:center!important;margin-top:8px!important;font-size:10.5px!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-mark{top:8px!important;left:8px!important;padding:4px 7px!important;font-size:8.5px!important;letter-spacing:.08em!important}
body .product-grid-item.product-grid-item.product-grid-item .hover-img,body .product-grid-item.product-grid-item.product-grid-item .wd-buttons{display:none!important}
}
@media (max-width:389px){
body .product-grid-item.product-grid-item.product-grid-item .product-wrapper{}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:14px!important}
body .product-grid-item.product-grid-item.product-grid-item .price ins{font-size:19px!important}
}


/* 86.14 Phone: one per row on every product grid (archives too), carousels untouched */
@media (max-width:767px){
body .products.wd-products-holder:not(.wd-carousel){display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-left:0!important;margin-right:0!important}
body .products.wd-products-holder:not(.wd-carousel)>.product-grid-item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;padding:0!important}
}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{margin-top:9px!important;font-size:11px!important}

@media (max-width:767px){
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{text-align:left!important;margin-top:8px!important;font-size:10.5px!important}
}
@media (max-width:389px){
}
@media (hover:hover){}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{margin-top:9px!important}
@media (max-width:767px){
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{margin-top:8px!important}
}
@media (max-width:389px){
}


/* ________________________________________________________________
   86.17 PREMIUM PRODUCT CARD - BRAND BLUE
   One primary hue (the site's royal blue), one semantic accent
   (green = money saved), neutrals for everything else. The media
   panel becomes a tinted "stage" and the artwork is tilted on a Y
   axis so a flat sheet reads as a physical product. The product
   category is promoted to a floating trust pill that stitches the
   media panel to the buying panel.
   Nothing here invents social proof, urgency or ratings.
   ________________________________________________________________ */

/* --- 86.17.1 card shell ------------------------------------------------- */
body .product-grid-item.product-grid-item.product-grid-item{
  background:#fff!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 0 0 1px #eaf0fb,0 2px 4px rgba(12,28,66,.04),0 14px 32px rgba(21,53,124,.09)!important;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease!important;
}
@media (hover:hover){
  body .product-grid-item.product-grid-item.product-grid-item:hover{transform:translateY(-4px)!important;box-shadow:0 0 0 1px #d7e3f8,0 20px 44px rgba(21,53,124,.17)!important}
}
body .product-grid-item.product-grid-item.product-grid-item.rm-marked{
  background:linear-gradient(180deg,#f6f8fc 0%,#fff 45%)!important;
  box-shadow:0 0 0 1.5px #4a7ce8,0 18px 40px rgba(21,53,124,.18)!important;
}
@media (hover:hover){
  body .product-grid-item.product-grid-item.product-grid-item.rm-marked:hover{box-shadow:0 0 0 1.5px #2f62d9,0 24px 50px rgba(21,53,124,.24)!important}
}
@media (hover:hover){
}

/* --- 86.17.3 floating category pill ------------------------------------- */
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{position:relative!important;padding-top:27px!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats{
  display:block!important;position:absolute!important;top:-14px!important;left:50%!important;
  transform:translateX(-50%)!important;margin:0!important;z-index:4!important;
  font-size:0!important;line-height:0!important;white-space:nowrap!important;
}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats a{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  background:#fff!important;border-radius:999px!important;padding:5px 11px 5px 9px!important;
  box-shadow:0 0 0 1px #dce7fa,0 5px 14px rgba(21,53,124,.12)!important;
  font-size:10px!important;line-height:1!important;font-weight:700!important;letter-spacing:.02em!important;
  color:#1b4bb0!important;text-transform:none!important;
}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats a:hover{color:#123a86!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats a::before{
  content:""!important;display:block!important;width:12px!important;height:12px!important;flex:0 0 12px!important;background:#3b82f6!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.2-4-4 1.5-1.5 2.5 2.5 5.6-5.6 1.5 1.5-7.1 7.1z'/></svg>") center/contain no-repeat!important;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.2-4-4 1.5-1.5 2.5 2.5 5.6-5.6 1.5 1.5-7.1 7.1z'/></svg>") center/contain no-repeat!important;
}

/* --- 86.17.4 title + meta ----------------------------------------------- */
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:17px!important;font-weight:700!important;color:#0e1a33!important;margin:0 0 9px!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title a:hover{color:#193f99!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-dot{background:#7ea6f0!important;box-shadow:none!important}
body .product-grid-item.product-grid-item.product-grid-item .rm-updated-chip{color:#6b7280!important}

/* --- 86.17.5 "Start here" mark ------------------------------------------ */
body .product-grid-item.product-grid-item.product-grid-item .rm-mark{
  display:inline-flex!important;align-items:center!important;gap:5px!important;border:0!important;
  background:linear-gradient(135deg,#193f99 0%,#3b82f6 100%)!important;color:#fff!important;
  padding:5px 11px 5px 9px!important;border-radius:999px!important;
  font-size:9.5px!important;font-weight:800!important;letter-spacing:.11em!important;
  box-shadow:0 5px 14px rgba(21,53,124,.35)!important;
}
body .product-grid-item.product-grid-item.product-grid-item .rm-mark::before{
  content:""!important;display:block!important;width:11px!important;height:11px!important;flex:0 0 11px!important;background:#fff!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 2l1.9 5.4L19.4 9l-5.5 1.6L12 16l-1.9-5.4L4.6 9l5.5-1.6L12 2z'/></svg>") center/contain no-repeat!important;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 2l1.9 5.4L19.4 9l-5.5 1.6L12 16l-1.9-5.4L4.6 9l5.5-1.6L12 2z'/></svg>") center/contain no-repeat!important;
}
@media (hover:hover){
}

/* --- 86.17.7 reassurance line ------------------------------------------- */
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{
  display:table!important;width:fit-content!important;max-width:100%!important;align-self:center!important;
  margin:10px auto 0!important;padding-left:17px!important;text-align:left!important;
  color:#8b8fa3!important;font-size:11px!important;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v11'/><path d='m7 10 5 5 5-5'/><path d='M4 20h16'/></svg>") left center/12px 12px no-repeat!important;
}

/* --- 86.17.8 phone: horizontal list card keeps the same language -------- */
@media (max-width:767px){
  body .product-grid-item.product-grid-item.product-grid-item{border-radius:14px!important}
  body .product-grid-item.product-grid-item.product-grid-item:hover{transform:none!important}
  body .product-grid-item.product-grid-item.product-grid-item .wd-product-cats{display:none!important}
  body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{padding-top:12px!important}
  body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{font-size:15px!important}
  body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom::after{align-self:flex-start!important;margin:9px 0 0!important;font-size:10.5px!important}
}
@media (max-width:389px){
}
@media (max-width: 768.98px) {
  body .product-grid-item.product-grid-item.product-grid-item a.added_to_cart,
  body .wd-product.wd-product.wd-product a.added_to_cart,
  body .products a.added_to_cart.wc-forward { display: none !important; }
}


/* ____________________ 86.19 CHECKOUT FUNNEL :: ONE SHAPE SYSTEM + CONVERSION POLISH ____________________ */

/* 19.1 one radius system through the funnel: 10px controls, 16px containers */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout #order_review{border-radius:16px !important}
body.woocommerce-cart #coupon_code,
body.woocommerce-cart .coupon.wd-coupon-form .button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order,
body .woocommerce-mini-cart__buttons a.button,
body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart .wd-buy-now-btn{border-radius:10px !important}

/* 19.2 cart primary CTA - a stray <br> inside the anchor was forcing an empty
   first line, making the button 74px tall with the label sitting low */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button br{display:none !important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
display:flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;
height:54px !important;min-height:54px !important;max-height:54px !important;padding:0 22px !important;
font-size:15px !important;font-weight:800 !important;letter-spacing:.045em !important;line-height:1 !important;
background-image:linear-gradient(135deg,#193f99 0%,#2258cc 45%,#3b82f6 100%) !important;background-color:#193f99 !important;color:#fff !important;border:0 !important;
box-shadow:0 6px 18px rgba(21,53,124,.28) !important;
transition:transform .18s ease,box-shadow .18s ease,background-image .18s ease !important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
transform:translateY(-2px) !important;box-shadow:0 10px 24px rgba(21,53,124,.34) !important;
background-image:linear-gradient(135deg,#12306f 0%,#1b4bb0 45%,#2f6fe0 100%) !important;color:#fff !important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{
content:"" !important;width:14px !important;height:14px !important;flex:0 0 auto !important;
background-color:currentColor !important;
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat !important;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat !important}
body.woocommerce-cart .wc-proceed-to-checkout>p{margin:0 0 4px !important}
body.woocommerce-cart .wc-ppcp-cart-or{font-size:12px !important;color:#8a97ab !important;margin:12px 0 !important}

/* 19.3 coupon: quiet secondary, never competing with the primary action */
body.woocommerce-cart .coupon.wd-coupon-form{
display:flex !important;flex-direction:row !important;align-items:center !important;
gap:10px !important;flex-wrap:nowrap !important;width:100% !important;max-width:100% !important;
box-sizing:border-box !important;border:0 !important;background:transparent !important;
padding:0 !important;margin:20px 0 0 !important}
body.woocommerce-cart .coupon.wd-coupon-form #coupon_code{
height:46px !important;min-height:46px !important;padding:0 14px !important;min-width:0 !important;
border:1px solid #dde5f4 !important;border-radius:10px !important;background:#fff !important;
font-size:14px !important;flex:0 1 230px !important;max-width:230px !important;box-sizing:border-box !important}
body.woocommerce-cart .coupon.wd-coupon-form #coupon_code:focus{
border-color:#3b82f6 !important;box-shadow:0 0 0 3px rgba(59,130,246,.16) !important;outline:0 !important}
body.woocommerce-cart .coupon.wd-coupon-form .button{
display:inline-flex !important;align-items:center !important;justify-content:center !important;
height:46px !important;min-height:46px !important;width:auto !important;flex:0 0 auto !important;
padding:0 18px !important;border:1px solid #c9d4ea !important;border-radius:10px !important;
background:#fff !important;color:#193f99 !important;font-size:13px !important;font-weight:700 !important;
letter-spacing:.03em !important;line-height:1 !important}
body.woocommerce-cart .coupon.wd-coupon-form .button:hover{background:#f5f7fb !important;border-color:#9fb8e6 !important}

/* 19.4 reassurance at the point of decision (all claims already made on the product page) */
body.woocommerce-cart .cart_totals .cart-totals-inner::after{
content:"Secure payment · Instant download";
display:block !important;width:fit-content !important;margin:14px auto 0 !important;
padding-left:20px !important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") left center/13px 13px no-repeat !important;
font-size:12px !important;font-weight:600 !important;line-height:1.5 !important;
color:#5b6a8c !important;text-align:center !important;white-space:nowrap !important}
body.woocommerce-cart .woocommerce-cart-form::after{
content:"✓  Instant access — your download link appears the moment payment is confirmed\A✓  Digital PDF — opens on a phone, tablet or laptop\A✓  One-time payment — no subscription, nothing renews on its own\A✓  Card details are handled by Razorpay or PayPal and never touch this site";
white-space:pre-line !important;display:block !important;margin:26px 0 0 !important;padding:18px 20px !important;
border:1px solid #e4e8f0 !important;border-radius:16px !important;background:#f6f8fc !important;
font-size:13px !important;line-height:2 !important;color:#3f4d66 !important;font-weight:500 !important}

/* 19.5 reclaim above-the-fold space in the funnel */
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title{padding:26px 0 !important}

/* 19.6 slide-in cart: one obvious primary */
body .woocommerce-mini-cart__buttons{display:flex !important;flex-direction:column !important;gap:10px !important}
body .woocommerce-mini-cart__buttons a.button{
display:flex !important;align-items:center !important;justify-content:center !important;
height:48px !important;min-height:48px !important;margin:0 !important;padding:0 18px !important;
font-size:13px !important;font-weight:800 !important;letter-spacing:.05em !important;line-height:1 !important}
body .woocommerce-mini-cart__buttons a.checkout{order:-1 !important;
background-image:linear-gradient(135deg,#193f99 0%,#2258cc 45%,#3b82f6 100%) !important;background-color:#193f99 !important;color:#fff !important;
border:0 !important;box-shadow:0 6px 18px rgba(21,53,124,.26) !important}
body .woocommerce-mini-cart__buttons a.checkout:hover{background-image:linear-gradient(135deg,#12306f 0%,#1b4bb0 45%,#2f6fe0 100%) !important;color:#fff !important}
body .woocommerce-mini-cart__buttons a.btn-cart{
background:#fff !important;background-image:none !important;color:#193f99 !important;
border:1px solid #c9d4ea !important;box-shadow:none !important}
body .woocommerce-mini-cart__buttons a.btn-cart:hover{background:#f5f7fb !important;border-color:#9fb8e6 !important;color:#12306f !important}

/* 19.7 payment rows - must be scoped under #payment to outrank the theme */
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method{
display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
align-items:center !important;column-gap:10px !important;row-gap:0 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>input[type="radio"]{
flex:0 0 auto !important;margin:0 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label{
display:flex !important;align-items:center !important;gap:8px !important;flex-wrap:nowrap !important;
flex-grow:1 !important;flex-shrink:1 !important;flex-basis:0% !important;
width:auto !important;min-width:0 !important;margin:0 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label img{
flex:0 0 auto !important;max-height:20px !important;width:auto !important;margin:0 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label img:first-of-type{
margin-left:auto !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>.payment_box{
flex-grow:1 !important;flex-shrink:0 !important;flex-basis:100% !important}

/* 19.8 remove dead-weight friction on a download-only checkout */
body.woocommerce-checkout .woocommerce-additional-fields{display:none !important}

/* 19.9 distraction-free tunnel: no floating mobile toolbar over the funnel */
body.woocommerce-cart .wd-toolbar,
body.woocommerce-checkout .wd-toolbar{display:none !important}

/* 19.10 product page: one primary, one secondary */
body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart .wd-buy-now-btn{
height:50px !important;min-height:50px !important;padding:0 24px !important;
font-size:14px !important;font-weight:800 !important;letter-spacing:.05em !important;line-height:1 !important}

/* 19.11 mobile */
@media (max-width:768.98px){
body.woocommerce-cart .page-title,body.woocommerce-checkout .page-title{padding:18px 0 !important}
body.woocommerce-cart .coupon.wd-coupon-form{margin:16px 0 0 !important;gap:8px !important}
body.woocommerce-cart .coupon.wd-coupon-form #coupon_code{flex:1 1 auto !important;max-width:none !important;width:auto !important}
body.woocommerce-cart .coupon.wd-coupon-form .button{padding:0 12px !important;font-size:11.5px !important;letter-spacing:.02em !important}
body.woocommerce-cart .coupon.wd-coupon-form label{display:none !important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{height:52px !important;min-height:52px !important;max-height:52px !important;font-size:14px !important}
body.woocommerce-cart .cart_totals .cart-totals-inner::after{white-space:normal !important}
body.woocommerce-cart .woocommerce-cart-form::after{margin:18px 0 0 !important;padding:14px 16px !important;font-size:12.5px !important;line-height:1.8 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label{gap:5px !important;font-size:13.5px !important;line-height:1.35 !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label img{max-height:16px !important}
body.woocommerce-cart .wd-toolbar,body.woocommerce-checkout .wd-toolbar{display:none !important}
}


body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label .mcc_currency_icons{
display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:5px !important;
flex:0 0 auto !important;margin-left:auto !important;width:auto !important;max-width:none !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label .mcc_currency_icons img{
margin:0 !important;max-height:18px !important;width:auto !important}
@media (max-width:768.98px){
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label .mcc_currency_icons{gap:4px !important}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method>label .mcc_currency_icons img{max-height:15px !important}
}
body .product-grid-item.product-grid-item.product-grid-item .product-element-top::before{display:none!important;content:none!important}
@media (hover:hover) and (pointer:fine){
}

/* --- 86.20.3 touch response: no 300ms delay, visible press state ----- */
body a,body button,body input,body select,body textarea,body label,body summary,
body .wd-tools-element,body [role=button]{touch-action:manipulation!important}
body a,body button,body .wd-tools-element,body [role=button],
body .elementor-toggle-title{-webkit-tap-highlight-color:rgba(28,70,168,.10)!important}
body .wd-add-btn>a.button:active,
body .single_add_to_cart_button:active,
body .wd-buy-now-btn:active,
body a.checkout-button:active,
body #place_order:active,
body .wd-toolbar a:active,
body .coupon .button:active{
  transform:translateY(1px) scale(.985)!important;
  transition:transform .06s ease-out!important;
}

/* --- 86.20.4 bigger, easier targets --------------------------------- */
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{margin:0 0 2px!important}
body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title>a{
  display:block!important;padding:5px 0 6px!important;border-radius:8px!important;
}
body .product-grid-item h3.wd-entities-title>a::first-letter,
body .product_title::first-letter{text-transform:uppercase!important}
body .woocommerce-cart-form .product-name>a,
body #order_review .product-name{display:inline-block!important}
body .woocommerce-cart-form .product-name>a::first-letter,
body #order_review .product-name::first-letter{text-transform:uppercase!important}
body #terms,body .woocommerce-form__input-checkbox{
  width:22px!important;height:22px!important;min-width:22px!important;
}
body .woocommerce-terms-and-conditions-checkbox-text{
  display:inline-block!important;padding:8px 0!important;
}

/* --- 86.20.6 header gutters (logo + menu were clipped on phones) ----- */
@media (max-width:1024px){
  body .whb-general-header .container,
  body .whb-header .container{padding-left:16px!important;padding-right:16px!important}
  body .whb-header .whb-column.whb-mobile-left{margin-left:0!important}
  body .whb-header .whb-column.whb-mobile-right{margin-right:0!important}
}

/* --- 86.20.7 one primary-button language end to end ------------------ */
body #place_order#place_order#place_order{
  background-color:#2258cc!important;
  background-image:linear-gradient(135deg,#193f99 0%,#2258cc 55%,#3b82f6 100%)!important;
  border:0!important;box-shadow:0 8px 20px rgba(28,70,168,.28)!important;
}
body #place_order#place_order#place_order:hover{
  background-color:#1b4bb0!important;
  background-image:linear-gradient(135deg,#12306f 0%,#1b4bb0 55%,#2f6fe0 100%)!important;
}

/* --- 86.20.8 phones -------------------------------------------------- */
@media (max-width:767px){
  body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title>a{padding:7px 0 8px!important}
  body .elementor-toggle .elementor-toggle-title{
    min-height:48px!important;display:flex!important;align-items:center!important;
    padding-top:11px!important;padding-bottom:11px!important;
  }
  body .rm-why__link,body .showcoupon,body .woocommerce-info a{
    display:inline-flex!important;align-items:center!important;min-height:44px!important;
  }
  body footer .elementor-icon-list-item>a{display:flex!important;align-items:center!important;min-height:42px!important}
  body .chaty-widget{bottom:66px!important}
}

/* ---- end 86 ---- */

/* =====================================================================
   87. PRODUCT CARD CTA + PRODUCT PAGE LAYOUT - one global definition
   Replaces the overlapping button rules built up in sections 35-86.
   ===================================================================== */
/* --- 87.1 buying block sits on the card floor so CTAs line up ------- */
body .product-grid-item.product-grid-item.product-grid-item .fade-in-block{margin-top:auto!important;opacity:1!important;visibility:visible!important;transform:none!important}

/* --- 87.2 button row lives in the card flow, not as a floating rail - */
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom .wd-buttons{
 display:flex!important;flex-direction:column!important;
 position:static!important;inset:auto!important;width:100%!important;
 margin:0!important;padding:0!important;background:none!important;
 box-shadow:none!important;border-radius:0!important;
 opacity:1!important;visibility:visible!important;transform:none!important}
body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom .wd-add-btn{
 display:block!important;width:100%!important;height:auto!important;margin:12px 0 0!important;order:4}

/* --- 87.3 the CTA itself: one row, icon beside the label ------------ */
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:center!important;gap:8px!important;
 width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;
 padding:0 14px!important;border:0!important;border-radius:10px!important;
 background:#193f99!important;color:#fff!important;
 font-size:11.5px!important;font-weight:700!important;letter-spacing:.04em!important;
 line-height:1!important;text-transform:uppercase!important;white-space:nowrap!important;
 text-align:center!important;transition:background-color .18s ease!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button>span{font-size:inherit!important;line-height:1!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button::before{margin:0!important;font-size:15px!important;line-height:1!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button:hover{background:#12306f!important}
/* WooDmart repeats the label in a tooltip span - one label is enough */
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn .wd-tooltip-label{display:none!important}

/* --- 87.4 carousels on phones keep the normal stacked card --------- */
@media (max-width:767px){
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-wrapper{display:flex!important;flex-direction:column!important}
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{padding:12px 12px 14px!important}
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button{height:40px!important;min-height:40px!important;max-height:40px!important;font-size:10px!important;gap:6px!important;padding:0 8px!important}
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .wd-entities-title{font-size:13px!important;line-height:1.35!important}
}

/* --- 87.5 product page: gallery follows the long right column ------- */
@media (min-width:1025px){
 body.single-product .product-images-inner{position:sticky;top:90px}
}
/* ---- end 87 ---- */

/* --- 87.6 carousel rows: one very tall picture must not open a hole - */
body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-element-top{
 display:flex!important;align-items:center!important;justify-content:center!important;height:200px!important}
body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-element-top img{
 width:auto!important;height:auto!important;max-width:100%!important;max-height:200px!important;object-fit:contain!important}
@media (max-width:767px){
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-element-top{height:150px!important}
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .product-element-top img{max-height:150px!important}
}

@media (max-width:767px){
 body .owl-item .product-grid-item.product-grid-item.product-grid-item .wd-entities-title{max-height:none!important;height:auto!important;overflow:visible!important}
}

/* --- 87.7 keep the theme cart icon inline (WooDmart replace-mode) --- */
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button{overflow:visible!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button::before{position:static!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;min-height:0!important;font-size:15px!important;line-height:1!important;margin:0!important;opacity:1!important;flex:0 0 auto!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button:hover::before{transform:none!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button>span{transform:none!important;min-height:0!important}
body .product-grid-item.product-grid-item.product-grid-item .wd-add-btn>a.button:hover>span{transform:none!important}
/* ---- end 87.7 ---- */


/* =====================================================================
 * 88. PHONE PRODUCT CARD - VERTICAL (THEME-NATURAL) LAYOUT
 * 86.13 turned the phone card into a horizontal list row (narrow image
 * rail + text column). Long titles were cut off and the artwork was
 * shrunk. Back to the theme's natural vertical stack: full-width image
 * on top, text underneath, full title visible. One card per row.
 * ===================================================================== */
@media (max-width:767px){
 body .product-grid-item.product-grid-item.product-grid-item .product-wrapper{display:block!important}
 body .product-grid-item.product-grid-item.product-grid-item .product-element-bottom{justify-content:flex-start!important}
 body .product-grid-item.product-grid-item.product-grid-item h3.wd-entities-title{display:block!important;-webkit-line-clamp:none!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:visible!important;font-size:15px!important;line-height:1.34!important}
}

/* 88.2 The wave dividers on the "Empowering your success" band are 70px
 * tall while the section padding is 44px, so the curve cut into the
 * heading and into the last bullet. Trimmed so the text always clears. */
body .elementor-element-f7e6f8e > .elementor-shape svg{height:40px!important}

/* 88.3 601-767px (big phones / small tablets): one full-width card made the
 * artwork enormous, so this band gets two per row. True phones (<=600px)
 * keep one per row with the full-size image. */
@media (min-width:601px) and (max-width:767px){
 body .wd-products-element .products.wd-products-holder:not(.wd-carousel),
 body .products.wd-products-holder:not(.wd-carousel){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* =====================================================================
 * 89. PRODUCT PAGE RHYTHM
 * The tab wrapper added 40px top/bottom on top of every section's own
 * padding, which read as dead space between blocks. Uses the existing
 * --rm-s spacing scale so the rhythm matches the rest of the site.
 * ===================================================================== */
body.single-product .product-tabs-wrapper{padding-top:var(--rm-s4)!important;padding-bottom:var(--rm-s4)!important;margin-bottom:var(--rm-s4)!important}
@media (max-width:767px){
 body.single-product .product-tabs-wrapper{padding-top:var(--rm-s3)!important;padding-bottom:var(--rm-s3)!important;margin-bottom:var(--rm-s3)!important}
}

/* 90. Checkout: card option reads as a plain card payment (processor badge hidden) */
li.wc_payment_method.payment_method_razorpay > label img{display:none!important}


/* --- 91. mobile CTA wave clearance -----------------------------------------
 * The wave divider on the dark CTA band sat only ~5px above the heading on
 * 360-430px screens, so on some phones the curve visually cut the first line.
 * Shallower curve + a little more breathing room above the text. */
@media (max-width:767px){
  html body .elementor-3469 > .elementor-section.elementor-element.elementor-element-f7e6f8e{
    padding-top:66px !important;
  }
  body .elementor-element-f7e6f8e > .elementor-shape svg{height:30px !important}
}


/* ---------------------------------------------------------------
 * Variation selector: use the standard WooCommerce dropdown.
 * WooCommerce already outputs a real <select>; the theme hides it
 * and draws swatch buttons instead. We hide the swatch buttons and
 * show the native select, so behaviour is 100% WooCommerce default.
 * ------------------------------------------------------------- */
.variations td.value .wd-swatches-product{display:none !important}
.variations td.value .wd-swatches-product + select{
  display:block !important;
  width:100%;
  max-width:340px;
}
