/* =============================================================================
   Checkout payment / shipping / order-note controls
   WooCommerce Blocks hides native radios (opacity:0) and draws its own mark.
   A previous selector-list bug also set the inputs to display:none. Draw a
   visible circle + tick on the option/label so the control cannot vanish.
   ========================================================================== */
html body.woocommerce-checkout .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-radio-control,
.wc-block-checkout .wc-block-components-radio-control {
  overflow: visible !important;
}

/* Native input stays clickable but never occupies the layout. */
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-checkout__payment-method input[type="radio"],
  .wc-block-components-shipping-rates-control input[type="radio"],
  .wc-block-components-radio-control input[type="radio"]
),
html body.woocommerce-cart :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-components-shipping-rates-control input[type="radio"]
),
.wc-block-checkout :is(
  .wc-block-components-radio-control .wc-block-components-radio-control__input,
  .wc-block-components-radio-control input[type="radio"]
) {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 3 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  background: none !important;
  border: 0 !important;
  clip: auto !important;
  clip-path: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control__option,
html body.woocommerce-cart .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-radio-control__option {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  min-height: 44px !important;
  padding: 11px 14px 11px 46px !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-radio-control__label,
.wc-block-checkout .wc-block-components-radio-control__label {
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 22px !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-radio-control__secondary-label,
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
  min-height: 22px !important;
  line-height: 22px !important;
  align-self: start !important;
}

/* Empty circle — same top as the first line of the label (11px padding). */
html body.woocommerce-checkout .wc-block-components-radio-control__option::before,
html body.woocommerce-cart .wc-block-components-radio-control__option::before,
.wc-block-checkout .wc-block-components-radio-control__option::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 14px !important;
  top: 11px !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: var(--surface-raised) !important;
  background-image: none !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control__option:has(:checked)::before,
html body.woocommerce-cart .wc-block-components-radio-control__option:has(:checked)::before,
.wc-block-checkout .wc-block-components-radio-control__option:has(:checked)::before,
html body.woocommerce-checkout .wc-block-components-radio-control__option--checked::before,
.wc-block-checkout .wc-block-components-radio-control__option--checked::before {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
}

/* Tick */
html body.woocommerce-checkout .wc-block-components-radio-control__option::after,
html body.woocommerce-cart .wc-block-components-radio-control__option::after,
.wc-block-checkout .wc-block-components-radio-control__option::after {
  content: none !important;
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control__option:has(:checked)::after,
html body.woocommerce-cart .wc-block-components-radio-control__option:has(:checked)::after,
.wc-block-checkout .wc-block-components-radio-control__option:has(:checked)::after,
html body.woocommerce-checkout .wc-block-components-radio-control__option--checked::after,
.wc-block-checkout .wc-block-components-radio-control__option--checked::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 22px !important;
  top: 15px !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  width: 6px !important;
  height: 11px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: none !important;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  transform: rotate(45deg) !important;
  pointer-events: none !important;
}

/* Order-note / terms / billing checkboxes — one square control, never two. */
html body.woocommerce-checkout .wc-block-components-checkbox,
.wc-block-checkout .wc-block-components-checkbox {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox > label,
.wc-block-checkout .wc-block-components-checkbox > label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 22px;
  padding-left: 0 !important;
  gap: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox > label::before,
html body.woocommerce-checkout .wc-block-components-checkbox > label::after,
.wc-block-checkout .wc-block-components-checkbox > label::before,
.wc-block-checkout .wc-block-components-checkbox > label::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"],
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block input[type="checkbox"],
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing input[type="checkbox"],
.wc-block-checkout .wc-block-components-checkbox__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 22px !important;
  box-sizing: border-box !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: var(--brand-mid) !important;
  background-color: var(--surface-raised) !important;
  background-image: none !important;
  border: 2px solid var(--brand-mid) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input:checked,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]:checked,
.wc-block-checkout .wc-block-components-checkbox__input:checked {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
}
html body.woocommerce-checkout .wc-block-components-checkbox__input:checked::after,
html body.woocommerce-checkout .wc-block-checkout__add-note input[type="checkbox"]:checked::after,
.wc-block-checkout .wc-block-components-checkbox__input:checked::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid var(--ink-on-brand) !important;
  border-width: 0 2.5px 2.5px 0 !important;
  border-radius: 0 !important;
  background: none !important;
  transform: rotate(45deg) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg),
html body.woocommerce-cart :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg),
.wc-block-checkout :is(.wc-block-components-checkbox__mark, .wc-block-components-checkbox svg) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  fill: none !important;
  width: 0 !important;
  height: 0 !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 16px 14px 16px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .payment_box,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="payment"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="ppcp"],
html body.woocommerce-checkout .payment_box {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *,
html body.woocommerce-checkout .payment_box *,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *::before,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content *::after,
.wc-block-checkout .wc-block-components-radio-control-accordion-content * {
  box-sizing: border-box !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a, strong, em, small, ul, form),
html body.woocommerce-checkout .payment_box :is(p, div, span, li, a, strong, em, small),
.wc-block-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a) {
  display: block !important;
  width: 100% !important;
  margin: 0 0 0.4em !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a):last-child,
html body.woocommerce-checkout .payment_box :is(p, div):last-child,
.wc-block-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a):last-child {
  margin-bottom: 0 !important;
}

html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]),
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) {
  display: block !important;
  min-height: 52px !important;
  overflow: visible !important;
  color: #1a1224 !important;
  background:
    linear-gradient(#ffc439, #ffc439) top / 100% 3px no-repeat,
    #f6f1fb !important;
  color-scheme: light !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) :is(p, a, div, strong, em, small),
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"], [data-pp-message]) :is(p, a, div, strong, em, small) {
  color: #1a1224 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  background: transparent !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) span,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) span {
  display: inline !important;
  color: inherit !important;
  font-size: inherit !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) a,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) a {
  color: #0070ba !important;
}
html body.woocommerce-checkout :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) iframe,
html body.woocommerce-cart :is(.ppcp-messages, [id^="ppcp-"][id*="paylater"]) iframe {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
}

/* Coupon row: pin the chevron to the same 16px right edge as Apply / Subtotal. */
html body.woocommerce-checkout :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
  .wc-block-components-panel.wc-block-components-totals-coupon
),
html body.woocommerce-cart :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block,
  .wc-block-components-panel.wc-block-components-totals-coupon
) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-checkout-order-summary-coupon-form-block
) > *,
html body.woocommerce-cart :is(
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block
) > * {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 14px 40px 14px 16px !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button :is(h2, h3, span, .wc-block-components-title),
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button :is(h2, h3, span, .wc-block-components-title) {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  font-weight: 750 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
  background: var(--brand-tint-soft) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button > svg,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button > svg,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button svg {
  position: absolute !important;
  top: 50% !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1 !important;
  display: block !important;
  flex: none !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__content {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__content,
html body.woocommerce-cart .wc-block-components-totals-coupon__content {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 16px 16px !important;
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__form,
html body.woocommerce-cart .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon :is(.wc-block-components-text-input, .wc-block-components-totals-coupon__input, .wc-block-components-validated-text-input),
html body.woocommerce-cart .wc-block-components-totals-coupon :is(.wc-block-components-text-input, .wc-block-components-totals-coupon__input, .wc-block-components-validated-text-input) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input label,
html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"],
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"] {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: 0 !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  line-height: 44px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"]:focus,
html body.woocommerce-checkout .wc-block-components-totals-coupon input[type="text"]:focus-visible,
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"]:focus,
html body.woocommerce-cart .wc-block-components-totals-coupon input[type="text"]:focus-visible {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-wash) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
html body.woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button,
html body.woocommerce-cart .wc-block-components-totals-coupon__button,
html body.woocommerce-cart .wc-block-components-totals-coupon__button.wc-block-components-button {
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 88px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 1.5px solid var(--brand) !important;
  border-radius: 12px !important;
  font: inherit !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
html body.woocommerce-checkout .wc-block-components-totals-coupon__button.outlined:disabled,
html body.woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
html body.woocommerce-cart .wc-block-components-totals-coupon__button.outlined:disabled {
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  opacity: 1 !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form,
  html body.woocommerce-cart .wc-block-components-totals-coupon__form {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
  html body.woocommerce-cart .wc-block-components-totals-coupon__button {
    width: 100% !important;
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-checkout-order-summary__title,
  .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  .wp-block-woocommerce-checkout-order-summary-block > h2
) {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 20px 20px 16px !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-checkout-order-summary__content,
  .wp-block-woocommerce-checkout-order-summary-cart-items-block,
  .wc-block-components-order-summary
) {
  overflow: visible !important;
  margin: 0 !important;
  padding-top: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item {
  overflow: visible !important;
  padding: 22px 20px 18px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
  padding-top: 24px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  inset: unset !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 2 !important;
  margin: 0 !important;
  transform: translate(-40%, -40%) !important;
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wc-block-checkout__actions_row,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block,
  html body.woocommerce-checkout .form-row.place-order,
  html body.woocommerce-checkout .ppc-button-wrapper,
  html body.woocommerce-cart .wc-block-cart__submit-container {
    position: static !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 20px 0 24px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 8px !important;
  }
}

/* =============================================================================
   RESPONSIVE AUDIT — tablet + phone alignment (v1.2.50)
   ========================================================================== */

.section-inner,
.page-shell__inner,
.page-card,
.pdp-container,
.pdp-details-col,
.product-info,
.product-name-row,
.community-content,
.community-inner,
.collection-header,
.collection-header-copy,
.hero-content,
.hero-collections,
.wc-block-components-product-name,
.page-title,
.pdp-title {
  min-width: 0;
}

h1, h2, h3, .page-title, .pdp-title, .product-name,
.wc-block-components-product-name,
.collection-header-title,
.hero h1 {
  overflow-wrap: break-word;
  word-break: normal;
}

@media (min-width: 601px) and (max-width: 1100px) {
  .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .categories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .category-card {
    min-height: 72px;
  }
  .category-info h3 {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.25;
  }
  .collection-header {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: var(--s-4);
  }
  .collection-header-stat { width: 88px; min-width: 88px; min-height: 88px; }
  .collection-header-stat strong { font-size: var(--t-xl); }
  .info-bar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rtf-account-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .community-btns {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    width: auto;
  }
  .community-btns .btn {
    width: auto;
    flex: 0 1 auto;
  }
  .community-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    grid-column: auto;
    justify-self: end;
    text-align: right;
  }
  .woocommerce-cart .wc-block-components-product-name {
    white-space: normal;
    overflow-wrap: break-word;
  }
}

@media (max-width: 1099px) {
  .product-card-actions {
    flex-direction: column;
    gap: 6px;
    padding-top: var(--s-3);
  }
  .btn-view-product,
  .quick-add-trigger {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    font-size: 11px;
  }
}

@media (max-width: 900px) {
  .community-stats { max-width: none !important; }
  .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--s-2);
  }
  .hero-actions .btn { width: 100%; min-width: 0; }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
  html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button) {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
    line-height: 1.2;
    padding-inline: 8px !important;
    justify-content: center;
    text-align: center;
  }
  .woocommerce-checkout .wc-block-components-radio-control__label,
  .woocommerce-checkout .wc-block-components-radio-control__secondary-label,
  .woocommerce-checkout .wc-block-components-radio-control__description {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: left !important;
  }
  .woocommerce-checkout .wc-block-components-radio-control__option-layout {
    align-items: flex-start !important;
    min-width: 0;
  }
  .pdp-price-row,
  .pdp-breadcrumb { min-width: 0; overflow-wrap: anywhere; }
  .info-item-text { min-width: 0; }
  .info-item-text span { overflow-wrap: anywhere; }
  .pdp-image-col {
    width: min(100%, 520px);
    justify-self: center;
  }
  .community-preorder-line {
    display: flex;
    max-width: 100%;
    white-space: normal;
  }
  .community-preorder-line-text { min-width: 0; overflow-wrap: anywhere; }
  .section-header h2,
  .section-header p { overflow-wrap: anywhere; }
  .woocommerce-checkout .wc-block-components-product-name {
    white-space: normal !important;
    overflow-wrap: break-word;
  }
}

@media (max-width: 700px) {
  .rtf-account-shortcuts { grid-template-columns: 1fr !important; }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .hero-actions { grid-template-columns: 1fr; }
  .product-name-row { min-width: 0; gap: 8px; }
  .product-name {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .pdp-title { overflow-wrap: break-word; word-break: normal; }
  .pdp-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-size: 12px !important;
    min-height: 44px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-info + .woocommerce-info) > .woocommerce-info .woocommerce-Button {
    width: 100%;
    justify-content: center;
    white-space: normal !important;
  }
  .community-links a,
  .community-links button { min-width: 0; overflow-wrap: anywhere; }
  .community-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }
  .community-btns .btn {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
  }
  .categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-stat-label { overflow-wrap: normal; white-space: nowrap; }
  .wc-block-components-checkbox__label {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: end !important;
    text-align: right !important;
  }
}

/* =============================================================================
   Mobile checkout — aligned sections + readable order summary
   ========================================================================== */
@media (max-width: 719px) {
  html body.woocommerce-checkout .page-shell { padding-top: var(--s-4); }
  html body.woocommerce-checkout .page-card,
  html body.woocommerce-checkout .page-card:has(.wc-block-checkout) {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html body.woocommerce-checkout .wc-block-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 12px 20px !important;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile) {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar { order: -1; }

  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment,
  html body.woocommerce-checkout .wc-block-checkout__add-note,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
  html body.woocommerce-checkout .wc-block-checkout__terms,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-checkout__add-note {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  html body.woocommerce-checkout .wc-block-components-checkout-step__title {
    font-size: 1rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form > * {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Checkboxes + note + terms: full width, label wraps beside the box */
  html body.woocommerce-checkout .wc-block-components-checkbox,
  html body.woocommerce-checkout .wc-block-components-checkbox > label,
  html body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox,
  html body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkbox__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  /* Shipping / payment rows: label wraps, price stays right */
  html body.woocommerce-checkout .wc-block-components-radio-control__option {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 12px 12px 46px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__option-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__label,
  html body.woocommerce-checkout .wc-block-components-radio-control__label-group {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
    justify-self: end !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content * {
    text-align: left !important;
  }

  /* Order summary card */
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2 {
    padding: 14px 14px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    grid-template-areas: 'image description total' !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    grid-area: image !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    top: 0 !important;
    left: 0 !important;
    transform: translate(-35%, -35%) !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    grid-area: description !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin-top: 6px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 3px 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    grid-column: 1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--ink-muted) !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    grid-column: 2 !important;
    min-width: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    padding-top: 1px !important;
    font-size: 0.9375rem !important;
  }

  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 10px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-column: 1 / -1 !important;
    margin: 6px 0 0 !important;
    max-width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-shipping__via,
  html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding: 12px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__content,
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px 12px !important;
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button,
  html body.woocommerce-checkout .wc-block-components-totals-coupon__button.wc-block-components-button {
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body.woocommerce-checkout .ppcp-messages,
  html body.woocommerce-checkout [id^='ppcp-'] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-inline: 0 !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }

  /* Keep the order summary on screen. Woo may clone it into the form —
     JS hides extras; CSS must never hide the last remaining copy. */
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__content,
  html body.woocommerce-checkout .wc-block-components-order-summary {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 768px) {
  html { overflow-x: clip; overflow-y: scroll; }

  .countdown-wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    padding: 14px !important;
  }
  .countdown-boxes {
    width: 100%;
    justify-content: space-between;
    gap: 6px;
  }
  .countdown-box {
    flex: 1 1 0;
    min-width: 0;
    padding: 8px 4px;
  }
  .countdown-num { font-size: 1.2rem; }
  .countdown-sep { padding-inline: 2px; }

  .collection-chips-wrap { margin-inline: 0; }
  .collection-chips {
    padding-inline: var(--rtf-section-inline, var(--gutter));
  }

  .related.products ul.products,
  .upsells.products ul.products,
  .related.products .products,
  .upsells.products .products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .related.products li.product,
  .upsells.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
  }

  .info-item {
    padding: 12px !important;
  }
  .info-item-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .community-inner {
    gap: 16px !important;
  }
  .community-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* Mini-basket rebuild — compact item rows that fit a phone-width drawer */
#cartDrawer ul.woocommerce-mini-cart {
  gap: 10px !important;
  padding: 0 2px 8px 0 !important;
  scrollbar-gutter: auto !important;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 12px !important;
}
#cartDrawer .rtf-mini-cart-product {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
#cartDrawer .rtf-mini-cart-head {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 56px !important;
  height: 56px !important;
}
#cartDrawer .rtf-mini-cart-name {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 40px 0 0 !important;
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  align-items: unset !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  top: 10px !important;
  right: 10px !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 10px !important;
}
#cartDrawer dl.rtf-mini-cart-options {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: none !important;
  gap: 6px !important;
  width: 100% !important;
}
#cartDrawer .rtf-mini-cart-option {
  display: inline-flex !important;
  flex-direction: row !important;
  flex: 0 1 auto !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
}
#cartDrawer .rtf-mini-cart-option dt {
  display: inline !important;
  width: auto !important;
  color: var(--ink-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
#cartDrawer .rtf-mini-cart-option dd {
  display: inline !important;
  width: auto !important;
  max-width: 100% !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-top: 0 !important;
  font-size: 12px !important;
}
#cartDrawer .rtf-mini-cart-footer {
  gap: 8px !important;
}
#cartDrawer .rtf-mini-cart-clear {
  justify-content: flex-start !important;
  margin: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button {
  min-height: 48px !important;
}
@media (max-width: 420px) {
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 52px !important;
    height: 52px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding-right: 40px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
  #cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options {
    grid-template-columns: none !important;
  }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    grid-template-columns: none !important;
    min-height: 0 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 340px) {
  #cartDrawer dl.rtf-mini-cart-options { grid-template-columns: none !important; }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    grid-template-columns: none !important;
    min-height: 0 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr !important;
  }
}

/* =============================================================================
   v1.2.187 - Chrome mobile category corner and zoom stability
   Keep rounded catalogue surfaces in the normal paint flow. Chrome can
   re-rasterise a large, clipped card layer at fractional page scales, which
   makes corners appear cut off or change shape while scrolling and zooming.
   Clip only the image itself and use radii derived from fixed control heights.
   ============================================================================= */
body.template-collection .product-card,
body.template-collection .product-card:hover {
  overflow: visible !important;
  contain: none !important;
  clip-path: none !important;
  transform: none !important;
}

body.template-collection .product-card .product-image,
body.template-collection .product-card .product-image-shell {
  overflow: visible !important;
}

body.template-collection .product-card .product-image-inner {
  overflow: hidden !important;
  border-radius: calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0 !important;
}

body.template-collection .product-card .product-info {
  border-radius: 0 0 calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px);
}

body.template-collection .collection-header-stat {
  flex: 0 0 112px;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
  height: 112px;
  min-height: 112px;
  max-height: 112px;
  aspect-ratio: auto;
  border-radius: 56px;
  contain: none;
  clip-path: none;
  transform: none;
}

body.template-collection .collection-chip {
  overflow: visible;
  border-radius: 19px;
  contain: none;
  clip-path: none;
  transform: none;
}

body.template-collection .collection-chip span {
  min-height: 22px;
  overflow: visible;
  border-radius: 11px;
  contain: none;
  clip-path: none;
  transform: none;
}

@media (max-width: 1100px) and (min-width: 601px) {
  body.template-collection .collection-header-stat {
    flex-basis: 88px;
    width: 88px;
    min-width: 88px;
    max-width: 88px;
    height: 88px;
    min-height: 88px;
    max-height: 88px;
    border-radius: 44px;
  }
}

@media (max-width: 600px) {
  body.template-collection .collection-header-stat {
    flex-basis: 76px;
    width: 76px;
    min-width: 76px;
    max-width: 76px;
    height: 76px;
    min-height: 76px;
    max-height: 76px;
    border-radius: 38px;
  }
}

/* =============================================================================
   v1.2.188 - Mobile search result arrow stability
   Inline SVG chevrons can be rasterised as triangular fragments by mobile
   Chrome and Firefox while the independently scrolling overlay is composited.
   Use one fixed text arrow with explicit geometry instead.
   ============================================================================= */
#searchOverlay .search-result-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  height: 28px;
  min-height: 28px;
  max-height: 28px;
  overflow: visible;
  font-family: system-ui, sans-serif;
  font-size: 20px;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  text-align: center;
  direction: ltr;
  writing-mode: horizontal-tb;
  clip-path: none;
  transform: none;
}

#searchOverlay .search-result-arrow svg {
  display: none !important;
}

@media (max-width: 600px) {
  #searchOverlay .search-result-arrow {
    display: none !important;
  }
}

/* Hero splash stats — keep labels on one line and columns even on phones */
@media (max-width: 900px) {
  .hero-stats {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) !important;
    align-items: stretch !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    text-align: center !important;
  }
  .hero-stat-num {
    display: block !important;
    width: 100% !important;
    font-size: clamp(1.35rem, 6.5vw, 1.75rem) !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }
  .hero-stat-label {
    display: block !important;
    width: 100% !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    color: var(--ink-muted) !important;
    font-size: clamp(0.5625rem, 2.6vw, 0.6875rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
  .hero-stat-divider {
    width: 1px !important;
    height: auto !important;
    min-height: 36px !important;
    align-self: stretch !important;
    justify-self: center !important;
    background: var(--line) !important;
  }
}

a.rtf-facebook-link,
a.rtf-facebook-link:hover,
a.rtf-facebook-link:focus,
a.rtf-facebook-link:focus-visible,
a[href*="facebook.com"],
a[href*="facebook.com"]:hover,
.announcement-bar a,
.announcement-bar a:hover,
.community-btns a,
.community-btns a:hover,
.mm-social a,
.mm-social a:hover,
a.info-item[href],
a.info-item[href]:hover {
  cursor: pointer !important;
  pointer-events: auto !important;
}
#mobileMenuPanel.open,
#mobileMenuPanel.open a,
#mobileMenuPanel.open button {
  cursor: pointer !important;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: color-mix(in srgb, var(--brand) 20%, transparent);
}

/* Cart + checkout option rows: never wrap letter-by-letter on WebKit */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line-soft) !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name {
    display: inline !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value {
    display: inline !important;
    flex: 1 1 12ch !important;
    width: auto !important;
    min-width: 12ch !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector {
    display: inline-flex !important;
    grid-template-columns: none !important;
    width: auto !important;
    min-width: 118px !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector__button,
  html body.woocommerce-cart .wc-block-components-quantity-selector__input {
    flex: 0 0 auto !important;
    width: 36px !important;
    min-width: 36px !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector__input {
    width: 42px !important;
    min-width: 42px !important;
  }
}

/* Mini-basket — phone sheet. Keep quantity visible and stop the item clipping. */
@media (max-width: 719px) {
  #cartDrawer {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px 18px 0 0 !important;
    top: auto !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: min(92dvh, 100%) !important;
    max-height: 92dvh !important;
    transform: translateY(104%);
  }
  #cartDrawer.open { transform: none; }
  #cartDrawer .cart-drawer-header {
    min-height: 56px !important;
    padding: 12px 16px !important;
  }
  #cartDrawer .cart-drawer-header h2 {
    font-size: 1.05rem !important;
  }
  #cartDrawer .cart-drawer-body {
    padding: 10px 12px 0 !important;
  }
  #cartDrawer .widget_shopping_cart_content {
    overflow: hidden !important;
  }
  #cartDrawer ul.woocommerce-mini-cart {
    gap: 8px !important;
    padding: 0 0 12px !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin !important;
  }
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    overflow: visible !important;
    padding: 12px !important;
  }
  #cartDrawer .rtf-mini-cart-product {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    height: 56px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding: 0 44px 0 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
  }
  #cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
  #cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
  }
  #cartDrawer dl.rtf-mini-cart-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  #cartDrawer .rtf-mini-cart-option {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
  }
  #cartDrawer .rtf-mini-cart-option dt,
  #cartDrawer .rtf-mini-cart-option dd {
    display: inline !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 34px !important;
    margin: 2px 0 0 !important;
    padding: 10px 0 2px !important;
    overflow: visible !important;
    border-top: 1px solid var(--line-soft) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity > span,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
    overflow: visible !important;
    white-space: nowrap !important;
  }
  #cartDrawer .rtf-mini-cart-footer {
    margin: 0 -12px 0 !important;
    padding: 10px 12px max(14px, env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-clear {
    justify-content: flex-start !important;
    order: 1 !important;
  }
  #cartDrawer .woocommerce-mini-cart__total {
    order: 2 !important;
    padding: 12px 14px !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    order: 3 !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons a.button {
    width: 100% !important;
    min-height: 46px !important;
  }
}

/* Pre-order modal — centred with stacked facts + sticky Understood on phones */
@media (max-width: 600px) {
  .modal-overlay {
    padding: 12px !important;
    align-items: center !important;
  }
  .modal-overlay .modal-box,
  #preorderBox {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(88dvh, 640px) !important;
    margin: 0 !important;
    padding: 18px 16px 14px !important;
    overflow: hidden !important;
    border-radius: 22px 22px 16px 16px !important;
  }
  .modal-header {
    flex: none !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }
  .modal-header h2 {
    min-width: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.2 !important;
  }
  .preorder-modal-intro {
    flex: none !important;
    margin-bottom: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
  }
  .preorder-modal-facts {
    flex: 0 1 auto !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }
  .preorder-modal-facts li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-areas: "icon label" "icon value" !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    padding: 12px 14px !important;
  }
  .preorder-fact-icon {
    grid-area: icon !important;
    margin-top: 1px !important;
  }
  .preorder-fact-label {
    grid-area: label !important;
    padding-top: 2px !important;
  }
  .preorder-fact-value {
    grid-area: value !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  .modal-footer {
    flex: none !important;
    margin-top: 16px !important;
  }
  .modal-footer .btn {
    min-height: 46px !important;
  }
}

/* Mini-basket remove: circular bin on every breakpoint, matching phones */
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove,
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  position: absolute !important;
  z-index: 3 !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-indent: -9999px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove .rtf-mini-cart-remove-label {
  display: none !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button::before,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove::before {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: currentColor !important;
  text-indent: 0 !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%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='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4.5h6V7M7.5 7l.75 13h7.5L16.5 7M10.5 10.5v6M13.5 10.5v6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:hover,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:hover,
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button:focus-visible,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove:focus-visible {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--rose-soft) !important;
}
#cartDrawer .rtf-mini-cart-name {
  padding-right: 44px !important;
}

/* Mobile checkout order summary — compact item rows, not stacked cards */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: var(--brand-tint-soft) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line-soft) !important;
    text-align: left !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button > span:first-child {
    min-width: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-formatted-money-amount {
    justify-self: end !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    padding: 14px 14px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    top: 0 !important;
    left: 0 !important;
    min-width: 20px !important;
    min-height: 20px !important;
    transform: translate(-30%, -30%) !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 0.8125rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > span {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    display: inline !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: var(--ink) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-area: total !important;
    align-self: start !important;
    justify-self: end !important;
    padding-top: 1px !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
}

/* Checkout sections — keep cards separated on phones */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout form.wc-block-components-form,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment,
  html body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
  html body.woocommerce-checkout .wc-block-checkout__add-note,
  html body.woocommerce-checkout .wc-block-checkout__terms,
  html body.woocommerce-checkout .wc-block-checkout__actions,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px 14px 18px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__heading-container,
  html body.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin: 0 0 16px !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding-top: 4px !important;
  }
  html body.woocommerce-checkout .wc-block-components-text-input,
  html body.woocommerce-checkout .wc-block-components-combobox,
  html body.woocommerce-checkout .wc-block-components-country-input,
  html body.woocommerce-checkout .wc-blocks-components-select {
    margin-top: 0 !important;
  }
}

/* Cart + checkout item cards: one aligned layout on phones */
@media (max-width: 781px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    padding: 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-area: image !important;
    width: 56px !important;
    height: 56px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    border-radius: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    min-width: 0 !important;
    padding-top: 2px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--ink) !important;
    font-size: 0.875rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices {
    display: none !important;
  }
  html body.woocommerce-cart .wc-block-components-product-metadata,
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    margin: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details,
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px 8px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    margin: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__quantity {
    grid-area: qty !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid var(--line-soft) !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid var(--line) !important;
    background: var(--surface-raised) !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Checkout totals: label + amount on one row */
@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-totals-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "label value"
      "desc desc" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__label {
    grid-area: label !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    grid-area: value !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-area: desc !important;
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-shipping__via,
  html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ink-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item {
    min-height: 52px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
    font-size: 1rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button > svg {
    position: static !important;
    transform: none !important;
    margin-left: auto !important;
  }
}

/* Cart/checkout options: one readable line each. Qty matches home 0.5m stepper. */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details,
  html body.woocommerce-checkout .wc-block-components-product-details,
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-checkout .wc-block-components-product-details.rtf-cart-details-normalised {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details > li,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > li,
  html body.woocommerce-checkout .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-checkout .wc-block-components-product-details > div {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
    margin-right: 6px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__value,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    color: var(--ink) !important;
    font-weight: 650 !important;
  }

  html body .wc-block-components-quantity-selector.rtf-block-qty {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 3px !important;
    overflow: visible !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-pill) !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__button {
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ink-muted) !important;
    background: var(--surface-raised) !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: var(--shadow-xs) !important;
    font-size: 1rem !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    color: var(--ink-on-brand) !important;
    background: var(--brand) !important;
  }
  html body .rtf-block-qty .wc-block-components-quantity-selector__input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    border: 0 !important;
    opacity: 0 !important;
  }
  html body .rtf-block-qty .qty-value,
  html body .rtf-block-qty .rtf-block-qty-value {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    height: 32px !important;
    color: var(--ink) !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums !important;
    line-height: 1 !important;
  }
}

/* =============================================================================
   v1.2.77 — Safari overlay isolation, tap targets, iOS safe area
   =============================================================================
   Closed drawers/overlays sat at z-index 1000+ with backdrop-filter still
   applied. On iOS Safari the composited layer intercepts taps even when
   pointer-events is none and visibility is hidden, so the header hamburger
   never fires. Closed surfaces now drop below the header, drop their
   backdrop-filter, and opt their descendants out of hit-testing.
   ========================================================================== */

.search-overlay:not(.open),
.modal-overlay:not(.open),
.lightbox-overlay:not(.open),
.cart-drawer-overlay:not(.open),
.wishlist-overlay:not(.open),
.mobile-menu-overlay:not(.open) {
  z-index: 0 !important;
  pointer-events: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  content-visibility: hidden;
}
.search-overlay:not(.open) *,
.modal-overlay:not(.open) *,
.lightbox-overlay:not(.open) *,
.cart-drawer-overlay:not(.open) *,
.wishlist-overlay:not(.open) *,
.mobile-menu-overlay:not(.open) * {
  pointer-events: none !important;
}
.cart-drawer:not(.open),
.wishlist-drawer:not(.open),
.mobile-menu:not(.open) {
  z-index: 0 !important;
  pointer-events: none !important;
}
.cart-drawer:not(.open) *,
.wishlist-drawer:not(.open) *,
.mobile-menu:not(.open) * {
  pointer-events: none !important;
}

.search-overlay.open,
.modal-overlay.open,
.lightbox-overlay.open {
  z-index: var(--z-modal);
  content-visibility: visible;
}
.cart-drawer-overlay.open,
.wishlist-overlay.open,
.mobile-menu-overlay.open {
  z-index: var(--z-overlay);
  content-visibility: visible;
}
.cart-drawer.open,
.wishlist-drawer.open,
.mobile-menu.open {
  z-index: var(--z-drawer);
}

/* Expand the visual 40px header icons to a 44px hit area without
   stealing space from the wordmark on 360px phones. */
.header-actions > button,
.header-actions > a,
.mobile-menu-btn {
  touch-action: manipulation;
}
.header-actions > button::after,
.header-actions > a::after {
  content: '';
  position: absolute;
  inset: -4px;
}
.announcement-bar {
  padding-left: max(12px, env(safe-area-inset-left));
  padding-right: max(12px, env(safe-area-inset-right));
  padding-top: env(safe-area-inset-top, 0px);
  height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
  min-height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
  max-height: calc(var(--announcement-height) + env(safe-area-inset-top, 0px));
}
.site-header {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

.mm-theme-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  margin: var(--s-4) var(--s-5) 0;
  padding: 10px 14px;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.mm-theme-row-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--ink);
}
.mm-theme-row .theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.mm-theme-row .theme-toggle:hover { color: var(--brand); border-color: var(--brand-soft); }

@media (max-width: 560px) {
  .community-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }
  .community-btns .btn {
    width: 100% !important;
    flex: none !important;
    white-space: nowrap;
  }
}

.product-wishlist,
.carousel-arrow-controls button {
  position: relative;
}
.product-wishlist::after,
.product-zoom::after,
.carousel-arrow-controls button::after {
  content: '';
  position: absolute;
  inset: -6px;
}

@media (max-width: 900px) {
  .header-actions > .mobile-menu-btn {
    display: inline-flex;
    z-index: 2;
  }
}

@media (max-width: 900px) {
  .hero-stat-label {
    font-size: 10px !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
}

@media (max-width: 600px) {
  .product-name,
  .hero-stat-label,
  .category-info h3 {
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  .hero-stat-label {
    font-size: 10px !important;
    letter-spacing: 0.03em !important;
  }
}

/* =============================================================================
   v1.2.78 — Checkout: static order breakdown, finished mobile layout
   The WooCommerce “N items” chevron was a dummy accordion: JS already forced
   the lines open, so the arrow did nothing. Hide it. Keep the coupon control.
   ========================================================================== */

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block > .wc-block-components-panel > .wc-block-components-panel__button,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-panel__button {
  display: none !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button svg,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button .wc-block-components-panel__button-icon,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title svg,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-panel__button-icon {
  display: none !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  pointer-events: none !important;
  cursor: default !important;
  background: var(--brand-tint-soft) !important;
}

html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
  pointer-events: auto !important;
  cursor: pointer !important;
  background: transparent !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  display: block !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-panel__content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__content,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
html body.woocommerce-checkout .wc-block-components-order-summary {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  visibility: visible !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    background: var(--brand-tint-soft) !important;
    border-bottom: 1px solid var(--line) !important;
  }
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout form.wc-block-components-form,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form,
  html body.woocommerce-checkout .wc-block-components-address-form-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-form > *,
  html body.woocommerce-checkout .form-row-first,
  html body.woocommerce-checkout .form-row-last,
  html body.woocommerce-checkout .form-row-wide {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 10px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 16px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
  html body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 52px !important;
  }
}

/* v1.2.79 — order summary items stay inside the card on mobile.
   Qty badge sits on the thumbnail (not hanging off the header).
   Name + price share a row; meta stacks underneath. */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
  position: relative !important;
  overflow: visible !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  top: auto !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  z-index: 2 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-area: description !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: hidden !important;
}

/* =============================================================================
   v1.2.81 — Mobile checkout order summary: use the full width, stop
   truncating the title, keep Scale/Base on one line each, keep the
   quantity on the thumbnail.
   ========================================================================== */
@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-checkout,
  html body.woocommerce-checkout .wc-block-checkout__form,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-mobile),
  html body.woocommerce-checkout .wp-block-woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__main,
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-components-sidebar,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    float: none !important;
    margin: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    order: -1 !important;
    position: static !important;
  }

  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px 12px !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    background: var(--brand-tint-soft) !important;
    border-bottom: 1px solid var(--line) !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button > span:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount,
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-formatted-money-amount {
    flex: 0 0 auto !important;
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    grid-area: image !important;
    position: relative !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    right: -4px !important;
    bottom: -4px !important;
    transform: none !important;
    z-index: 2 !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    grid-area: description !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 0.875rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-metadata {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    list-style: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details li,
  html body.woocommerce-checkout .wc-block-components-product-details > div,
  html body.woocommerce-checkout .wc-block-components-product-details > span {
    display: block !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 1.35 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name::after {
    content: "\00a0" !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    color: var(--ink) !important;
    font-weight: 650 !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    padding: 8px 14px !important;
  }
}

/* =============================================================================
   v1.2.82 — Payment options: one card, not a card inside a card inside a card.
   WooCommerce Blocks + PayPal wrap the method description in extra panels.
   ========================================================================== */
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--line-soft) !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 6px 0 4px 46px !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div, span, li, a, strong, em, small, ul, form, section, article, label),
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="payment"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [class*="ppcp"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .payment_box {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0.35em !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(span, strong, em, a, small, b, i) {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(p, div):last-child {
  margin-bottom: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content :is(iframe, button, input, select, textarea),
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content .paypal-buttons,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content [id^="paypal-"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: revert !important;
  background: revert !important;
  border: revert !important;
  border-radius: 8px !important;
  color: revert !important;
}

/* PayPal once: hide express (duplicate of the payment method) and extra
   smart-buttons in the accordion. Place order is the single PayPal action. */
html body.woocommerce-checkout .wc-block-components-express-payment,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
html body.woocommerce-checkout .wc-block-checkout__express-payment,
html body.woocommerce-checkout .wc-block-components-express-payment-continue-rule {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .paypal-buttons,
html body.woocommerce-checkout .wc-block-checkout__payment-method .paypal-buttons-context-iframe,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content iframe[title*="PayPal"],
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content iframe[name*="paypal"] {
  display: none !important;
}
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option {
  cursor: default;
}
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
  border-top: 0 !important;
}

html body.woocommerce-checkout .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-shipping-choice {
  width: 100%;
  margin: 0;
}
html body.woocommerce-checkout .rtf-shipping-has-select .wc-block-components-radio-control,
html body.woocommerce-checkout #shipping_method.rtf-shipping-has-select > li {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  html body.woocommerce-checkout .wc-block-checkout__payment-method {
    padding: 16px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
    padding: 4px 0 2px 46px !important;
  }
}

/* =============================================================================
   v1.2.85 — Mobile basket matches checkout cards, not a squeezed table.
   ========================================================================== */
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-sidebar-layout,
  html body.woocommerce-cart .wc-block-components-sidebar-layout.is-mobile,
  html body.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-mobile),
  html body.woocommerce-cart .wc-block-cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart__main,
  html body.woocommerce-cart .wc-block-cart__sidebar,
  html body.woocommerce-cart .wc-block-components-main,
  html body.woocommerce-cart .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar {
    overflow: hidden !important;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    box-shadow: var(--shadow-sm) !important;
  }

  html body.woocommerce-cart table.wc-block-cart-items,
  html body.woocommerce-cart .wc-block-cart-items,
  html body.woocommerce-cart .wc-block-cart-items tbody {
    display: grid !important;
    gap: 12px !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-items thead { display: none !important; }

  html body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "qty qty" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow: visible !important;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    box-shadow: var(--shadow-sm) !important;
  }
  html body.woocommerce-cart .wc-block-cart-items__row > td,
  html body.woocommerce-cart .wc-block-cart-items__row > * {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image {
    grid-area: image !important;
    width: 72px !important;
    max-width: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
    padding-right: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: product !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 1px 0 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    display: block !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__prices,
  html body.woocommerce-cart .wc-block-cart-item__prices::before {
    display: none !important;
    content: none !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 0.9375rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-cart .wc-block-components-product-metadata {
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details li,
  html body.woocommerce-cart .wc-block-components-product-details > div,
  html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details > [class*="wc-block-components-product-details__"]:not(.wc-block-components-product-details__name):not(.wc-block-components-product-details__value) {
    display: block !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name,
  html body.woocommerce-cart .wc-block-components-product-details__value {
    display: inline !important;
    width: auto !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name {
    color: var(--ink-muted) !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details__name::after {
    content: "\00a0" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__quantity {
    grid-area: qty !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--line-soft) !important;
  }
  html body.woocommerce-cart .wc-block-components-quantity-selector,
  html body.woocommerce-cart .qty-stepper.rtf-block-qty {
    display: inline-flex !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-height: 40px !important;
    overflow: visible !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link {
    display: inline-flex !important;
    width: auto !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: var(--ink-muted) !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__remove-link span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: nowrap !important;
  }

  html body.woocommerce-cart .wc-block-cart__totals-title {
    padding: 14px 16px !important;
    background: var(--brand-tint-soft) !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon__form {
    grid-template-columns: 1fr !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon__button,
  html body.woocommerce-cart .wc-block-cart__submit-button,
  html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
    width: 100% !important;
    min-height: 48px !important;
  }
  html body.woocommerce-cart .wc-block-components-express-payment--cart,
  html body.woocommerce-cart .wc-block-cart__payment-options,
  html body.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
    display: none !important;
  }
}

/* =============================================================================
   v1.2.86 — Thumbnails fill their square frames on mobile.
   Global `img { height: auto }` and WooCommerce loop CSS were leaving gaps.
   ========================================================================== */
.product-image-inner,
.pdp-thumb,
.pdp-main-image-trigger,
.search-result-image,
.wishlist-item-swatch,
.cart-page-item-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image,
.woocommerce-cart .wc-block-cart-item__image {
  position: relative !important;
  overflow: hidden !important;
  background: var(--surface-sunken);
}
.pdp-main-image-trigger { aspect-ratio: 1; width: 100%; }
.product-image-inner img,
.woocommerce ul.products li.product .product-image-inner img,
.woocommerce ul.products li.product .product-image img,
.pdp-thumb img,
.pdp-main-image-trigger .pdp-main-image,
.search-result-image img,
.wishlist-item-swatch img,
.cart-page-item-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .rtf-mini-cart-image img,
.woocommerce-cart .wc-block-cart-item__image a,
.woocommerce-cart .wc-block-cart-item__image img,
.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}
.woocommerce-cart .wc-block-cart-item__image,
.woocommerce-cart .wc-block-cart-item__image a {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
}
.cart-page-item-image { width: 96px; height: 96px; }
@media (max-width: 520px) {
  .cart-page-item-image { width: 72px; height: 72px; }
}

/* =============================================================================
   v1.2.87 — Basket cards match the rest of the site on desktop too.
   ========================================================================== */
html body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  padding: 16px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-cart .wc-block-cart-item__image { grid-area: image !important; width: 88px !important; height: 88px !important; }
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product { grid-area: product !important; padding-right: 0 !important; }
html body.woocommerce-cart .wc-block-cart-item__total { grid-area: total !important; justify-self: end !important; }
html body.woocommerce-cart .wc-block-cart-item__quantity { grid-area: qty !important; }
html body.woocommerce-cart .wc-block-cart-item__prices,
html body.woocommerce-cart .wc-block-cart-item__prices::before {
  display: none !important;
  content: none !important;
}
html body.woocommerce-cart .wc-block-components-product-details,
html body.woocommerce-cart .wc-block-components-product-details li,
html body.woocommerce-cart .wc-block-components-product-details .rtf-cart-detail {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector,
html body.woocommerce-cart .qty-stepper.rtf-block-qty {
  display: inline-flex !important;
  align-items: center !important;
  grid-template-columns: none !important;
  height: auto !important;
  min-height: 40px !important;
  padding: 3px !important;
  overflow: visible !important;
  border-radius: 999px !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link span {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
}
html body.woocommerce-cart .wc-block-components-express-payment,
html body.woocommerce-cart .wc-block-components-express-payment--cart,
html body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
html body.woocommerce-cart .wc-block-cart__payment-options,
html body.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
  display: none !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "qty qty" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image { width: 72px !important; height: 72px !important; }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: product !important;
    justify-self: end !important;
    align-self: start !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    padding-right: 72px !important;
  }
}

.wishlist-item-remove {
  width: 36px !important;
  height: 36px !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
}
.wishlist-item-remove .icon { width: 16px; height: 16px; }

html body.woocommerce-cart .wc-block-components-totals-footer-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item::before,
html body.woocommerce-cart .wc-block-components-totals-footer-item::after,
html body.woocommerce-cart .wc-block-components-totals-footer-item *::before,
html body.woocommerce-cart .wc-block-components-totals-footer-item *::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__description:empty,
html body.woocommerce-checkout .wc-block-cart__sidebar .wc-block-components-skeleton,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-skeleton__element {
  display: none !important;
}

html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked),
html body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
  overflow: visible !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
html body.woocommerce-checkout .wc-block-checkout__add-note,
html body.woocommerce-checkout .wc-block-checkout__order-notes,
html body.woocommerce-checkout .woocommerce-additional-fields,
html body.woocommerce-checkout .woocommerce-additional-fields-wrapper,
html body.woocommerce-checkout #order_comments_field,
html body.woocommerce-checkout #order_comments {
  display: none !important;
}

@media (min-width: 601px) and (max-width: 1024px) {
  html body.woocommerce-checkout .wc-block-components-checkout-step.wc-block-checkout__payment-method,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
  html body.woocommerce-checkout .wc-block-checkout__payment-method {
    padding: 18px 18px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-radio-control__option {
    min-height: 48px !important;
    padding: 8px 0 !important;
  }
}

#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  flex: none !important;
  align-items: baseline !important;
  gap: 0 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  display: inline !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  display: inline !important;
  min-width: 0 !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--line-soft) !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
#cartDrawer .rtf-mini-cart-quantity .qty-stepper {
  display: inline-flex !important;
}

html body.woocommerce-checkout :is(
  .wc-block-components-text-input,
  .wc-block-components-combobox,
  .wc-block-components-combobox-control,
  .wc-block-components-country-input,
  .wc-block-components-state-input,
  .wc-blocks-components-select,
  .wc-blocks-components-select__container,
  .components-base-control,
  .components-base-control__field
) {
  position: relative !important;
  padding-top: 0 !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input,
  .components-base-control__field,
  .wc-blocks-components-select,
  .wc-blocks-components-select__container
) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-combobox-control label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .wc-block-components-validated-text-input label,
  .components-base-control__label,
  .components-input-control__label
) {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2 !important;
  display: block !important;
  order: -1 !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 2px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  transform: none !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .components-base-control__label,
  .components-input-control__label
)::before,
html body.woocommerce-checkout :is(
  .wc-block-components-text-input label,
  .wc-block-components-combobox label,
  .wc-block-components-country-input label,
  .wc-block-components-state-input label,
  .wc-blocks-components-select__label,
  .wc-block-components-textarea label,
  .components-base-control__label,
  .components-input-control__label
)::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

@media (max-width: 900px) {
  .pdp-purchase-card {
    padding: 12px !important;
  }
  .pdp-purchase-card .variations {
    margin: 0 0 8px !important;
  }
  .pdp-purchase-card .variations tr + tr {
    margin-top: 10px !important;
  }
  .pdp-purchase-card .variations th,
  .pdp-purchase-card .variations td {
    padding: 0 !important;
  }
  .pdp-purchase-card .variations td {
    padding-top: 6px !important;
  }
  .pdp-purchase-card .variations th label {
    margin: 0 !important;
  }
  .pdp-purchase-card .base-selector-wrap,
  .pdp-purchase-card .scale-selector-wrap,
  .pdp-purchase-card .rtf-scale-option {
    margin: 0 0 10px !important;
  }
  .pdp-purchase-card .base-selector-wrap label,
  .pdp-purchase-card .scale-selector-wrap label,
  .pdp-purchase-card .rtf-scale-option label {
    margin-bottom: 6px !important;
  }
  .pdp-purchase-card .woocommerce-variation-description:empty,
  .pdp-purchase-card .woocommerce-variation-price:empty {
    display: none !important;
  }
  .pdp-purchase-card .woocommerce-variation-description,
  .pdp-purchase-card .woocommerce-variation-price {
    margin: 0 0 8px !important;
  }
  .pdp-purchase-card form.cart:not(.variations_form),
  .pdp-purchase-card .woocommerce-variation-add-to-cart {
    gap: 8px !important;
  }
  .pdp-purchase-card .rtf-choice-button,
  .pdp-purchase-card .pdp-qty-stepper,
  .pdp-purchase-card .pdp-qty-value,
  .pdp-purchase-card .qty-stepper,
  .product-details .pdp-purchase-card form.cart .single_add_to_cart_button,
  .pdp-purchase-card .btn.btn-primary {
    min-height: 48px !important;
  }
  .pdp-purchase-card .pdp-qty-add-row,
  .pdp-purchase-card .qty-row {
    gap: 8px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

.product-card {
  padding-top: 0 !important;
}
.product-image,
.product-image-inner {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
}
.product-image-inner {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
}
.product-image-inner img,
.woocommerce ul.products li.product .product-image-inner img,
.woocommerce ul.products li.product a.product-image img {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar {
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart__submit-container,
html body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
html body.woocommerce-cart .wc-block-cart__submit {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px 16px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
html body.woocommerce-cart a.wc-block-components-button.contained {
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  overflow: hidden !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button__text {
  text-decoration: none !important;
  box-shadow: none !important;
}
html body.woocommerce-cart #ppcp-cart-paylater-messages,
html body.woocommerce-cart .ppcp-messages,
html body.woocommerce-cart [id^="ppcp-"][id*="paylater"] {
  margin: 8px 16px 4px !important;
  max-width: calc(100% - 32px) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  align-items: start !important;
  padding: 18px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image {
  grid-area: image !important;
  width: 96px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
}
html body.woocommerce-cart .wc-block-cart-item__product {
  grid-area: product !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
html body.woocommerce-cart a.wc-block-components-product-name {
  color: var(--ink) !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name:hover {
  color: var(--brand) !important;
}
html body.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  padding: 2px 0 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__quantity {
  grid-area: qty !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--line-soft) !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector,
html body.woocommerce-cart .qty-stepper.rtf-block-qty {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 2px !important;
  width: auto !important;
  min-width: 132px !important;
  height: 44px !important;
  padding: 4px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector__input,
html body.woocommerce-cart .rtf-block-qty .cart-page-native-qty {
  order: 0 !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html body.woocommerce-cart .wc-block-components-quantity-selector__button--minus,
html body.woocommerce-cart .qty-minus { order: 1 !important; }
html body.woocommerce-cart .rtf-block-qty-value,
html body.woocommerce-cart .qty-value { order: 2 !important; }
html body.woocommerce-cart .wc-block-components-quantity-selector__button--plus,
html body.woocommerce-cart .qty-plus { order: 3 !important; }
html body.woocommerce-cart .wc-block-components-quantity-selector__button,
html body.woocommerce-cart .rtf-block-qty .qty-minus,
html body.woocommerce-cart .rtf-block-qty .qty-plus {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 50% !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
html body.woocommerce-cart .rtf-block-qty-value,
html body.woocommerce-cart .qty-value {
  min-width: 52px !important;
  padding: 0 6px !important;
  color: var(--ink) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-align: center !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  text-decoration: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link span {
  display: none !important;
}
html body.woocommerce-cart .wc-block-cart-item__remove-link svg {
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    padding: 14px !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
    align-items: start !important;
    overflow: visible !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-shipping-rates-control,
  .wc-block-components-shipping-rates-control__package,
  .wc-block-components-radio-control,
  #shipping_method,
  .woocommerce-shipping-methods,
  .woocommerce-checkout .woocommerce-shipping-methods
) {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li,
  .woocommerce-shipping-methods li
) {
  list-style: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li
)::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout #shipping_method li::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin-top: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout #shipping_method li::after {
  left: 21px !important;
  top: 16px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  grid-row: 1 !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout .rtf-shipping-has-select :is(
  .wc-block-components-radio-control,
  .rtf-shipping-native,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}


.wishlist-drawer,
#wishlistPanel {
  box-sizing: border-box;
  overflow: hidden;
}
.wishlist-drawer *,
#wishlistPanel * { box-sizing: border-box; }
.wishlist-drawer-items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-height: 0;
}
.wl-item {
  flex: 0 0 auto;
  min-width: 0;
  margin-bottom: 0;
  overflow: visible;
}
.wishlist-item-header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: center;
}
img.wishlist-item-swatch,
.wishlist-item-swatch {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: cover;
  object-position: center;
  background: var(--surface-sunken);
  border-radius: 10px;
}
.wishlist-item-name {
  display: block;
  overflow-wrap: break-word;
  color: var(--ink);
  text-decoration: none;
}
.wishlist-item-controls,
.wishlist-field,
.wishlist-item-controls .rtf-choice {
  width: 100%;
  min-width: 0;
}
.wl-bottom-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.wl-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 124px;
  height: 44px;
  padding: 3px;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: 999px;
}
.wishlist-drawer :is(.wishlist-item-remove, .rtf-choice-arrow, .wl-qty-stepper button) > .icon,
.wishlist-drawer-header button > .icon {
  display: block;
  margin: 0;
  vertical-align: middle;
}
.wl-add-btn { min-width: 0; }

@media (max-width: 600px) {
  .wishlist-drawer,
  #wishlistPanel {
    width: min(400px, 100%) !important;
    max-width: 100% !important;
    height: 100dvh !important;
    padding-bottom: env(safe-area-inset-bottom);
    border-radius: 20px 0 0 20px;
  }
  .wishlist-drawer-header {
    padding: calc(14px + env(safe-area-inset-top)) 14px 12px !important;
  }
  .wishlist-drawer-header h3 {
    font-size: 1.05rem;
  }
  .wishlist-drawer-actions {
    max-height: none !important;
    overflow: visible !important;
    padding: 10px 14px !important;
  }
  .wishlist-drawer-actions .wishlist-clear-btn,
  .wishlist-drawer-actions .rtf-empty-button {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
  }
  .wishlist-name-editor__row { grid-template-columns: minmax(0, 1fr) auto; }
  .wishlist-name-cancel { grid-column: 1 / -1; }
  .wishlist-drawer-items {
    padding: 12px 14px calc(16px + env(safe-area-inset-bottom)) !important;
    gap: 10px;
  }
  .wl-item {
    padding: 12px !important;
  }
  .wishlist-item-header {
    grid-template-columns: 56px minmax(0, 1fr) 36px !important;
    gap: 10px !important;
    align-items: center !important;
  }
  img.wishlist-item-swatch,
  .wishlist-item-swatch {
    width: 56px !important;
    height: 56px !important;
  }
  .wishlist-item-remove {
    justify-self: end;
  }
  .wishlist-item-controls {
    gap: 8px !important;
    margin-top: 10px !important;
  }
  .wishlist-item-controls .rtf-choice-button {
    min-height: 44px !important;
  }
  .wl-bottom-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .wl-qty-stepper,
  .wl-add-btn {
    width: 100% !important;
    justify-content: center;
  }
  .wl-qty-stepper {
    justify-content: space-between !important;
  }
  .rtf-choice-list--wishlist {
    max-width: calc(100vw - 48px);
  }
}

@media (max-width: 360px) {
  .wishlist-drawer-actions .wishlist-clear-btn {
    width: 100% !important;
  }
}

html body.woocommerce-checkout :is(
  .wc-block-components-shipping-rates-control,
  .wc-block-components-shipping-rates-control__package,
  .wc-block-components-radio-control,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li,
  .woocommerce-shipping-methods li
) {
  list-style: none !important;
}
html body.woocommerce-checkout :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-shipping-rates-control li,
  #shipping_method li
)::marker {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout #shipping_method li::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout #shipping_method li::after {
  left: 21px !important;
  top: 16px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: auto !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  grid-row: 1 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .rtf-shipping-has-select :is(
  .wc-block-components-radio-control,
  .rtf-shipping-native,
  #shipping_method,
  .woocommerce-shipping-methods
) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control__option::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content,
html body.woocommerce-checkout .rtf-payment-solo .wc-block-components-radio-control-accordion-content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content p {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .ppcp-messages,
html body.woocommerce-checkout .wc-block-checkout__payment-method [data-pp-message],
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .ppcp-messages,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block [data-pp-message] {
  display: block !important;
  margin-top: 8px !important;
}
html body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

@media (min-width: 782px) and (max-width: 1100px) {
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
  html body.woocommerce-checkout .wc-block-checkout__sidebar {
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    column-gap: 10px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details > *,
  html body.woocommerce-checkout .wc-block-components-product-details > span,
  html body.woocommerce-checkout .wc-block-components-product-details > li {
    display: block !important;
    grid-template-columns: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-details__name,
  html body.woocommerce-checkout .wc-block-components-product-details__value {
    display: inline !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "label value"
      "desc desc" !important;
    align-items: baseline !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    padding: 12px 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__label {
    grid-area: label !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: none !important;
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__value,
  html body.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    grid-area: value !important;
    justify-self: end !important;
    background: none !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-item__description {
    grid-area: desc !important;
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
  }
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    background: transparent !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 561px) and (max-width: 1100px) {
  .community-section {
    padding-bottom: 28px;
  }
  .community-inner {
    display: grid;
    gap: 20px;
  }
  .community-preorder-line {
    width: 100%;
    max-width: none;
  }
  .community-stats {
    width: 100%;
    max-width: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .stat-label {
    overflow-wrap: break-word;
    word-break: normal;
  }
  .community-links {
    justify-content: flex-start;
    gap: 10px 24px;
  }
  .community-subfooter {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    padding: 16px 0 8px;
  }
  .community-payment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    max-width: calc(100% - 56px);
    gap: 8px 12px;
  }
  .community-payment-icons {
    flex-wrap: wrap;
  }
  .back-to-top {
    right: 16px;
    bottom: 16px;
  }
}

html.rtf-scroll-locked {
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}
.mobile-menu.open {
  scrollbar-gutter: auto !important;
}

#cartDrawer,
.cart-drawer#cartDrawer {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  scrollbar-gutter: auto !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  scrollbar-gutter: auto !important;
  padding-right: 4px !important;
}
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  flex: none !important;
  align-items: baseline !important;
  gap: 0 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  display: inline !important;
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}
#cartDrawer .rtf-mini-cart-option dt::after {
  content: ":" !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  display: inline !important;
  min-width: 0 !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
}
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove,
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  font-size: 0 !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}
#cartDrawer .rtf-mini-cart-length,
#cartDrawer .rtf-mini-cart-quantity > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity strong {
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
}
#cartDrawer .rtf-mini-cart-footer {
  margin-top: auto !important;
  box-shadow: none !important;
}
#cartDrawer .rtf-mini-cart-clear {
  justify-content: flex-start !important;
}
#cartDrawer .rtf-mini-cart-clear .rtf-empty-button {
  min-height: 36px !important;
  padding: 0 4px !important;
  color: var(--ink-muted) !important;
  background: none !important;
  border: 0 !important;
  font-size: 12px !important;
}
#cartDrawer .woocommerce-mini-cart__total {
  margin: 0 !important;
  padding: 12px 4px !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}
#cartDrawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button {
  min-height: 48px !important;
  border-radius: 14px !important;
}

@media (min-width: 701px) {
  #cartDrawer {
    width: min(420px, 100%) !important;
  }
  #cartDrawer .widget_shopping_cart_content {
    max-height: none !important;
  }
}
@media (max-width: 700px) {
  #cartDrawer {
    width: min(420px, 100%) !important;
    border-radius: 20px 0 0 20px !important;
  }
  #cartDrawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    height: 56px !important;
  }
  #cartDrawer .rtf-mini-cart-name {
    min-height: 0 !important;
    padding-right: 44px !important;
    font-size: 0.9375rem !important;
  }
  #cartDrawer .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr 1fr !important;
  }
}

html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  grid-area: description !important;
  gap: 4px !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
  justify-self: stretch !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  margin: 0 !important;
  padding-top: 2px !important;
  white-space: nowrap !important;
  font-weight: 800 !important;
  text-align: right !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: block !important;
  width: 100% !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name::after {
  content: " " !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    grid-template-areas: "image description total" !important;
    column-gap: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    display: flex !important;
    flex-direction: column !important;
    grid-area: description !important;
  }
}

html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: hidden !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  display: block !important;
  flex: 0 0 52px !important;
  grid-area: auto !important;
  position: relative !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  top: auto !important;
  z-index: 2 !important;
  transform: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 4px !important;
  grid-area: auto !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 72px 0 0 !important;
  overflow: hidden !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata,
html body.woocommerce-checkout .wc-block-components-product-details {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: none !important;
  border: 0 !important;
  grid-template-columns: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: inline !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  grid-area: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-align: right !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item {
  position: relative !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 14px 14px 16px !important;
    overflow: hidden !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    overflow: hidden !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    padding-right: 64px !important;
    font-size: 0.875rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
  html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
    top: 14px !important;
    right: 14px !important;
    font-size: 0.875rem !important;
  }
}

/* =============================================================================
   v1.2.114 — Basket page, catalogue cards and image-frame polish
   -----------------------------------------------------------------------------
   Wins the cascade after earlier mobile overrides. Do not overlay the line
   total on the product name, and do not clip the checkout CTA.
   ========================================================================== */

/* ── Catalogue cards: equal height rows, actions stay put ─────────────── */
.products-grid {
  align-items: stretch;
}
.product-card {
  height: 100%;
}
.product-info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.product-card-actions {
  margin-top: auto;
}
.product-name {
  overflow-wrap: break-word;
  word-break: normal;
}

/* ── Product / basket / search images fill the frame, no 176% scale ───── */
.product-image-inner,
.pdp-thumb,
.pdp-main-image-trigger,
.search-result-image,
.wishlist-item-swatch,
.cart-page-item-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image {
  position: relative;
  overflow: hidden;
}
.product-image-inner img,
.pdp-thumb img,
.pdp-main-image-trigger .pdp-main-image,
.search-result-image img,
.wishlist-item-swatch img,
.cart-page-item-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .rtf-mini-cart-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transform: none;
}

/* ── Classic basket rows ──────────────────────────────────────────────── */
.cart-page-item-copy {
  min-width: 0;
  flex: 1 1 auto;
}
.cart-page-item-title {
  display: block;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.cart-page-item-tags {
  align-items: flex-start;
}
@media (max-width: 600px) {
  .cart-page-item {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .cart-page-item-image {
    width: 60px;
    height: 60px;
    border-radius: 12px;
  }
  .cart-page-item-head {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
  }
  .cart-page-item-bottom {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .cart-page-line-total {
    margin-left: auto;
    flex: none;
  }
}

/* ── WooCommerce Blocks basket items: name and price never share a cell ─ */
html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "image product total"
    "qty qty qty" !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 12px !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart-item__image {
  grid-area: image !important;
  width: 88px !important;
  height: 88px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  position: relative !important;
  display: block !important;
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product {
  grid-area: product !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__total,
html body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-align: right !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
html body.woocommerce-cart a.wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  line-height: 1.3 !important;
  hyphens: none !important;
}

html body.woocommerce-cart .wc-block-components-product-details,
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details > .rtf-cart-detail,
html body.woocommerce-cart .wc-block-components-product-details > li,
html body.woocommerce-cart .wc-block-components-product-details > div {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name,
html body.woocommerce-cart .wc-block-components-product-details__value {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
html body.woocommerce-cart .wc-block-components-product-details__name::after {
  content: none !important;
}
html body.woocommerce-cart .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 64px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
    column-gap: 12px !important;
    padding: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product {
    padding-right: 0 !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    grid-area: total !important;
    padding-top: 1px !important;
    font-size: 0.9375rem !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  html body.woocommerce-cart a.wc-block-components-product-name {
    font-size: 0.9375rem !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 380px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
  }
}

/* ── Basket totals card + checkout CTA ────────────────────────────────── */
html body.woocommerce-cart .wc-block-cart__sidebar,
html body.woocommerce-cart .wc-block-components-sidebar {
  overflow: visible !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  min-width: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px 16px !important;
  width: 100% !important;
  padding: 12px 16px !important;
}
html body.woocommerce-cart .wc-block-components-totals-item__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-cart .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
  flex: 0 0 auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-cart .wc-block-components-totals-item__description,
html body.woocommerce-cart .wc-block-components-totals-shipping__via {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border-top: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  position: static !important;
  z-index: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 1.05rem !important;
  white-space: normal !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  flex: 0 0 auto !important;
  font-size: 1.15rem !important;
  white-space: nowrap !important;
}

html body.woocommerce-cart .wc-block-cart__submit-container,
html body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
html body.woocommerce-cart .wc-block-cart__submit {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button,
html body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
html body.woocommerce-cart a.wc-block-components-button.contained {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  overflow: visible !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-brand) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html body.woocommerce-cart #ppcp-cart-paylater-messages,
html body.woocommerce-cart .ppcp-messages,
html body.woocommerce-cart [id^="ppcp-"][id*="paylater"] {
  display: block !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 8px 16px 4px !important;
  overflow: visible !important;
}

body.woocommerce-cart .back-to-top,
body.woocommerce-checkout .back-to-top {
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-components-totals-item,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
    padding: 12px 16px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding: 14px 16px 16px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 1rem !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
    min-height: 48px !important;
  }
}

/* Mini-basket thumbnails stay square and cropped */
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .rtf-mini-cart-image {
  width: 72px;
  height: 72px;
  flex: none;
  overflow: hidden;
  border-radius: 12px;
}
.cart-drawer .rtf-mini-cart-name,
#cartDrawer .rtf-mini-cart-name {
  min-width: 0;
  overflow-wrap: break-word;
}

/* ── Order summary item dividers ──────────────────────────────────────── */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-item + .wc-block-components-totals-item,
html body.woocommerce-checkout .wc-block-components-totals-footer-item {
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
}
html body.woocommerce-checkout .wc-block-components-totals-coupon,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  border-top: 1px solid var(--line) !important;
}

html body.woocommerce-cart .wc-block-components-totals-coupon,
html body.woocommerce-cart .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  border-bottom: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-items__row + .wc-block-cart-items__row {
  position: relative;
}

/* ── Mini-basket: fit the screen, keep actions visible ───────────────── */
#cartDrawer.cart-drawer,
#cartDrawer.rtf-cart-drawer,
.cart-drawer#cartDrawer {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(420px, 100vw) !important;
  height: 100svh !important;
  max-height: 100svh !important;
  overflow: hidden !important;
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  border-radius: 20px 0 0 20px !important;
}
#cartDrawer .cart-drawer-header {
  flex: 0 0 auto !important;
}
#cartDrawer .cart-drawer-body {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}
#cartDrawer.rtf-cart-drawer .widget_shopping_cart_content,
#cartDrawer .widget_shopping_cart_content {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}
#cartDrawer ul.woocommerce-mini-cart {
  display: flex !important;
  flex: 0 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  flex: 0 0 auto !important;
  height: auto !important;
  max-height: none !important;
  align-self: stretch !important;
  overflow: visible !important;
}
#cartDrawer .rtf-mini-cart-product {
  height: auto !important;
  align-content: start !important;
}
#cartDrawer .rtf-mini-cart-name {
  min-height: 0 !important;
}
#cartDrawer .rtf-mini-cart-empty {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
#cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
#cartDrawer .rtf-mini-cart-footer {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 6 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px 32px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border-top: 1px solid var(--line) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#cartDrawer .woocommerce-mini-cart__buttons,
#cartDrawer .woocommerce-mini-cart__buttons.buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#cartDrawer .woocommerce-mini-cart__buttons a.button,
#cartDrawer .woocommerce-mini-cart__buttons .btn,
#cartDrawer .woocommerce-mini-cart__buttons a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 10px !important;
  overflow: visible !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Desktop only: floating card. Phones, tablets and short windows stay full-bleed. */
@media (min-width: 1024px) and (min-height: 760px) {
  #cartDrawer.cart-drawer,
  #cartDrawer.rtf-cart-drawer,
  .cart-drawer#cartDrawer {
    top: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    width: min(400px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100svh - 32px) !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }
  #cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
  #cartDrawer .rtf-mini-cart-footer {
    padding: 12px 16px 32px !important;
  }
}

@media (max-width: 360px) {
  #cartDrawer .woocommerce-mini-cart__buttons,
  #cartDrawer .woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: 1fr !important;
  }
}

/* ── Checkout order summary: compact rows, real 3-column layout ───────── */
html body.woocommerce-checkout .wc-block-components-order-summary,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  gap: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  grid-area: image !important;
  position: relative !important;
  flex: none !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  position: relative !important;
  display: block !important;
  inset: auto !important;
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 6px !important;
  color: #f7f4fb !important;
  background: #241f2e !important;
  border: 2px solid var(--surface-raised) !important;
  border-radius: 999px !important;
  transform: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  grid-area: description !important;
  gap: 4px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__description > .price {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-metadata,
html body.woocommerce-checkout .wc-block-components-product-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-product-details > *,
html body.woocommerce-checkout .wc-block-components-product-details > li,
html body.woocommerce-checkout .wc-block-components-product-details > span,
html body.woocommerce-checkout .wc-block-components-product-details > div {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  column-gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: none !important;
  border: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name,
html body.woocommerce-checkout .wc-block-components-product-details__value {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__name {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-product-details__value {
  color: var(--ink) !important;
  font-weight: 650 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: static !important;
  inset: auto !important;
  grid-area: total !important;
  justify-self: end !important;
  align-self: start !important;
  width: auto !important;
  margin: 0 !important;
  padding: 1px 0 0 !important;
  white-space: nowrap !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices:empty {
  display: none !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    padding: 12px 14px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
  html body.woocommerce-checkout .wc-block-components-product-name {
    padding-right: 0 !important;
    font-size: 0.875rem !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
  html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
    position: static !important;
    font-size: 0.875rem !important;
  }
}

/* ── Checkout shipping/billing address card ───────────────────────────── */
html body.woocommerce-checkout .wc-block-components-address-card,
html body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-card,
html body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "address edit" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
}
html body.woocommerce-checkout .wc-block-components-address-card address,
html body.woocommerce-checkout .wc-block-components-address-card__address,
html body.woocommerce-checkout .wc-block-components-address-card .wc-block-components-address-card__address-section {
  display: block !important;
  grid-area: address !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
html body.woocommerce-checkout .wc-block-components-address-card__edit,
html body.woocommerce-checkout .wc-block-components-address-card a.wc-block-components-address-card__edit,
html body.woocommerce-checkout .wc-block-components-address-card button.wc-block-components-address-card__edit {
  display: inline-flex !important;
  grid-area: edit !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: start !important;
  width: auto !important;
  min-width: 48px !important;
  max-width: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  overflow: visible !important;
  color: var(--brand-mid) !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-align: center !important;
  text-decoration: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing,
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox,
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox > label {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 12px !important;
}
html body.woocommerce-checkout .wc-block-checkout__use-address-for-billing .wc-block-components-checkbox__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.4 !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-address-card,
  html body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-card,
  html body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-card {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 12px 14px !important;
  }
  html body.woocommerce-checkout .wc-block-components-address-card__edit,
  html body.woocommerce-checkout .wc-block-components-address-card a.wc-block-components-address-card__edit,
  html body.woocommerce-checkout .wc-block-components-address-card button.wc-block-components-address-card__edit {
    min-width: 44px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }
}

/* ── Line prices as their own row (phone, tablet, desktop) ───────────── */
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child,
html body.woocommerce-checkout .wc-block-components-order-summary > .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  grid-template-areas:
    "image description"
    "image price" !important;
  grid-template-rows: auto auto !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  grid-area: description !important;
}
html body.woocommerce-checkout .wc-block-components-product-name {
  padding-right: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  position: static !important;
  inset: auto !important;
  grid-area: price !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--line) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-areas:
    "image product"
    "image total"
    "qty qty" !important;
}
html body.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total !important;
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--line) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "image total"
      "qty qty" !important;
  }
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-areas:
      "image description"
      "image price" !important;
  }
}

@media (max-width: 380px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "image total"
      "qty qty" !important;
  }
}

/* ── Checkout order-summary Total: no clipped shadow / haze ───────────── */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
html body.woocommerce-checkout .wc-block-components-totals-wrapper,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__content {
  box-shadow: none !important;
  filter: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item,
html body.woocommerce-checkout .wc-block-components-totals-footer-item.wc-block-components-totals-item {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item::before,
html body.woocommerce-checkout .wc-block-components-totals-footer-item::after,
html body.woocommerce-checkout .wc-block-components-totals-footer-item *::before,
html body.woocommerce-checkout .wc-block-components-totals-footer-item *::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description:empty {
  display: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  position: static !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* ── Product-card magnifier stays on the image, top-right ─────────────── */
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  position: absolute !important;
  top: var(--s-2) !important;
  right: var(--s-2) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 50% !important;
}

/* ── Account: Payment methods empty state ─────────────────────────────── */
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message:not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info),
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-Message {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 22px 22px !important;
  overflow: hidden !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-left: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: none !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info)::before,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:not(:has(+ .woocommerce-info)):not(.woocommerce-info + .woocommerce-info)::after,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info)::before,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Message:not(.woocommerce-info + .woocommerce-info)::after,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info::before,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-info::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > a.button,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .button,
html body.woocommerce-account.woocommerce-payment-methods .woocommerce-MyAccount-content > .woocommerce-Button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: auto !important;
  min-height: 48px !important;
  margin: 4px 0 0 !important;
  padding: 12px 20px !important;
  float: none !important;
  border-radius: var(--r-md) !important;
  font-weight: 800 !important;
}
html body.woocommerce-account .woocommerce-PaymentMethods,
html body.woocommerce-account table.woocommerce-MyAccount-paymentMethods,
html body.woocommerce-account .woocommerce-SavedPaymentMethods {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}

/* ── Back to top sits on the viewport bottom ─────────────────────────── */
html body .back-to-top,
.back-to-top {
  --rtf-back-to-top-edge-gap: 12px;
  --rtf-safe-area-right: env(safe-area-inset-right, 0px);
  --rtf-safe-area-bottom: env(safe-area-inset-bottom, 0px);
  position: fixed !important;
  box-sizing: border-box !important;
  right: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-right)) !important;
  bottom: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-bottom)) !important;
  margin: 0 !important;
}
html body .back-to-top.visible {
  transform: none !important;
}
html body.has-sticky-buy .back-to-top {
  bottom: calc(var(--rtf-back-to-top-edge-gap) + 74px + var(--rtf-safe-area-bottom)) !important;
}
html body.woocommerce-cart .back-to-top,
html body.woocommerce-checkout .back-to-top {
  bottom: calc(var(--rtf-back-to-top-edge-gap) + var(--rtf-safe-area-bottom)) !important;
}

/* ── Quantity pills on basket / checkout thumbnails ───────────────────── */
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: visible !important;
}
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-product-image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-product-badge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 7px !important;
  color: #f7f4fb !important;
  background: #241f2e !important;
  border: 2px solid var(--surface-raised) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

/* ── Mobile order summary: compact rows, no stretch, readable qty ───── */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item,
html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item > * {
  flex: none !important;
  min-height: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  gap: 4px !important;
  height: auto !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
html body.woocommerce-checkout .wc-block-components-order-summary-item > .wc-block-components-product-price {
  grid-area: total !important;
  grid-column: auto !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image > [class*="quantity"] {
  color: #f7f4fb !important;
  background: #241f2e !important;
  border-color: var(--surface-raised) !important;
}

@media (max-width: 781px) {
  html body.woocommerce-checkout .wc-block-components-order-summary-item,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    padding: 10px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
}

/* ── Restore basket / checkout thumbnails (do not use absolute fill) ─── */
#cartDrawer .rtf-mini-cart-head,
.cart-drawer .rtf-mini-cart-head {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
}
#cartDrawer .rtf-mini-cart-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  display: block !important;
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}
#cartDrawer .rtf-mini-cart-image img,
.cart-drawer .rtf-mini-cart-image img,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
@media (max-width: 700px) {
  #cartDrawer .rtf-mini-cart-head,
  .cart-drawer .rtf-mini-cart-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .rtf-mini-cart-image img,
  .cart-drawer .rtf-mini-cart-image img,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
  }
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image {
  display: block !important;
  position: relative !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-cart-item__image a {
  display: block !important;
  position: relative !important;
  width: 72px !important;
  min-width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image img,
html body.woocommerce-cart .wc-block-components-order-summary-item__image img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  border-radius: 10px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image img,
html body.woocommerce-cart .wc-block-cart-item__image a img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: none !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ── Checkout journey: review layout (adapted, RTF tokens) ───────────── */
body.woocommerce-checkout:not(.woocommerce-order-received) .page-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-card > .page-header {
  display: none;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rtf-checkout-page { padding-block: 32px 96px; }
.rtf-checkout-shell { max-width: 1120px; }
.rtf-checkout-journey {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0 0 28px;
}
.rtf-checkout-journey__eyebrow {
  margin: 0 0 8px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.rtf-checkout-journey__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.rtf-checkout-journey__title em { font-style: italic; color: var(--brand); }
.rtf-checkout-journey__lede {
  margin: 8px 0 0;
  max-width: 36rem;
  color: var(--ink-muted);
  font-size: 0.9375rem;
}
.rtf-checkout-stepper {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rtf-checkout-stepper > li,
.rtf-checkout-stepper > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-muted);
  text-decoration: none;
  white-space: nowrap;
}
.rtf-checkout-stepper > li + li::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  margin-right: 8px;
  background: var(--line);
}
.rtf-checkout-stepper__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--surface-sunken);
  color: var(--ink-muted);
  font-size: 11px;
  font-weight: 800;
}
.rtf-checkout-stepper .is-done .rtf-checkout-stepper__n,
.rtf-checkout-stepper .is-active .rtf-checkout-stepper__n {
  color: var(--ink-on-brand);
  background: var(--brand);
}
.rtf-checkout-stepper .is-done { color: var(--ink); }
.rtf-checkout-stepper .is-active .rtf-checkout-stepper__label {
  color: var(--ink);
  font-weight: 700;
}
.rtf-checkout-stepper__label {
  font-size: 0.875rem;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

/* Do not grid the outer checkout wrapper — that collapsed Contact information
   into a ~40px column (letters stacked) and left a hole on the right. */
html body.woocommerce-checkout .wp-block-woocommerce-checkout,
html body.woocommerce-checkout .wc-block-checkout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 24rem) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-main,
html body.woocommerce-checkout .wc-block-checkout__main {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
}
html body.woocommerce-checkout .wc-block-checkout__contact-fields,
html body.woocommerce-checkout .wc-block-checkout__payment-method,
html body.woocommerce-checkout .rtf-delivery-options {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title,
html body.woocommerce-checkout .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout .wc-block-components-checkout-step__container,
html body.woocommerce-checkout .wc-block-components-checkout-step__content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step,
html body.woocommerce-checkout .wc-block-components-express-payment {
  margin: 0 !important;
  padding: 22px 24px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title {
  margin: 0 0 8px !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input,
html body.woocommerce-checkout .wc-block-components-text-input input,
html body.woocommerce-checkout .wc-block-checkout__contact-fields input,
html body.woocommerce-checkout .wc-block-components-address-form input {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}
.rtf-checkout-step-lede,
html body.woocommerce-checkout .wc-block-components-checkout-step__description {
  margin: 0 0 16px !important;
  color: var(--ink-muted) !important;
  font-size: 0.875rem !important;
}
.rtf-checkout-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.rtf-checkout-fields label {
  display: grid;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 700;
}
.rtf-checkout-fields .optional { color: var(--ink-muted); font-weight: 500; }
.rtf-checkout-fields input {
  min-height: 44px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.rtf-ship-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1.5px solid var(--brand);
  border-radius: 12px;
  background: var(--brand-tint-soft);
}
.rtf-ship-option__title { font-weight: 700; }
.rtf-ship-option__price { font-variant-numeric: tabular-nums; font-weight: 800; }

/* Keep checkout headings visible when the browser restores an in-progress scroll position. */
html body.woocommerce-checkout .header-wrapper {
  position: relative;
  top: auto;
}

html body.woocommerce-checkout .wc-block-checkout__sidebar,
html body.woocommerce-checkout .wc-block-components-sidebar {
  position: sticky !important;
  top: 16px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar,
body.admin-bar.woocommerce-checkout .wc-block-components-sidebar {
  top: 48px !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  padding: 0 0 12px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 20px 12px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  min-width: 0 !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title::before,
html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title::after,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title::before,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title::after {
  display: none !important;
  content: none !important;
}
.rtf-checkout-summary-count {
  margin: 4px 0 12px;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 16px 0 8px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
.rtf-checkout-place--aside { display: none; width: 100%; margin-top: 16px; min-height: 52px; }
.rtf-checkout-place { width: 100%; min-height: 52px; }

.rtf-checkout-mobile-bar { display: none; }

@media (min-width: 901px) {
  .rtf-checkout-place--aside { display: inline-flex; }
  html body.woocommerce-checkout .wc-block-checkout__payment-method .rtf-checkout-place { display: none; }
}

@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__sidebar,
  html body.woocommerce-checkout .wc-block-components-sidebar {
    position: static !important;
  }
  .rtf-checkout-fields { grid-template-columns: 1fr; }
  .rtf-checkout-stepper__label { display: none; }
  .rtf-checkout-mobile-bar {
    position: sticky;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px -4px -32px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: color-mix(in srgb, var(--surface-raised) 94%, transparent);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(10px);
  }
  .rtf-checkout-mobile-bar__label {
    margin: 0;
    color: var(--ink-muted);
    font-size: 0.75rem;
  }
  .rtf-checkout-mobile-bar__total {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
  }
  .rtf-checkout-mobile-bar .btn { margin-left: auto; min-width: 148px; min-height: 48px; }
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-components-main,
  html body.woocommerce-checkout .wc-block-checkout__main {
    gap: 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step,
  html body.woocommerce-checkout .wc-block-components-express-payment {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-step__title {
    margin-bottom: 6px !important;
  }
  .rtf-checkout-step-lede,
  html body.woocommerce-checkout .wc-block-components-checkout-step__description {
    margin-bottom: 12px !important;
  }
  .rtf-checkout-fields,
  html body.woocommerce-checkout .wc-block-components-address-form {
    gap: 10px 12px !important;
  }
  html body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding: 14px 16px 10px !important;
  }
}

/* ── Thank-you journey ───────────────────────────────────────────────── */
.rtf-thankyou-shell { max-width: 760px; }
.rtf-thankyou-journey { margin: 0 0 28px; }
.rtf-thankyou-journey__mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--ink-on-brand);
  background: var(--brand);
  border-radius: 999px;
}
.rtf-thankyou-journey__eyebrow {
  margin: 18px 0 8px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.rtf-thankyou-journey__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.rtf-thankyou-journey__lede {
  margin: 10px 0 0;
  max-width: 36rem;
  color: var(--ink-muted);
}
.rtf-thankyou-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.rtf-thankyou-steps li {
  padding: 16px 18px;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.rtf-thankyou-steps__n {
  margin: 0 0 6px;
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.rtf-thankyou-steps h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}
.rtf-thankyou-steps p {
  margin: 6px 0 0;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
body.woocommerce-order-received:has(.rtf-thankyou-journey) .woocommerce-thankyou-order-received,
body.woocommerce-order-received:has(.rtf-thankyou-journey) .page-header {
  display: none;
}
body.woocommerce-order-received .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-order-received .woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 24px !important;
  padding: 18px 20px !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
html body.woocommerce-order-received .woocommerce-order-overview li {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html body.woocommerce-order-received .woocommerce-order-details,
html body.woocommerce-order-received .woocommerce-customer-details {
  margin: 0 0 20px !important;
  padding: 8px 20px 20px !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
.rtf-thankyou-totals { display: grid; gap: 8px; margin: 16px 0 0; }
.rtf-thankyou-totals > div { display: flex; justify-content: space-between; }
.rtf-thankyou-totals .is-total { padding-top: 8px; border-top: 1px solid var(--line); font-weight: 800; }
.rtf-thankyou-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
@media (max-width: 700px) {
  .rtf-thankyou-steps,
  html body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }
  html body.woocommerce-order-received .woocommerce-order-overview {
    gap: 8px !important;
    margin-bottom: 16px !important;
    padding: 14px 16px !important;
  }
  html body.woocommerce-order-received .woocommerce-order-details,
  html body.woocommerce-order-received .woocommerce-customer-details {
    margin-bottom: 16px !important;
    padding: 6px 14px 14px !important;
  }
  html body.woocommerce-order-received .woocommerce-columns--addresses {
    gap: 12px;
  }
  html body.woocommerce-order-received .woocommerce-column--billing-address,
  html body.woocommerce-order-received .woocommerce-column--shipping-address {
    padding: 14px;
  }
  html body.woocommerce-order-received address { line-height: 1.6; }
}

/* ── Basket page matches checkout journey ────────────────────────────── */
body.woocommerce-cart .page-header,
body.woocommerce-cart .page-title,
body.woocommerce-cart .page-card > .page-header,
body.woocommerce-cart .cart-page-header {
  display: none;
}
body.woocommerce-cart .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart,
html body.woocommerce-cart .wc-block-cart {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
html body.woocommerce-cart .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 24rem) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
}
html body.woocommerce-cart .wc-block-cart__main,
html body.woocommerce-cart .wc-block-components-main {
  width: 100% !important;
  min-width: 0 !important;
}
.rtf-basket-card,
html body.woocommerce-cart .wc-block-cart-items {
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
.rtf-basket-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 12px;
}
.rtf-basket-card__head h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 800;
}
.rtf-basket-card__head p {
  margin: 4px 0 0;
  color: var(--ink-muted);
  font-size: 0.875rem;
}
html body.woocommerce-cart .wc-block-cart-items__row {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar,
html body.woocommerce-cart .wc-block-components-sidebar {
  position: sticky !important;
  top: calc(var(--header-height) + 16px) !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 8px 0 12px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
.rtf-basket-summary-title {
  margin: 12px 20px 0 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item {
  background: transparent !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}
html body.woocommerce-cart .wc-block-cart__submit-container {
  margin-top: 12px !important;
}
html body.woocommerce-cart .wc-block-cart__submit-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}
.cart-page-actions { padding: 12px 20px 16px; }
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar {
    position: static !important;
  }
  body.woocommerce-cart .rtf-checkout-mobile-bar { display: flex; }
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wp-block-woocommerce-cart,
  html body.woocommerce-cart .wc-block-cart,
  html body.woocommerce-cart .wc-block-components-sidebar-layout {
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  .rtf-basket-card__head { gap: 8px; padding: 14px 16px 10px; }
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 60px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    padding: 12px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
    gap: 3px !important;
    padding: 6px 8px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
  html body.woocommerce-cart .wc-block-components-totals-item {
    gap: 8px 12px !important;
    padding: 10px 14px !important;
  }
  html body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding: 12px 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
    padding-inline: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
    padding: 0 14px 10px !important;
  }
  html body.woocommerce-cart .wc-block-cart__submit-container { margin-top: 10px !important; }
  html body.woocommerce-cart .wc-block-cart__submit-button { min-height: 48px !important; }
}

/* Empty shipping/description pills under Subtotal — hide unless they have copy. */
html body.woocommerce-checkout .wc-block-components-totals-item__description:empty,
html body.woocommerce-checkout .wc-block-components-totals-shipping__via:empty,
html body.woocommerce-cart .wc-block-components-totals-item__description:empty,
html body.woocommerce-cart .wc-block-components-totals-shipping__via:empty,
html body.woocommerce-checkout .wc-block-components-totals-item__description:not(:has(*)),
html body.woocommerce-cart .wc-block-components-totals-item__description:not(:has(*)) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-totals-shipping {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px 16px !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}

/* Quantity: small light chip inset in the thumbnail, not a hanging black pill. */
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-product-image .wc-block-components-product-badge,
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-product-badge,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image > [class*="quantity"] {
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  transform: none !important;
}

/* Checkout fields: labels above inputs, two-column grid, aligned titles. */
html body.woocommerce-checkout .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__title,
html body.woocommerce-checkout .wc-block-components-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
}
html body.woocommerce-checkout .wc-block-components-checkout-step__container::before,
html body.woocommerce-checkout .wc-block-components-checkout-step::before {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-items: start !important;
  width: 100% !important;
}
html body.woocommerce-checkout .wc-block-components-address-form__country,
html body.woocommerce-checkout .wc-block-components-address-form__address_1,
html body.woocommerce-checkout .wc-block-components-address-form__address_2,
html body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
html body.woocommerce-checkout .wc-block-components-address-form__address_2-hidden-input {
  grid-column: 1 / -1 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input,
html body.woocommerce-checkout .wc-block-components-combobox,
html body.woocommerce-checkout .wc-block-components-combobox-control,
html body.woocommerce-checkout .wc-block-components-country-input,
html body.woocommerce-checkout .wc-block-components-state-input,
html body.woocommerce-checkout .wc-blocks-components-select,
html body.woocommerce-checkout .wc-block-components-textarea,
html body.woocommerce-checkout .components-base-control__field {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-text-input label,
html body.woocommerce-checkout .wc-block-components-combobox label,
html body.woocommerce-checkout .wc-block-components-combobox-control label,
html body.woocommerce-checkout .wc-block-components-country-input label,
html body.woocommerce-checkout .wc-block-components-state-input label,
html body.woocommerce-checkout .wc-blocks-components-select__label,
html body.woocommerce-checkout .wc-block-components-textarea label,
html body.woocommerce-checkout .wc-block-components-validated-text-input label,
html body.woocommerce-checkout .components-base-control__label {
  position: static !important;
  order: -1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: transparent !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  transform: none !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-components-text-input input,
html body.woocommerce-checkout .wc-block-components-combobox input,
html body.woocommerce-checkout .wc-block-components-country-input input,
html body.woocommerce-checkout .wc-block-components-state-input input,
html body.woocommerce-checkout .wc-blocks-components-select__select,
html body.woocommerce-checkout .wc-block-components-textarea {
  display: block !important;
  order: 0 !important;
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-textarea { height: auto !important; min-height: 88px !important; }
@media (max-width: 700px) {
  html body.woocommerce-checkout .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }
}

/* Restore WooCommerce delivery options (name + price), not the custom select. */
html body.woocommerce-checkout .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-shipping-choice {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .rtf-shipping-choice .rtf-choice-button,
html body.woocommerce-checkout .rtf-shipping-choice .rtf-choice-value {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control__package {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
/* Native radios stay in the DOM for WooCommerce; the themed selector is what shoppers use. */
html body.woocommerce-checkout .rtf-shipping-has-select .wc-block-components-radio-control,
html body.woocommerce-checkout .rtf-shipping-has-select #shipping_method,
html body.woocommerce-checkout .rtf-shipping-has-select .woocommerce-shipping-methods,
html body.woocommerce-checkout .rtf-shipping-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  pointer-events: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-checkout #shipping_method {
  display: grid !important;
  gap: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  color: var(--ink) !important;
  background: var(--surface) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-checkout #shipping_method li:has(:checked) {
  border-color: var(--brand) !important;
  background: var(--brand-tint-soft) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
  grid-column: 2 !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 3 !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option input[type="radio"] {
  position: static !important;
  grid-column: 1 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  accent-color: var(--brand) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Force the WooCommerce shipping-methods block back on screen. */
html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-method,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-components-checkout-step--shipping,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
html body.woocommerce-checkout #shipping_method,
html body.woocommerce-checkout .woocommerce-shipping-methods,
html body.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-shipping-totals {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout #shipping_method li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout #shipping_method label {
  display: inline !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label {
  display: inline-block !important;
  margin-left: auto !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control input[type="radio"],
html body.woocommerce-checkout .wc-block-checkout__shipping-option input[type="radio"],
html body.woocommerce-checkout #shipping_method input[type="radio"] {
  position: static !important;
  inset: auto !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  opacity: 1 !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  accent-color: var(--brand) !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after {
  content: none !important;
  display: none !important;
}

/* Quantity chip: flush with the thumbnail's top-left corner. */
html body.woocommerce-checkout .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-product-image,
html body.woocommerce-cart .wc-block-components-order-summary-item__image {
  position: relative !important;
  overflow: hidden !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .cart-page-item-image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
html body.woocommerce-cart .wc-block-components-order-summary-item__image img {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}
html body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout .wc-block-components-product-badge,
html body.woocommerce-checkout .wc-block-components-order-summary-item__image > [class*="quantity"],
html body.woocommerce-cart .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .wc-block-components-product-badge,
html body.woocommerce-cart .rtf-cart-qty-badge,
html body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-order-summary-item__quantity,
html body.woocommerce-cart .cart-page-item-image .rtf-cart-qty-badge {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 0 0 8px 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  transform: none !important;
  inset: 0 auto auto 0 !important;
}

/* Delivery prices: name left, WooCommerce rate right. Never park the price in a 3rd grid column. */
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group {
  display: block !important;
  flex: 1 1 auto !important;
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
}
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout #shipping_method .woocommerce-Price-amount,
html body.woocommerce-checkout #shipping_method .amount,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-formatted-money-amount,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-formatted-money-amount {
  display: inline-block !important;
  flex: 0 0 auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  overflow: visible !important;
  color: var(--ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-totals-shipping {
  display: block !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
html body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  display: inline-block !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.woocommerce-checkout .rtf-delivery-options,
html body.woocommerce-checkout .rtf-delivery-options__control,
html body.woocommerce-checkout .rtf-delivery-options .rtf-shipping-select-wrap,
html body.woocommerce-checkout .rtf-delivery-options .rtf-shipping-choice,
html body.woocommerce-checkout .rtf-delivery-options .rtf-choice-button {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  pointer-events: auto !important;
}
html body.woocommerce-checkout .rtf-delivery-options .rtf-choice-button {
  display: flex !important;
  width: 100% !important;
}
html body.woocommerce-checkout .rtf-delivery-options__empty {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.9375rem;
}

html body.woocommerce-checkout .wc-block-components-checkout-step[hidden],
html body.woocommerce-checkout [hidden] .wc-block-checkout__billing-fields,
html body.woocommerce-checkout .wc-block-checkout__billing-fields[hidden],
html body.woocommerce-checkout .wc-block-checkout__shipping-fields[hidden] {
  display: none !important;
}

html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
html body.woocommerce-cart .wc-block-components-totals-shipping,
html body.woocommerce-cart .wc-block-components-shipping-calculator,
html body.woocommerce-cart .wc-block-components-shipping-calculator-address,
html body.woocommerce-cart .wc-block-components-shipping-rates-control,
html body.woocommerce-cart .woocommerce-shipping-calculator,
html body.woocommerce-cart .woocommerce-shipping-methods {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
html body.woocommerce-checkout .wc-block-checkout__shipping-option,
html body.woocommerce-checkout .wc-block-checkout__shipping-method,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* International delivery is reviewed and invoiced separately after checkout. */
.rtf-international-delivery-notice {
  display: block;
  width: 100%;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--brand-tint-soft);
  color: var(--ink);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.45;
}
.rtf-international-delivery-notice--summary {
  margin: 12px 0;
}
html body.woocommerce-checkout .rtf-international-delivery-price {
  flex: 0 1 320px !important;
  min-width: 0 !important;
  max-width: 320px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: right;
  line-height: 1.35;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price {
  flex: 0 1 320px !important;
  min-width: 0 !important;
  max-width: 320px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout.rtf-international-delivery-rate,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout.rtf-international-delivery-rate {
    flex-wrap: wrap !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-international-delivery-rate .wc-block-components-radio-control__label-group,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-international-delivery-rate .wc-block-components-radio-control__label-group {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label.rtf-international-delivery-price {
    display: block !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    text-align: left;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 0.875rem;
  }
}


/* Neutral carrier marker for United Kingdom Royal Mail Tracked 48 delivery methods. */
.rtf-royal-mail-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  background: var(--surface-sunken);
  color: var(--ink-muted);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;
}
.rtf-royal-mail-badge__icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  color: var(--brand);
}
.rtf-royal-mail-badge__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rtf-royal-mail-badge__copy strong {
  color: var(--ink);
  font-size: 0.6875rem;
  font-weight: 800;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
}
.rtf-shipping-choice .rtf-choice-button:has(> .rtf-royal-mail-badge) {
  flex-wrap: wrap;
  gap: 8px 10px;
  padding-block: 8px;
}
.rtf-shipping-choice .rtf-choice-button > .rtf-choice-value {
  flex: 1 1 180px;
  min-width: 0;
}
.rtf-choice-list--shipping .rtf-choice-option:has(> .rtf-royal-mail-badge) {
  flex-wrap: wrap;
}
.rtf-choice-list--shipping .rtf-choice-option > .rtf-choice-option-copy {
  flex: 1 1 160px;
}
.rtf-choice-list--shipping .rtf-choice-option > .rtf-royal-mail-badge {
  margin-left: auto;
}
@media (max-width: 600px) {
  .rtf-royal-mail-badge {
    min-height: 28px;
    padding: 4px 7px;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
    align-items: flex-start !important;
  }
  .rtf-choice-list--shipping .rtf-choice-option > .rtf-royal-mail-badge {
    margin-left: 0;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-choice-value {
    flex: 1 1 calc(100% - 42px);
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-choice-arrow {
    order: 2;
    margin-left: auto;
  }
  .rtf-shipping-choice .rtf-choice-button > .rtf-royal-mail-badge {
    order: 3;
    margin-right: auto;
  }
}


/* Mandatory acknowledgement for separately invoiced international delivery. */
body.rtf-international-delivery-modal-open {
  overflow: hidden !important;
}
.rtf-international-delivery-modal[hidden] {
  display: none !important;
}
.rtf-international-delivery-modal {
  position: fixed;
  z-index: calc(var(--z-modal) + 40);
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}
.rtf-international-delivery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 17, 29, 0.72);
  backdrop-filter: blur(4px);
}
.rtf-international-delivery-modal__dialog {
  position: relative;
  width: min(100%, 480px);
  padding: 30px;
  border: 1px solid var(--line-strong);
  border-radius: 22px;
  background: var(--surface-raised);
  color: var(--ink);
  box-shadow: var(--shadow-xl);
  text-align: center;
}
.rtf-international-delivery-modal__icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 15px;
  background: var(--brand-wash);
  color: var(--brand);
}
.rtf-international-delivery-modal__icon svg {
  width: 27px;
  height: 27px;
}
.rtf-international-delivery-modal__dialog h2 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.2;
}
.rtf-international-delivery-modal__dialog p {
  margin: 0 0 22px;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
html body .rtf-international-delivery-modal__confirm {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid var(--brand);
  border-radius: 12px;
  background: var(--brand);
  color: var(--ink-on-brand);
  font-weight: 800;
  cursor: pointer;
}
html body .rtf-international-delivery-modal__confirm:hover,
html body .rtf-international-delivery-modal__confirm:focus-visible {
  border-color: var(--brand-strong);
  background: var(--brand-strong);
  color: var(--ink-on-brand);
  outline: 3px solid var(--brand-wash);
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .rtf-international-delivery-modal {
    padding: 16px;
  }
  .rtf-international-delivery-modal__dialog {
    padding: 24px 20px;
    border-radius: 18px;
  }
}
@media (forced-colors: active) {
  .rtf-international-delivery-modal__backdrop {
    background: Canvas;
    opacity: 0.78;
  }
  .rtf-international-delivery-modal__dialog,
  html body .rtf-international-delivery-modal__confirm {
    border: 2px solid CanvasText;
  }
}


/* Customer Orders screen: full-width table, clear actions and responsive cards. */
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100% !important;
  min-width: 0;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > * {
  margin-top: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > h2 {
  margin: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--brand) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: none !important;
  color: var(--ink-muted) !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info .button,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message .button,
html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message .button {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  white-space: nowrap !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content > table.woocommerce-orders-table {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  table-layout: fixed;
  border-collapse: separate !important;
  border-spacing: 0;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-xs);
}
html body.woocommerce-account table.woocommerce-orders-table thead {
  display: table-header-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account table.woocommerce-orders-table tbody {
  display: table-row-group !important;
}
html body.woocommerce-account table.woocommerce-orders-table tr {
  display: table-row !important;
}
html body.woocommerce-account table.woocommerce-orders-table th,
html body.woocommerce-account table.woocommerce-orders-table td {
  display: table-cell !important;
  box-sizing: border-box;
  padding: 15px 16px !important;
  text-align: left;
  vertical-align: middle;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-account table.woocommerce-orders-table thead th {
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.25;
  text-transform: uppercase;
}
html body.woocommerce-account table.woocommerce-orders-table tbody th,
html body.woocommerce-account table.woocommerce-orders-table td {
  color: var(--ink) !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.45;
  overflow-wrap: normal;
  text-transform: none !important;
  word-break: normal;
}
html body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child th,
html body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(1),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(1) {
  width: 11%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(2),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(2) {
  width: 18%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(3),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(3) {
  width: 19%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(4),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(4) {
  width: 21%;
}
html body.woocommerce-account table.woocommerce-orders-table th:nth-child(5),
html body.woocommerce-account table.woocommerce-orders-table td:nth-child(5) {
  width: 31%;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  display: inline-block;
  width: auto !important;
  color: var(--brand) !important;
  font-weight: 800;
  overflow-wrap: normal !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  white-space: nowrap !important;
  word-break: keep-all !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
  font-weight: 700;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  white-space: normal !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
  min-width: 68px;
  min-height: 40px !important;
  margin: 3px 6px 3px 0 !important;
  padding: 8px 13px !important;
  border-radius: 11px !important;
  font-size: 0.8125rem !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view {
  color: var(--brand) !important;
  background: var(--surface-sunken) !important;
  border-color: var(--line-strong) !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel {
  color: var(--rose) !important;
  background: transparent !important;
  border-color: currentColor !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view:hover,
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.view:focus-visible {
  color: var(--ink-on-brand) !important;
  background: var(--brand) !important;
  border-color: var(--brand) !important;
}
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel:hover,
html body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button.cancel:focus-visible {
  color: var(--surface-raised) !important;
  background: var(--rose) !important;
  border-color: var(--rose) !important;
}
@media (max-width: 900px) {
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) {
    gap: 14px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    padding: 16px !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-info .button,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-message .button,
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> table.woocommerce-orders-table) > .woocommerce-Message .button {
    width: 100% !important;
    white-space: normal !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > table.woocommerce-orders-table {
    display: block !important;
    overflow: visible !important;
    table-layout: auto;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none;
  }
  html body.woocommerce-account table.woocommerce-orders-table thead {
    display: none !important;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
  }
  html body.woocommerce-account table.woocommerce-orders-table tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow: hidden;
    background: var(--surface-raised) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    box-shadow: var(--shadow-xs);
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody th,
  html body.woocommerce-account table.woocommerce-orders-table tbody td,
  html body.woocommerce-account table.woocommerce-orders-table tbody th:nth-child(n),
  html body.woocommerce-account table.woocommerce-orders-table tbody td:nth-child(n) {
    position: relative;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 8px 0 8px 78px !important;
    color: var(--ink) !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.45;
    text-align: left;
    text-transform: none !important;
    border-bottom: 1px solid var(--line-soft) !important;
    overflow-wrap: normal;
    word-break: normal;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody th::before,
  html body.woocommerce-account table.woocommerce-orders-table tbody td::before {
    content: attr(data-title);
    position: absolute;
    top: 9px;
    left: 0;
    width: 68px;
    color: var(--ink-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody tr > :last-child {
    border-bottom: 0 !important;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 0 0 !important;
    text-align: center;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n):has(.button:only-child) {
    grid-template-columns: minmax(0, 1fr);
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n)::before {
    position: static;
    width: auto;
    grid-column: 1 / -1;
    text-align: left;
  }
  html body.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions:nth-child(n) .button {
    width: 100% !important;
    min-width: 0;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px !important;
    white-space: normal;
  }
}

/* Customer Order details: full-width summary, structured totals and responsive order cards. */
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100% !important;
  min-width: 0;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > * {
  margin-top: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p:has(+ .woocommerce-order-details) {
  margin: 0 !important;
  padding: 18px 20px !important;
  color: var(--ink-muted) !important;
  line-height: 1.55;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-left: 3px solid var(--brand);
  border-radius: var(--r-lg);
}
html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p mark {
  padding: 0;
  color: var(--ink);
  background: transparent;
  font-weight: 800;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-xs);
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details > h2,
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details > h2 {
  margin: 0 !important;
  padding: 18px 20px 14px;
  font-size: 1.125rem;
  border-bottom: 1px solid var(--line);
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  table-layout: fixed;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  background: transparent !important;
  box-shadow: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead {
  display: table-header-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody {
  display: table-row-group !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
  display: table-footer-group !important;
  background: var(--surface-sunken) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tr {
  display: table-row !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td {
  display: table-cell !important;
  box-sizing: border-box;
  padding: 15px 18px !important;
  text-align: left;
  vertical-align: top;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead th {
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th:first-child,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td:first-child {
  width: 76%;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details th:last-child,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details td:last-child {
  width: 24%;
  text-align: right;
  white-space: normal;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td.product-name > a {
  color: var(--brand) !important;
  font-weight: 800;
  line-height: 1.4;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .product-quantity {
  color: var(--ink);
  white-space: nowrap;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta {
  display: grid;
  gap: 4px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--ink-muted);
  font-size: 0.8125rem;
  list-style: none;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta li,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta p {
  margin: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details .wc-item-meta strong {
  color: var(--ink);
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th {
  color: var(--ink-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td {
  color: var(--ink);
  font-weight: 700;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child td {
  border-bottom: 0 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:nth-last-child(2) th,
html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:nth-last-child(2) td {
  color: var(--ink) !important;
  font-size: 1rem !important;
  font-weight: 800;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px 20px 20px;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-column {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 18px;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-column__title {
  margin: 0 0 10px !important;
  font-size: 1rem;
}
html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details address {
  margin: 0;
  color: var(--ink-muted);
  font-style: normal;
  line-height: 1.65;
}
@media (max-width: 760px) {
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) {
    gap: 12px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content:has(> .woocommerce-order-details) > p:has(+ .woocommerce-order-details) {
    padding: 12px 14px !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-order-details > h2,
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details > h2 {
    padding: 14px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details {
    display: block !important;
    overflow: visible !important;
    table-layout: auto;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details thead {
    display: none !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
    background: transparent !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot {
    padding-top: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    background: var(--surface-sunken);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:first-child,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:last-child {
    display: block !important;
    width: auto !important;
    min-width: 0;
    padding: 11px 12px !important;
    text-align: left;
    border: 0 !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:last-child {
    min-width: 76px;
    text-align: right;
    white-space: nowrap;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td::before {
    display: block;
    margin-bottom: 5px;
    color: var(--ink-muted);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: inherit;
    text-transform: uppercase;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot tr:last-child {
    border-bottom: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th:first-child,
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td:last-child {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    text-align: left;
    border: 0 !important;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td:last-child {
    text-align: right;
  }
  html body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: minmax(0, 1fr);
    padding: 12px;
  }
}

@media (min-width: 701px) {
  #cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    padding: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-product {
    gap: 6px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option {
    box-sizing: border-box !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    column-gap: 4px !important;
    row-gap: 1px !important;
    background: var(--surface-sunken) !important;
    border: 1px solid var(--line-soft) !important;
    border-radius: var(--r-md) !important;
  }
}

#cartDrawer .rtf-mini-cart-summary-row,
.cart-drawer .rtf-mini-cart-summary-row {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 8px 10px;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
#cartDrawer .rtf-mini-cart-summary-row .woocommerce-mini-cart__total,
.cart-drawer .rtf-mini-cart-summary-row .woocommerce-mini-cart__total {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-summary-row .rtf-mini-cart-clear,
.cart-drawer .rtf-mini-cart-summary-row .rtf-mini-cart-clear {
  margin: 0 !important;
}
#cartDrawer ul.woocommerce-mini-cart,
.cart-drawer ul.woocommerce-mini-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}
#cartDrawer .rtf-mini-cart-product,
.cart-drawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}
#cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
.cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
  display: flex !important;
}
@media (min-width: 341px) {
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 901px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "image product total"
      "qty qty qty" !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__total {
    align-self: start !important;
    justify-self: end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 10px !important;
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail[class*='wc-block-components-product-details__'] {
  display: grid !important;
}
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail,
  html body.woocommerce-cart .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail[class*='wc-block-components-product-details__'] {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    width: 100% !important;
  }
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-inline: 16px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button > :last-child {
  margin-left: auto !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding-inline: 16px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px 12px !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via :is(ul, li, span) {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via :is(ul, li) {
  list-style: none !important;
}
@media (min-width: 901px) {
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__content,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 8px !important;
    padding-inline: 16px !important;
  }
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon__button {
    width: auto !important;
    min-width: 88px !important;
    margin: 0 !important;
  }
}

/* Product imagery controls: restrained overlays with independent touch areas. */
.product-card .product-image-shell {
  position: relative;
  min-width: 0;
}
.product-card .product-badges,
.pdp-image-wrap .pdp-image-badge {
  z-index: 4 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.product-card .badge-preorder,
.pdp-image-wrap .pdp-image-badge {
  color: #eadcf4 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  box-shadow: 0 2px 8px rgba(14, 12, 20, 0.24) !important;
}
.product-card .product-wishlist,
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  position: absolute !important;
  right: 8px !important;
  z-index: 4 !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f3edf8 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(14, 12, 20, 0.28) !important;
  backdrop-filter: blur(6px);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}
.product-card .product-wishlist {
  top: 8px !important;
  bottom: auto !important;
}
.product-card .product-zoom,
button.product-zoom[data-product-zoom] {
  top: auto !important;
  bottom: 8px !important;
}
.product-card .product-wishlist:hover,
.product-card .product-zoom:hover,
button.product-zoom[data-product-zoom]:hover {
  color: #fff !important;
  background: rgba(29, 25, 38, 0.94) !important;
}
.product-card .product-wishlist.is-active,
.product-card .product-wishlist.wishlisted {
  color: #ff8bab !important;
}
.pdp-image-wrap .pdp-wishlist-float {
  z-index: 4 !important;
  color: #f3edf8 !important;
  background: rgba(29, 25, 38, 0.84) !important;
  border: 1px solid rgba(215, 194, 232, 0.34) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.pdp-image-wrap .pdp-wishlist-float:hover {
  color: #fff !important;
  background: rgba(29, 25, 38, 0.94) !important;
}
.pdp-zoom-indicator {
  position: absolute;
  right: var(--s-3);
  bottom: var(--s-3);
  z-index: 4;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #f3edf8;
  background: rgba(29, 25, 38, 0.84);
  border: 1px solid rgba(215, 194, 232, 0.34);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.pdp-main-image-trigger:hover .pdp-zoom-indicator {
  color: #fff;
  background: rgba(29, 25, 38, 0.94);
}
@media (max-width: 768px) {
  .product-card .product-badges {
    top: 8px;
    left: 8px;
    max-width: calc(100% - 68px);
  }
  .product-card .product-badge {
    padding: 4px 8px;
    font-size: 9px;
    line-height: 1.35;
    white-space: nowrap;
  }
  .product-card .product-zoom,
  button.product-zoom[data-product-zoom] {
    top: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    width: 36px !important;
    height: 36px !important;
  }
  .product-card .product-wishlist {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 4 !important;
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    color: #f3edf8 !important;
    background: rgba(29, 25, 38, 0.84) !important;
    border: 1px solid rgba(215, 194, 232, 0.34) !important;
    border-radius: 50% !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: blur(6px);
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  :root[data-theme='dark'] .product-card .product-wishlist {
    color: var(--ink) !important;
    background: rgba(29, 25, 38, 0.9) !important;
    border-color: var(--line-strong) !important;
  }
  .product-card .product-wishlist.is-active,
  .product-card .product-wishlist.wishlisted {
    color: var(--heart) !important;
  }
  .product-card .product-wishlist::after,
  .product-card .product-zoom::after {
    inset: -4px;
  }
  .pdp-image-wrap .pdp-image-badge {
    top: 10px;
    left: 10px;
  }
  .pdp-image-wrap .pdp-wishlist-float {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
  .pdp-zoom-indicator {
    right: 10px;
    bottom: 10px;
    width: 36px;
    height: 36px;
  }
  .pdp-image-wrap .pdp-wishlist-float::after {
    content: '';
    position: absolute;
    inset: -4px;
  }
}
@media (max-width: 430px) {
  .product-card .product-wishlist,
  .product-card .product-zoom,
  button.product-zoom[data-product-zoom] {
    width: 32px !important;
    height: 32px !important;
  }
  .product-card .product-wishlist::after,
  .product-card .product-zoom::after {
    inset: -6px;
  }
  .pdp-image-wrap .pdp-wishlist-float,
  .pdp-zoom-indicator {
    width: 34px;
    height: 34px;
  }
  .pdp-image-wrap .pdp-wishlist-float::after {
    inset: -5px;
  }
}

/* =============================================================================
   v1.2.158 — Desktop mini-basket viewport fit and fabric measurement.
   ========================================================================== */
#cartDrawer .rtf-mini-cart-measure,
.cart-drawer .rtf-mini-cart-measure {
  display: inline-flex !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 2px 5px !important;
  min-width: 0 !important;
  min-height: 28px !important;
  padding: 0 2px !important;
  color: var(--ink) !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  font-variant-numeric: tabular-nums !important;
}

#cartDrawer .rtf-mini-cart-measure > span,
.cart-drawer .rtf-mini-cart-measure > span {
  display: inline !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

#cartDrawer .rtf-mini-cart-equation,
.cart-drawer .rtf-mini-cart-equation {
  color: var(--ink-muted) !important;
  font-weight: 700 !important;
}

#cartDrawer .rtf-mini-cart-length,
.cart-drawer .rtf-mini-cart-length {
  color: var(--brand-strong) !important;
}

@media (min-width: 901px) {
  #cartDrawer.cart-drawer,
  #cartDrawer.rtf-cart-drawer,
  .cart-drawer#cartDrawer {
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 16px) !important;
    right: 16px !important;
    bottom: auto !important;
    width: min(400px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px) - 32px) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - 32px) !important;
    padding-bottom: 0 !important;
    border-radius: 22px !important;
  }

  #cartDrawer .cart-drawer-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  #cartDrawer.rtf-cart-drawer .widget_shopping_cart_content,
  #cartDrawer .widget_shopping_cart_content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  #cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
  #cartDrawer .rtf-mini-cart-footer {
    padding-bottom: 16px !important;
  }
}

/* =============================================================================
   v1.2.157 — Checkout order-summary alignment.
   Keep the heading, line items, coupon, totals and delivery method on one
   consistent inset while anchoring quantity badges inside their thumbnails.
   ========================================================================== */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
  --rtf-summary-inline: 24px;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  padding: 24px var(--rtf-summary-inline) 18px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
  grid-template-columns: 56px minmax(0, 1fr) max-content !important;
  grid-template-areas: "image description total" !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  padding: 18px var(--rtf-summary-inline) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image {
  grid-area: image !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__quantity,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image > [class*="quantity"] {
  inset: 4px auto auto 4px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--brand) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__description {
  grid-area: description !important;
  display: flex !important;
  min-width: 0 !important;
  gap: 5px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-name {
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-metadata,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 3px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details > :is(li, span, div, .rtf-cart-detail) {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: baseline !important;
  column-gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__name,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-product-details__value {
  min-width: 0 !important;
  line-height: inherit !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__total-price,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__individual-prices {
  grid-area: total !important;
  align-self: start !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
  .wc-block-components-panel__button,
  .wc-block-components-totals-item
) {
  padding: 18px var(--rtf-summary-inline) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-footer-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "label value"
    "description description" !important;
  align-items: baseline !important;
  column-gap: 16px !important;
  row-gap: 10px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__label {
  grid-area: label !important;
  align-self: baseline !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__value,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
  grid-area: value !important;
  align-self: baseline !important;
  justify-self: end !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-item__description {
  grid-area: description !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-totals-shipping__via {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  box-sizing: border-box !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
    --rtf-summary-inline: 18px;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding-top: 18px !important;
    padding-bottom: 14px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 52px minmax(0, 1fr) max-content !important;
    column-gap: 10px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image img {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
    .wc-block-components-panel__button,
    .wc-block-components-totals-item
  ) {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}

@media (max-width: 360px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
    --rtf-summary-inline: 14px;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 48px minmax(0, 1fr) max-content !important;
    column-gap: 9px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image img {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 340px) {
  .community-stats .stat-box { padding-inline: 4px; }
  .community-stats .stat-label {
    font-size: 9px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow-wrap: normal;
  }
}

/* Shipping rates: separate selectable cards with a clear method, price and service hierarchy. */
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 80px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-xs) !important;
  transition: border-color var(--dur-fast) ease, background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover {
  background: var(--surface-sunken) !important;
  border-color: var(--brand-mid) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):focus-within {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px var(--brand-tint) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked) {
  background: var(--brand-tint-soft) !important;
  border-color: var(--brand) !important;
  box-shadow: inset 3px 0 0 var(--brand), var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::before,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge)::after {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'] {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::before,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio']::after {
  display: none !important;
  content: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 6px 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 6px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: var(--t-base) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: auto !important;
  min-width: max-content !important;
  margin: 0 !important;
  padding: 3px 8px !important;
  color: var(--ink) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  gap: 6px !important;
  width: auto !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--ink-muted) !important;
  font-size: var(--t-2xs) !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge__icon {
  width: 14px !important;
  height: 14px !important;
  flex-basis: 14px !important;
}
.rtf-royal-mail-badge__copy {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.rtf-royal-mail-badge__copy strong {
  font-size: var(--t-2xs) !important;
  line-height: inherit !important;
}
@media (max-width: 700px) {
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
    gap: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 78px !important;
    padding: 11px 12px !important;
    border-radius: 13px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    gap: 8px 10px !important;
  }
  .rtf-royal-mail-badge {
    min-height: 18px !important;
    padding: 0 !important;
    font-size: 0.625rem !important;
  }
  .rtf-royal-mail-badge__copy strong {
    font-size: 0.625rem !important;
  }
}

/* Account authentication: support WooCommerce with registration enabled or disabled. */
html body.woocommerce-account .page-content > .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0 !important;
}
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login),
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-ResetPassword) {
  display: grid !important;
  grid-template-columns: minmax(0, 640px) !important;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}
html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login) > h2 {
  width: 100%;
  margin: 0 !important;
  font-size: var(--t-xl);
  line-height: 1.25;
}
html body.woocommerce-account #customer_login {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  align-items: start;
}
html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2, .col-1, .col-2, div) {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body.woocommerce-account #customer_login h2 {
  margin: 0 0 12px !important;
  line-height: 1.25;
}
html body.woocommerce-account form.woocommerce-form-login,
html body.woocommerce-account form.woocommerce-form-register,
html body.woocommerce-account form.woocommerce-ResetPassword {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}
html body.woocommerce-account form.woocommerce-ResetPassword {
  padding: var(--s-5);
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}
html body.woocommerce-account form.woocommerce-ResetPassword > :first-child {
  margin-top: 0;
}
html body.woocommerce-account form.woocommerce-ResetPassword .form-row-first {
  float: none !important;
  width: 100% !important;
}
html body.woocommerce-account form.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: space-between;
}
html body.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme {
  margin: 0;
}
html body.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__submit {
  margin: 0;
}

/* Mobile My Account: compact, readable navigation and dashboard hierarchy. */
@media (max-width: 600px) {
  html body.woocommerce-account .page-shell {
    padding-block: 14px 24px;
  }
  html body.woocommerce-account .page-card {
    padding: 14px;
    border-radius: var(--r-lg);
  }
  html body.woocommerce-account .page-header {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  html body.woocommerce-account .page-title {
    font-size: 1.625rem;
    line-height: 1.15;
  }
  html body.woocommerce-account .page-content > .woocommerce {
    gap: 12px;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 6px;
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(44px, auto);
    gap: 6px;
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    display: flex;
    min-width: 0;
    min-height: 0;
    margin: 0;
  }
  html body.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
  html body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul li a:not(.btn):not(.button) {
    min-width: 0;
    min-height: 44px !important;
    height: 100%;
    padding: 8px 6px !important;
    font-size: 0.75rem !important;
    line-height: 1.25;
    white-space: normal !important;
    overflow: visible;
    overflow-wrap: normal;
    word-break: normal;
    text-overflow: clip;
  }
  html body.woocommerce-account .rtf-account-overview {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    text-align: left;
    border-radius: var(--r-lg);
  }
  html body.woocommerce-account .rtf-account-overview__icon {
    width: 44px;
    height: 44px;
  }
  html body.woocommerce-account .rtf-account-overview h2 {
    font-size: 1.125rem;
    line-height: 1.25;
  }
  html body.woocommerce-account .rtf-account-overview__copy > p:last-child {
    margin-top: 4px;
    font-size: 0.8125rem;
    line-height: 1.5;
  }
  html body.woocommerce-account .rtf-account-logout {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
  }
  html body.woocommerce-account .rtf-account-shortcuts {
    gap: 8px;
    margin-top: 10px;
  }
  html body.woocommerce-account .rtf-account-shortcuts > a {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 60px;
    padding: 9px 10px;
    border-radius: var(--r-md);
  }
  html body.woocommerce-account .rtf-account-shortcut__icon {
    width: 36px;
    height: 36px;
  }
  html body.woocommerce-account form.login,
  html body.woocommerce-account form.register,
  html body.woocommerce-account form.woocommerce-ResetPassword,
  html body.woocommerce-account form.edit-account,
  html body.woocommerce-account form.woocommerce-address-fields {
    padding: 14px;
  }
  html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-form-login),
  html body.woocommerce-account .page-content > .woocommerce:has(> form.woocommerce-ResetPassword) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-account form.edit-account fieldset {
    margin-top: 16px;
    padding: 12px;
  }
  html body.woocommerce-account form .form-row { margin-bottom: 12px; }
  html body.woocommerce-account form .form-row label { margin-bottom: 6px; }
  html body.woocommerce-account .woocommerce-Address { padding: 14px; }
}

/* Mobile shipping rates: full-width title, then badge and price on a second row. */
@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option {
    padding: 16px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-checkout-step__heading-container,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-checkout-step__content,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package,
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control {
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 11px 12px !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 8px 10px !important;
    align-items: start !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
    display: contents !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: end !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-royal-mail-badge,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-royal-mail-badge,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .rtf-royal-mail-badge {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
  }
  .rtf-royal-mail-badge__copy {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 4px !important;
  }
  .rtf-shipping-choice,
  .rtf-shipping-choice .rtf-choice-button,
  .rtf-choice-list--shipping,
  .rtf-choice-list--shipping .rtf-choice-option {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .rtf-shipping-choice .rtf-choice-button,
  .rtf-choice-list--shipping .rtf-choice-option {
    height: auto !important;
    min-height: 48px !important;
    overflow: visible !important;
  }
}

/* Mini-basket product rows follow WooCommerce's compact list hierarchy: the
   products scroll independently, while the subtotal and actions remain fixed.
   One shared option panel avoids the space and visual weight of nested cards. */
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 10px !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: center !important;
  align-items: start !important;
  justify-items: center !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt,
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  writing-mode: horizontal-tb !important;
}
#cartDrawer .rtf-mini-cart-option dt,
.cart-drawer .rtf-mini-cart-option dt {
  align-self: end !important;
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}
#cartDrawer .rtf-mini-cart-option dt::after,
.cart-drawer .rtf-mini-cart-option dt::after {
  content: ":" !important;
}
#cartDrawer .rtf-mini-cart-option dd,
.cart-drawer .rtf-mini-cart-option dd {
  align-self: start !important;
  color: var(--ink) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}
#cartDrawer .rtf-mini-cart-option + .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option + .rtf-mini-cart-option {
  border-left: 1px solid var(--line) !important;
}
@media (max-width: 340px) {
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #cartDrawer .rtf-mini-cart-option + .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option + .rtf-mini-cart-option {
    border-top: 1px solid var(--line-soft) !important;
    border-left: 0 !important;
  }
}

/* Compact mini-basket items: use the space beside the thumbnail for the
   product identity, then give details and totals one predictable reading row. */
#cartDrawer ul.woocommerce-mini-cart,
.cart-drawer ul.woocommerce-mini-cart {
  gap: 0 !important;
}
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item,
.cart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 10px 2px 12px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#cartDrawer .rtf-mini-cart-product,
.cart-drawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-template-areas:
    "image name"
    "image options"
    "quantity quantity" !important;
  column-gap: 10px !important;
  row-gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#cartDrawer .rtf-mini-cart-head,
.cart-drawer .rtf-mini-cart-head {
  display: contents !important;
}
#cartDrawer .rtf-mini-cart-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: start !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}
#cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
.cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
  grid-area: name !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 2px 44px 0 0 !important;
  line-height: 1.25 !important;
}
#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  grid-area: options !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
#cartDrawer .rtf-mini-cart-option--scale,
.cart-drawer .rtf-mini-cart-option--scale {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#cartDrawer .rtf-mini-cart-option--base,
#cartDrawer .rtf-mini-cart-option--fabric-base,
#cartDrawer .rtf-mini-cart-option--material,
.cart-drawer .rtf-mini-cart-option--base,
.cart-drawer .rtf-mini-cart-option--fabric-base,
.cart-drawer .rtf-mini-cart-option--material {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  min-height: 46px !important;
  height: auto !important;
  gap: 2px !important;
  padding: 5px 6px !important;
}
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  grid-area: quantity !important;
  margin: 3px 0 0 !important;
  padding: 9px 1px 0 !important;
}

@media (max-width: 700px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 60px !important;
    height: 60px !important;
  }
}

@media (max-width: 340px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
  }
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 52px !important;
    height: 52px !important;
  }
  #cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
  .cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
    padding-right: 40px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Keep both basket actions visible on short, narrow phone viewports after the
   discount progress panel is added. Both labels fit safely in equal columns. */
@media (max-width: 360px) and (max-height: 640px) {
  #cartDrawer.rtf-cart-drawer .rtf-mini-cart-footer,
  #cartDrawer .rtf-mini-cart-footer {
    padding-bottom: 8px !important;
  }

  #cartDrawer .woocommerce-mini-cart__buttons,
  #cartDrawer .woocommerce-mini-cart__buttons.buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #cartDrawer .woocommerce-mini-cart__buttons a.button,
  #cartDrawer .woocommerce-mini-cart__buttons a {
    min-height: 44px !important;
    padding-inline: 6px !important;
    font-size: 12px !important;
  }
}

/* Checkout spacing rhythm: preserve the WooCommerce structure while giving
   major sections, fields and summary rows a clear visual separation. */
body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-journey {
  margin-bottom: 36px;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
  gap: 32px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main {
  gap: 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-fields-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-express-payment {
  padding: 28px 30px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading-container {
  margin-bottom: 20px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-address-form,
body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-fields {
  gap: 20px 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-components-text-input,
  .wc-block-components-combobox,
  .wc-block-components-combobox-control,
  .wc-block-components-country-input,
  .wc-block-components-state-input,
  .wc-blocks-components-select,
  .wc-block-components-textarea,
  .components-base-control__field
) {
  gap: 8px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block {
  padding-bottom: 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
  padding: 24px 24px 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
  padding: 20px 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
  .wc-block-components-panel__button,
  .wc-block-components-totals-item
) {
  padding: 18px 24px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  gap: 10px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
html body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method li {
  padding-block: 15px !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-journey {
    margin-bottom: 28px;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout {
    gap: 20px !important;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main {
    gap: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
  html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-fields-block {
    gap: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-express-payment {
    padding: 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-step__heading-container {
    margin-bottom: 16px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-address-form,
  body.woocommerce-checkout:not(.woocommerce-order-received) .rtf-checkout-fields {
    gap: 16px 12px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-title {
    padding: 18px 18px 14px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    padding: 16px 18px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper > :is(
    .wc-block-components-panel__button,
    .wc-block-components-totals-item
  ) {
    padding: 16px 18px !important;
  }
}

/* =============================================================================
   v1.2.153 — Refine the Login and Register account cards.
   ========================================================================== */
html body.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 36px) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

html body.woocommerce-account #customer_login > :is(.u-column1, .col-1, :first-child),
html body.woocommerce-account #customer_login > :is(.u-column2, .col-2, :last-child) {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: clamp(24px, 2.5vw, 34px) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-lg) !important;
  box-sizing: border-box !important;
}

html body.woocommerce-account #customer_login > :first-child {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body.woocommerce-account #customer_login > :last-child {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body.woocommerce-account #customer_login h2 {
  margin: 0 0 24px !important;
  padding: 0 0 16px !important;
  font-size: var(--t-xl) !important;
  line-height: 1.2 !important;
  border-bottom: 1px solid var(--line-soft);
}

html body.woocommerce-account #customer_login form.woocommerce-form-login,
html body.woocommerce-account #customer_login form.woocommerce-form-register {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide {
  width: 100% !important;
  margin: 0 0 20px !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide label {
  display: block;
  margin: 0 0 8px !important;
  line-height: 1.35;
}

html body.woocommerce-account #customer_login form > .form-row-wide :is(input.input-text, .password-input) {
  width: 100% !important;
}

html body.woocommerce-account #customer_login form > .form-row-wide input.input-text {
  min-height: 52px;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .woocommerce-LostPassword {
  order: 1;
  margin: 0 0 18px !important;
  font-size: var(--t-sm);
  line-height: 1.45;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(.woocommerce-form-register__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(button[type='submit']) {
  order: 2;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid var(--line-soft);
  box-sizing: border-box;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 20px;
  align-items: center;
}

html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(.woocommerce-form-register__submit),
html body.woocommerce-account #customer_login form.woocommerce-form-register > .form-row:has(button[type='submit']) {
  display: flex !important;
  justify-content: flex-end;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  min-width: 0;
  margin: 0 !important;
  align-items: center;
  gap: 10px;
  line-height: 1.35;
}

html body.woocommerce-account #customer_login form.woocommerce-form-login .woocommerce-form-login__rememberme input[type='checkbox'] {
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
}

html body.woocommerce-account #customer_login :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, form.woocommerce-form-register button[type='submit']) {
  display: inline-flex !important;
  width: auto !important;
  min-width: 140px;
  min-height: 48px;
  margin: 0 !important;
  padding: 11px 22px !important;
  align-items: center;
  justify-content: center;
}

html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
  margin: 2px 0 20px;
  padding: 16px 18px;
  color: var(--ink-muted);
  background: var(--surface-raised);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  font-size: var(--t-sm);
  line-height: 1.6;
}

html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text > :first-child { margin-top: 0; }
html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text > :last-child { margin-bottom: 0; }

html body.woocommerce-account #customer_login form :is(input, select, textarea, button) {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  html body.woocommerce-account #customer_login {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    max-width: 680px !important;
  }

  html body.woocommerce-account #customer_login > :first-child,
  html body.woocommerce-account #customer_login > :last-child {
    grid-column: 1 !important;
    grid-row: auto !important;
    height: auto !important;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-account #customer_login {
    gap: 14px !important;
  }

  html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2, .col-1, .col-2, :first-child, :last-child) {
    padding: 18px !important;
  }

  html body.woocommerce-account #customer_login h2 {
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    font-size: var(--t-lg) !important;
  }

  html body.woocommerce-account #customer_login form > .form-row-wide {
    margin-bottom: 16px !important;
  }

  html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
    padding: 14px;
  }
}

@media (max-width: 430px) {
  html body.woocommerce-account #customer_login form.woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit) {
    grid-template-columns: minmax(0, 1fr);
  }

  html body.woocommerce-account #customer_login :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, form.woocommerce-form-register button[type='submit']) {
    width: 100% !important;
  }
}

/* =============================================================================
   v1.2.161 — Explicit delivery selection and cohesive basket summary.
   ========================================================================== */
html body.woocommerce-cart .wc-block-cart__sidebar {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__totals-title {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-bottom-color: var(--line-soft) !important;
  border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
  font-size: var(--t-lg) !important;
  line-height: 1.25 !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-components-totals-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 0 solid var(--line) !important;
  border-right-width: 1px !important;
  border-bottom-width: 1px !important;
  border-left-width: 1px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) {
  border-radius: 0 0 var(--r-lg) var(--r-lg) !important;
  overflow: hidden !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
  min-width: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
  min-width: 0 !important;
  padding: 0 16px 16px !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-cart .wc-block-cart__sidebar .rtf-delivery-options {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 16px !important;
  box-sizing: border-box !important;
}

html body.rtf-shipping-unconfirmed :is(
  .wc-block-components-order-summary,
  .woocommerce-checkout-review-order
) .rtf-review-shipping-summary {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  color: var(--ink-muted) !important;
  font-size: var(--t-xs) !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__totals-title {
    padding: 16px 14px 14px !important;
  }

  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button,
  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
    padding: 14px !important;
  }

  html body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via {
    padding: 0 14px 14px !important;
  }
}

/* v1.2.162 final cascade: WooCommerce's live Cart Block nesting. */
body.woocommerce-cart .page-shell { padding-block: clamp(24px, 3vw, 36px) 72px !important; }
body.woocommerce-cart .rtf-checkout-journey {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px 32px !important;
  margin: 0 0 20px !important;
  padding: 20px 22px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.woocommerce-cart .rtf-checkout-journey__intro,
body.woocommerce-cart .rtf-checkout-stepper { min-width: 0 !important; }
body.woocommerce-cart .rtf-checkout-journey__eyebrow { margin-bottom: 5px !important; }
body.woocommerce-cart .rtf-checkout-journey__title { font-size: clamp(1.65rem, 2.6vw, 2.25rem) !important; }
body.woocommerce-cart .rtf-checkout-journey__lede { margin-top: 5px !important; }

html body.woocommerce-cart .wc-block-cart {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 23rem) !important;
  gap: 20px !important;
}
html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  column-gap: 16px !important;
  row-gap: 8px !important;
  padding: 16px 20px !important;
}
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 10px 0 6px !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 5px !important;
  min-width: 0 !important;
}
html body.woocommerce-cart .wc-block-cart-item__quantity {
  margin-top: 2px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line-soft) !important;
}

html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-cart__totals-title {
  margin: 0 !important;
  padding: 17px 18px 15px !important;
  background: color-mix(in srgb, var(--brand) 7%, transparent) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 1.125rem !important;
  line-height: 1.3 !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wp-block-woocommerce-cart-order-summary-totals-block {
  border-bottom: 1px solid var(--line-soft) !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper:last-child { border-bottom: 0 !important; }
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button {
  min-width: 0 !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item {
  min-width: 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-shipping__via {
  min-width: 0 !important;
  margin: -4px 0 0 !important;
  padding: 0 16px 14px !important;
  overflow-wrap: anywhere !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options .wc-block-components-checkout-step__title {
  margin: 0 0 4px !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-checkout-step-lede {
  margin: 0 0 12px !important;
  font-size: 0.8125rem !important;
}
html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item { padding-block: 16px !important; }

@media (max-width: 1024px) {
  body.woocommerce-cart .rtf-checkout-journey { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  body.woocommerce-cart .rtf-checkout-stepper { width: 100% !important; justify-content: space-between !important; }
}
@media (max-width: 900px) {
  html body.woocommerce-cart .wc-block-cart { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 600px) {
  body.woocommerce-cart .page-shell { padding-block: 16px 56px !important; }
  body.woocommerce-cart .rtf-checkout-journey { gap: 14px !important; margin-bottom: 14px !important; padding: 16px !important; }
  body.woocommerce-cart .rtf-checkout-stepper { gap: 2px !important; }
  body.woocommerce-cart .rtf-checkout-stepper > li,
  body.woocommerce-cart .rtf-checkout-stepper > li > a {
    flex: 0 0 auto !important;
    gap: 5px !important;
    min-width: max-content !important;
    white-space: nowrap !important;
  }
  body.woocommerce-cart .rtf-checkout-stepper > li + li::before {
    width: clamp(6px, 2vw, 14px) !important;
    margin-right: 2px !important;
  }
  body.woocommerce-cart .rtf-checkout-stepper__label {
    display: inline !important;
    min-width: max-content !important;
    font-size: clamp(0.6875rem, 3vw, 0.75rem) !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    column-gap: 11px !important;
    padding: 14px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
  }
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-cart__totals-title,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item { padding-inline: 14px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-shipping__via,
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .rtf-delivery-options { padding-inline: 14px !important; }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__content {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button {
    width: 100% !important;
  }
}

/* Shipping methods: separate selectable cards with a consistent method,
   service and price hierarchy. */
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 80px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 14px !important;
  box-shadow: var(--shadow-xs) !important;
  transition: background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):hover {
  background: var(--surface-sunken) !important;
  border-color: var(--brand-mid) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge):has(:checked) {
  background: var(--brand-tint-soft) !important;
  border-color: var(--brand) !important;
  box-shadow: inset 3px 0 0 var(--brand), var(--shadow-sm) !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > input[type='radio'] {
  margin-top: 2px !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 6px 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  align-self: start !important;
  margin: 0 !important;
  font-size: var(--t-base) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  overflow-wrap: break-word !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 3px 8px !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  font-size: var(--t-sm) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
html body.woocommerce-checkout .wc-block-checkout__shipping-option .rtf-royal-mail-badge,
html body.woocommerce-checkout .wc-block-components-shipping-rates-control .rtf-royal-mail-badge,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .rtf-royal-mail-badge {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-height: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: var(--t-xs) !important;
}
html body.woocommerce-checkout .rtf-royal-mail-badge__copy strong,
html body.woocommerce-cart .rtf-royal-mail-badge__copy strong {
  font-size: var(--t-xs) !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
    gap: 10px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    min-height: 78px !important;
    padding: 11px 12px !important;
    gap: 10px !important;
    border-radius: 13px !important;
  }
  html body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) > .wc-block-components-radio-control__option-layout {
    gap: 8px 10px !important;
  }
}

/* Match the checkout spacing selector's specificity so each rate remains an
   isolated card at every checkout width. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  gap: 10px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  padding: 12px 14px !important;
}

/* WooCommerce may wrap the individual shipping cards in a rate control and
   package frame. The cards own the visible border; keep every outer wrapper
   visually neutral so a square fallback frame cannot surround the group. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control__package,
html body.woocommerce-cart .wc-block-components-shipping-rates-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control__package {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
    gap: 10px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    padding: 11px 12px !important;
  }
}

/* Checkout summary: WooCommerce now supplies its own quantity badge. Keep the
   theme fallback for older markup, but suppress it when a native badge exists. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image:has(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity:not(.rtf-cart-qty-badge)
  ) .rtf-cart-qty-badge {
  display: none !important;
}

/* Only the direct WooCommerce badge container owns the badge geometry. Native
   inner spans contain the number or accessible text and must not become a
   second positioned badge. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image > .rtf-hidden-qty-badge {
  display: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image > :is(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity
  ) > span:not(.screen-reader-text) {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  line-height: inherit !important;
  transform: none !important;
}

/* Checkout delivery alignment: WooCommerce and block-theme form spacing must
   not offset the first delivery card from the order-summary card. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-main,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar {
  align-self: start !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__form,
html body.woocommerce-checkout:not(.woocommerce-order-received) form.wc-block-components-form {
  margin-block: 0 !important;
  padding-block: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > :is(
  .wc-block-components-checkout-order-summary__title,
  .wc-block-components-title,
  h2
),
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
  margin: 0 !important;
  padding: 24px var(--rtf-summary-inline) 18px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-order-summary__title-text,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > h2,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button > span:first-child {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > :is(
    .wc-block-components-checkout-order-summary__title,
    .wc-block-components-title,
    h2
  ),
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button {
    padding: 18px var(--rtf-summary-inline) 14px !important;
  }
}

/* Product rows: title first, then thumbnail beside one divided Scale/Base band.
   This final layer keeps the mini-basket and checkout summary visually aligned
   without changing WooCommerce quantities, prices or form behaviour. */
#cartDrawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item,
.cart-drawer ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  padding: 8px 2px !important;
}

#cartDrawer .rtf-mini-cart-product,
.cart-drawer .rtf-mini-cart-product {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-template-areas:
    "name name"
    "image options"
    "quantity quantity" !important;
  column-gap: 10px !important;
  row-gap: 4px !important;
}

/* Keep the remove control on the item's outer edge and clear of the
   Scale/Base information band without adding height to compact baskets. */
#cartDrawer .woocommerce-mini-cart-item > a.remove.remove_from_cart_button,
#cartDrawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove,
.cart-drawer .woocommerce-mini-cart-item .remove.rtf-mini-cart-remove {
  top: 4px !important;
  right: 0 !important;
}

#cartDrawer .rtf-mini-cart-head,
.cart-drawer .rtf-mini-cart-head {
  display: contents !important;
}

#cartDrawer .rtf-mini-cart-head .rtf-mini-cart-name,
.cart-drawer .rtf-mini-cart-head .rtf-mini-cart-name {
  grid-area: name !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 0 44px 0 1px !important;
  line-height: 1.3 !important;
}

#cartDrawer .rtf-mini-cart-image,
.cart-drawer .rtf-mini-cart-image,
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image {
  grid-area: image !important;
  align-self: start !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
}

#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
}

#cartDrawer dl.rtf-mini-cart-options,
.cart-drawer dl.rtf-mini-cart-options {
  grid-area: options !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: stretch !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 64px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
}

#cartDrawer .rtf-mini-cart-option,
.cart-drawer .rtf-mini-cart-option {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 62px !important;
  padding: 7px 8px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#cartDrawer .rtf-mini-cart-option:nth-child(2),
.cart-drawer .rtf-mini-cart-option:nth-child(2) {
  border-left: 0 !important;
}

#cartDrawer dl.rtf-mini-cart-options:has(> .rtf-mini-cart-option:nth-child(2))::after,
.cart-drawer dl.rtf-mini-cart-options:has(> .rtf-mini-cart-option:nth-child(2))::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  display: block !important;
  width: 1px !important;
  background: var(--line) !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
}

#cartDrawer .rtf-mini-cart-option:only-child,
.cart-drawer .rtf-mini-cart-option:only-child {
  grid-column: 1 / -1 !important;
  border-left: 0 !important;
}

#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  grid-area: quantity !important;
  margin: 0 !important;
  padding: 9px 1px 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "name name total"
    "image metadata metadata" !important;
  column-gap: 12px !important;
  row-gap: 9px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__description {
  display: contents !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-name {
  grid-area: name !important;
  align-self: start !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__total-price {
  grid-area: total !important;
  align-self: start !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item__image .wc-block-components-product-image {
  grid-area: image !important;
  align-self: start !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  grid-area: metadata !important;
  align-self: stretch !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata > .wc-block-components-product-details {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata > .wc-block-components-product-details:has(> .wc-block-components-product-details__base),
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata > .wc-block-components-product-details:has(> .wc-block-components-product-details__material) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata > .wc-block-components-product-details:has(> .wc-block-components-product-details__scale) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata > .wc-block-components-product-details:only-child {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details > .rtf-cart-detail {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  min-height: 54px !important;
  padding: 6px 8px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details > .rtf-cart-detail:nth-child(2) {
  border-left: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-metadata:has(> .wc-block-components-product-details:nth-child(2))::after,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details:only-child:has(> .rtf-cart-detail:nth-child(2))::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  display: block !important;
  width: 1px !important;
  background: var(--line) !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details:only-child > :is(
  .wc-block-components-product-details__base,
  .wc-block-components-product-details__material
) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details:only-child > .wc-block-components-product-details__scale {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item .wc-block-components-product-details > .rtf-cart-detail :is(
  .wc-block-components-product-details__name,
  .wc-block-components-product-details__value
) {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

/* Match the basket metadata panel where WooCommerce Cart Block is in use. */
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
  gap: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-md) !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised {
  min-height: 58px !important;
  padding: 8px 10px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised:nth-child(2) {
  border-left: 1px solid var(--line) !important;
}

/* One contained corner counter for both current WooCommerce badge structures. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image > :is(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity
  ):not(.rtf-hidden-qty-badge) {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  background: var(--surface-raised) !important;
  border: 0 !important;
  border-radius: 0 0 8px 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  transform: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image > :is(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity
  ):not(.rtf-hidden-qty-badge)::before,
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary-item__image > :is(
    .wc-block-components-product-badge,
    .wc-block-components-order-summary-item__quantity
  ):not(.rtf-hidden-qty-badge)::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 700px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 60px minmax(0, 1fr) !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    min-height: 60px !important;
  }
  #cartDrawer .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option {
    min-height: 58px !important;
    padding-inline: 6px !important;
  }
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:first-child,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-order-summary-item:last-child {
    grid-template-columns: 52px minmax(0, 1fr) max-content !important;
    column-gap: 10px !important;
  }
}

@media (max-width: 340px) {
  #cartDrawer .rtf-mini-cart-product,
  .cart-drawer .rtf-mini-cart-product {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 8px !important;
  }
  #cartDrawer .rtf-mini-cart-image,
  .cart-drawer .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image,
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-image img,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-image img {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
  }
  #cartDrawer dl.rtf-mini-cart-options,
  .cart-drawer dl.rtf-mini-cart-options {
    min-height: 52px !important;
  }
  #cartDrawer .rtf-mini-cart-option,
  .cart-drawer .rtf-mini-cart-option {
    min-height: 50px !important;
    padding: 5px 4px !important;
  }
}

/* Mobile mini-basket scrollbar clearance. Mobile Chromium and Firefox may
   overlay the scroll rail instead of subtracting it from the list width. */
@media (max-width: 700px) {
  #cartDrawer ul.woocommerce-mini-cart,
  .cart-drawer ul.woocommerce-mini-cart {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-inline-end: 12px !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin;
    scrollbar-color: var(--brand-mid) transparent;
  }

  #cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar,
  .cart-drawer ul.woocommerce-mini-cart::-webkit-scrollbar {
    width: 5px;
  }

  #cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar-track,
  .cart-drawer ul.woocommerce-mini-cart::-webkit-scrollbar-track {
    background: transparent;
  }

  #cartDrawer ul.woocommerce-mini-cart::-webkit-scrollbar-thumb,
  .cart-drawer ul.woocommerce-mini-cart::-webkit-scrollbar-thumb {
    background: var(--brand-mid);
    border-radius: 999px;
  }
}

/* Main basket rows: retain the side-basket hierarchy without wasting vertical space. */
html body.woocommerce-cart .wc-block-cart-items__row,
html body.woocommerce-cart .wc-block-cart-items__row:first-child,
html body.woocommerce-cart .wc-block-cart-items__row:last-child {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) max-content 38px !important;
  grid-template-areas:
    "name name total remove"
    "image metadata metadata metadata"
    "qty qty qty qty" !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 8px !important;
  padding: 16px 18px !important;
}

html body.woocommerce-cart .wc-block-cart-item__product,
html body.woocommerce-cart .wc-block-cart-item__wrap {
  display: contents !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  grid-area: name !important;
  align-self: center !important;
  min-width: 0 !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-cart .wc-block-cart-item__prices { display: none !important; }

html body.woocommerce-cart .wc-block-cart-item__image {
  grid-area: image !important;
  align-self: stretch !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
}

html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
  grid-area: metadata !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: stretch !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 64px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--r-md) !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised:only-child {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised:has(.wc-block-components-product-details__scale),
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail:has(.wc-block-components-product-details__scale) {
  order: 1 !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised:has(.wc-block-components-product-details__base),
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised:has(.wc-block-components-product-details__material),
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail:has(.wc-block-components-product-details__base),
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail:has(.wc-block-components-product-details__material) {
  order: 2 !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 62px !important;
  padding: 6px 10px !important;
  text-align: center !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details :is(
  .wc-block-components-product-details__name,
  .wc-block-components-product-details__value
) {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata:has(> .wc-block-components-product-details:nth-child(2))::after,
html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata:has(> .wc-block-components-product-details:only-child > .rtf-cart-detail:nth-child(2))::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 auto 0 50% !important;
  display: block !important;
  width: 1px !important;
  background: var(--line) !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
}

html body.woocommerce-cart .wc-block-cart-item__total {
  grid-area: total !important;
  align-self: center !important;
  min-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-cart .wc-block-cart-item__quantity {
  grid-area: qty !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--line-soft) !important;
}

html body.woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__remove-link {
  grid-area: remove !important;
  align-self: center !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 50% !important;
  line-height: 1 !important;
}

html body.woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__remove-link svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  fill: currentColor !important;
}

html body.woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__remove-link span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

html body.woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__remove-link:hover,
html body.woocommerce-cart .wc-block-cart-items__row > .wc-block-cart-item__remove-link:focus-visible {
  color: var(--heart) !important;
  background: var(--rose-wash) !important;
  border-color: var(--heart) !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 56px minmax(0, 1fr) max-content !important;
    grid-template-areas:
      "name name remove"
      "image metadata metadata"
      "qty qty total" !important;
    column-gap: 9px !important;
    row-gap: 8px !important;
    padding: 12px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    min-height: 32px !important;
    padding: 4px 0 !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-height: 56px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
    min-height: 54px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
    padding: 5px 6px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__quantity,
  html body.woocommerce-cart .wc-block-cart-item__total {
    align-self: center !important;
    padding-top: 9px !important;
    border-top: 1px solid var(--line-soft) !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__total {
    justify-self: end !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 48px !important;
  }
}

@media (max-width: 340px) {
  html body.woocommerce-cart .wc-block-cart-items__row,
  html body.woocommerce-cart .wc-block-cart-items__row:first-child,
  html body.woocommerce-cart .wc-block-cart-items__row:last-child {
    grid-template-columns: 52px minmax(0, 1fr) max-content !important;
    column-gap: 8px !important;
    padding: 11px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
    min-height: 52px !important;
  }

  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
    min-height: 50px !important;
  }
}

/* Keep earlier fixed dimensions from restoring the old 72/88 px thumbnail. */
html body.woocommerce-cart .wc-block-cart-item__image,
html body.woocommerce-cart .wc-block-cart-item__image a,
html body.woocommerce-cart .wc-block-cart-item__image img,
html body.woocommerce-cart .wc-block-cart-item__image a img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img,
  html body.woocommerce-cart .wc-block-cart-item__image a img {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}

@media (max-width: 340px) {
  html body.woocommerce-cart .wc-block-cart-item__image,
  html body.woocommerce-cart .wc-block-cart-item__image a,
  html body.woocommerce-cart .wc-block-cart-item__image img,
  html body.woocommerce-cart .wc-block-cart-item__image a img {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }
}

/* Override the earlier fixed-height metadata band at the same specificity. */
html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-components-product-metadata {
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
}

html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised,
html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
}

@media (max-width: 600px) {
  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-components-product-metadata {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (max-width: 340px) {
  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-components-product-metadata {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
  }

  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-metadata > .wc-block-components-product-details.rtf-cart-details-normalised,
  html body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-components-product-details.rtf-cart-details-normalised > .rtf-cart-detail {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
}

/* Mini-basket quantity controls mirror the main basket without enlarging rows. */
#cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
.cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 9px !important;
}

#cartDrawer .rtf-mini-cart-qty-stepper,
.cart-drawer .rtf-mini-cart-qty-stepper {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
}

#cartDrawer .rtf-mini-cart-qty-button,
.cart-drawer .rtf-mini-cart-qty-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font: inherit !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

#cartDrawer .rtf-mini-cart-qty-button--minus,
.cart-drawer .rtf-mini-cart-qty-button--minus {
  border-right: 1px solid var(--line-soft) !important;
}

#cartDrawer .rtf-mini-cart-qty-button--plus,
.cart-drawer .rtf-mini-cart-qty-button--plus {
  border-left: 1px solid var(--line-soft) !important;
}

#cartDrawer .rtf-mini-cart-qty-button:hover:not(:disabled),
#cartDrawer .rtf-mini-cart-qty-button:focus-visible,
.cart-drawer .rtf-mini-cart-qty-button:hover:not(:disabled),
.cart-drawer .rtf-mini-cart-qty-button:focus-visible {
  color: var(--ink) !important;
  background: var(--brand-soft) !important;
}

#cartDrawer .rtf-mini-cart-qty-button:disabled,
.cart-drawer .rtf-mini-cart-qty-button:disabled {
  opacity: .38 !important;
}

#cartDrawer .rtf-mini-cart-qty-stepper .rtf-mini-cart-measure,
.cart-drawer .rtf-mini-cart-qty-stepper .rtf-mini-cart-measure {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 0 4px !important;
  color: var(--ink) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#cartDrawer .rtf-mini-cart-line-total,
.cart-drawer .rtf-mini-cart-line-total {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

#cartDrawer .woocommerce-mini-cart-item[aria-busy="true"] .rtf-mini-cart-qty-stepper,
.cart-drawer .woocommerce-mini-cart-item[aria-busy="true"] .rtf-mini-cart-qty-stepper {
  opacity: .68 !important;
}

@media (max-width: 340px) {
  #cartDrawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity,
  .cart-drawer .woocommerce-mini-cart-item .rtf-mini-cart-quantity {
    gap: 7px !important;
  }

  #cartDrawer .rtf-mini-cart-qty-stepper,
  .cart-drawer .rtf-mini-cart-qty-stepper {
    grid-template-columns: 30px minmax(0, 1fr) 30px !important;
  }

  #cartDrawer .rtf-mini-cart-qty-button,
  .cart-drawer .rtf-mini-cart-qty-button {
    width: 30px !important;
    min-width: 30px !important;
  }

  #cartDrawer .rtf-mini-cart-qty-stepper .rtf-mini-cart-measure,
  .cart-drawer .rtf-mini-cart-qty-stepper .rtf-mini-cart-measure {
    padding-inline: 2px !important;
    font-size: 0.6875rem !important;
  }
}

/* =============================================================================
   v1.2.212 - Basket and side-basket quantity control parity
   ============================================================================= */
html body.woocommerce-cart :is(.cart-page-qty-stepper, .wc-block-components-quantity-selector.rtf-block-qty) {
  display: inline-grid !important;
  grid-template-columns: 36px minmax(120px, auto) 36px !important;
  align-items: center !important;
  gap: 0 !important;
  width: max-content !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

html body.woocommerce-cart :is(
  .cart-page-qty-minus,
  .cart-page-qty-plus,
  .rtf-block-qty .wc-block-components-quantity-selector__button
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

html body.woocommerce-cart :is(.cart-page-qty-minus, .rtf-block-qty .wc-block-components-quantity-selector__button--minus) {
  border-right: 1px solid var(--line-soft) !important;
}

html body.woocommerce-cart :is(.cart-page-qty-plus, .rtf-block-qty .wc-block-components-quantity-selector__button--plus) {
  border-left: 1px solid var(--line-soft) !important;
}

html body.woocommerce-cart :is(
  .cart-page-qty-minus,
  .cart-page-qty-plus,
  .rtf-block-qty .wc-block-components-quantity-selector__button
):is(:hover, :focus-visible):not(:disabled) {
  color: var(--ink) !important;
  background: var(--brand-soft) !important;
}

html body.woocommerce-cart .rtf-cart-qty-measure {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  box-sizing: border-box !important;
  min-width: 120px !important;
  height: 40px !important;
  padding: 0 6px !important;
  color: var(--ink) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.cart-page-item-controls:has(.rtf-cart-qty-measure) .cart-page-length-note,
html body.woocommerce-cart .cart-page-item-controls:has(.rtf-cart-qty-measure) .cart-page-length-note {
  display: none !important;
}

@media (max-width: 340px) {
  html body.woocommerce-cart :is(.cart-page-qty-stepper, .wc-block-components-quantity-selector.rtf-block-qty) {
    grid-template-columns: 32px minmax(108px, auto) 32px !important;
  }

  html body.woocommerce-cart :is(
    .cart-page-qty-minus,
    .cart-page-qty-plus,
    .rtf-block-qty .wc-block-components-quantity-selector__button
  ) {
    width: 32px !important;
    min-width: 32px !important;
  }

  html body.woocommerce-cart .rtf-cart-qty-measure {
    min-width: 108px !important;
    padding-inline: 3px !important;
    font-size: 0.6875rem !important;
  }

  .cart-page-item-bottom {
    flex-wrap: wrap !important;
  }

  .cart-page-item-controls,
  .cart-page-qty-stepper {
    width: 100% !important;
  }

  .cart-page-qty-stepper {
    grid-template-columns: 32px minmax(0, 1fr) 32px !important;
  }

  .cart-page-qty-stepper .rtf-cart-qty-measure {
    min-width: 0 !important;
  }

  .cart-page-line-total {
    flex: 1 1 100% !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    margin-left: 0 !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--line-soft) !important;
  }
}

/* =============================================================================
   v1.2.213 - Do not present WooCommerce's provisional shipping rate as chosen
   ============================================================================= */
html body.woocommerce-checkout.rtf-shipping-unconfirmed :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option
) {
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
  box-shadow: var(--shadow-xs) !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) input[type='radio']:checked {
  background-color: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) input[type='radio']:checked::after,
html body.woocommerce-checkout.rtf-shipping-unconfirmed :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) :is(
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option
)::after {
  display: none !important;
  content: none !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed .wc-block-components-order-summary .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
html body.woocommerce-checkout.rtf-shipping-unconfirmed .woocommerce-checkout-review-order .woocommerce-shipping-totals .woocommerce-Price-amount {
  display: none !important;
}
/* v1.2.216: keep WooCommerce's valid zero-cost holding rate out of the visible choices. */
html body .wc-block-components-radio-control__option:has(input[value="rtf_delivery_selection"]),
html body .woocommerce-shipping-methods li:has(input[value="rtf_delivery_selection"]),
html body .rtf-shipping-placeholder-rate {
  display: none !important;
}

/* v1.2.217: the holding rate is a prompt, not a free delivery offer. */
html body.woocommerce-checkout.rtf-shipping-unconfirmed .wc-block-components-totals-shipping :is(
  .wc-block-formatted-money-amount,
  .wc-block-components-formatted-money-amount,
  .woocommerce-Price-amount,
  .amount,
  .rtf-shipping-placeholder-price
),
html body.woocommerce-checkout.rtf-shipping-unconfirmed .woocommerce-shipping-totals :is(
  .woocommerce-Price-amount,
  .amount,
  .rtf-shipping-placeholder-price
) {
  display: none !important;
}

/* v1.2.218: do not present the basket's neutral selection placeholder as free shipping. */
html body.woocommerce-cart .rtf-cart-shipping-awaiting-selection :is(
  .wc-block-components-totals-item__value,
  td:last-child > .woocommerce-Price-amount,
  td:last-child > .amount
) {
  display: none !important;
}

/* v1.2.219: cover every Checkout Block shipping-summary wrapper while selection is pending. */
html body.woocommerce-checkout.rtf-shipping-unconfirmed .rtf-review-shipping-awaiting-selection :is(
  .wc-block-components-totals-item__value,
  .wc-block-formatted-money-amount,
  .wc-block-components-formatted-money-amount,
  .woocommerce-Price-amount,
  .amount,
  .rtf-shipping-placeholder-price
) {
  display: none !important;
}

/* v1.2.220: keep the native pending-delivery prompt on its own contained mobile row. */
@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-shipping-block {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-shipping-block > .wc-block-components-totals-item {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout-order-summary-shipping-block > .wc-block-components-totals-shipping__via {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 var(--rtf-summary-inline) 16px !important;
    box-sizing: border-box !important;
    clear: both !important;
  }
}

/* v1.2.224: align Subtotal, Delivery and Total across WooCommerce's nested
   Checkout Block totals container as well as its direct-child variant. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

/* v1.2.227: keep an applied Checkout Block coupon as one compact, readable
   chip. The general totals-description layout remains full width, but must not
   lend its shipping-style pill to the discount description or place the remove
   control over the coupon code. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-discount-block
  .wc-block-components-totals-discount > .wc-block-components-totals-item {
  padding: 18px var(--rtf-summary-inline) !important;
  box-sizing: border-box !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-discount-block
  .wc-block-components-totals-item__description,
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-totals-discount
  .wc-block-components-totals-item__description {
  display: block !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  color: var(--ink-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  .wc-block-components-totals-discount__coupon-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  .wc-block-components-chip {
  position: static !important;
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 3px 4px 3px 10px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  .wc-block-components-chip__text {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  :is(.wc-block-components-chip__remove, .wc-block-components-chip__remove-button) {
  position: static !important;
  display: grid !important;
  flex: 0 0 24px !important;
  place-items: center !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  transform: none !important;
}

/* Some Checkout Block releases make the chip itself the remove button and put
   the icon directly beside its text. Preserve the same separated circular
   remove affordance for that markup variant. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  .wc-block-components-chip:not(:has(:is(.wc-block-components-chip__remove, .wc-block-components-chip__remove-button)))
  .wc-block-components-chip__remove-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  color: var(--ink-muted) !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received)
    .wp-block-woocommerce-checkout-order-summary-discount-block
    .wc-block-components-totals-discount > .wc-block-components-totals-item {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  :is(
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wc-block-components-totals-discount
  )
  .wc-block-components-chip__remove-icon {
  position: static !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;
  transform: none !important;
}

/* v1.2.225: current Cart Blocks place the pending-delivery prompt inside the
   totals item description. Give that prompt its own mobile row; retain support
   for the older sibling markup used by some WooCommerce versions. */
@media (max-width: 600px) {
  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection.wc-block-components-totals-item,
  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection > .wc-block-components-totals-item,
  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection
    .wc-block-components-totals-shipping > .wc-block-components-totals-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "label"
      "description" !important;
    align-items: start !important;
    row-gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection
    .wc-block-components-totals-item__label {
    grid-area: label !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection
    .wc-block-components-totals-item__description {
    grid-area: description !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection
    .wc-block-components-totals-item__description
    .wc-block-components-totals-shipping__via {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }

  html body.woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block
    .rtf-cart-shipping-awaiting-selection > .wc-block-components-totals-shipping__via {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 14px 14px !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
}

/* v1.2.226: when WooCommerce puts the selection prompt inside the provisional
   price value, the script preserves one visible copy in the description row. */
html body.woocommerce-cart
  .wp-block-woocommerce-cart-order-summary-block
  .rtf-cart-shipping-awaiting-selection
  .rtf-cart-shipping-selection-prompt {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 1em !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  font-size: 0.75rem !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wc-block-components-order-summary.wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper > .wc-block-components-totals-item,
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper > .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "label value"
    "description description" !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-inline: var(--rtf-summary-inline) !important;
  box-sizing: border-box !important;
}

/* v1.2.233: the live Checkout Block nests Delivery's totals item inside an
   extra shipping container. Give it the same grid and inline padding as
   Subtotal and Total so both label and value edges align. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block
  .wp-block-woocommerce-checkout-order-summary-shipping-block
  .wc-block-components-totals-shipping > .wc-block-components-totals-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-areas:
    "label value"
    "description description" !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-inline: var(--rtf-summary-inline) !important;
  box-sizing: border-box !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-shipping-block.rtf-review-shipping-awaiting-selection
  .wc-block-components-totals-shipping > .wc-block-components-totals-item
  > .wc-block-components-totals-item__description {
  grid-area: description !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 1em !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-shipping-block.rtf-review-shipping-awaiting-selection
  .wc-block-components-totals-shipping > .wc-block-components-totals-item
  > .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
  margin: 8px 0 0 !important;
  padding: 7px 12px !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
+
/* =============================================================================
   v1.2.235 - Empty-basket recommendation thumbnails and actions
   ============================================================================= */
html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  align-items: stretch;
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--surface-sunken);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  width: 100%;
  margin-top: auto;
  padding-top: var(--s-3);
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 0 var(--s-5);
  color: var(--ink-on-brand);
  background: var(--brand);
  border: 1.5px solid transparent;
  border-radius: var(--r-md);
  box-shadow: var(--shadow-brand);
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  color: var(--ink-on-brand);
  background: var(--brand-hover);
  box-shadow: var(--shadow-md);
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand) 32%, transparent);
  outline-offset: 3px;
}

html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:active {
  transform: translateY(1px) scale(0.995);
}

@media (max-width: 340px) {
  html body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    padding-inline: 12px;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}


/* v1.2.231: WooCommerce can render the pending-delivery message as a third
   child of the totals item. Explicit grid areas keep it below the Shipping
   label instead of auto-placing it into the same cell. */
html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper > .wc-block-components-totals-item
  > .wc-block-components-totals-item__label {
  grid-area: label !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper > .wc-block-components-totals-item
  > .wc-block-components-totals-item__value {
  grid-area: value !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-block :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-total-block
  ).wc-block-components-totals-wrapper > .wc-block-components-totals-item
  > .wc-block-components-totals-item__description {
  grid-area: description !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 1em !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received)
  .wp-block-woocommerce-checkout-order-summary-shipping-block.rtf-review-shipping-awaiting-selection
  > .wc-block-components-totals-item
  > .wc-block-components-totals-item__description:not(:has(.wc-block-components-totals-shipping__via)) {
  margin: 8px 0 0 !important;
  padding: 7px 12px !important;
  color: var(--ink-muted) !important;
  background: var(--surface-sunken) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

/* =============================================================================
   v1.2.236 - Shipping options as one calm, grouped selection surface
   ============================================================================= */
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 18px !important;
  outline: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 86px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line-soft) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transition: background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:last-child,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:last-child {
  border-bottom: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:hover,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:hover {
  background: var(--surface-sunken) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(:checked) {
  background: var(--brand-tint-soft) !important;
  border-color: var(--line-soft) !important;
  box-shadow: inset 5px 0 0 var(--brand) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option::before,
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::before,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option::after {
  display: none !important;
  content: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:focus-within,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:focus-within {
  outline: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:has(input:focus-visible),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:focus-visible) {
  outline: 0 !important;
  background: var(--brand-tint-soft) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio']:focus-visible,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio']:focus-visible {
  outline: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio'] {
  margin: 2px 0 0 !important;
  background: var(--surface-raised) !important;
  border: 2px solid var(--line-strong) !important;
  border-radius: 50% !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio']:checked,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio']:checked {
  background: var(--surface-raised) !important;
  border-color: var(--brand) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio']:checked::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio']:checked::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 8px !important;
  height: 8px !important;
  background: var(--brand) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  transform: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 7px 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__label-group,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: var(--t-base) !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: var(--t-base) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .rtf-royal-mail-badge,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .rtf-royal-mail-badge {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ink-muted) !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option:has(:checked) {
  background: transparent !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio']:checked {
  background: var(--surface-raised) !important;
  border-color: var(--line-strong) !important;
}

html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received) :is(
  .wc-block-checkout__shipping-option,
  .wc-block-components-shipping-rates-control
) .wc-block-components-radio-control__option > input[type='radio']:checked::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
    .wc-block-checkout__shipping-option,
    .wc-block-components-shipping-rates-control
  ) .wc-block-components-radio-control,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
    border-radius: 15px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
    .wc-block-checkout__shipping-option,
    .wc-block-components-shipping-rates-control
  ) .wc-block-components-radio-control__option,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
    gap: 10px !important;
    min-height: 78px !important;
    padding: 14px !important;
    border-radius: 0 !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
    .wc-block-checkout__shipping-option,
    .wc-block-components-shipping-rates-control
  ) .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
    gap: 6px 10px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(
    .wc-block-checkout__shipping-option,
    .wc-block-components-shipping-rates-control
  ) :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control :is(
    .wc-block-components-radio-control__label,
    .wc-block-components-radio-control__secondary-label
  ) {
    font-size: var(--t-sm) !important;
  }
}

/* v1.2.237 final cascade: literal selected-sample proportions and contrast. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option {
  background: color-mix(in srgb, var(--surface) 76%, var(--surface-raised) 24%) !important;
  border-color: var(--line) !important;
  border-radius: 20px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title {
  font-size: 1.375rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
  background: var(--surface) !important;
  border-color: var(--line-strong) !important;
  border-radius: 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 16px !important;
  min-height: 94px !important;
  padding: 20px 22px !important;
  background: transparent !important;
  border-bottom-color: var(--line) !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
  padding: 20px 22px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(:checked),
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option:has(input:focus-visible),
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:focus-visible) {
  background: color-mix(in srgb, var(--surface-raised) 90%, var(--brand) 10%) !important;
  box-shadow: inset 6px 0 0 var(--brand) !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option > input[type='radio'],
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio'] {
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin-top: 1px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option > input[type='radio']:checked::after,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option > input[type='radio']:checked::after {
  top: 4px !important;
  left: 4px !important;
  width: 10px !important;
  height: 10px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option-layout,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
  gap: 8px 18px !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label),
html body.woocommerce-cart .wc-block-components-shipping-rates-control :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label) {
  font-size: 1rem !important;
  line-height: 1.35 !important;
}
html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) :is(.rtf-royal-mail-badge, .rtf-royal-mail-badge__copy, .rtf-royal-mail-badge__copy strong),
html body.woocommerce-cart .wc-block-components-shipping-rates-control :is(.rtf-royal-mail-badge, .rtf-royal-mail-badge__copy, .rtf-royal-mail-badge__copy strong) {
  font-size: 0.875rem !important;
  line-height: 1.3 !important;
}
html body.woocommerce-checkout.rtf-shipping-unconfirmed:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option:has(:checked) {
  background: transparent !important;
  box-shadow: none !important;
}
@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control {
    border-radius: 16px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 94px !important;
    padding: 18px 14px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) {
    padding: 18px 14px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) .wc-block-components-radio-control__option-layout,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
    gap: 7px 10px !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label) {
    font-size: 0.875rem !important;
  }
  html body.woocommerce-checkout:not(.woocommerce-order-received) :is(.wc-block-checkout__shipping-option, .wc-block-components-shipping-rates-control) :is(.rtf-royal-mail-badge, .rtf-royal-mail-badge__copy, .rtf-royal-mail-badge__copy strong),
  html body.woocommerce-cart .wc-block-components-shipping-rates-control :is(.rtf-royal-mail-badge, .rtf-royal-mail-badge__copy, .rtf-royal-mail-badge__copy strong) {
    font-size: 0.75rem !important;
  }
}

/* v1.2.237 final type scale: match the selected sample hierarchy. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
  font-size: 16px !important;
}

@media (max-width: 600px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label-group:has(> .rtf-royal-mail-badge) > .wc-block-components-radio-control__label,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label,
  html body.woocommerce-cart .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(.rtf-royal-mail-badge) .wc-block-components-radio-control__secondary-label {
    font-size: 14px !important;
  }
}