/* Ink Pulse Print - WooCommerce Cart & Checkout
   Dedicated WooCommerce Blocks presentation layer.
   Intentionally scoped to Cart and Checkout only. */

body.woocommerce-cart,
body.woocommerce-checkout {
  --ipp-panel: rgba(255,255,255,.055);
  --ipp-panel-strong: rgba(255,255,255,.075);
  --ipp-border: rgba(255,255,255,.22);
  --ipp-border-soft: rgba(255,255,255,.13);
  --ipp-text: #f7f4ef;
  --ipp-muted: rgba(247,244,239,.78);
  --ipp-field: #fff;
  --ipp-field-text: #181818;
  --ipp-radius: 14px;
}

body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
  color: var(--ipp-text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-checkout .wc-block-checkout__main {
  min-width: 0;
}

/* Headings */
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-cart .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  color: var(--ipp-text) !important;
  font-family: inherit !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-cart .wc-block-components-title {
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}

/* Main checkout sections */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-checkout__shipping-method-option,
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-cart-items {
  border-color: var(--ipp-border-soft) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step {
  margin: 0 0 2rem !important;
  padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin: 0 0 1rem !important;
}

/* Text fields */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-cart .wc-block-components-text-input {
  margin-bottom: .9rem !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-cart .wc-block-components-text-input input {
  min-height: 54px !important;
  padding: 18px 14px 8px !important;
  border: 1px solid rgba(25,25,25,.22) !important;
  border-radius: 10px !important;
  background: var(--ipp-field) !important;
  color: var(--ipp-field-text) !important;
  -webkit-text-fill-color: var(--ipp-field-text) !important;
  box-shadow: none !important;
  font: inherit !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-cart .wc-block-components-text-input label {
  color: rgba(24,24,24,.72) !important;
  font-family: inherit !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus {
  outline: 2px solid rgba(255,255,255,.8) !important;
  outline-offset: 2px !important;
  border-color: #222 !important;
}

/* Real checkboxes. Keep native click/checked behaviour, only style appearance. */
body.woocommerce-checkout input[type="checkbox"].wc-block-components-checkbox__input,
body.woocommerce-cart input[type="checkbox"].wc-block-components-checkbox__input {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: inline-block !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 12px 0 0 !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

body.woocommerce-checkout input[type="checkbox"].wc-block-components-checkbox__input::before,
body.woocommerce-cart input[type="checkbox"].wc-block-components-checkbox__input::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 3px !important;
  width: 7px !important;
  height: 13px !important;
  border: solid #fff !important;
  border-width: 0 3px 3px 0 !important;
  transform: rotate(45deg) scale(0) !important;
  transform-origin: center !important;
  opacity: 0 !important;
}

body.woocommerce-checkout input[type="checkbox"].wc-block-components-checkbox__input:checked::before,
body.woocommerce-cart input[type="checkbox"].wc-block-components-checkbox__input:checked::before {
  transform: rotate(45deg) scale(1) !important;
  opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-cart .wc-block-components-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-height: 32px !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-cart .wc-block-components-checkbox__label {
  color: var(--ipp-text) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* Radio controls.
   One control only: selected state is a radial background, so no pseudo-dot can drift. */
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-cart .wc-block-components-radio-control__option {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0,1fr) auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  min-height: 72px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  border: 1px solid var(--ipp-border) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--ipp-text) !important;
  cursor: pointer !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option,
body.woocommerce-cart .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  border-top-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option::before,
body.woocommerce-checkout .wc-block-components-radio-control__option::after,
body.woocommerce-cart .wc-block-components-radio-control__option::before,
body.woocommerce-cart .wc-block-components-radio-control__option::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-checkout input.wc-block-components-radio-control__input,
body.woocommerce-cart input.wc-block-components-radio-control__input {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

body.woocommerce-checkout input.wc-block-components-radio-control__input::before,
body.woocommerce-checkout input.wc-block-components-radio-control__input::after,
body.woocommerce-cart input.wc-block-components-radio-control__input::before,
body.woocommerce-cart input.wc-block-components-radio-control__input::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-checkout input.wc-block-components-radio-control__input:checked,
body.woocommerce-cart input.wc-block-components-radio-control__input:checked {
  background: radial-gradient(circle at center, #fff 0 6px, transparent 6.5px) !important;
}

body.woocommerce-checkout input.wc-block-components-radio-control__input:focus-visible,
body.woocommerce-cart input.wc-block-components-radio-control__input:focus-visible {
  outline: 2px solid rgba(255,255,255,.65) !important;
  outline-offset: 3px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-cart .wc-block-components-radio-control__option-layout {
  grid-column: 2 / -1 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label-group,
body.woocommerce-cart .wc-block-components-radio-control__label-group {
  min-width: 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-cart .wc-block-components-radio-control__label {
  color: var(--ipp-text) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-cart .wc-block-components-radio-control__secondary-label {
  color: var(--ipp-text) !important;
  white-space: nowrap !important;
  margin-left: auto !important;
}

/* Payment method panels */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
  border: 1px solid var(--ipp-border) !important;
  border-radius: var(--ipp-radius) !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.025) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  margin: 0 !important;
  padding: 16px 18px 18px 58px !important;
  border: 1px solid var(--ipp-border) !important;
  border-top: 0 !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--ipp-text) !important;
}

/* Payment icons */
body.woocommerce-checkout .wc-block-components-payment-method-icons,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* Afterpay and provider messaging.
   Do not paint the container white. Keep provider content readable on the dark theme. */
body.woocommerce-cart [class*="afterpay"],
body.woocommerce-checkout [class*="afterpay"],
body.woocommerce-cart [class*="Afterpay"],
body.woocommerce-checkout [class*="Afterpay"] {
  color: #fff !important;
}

body.woocommerce-cart [class*="afterpay"] a,
body.woocommerce-checkout [class*="afterpay"] a,
body.woocommerce-cart [class*="Afterpay"] a,
body.woocommerce-checkout [class*="Afterpay"] a {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.55) !important;
}

body.woocommerce-cart .wc-block-components-payment-method-label,
body.woocommerce-checkout .wc-block-components-payment-method-label,
body.woocommerce-cart .wc-block-components-payment-method-label span,
body.woocommerce-checkout .wc-block-components-payment-method-label span {
  color: var(--ipp-text) !important;
}

body.woocommerce-cart iframe,
body.woocommerce-checkout iframe {
  max-width: 100% !important;
}

/* Order summary and totals */
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
  border-color: var(--ipp-border) !important;
}

body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 14px 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-item {
  color: var(--ipp-text) !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value {
  line-height: 1.35 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-footer-item {
  padding-top: 18px !important;
  padding-bottom: 12px !important;
}

/* Cart */
body.woocommerce-cart .wc-block-cart-items {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row {
  border: 1px solid var(--ipp-border-soft) !important;
  background: rgba(255,255,255,.035) !important;
}

body.woocommerce-cart .wc-block-cart-item__wrap,
body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total {
  color: var(--ipp-text) !important;
}

body.woocommerce-cart .wc-block-components-product-name {
  color: var(--ipp-text) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--ipp-muted) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
  border: 1px solid var(--ipp-border) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.06) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
  color: #171717 !important;
  background: #fff !important;
  -webkit-text-fill-color: #171717 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button {
  color: #fff !important;
  background: transparent !important;
}

/* Primary actions */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 54px !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

/* Express payment area: keep Woo/payment-provider buttons intact */
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment {
  margin-bottom: 1.75rem !important;
}

body.woocommerce-checkout .wc-block-components-express-payment__event-buttons,
body.woocommerce-cart .wc-block-components-express-payment__event-buttons {
  gap: 10px !important;
}

/* Mobile */
@media (max-width: 782px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__option,
  body.woocommerce-cart .wc-block-components-radio-control__option {
    grid-template-columns: 24px minmax(0,1fr) !important;
    column-gap: 12px !important;
    min-height: 64px !important;
    padding: 12px 14px !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
  body.woocommerce-cart .wc-block-components-radio-control__option-layout {
    grid-column: 2 !important;
    flex-wrap: wrap !important;
    row-gap: 6px !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
  body.woocommerce-cart .wc-block-components-radio-control__secondary-label {
    margin-left: 0 !important;
  }

  body.woocommerce-checkout input.wc-block-components-radio-control__input,
  body.woocommerce-cart input.wc-block-components-radio-control__input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
  }

  body.woocommerce-checkout input.wc-block-components-radio-control__input:checked,
  body.woocommerce-cart input.wc-block-components-radio-control__input:checked {
    background: radial-gradient(circle at center, #fff 0 5px, transparent 5.5px) !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
    padding: 14px !important;
  }

  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
    min-height: 52px !important;
  }

  body.woocommerce-checkout .wc-block-components-express-payment__event-buttons,
  body.woocommerce-cart .wc-block-components-express-payment__event-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row {
    padding: 12px !important;
  }
}


/* 2.4.1 final Cart + Checkout alignment polish */
body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
body.woocommerce-cart .wc-block-components-radio-control__option-layout {
  justify-content: flex-start !important;
  text-align: left !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label-group,
body.woocommerce-cart .wc-block-components-radio-control__label-group {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  text-align: left !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-cart .wc-block-components-radio-control__label {
  display: block !important;
  flex: 0 1 auto !important;
  text-align: left !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-cart .wc-block-components-radio-control__secondary-label {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  text-align: right !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
}

/* Keep shipping/payment rows compact and visually balanced */
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-cart .wc-block-components-radio-control__option {
  min-height: 66px !important;
  padding: 13px 18px !important;
}

/* Payment card logos should sit to the right without pulling the label into centre */
body.woocommerce-checkout .wc-block-components-payment-method-icons {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

/* Express checkout title was visually colliding with provider buttons */
body.woocommerce-checkout .wc-block-components-express-payment__title,
body.woocommerce-cart .wc-block-components-express-payment__title {
  display: none !important;
}

body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment {
  padding-top: 0 !important;
}

/* Afterpay instalment copy on normal DOM should match dark checkout palette */
body.woocommerce-checkout [class*="afterpay"] p,
body.woocommerce-checkout [class*="afterpay"] span,
body.woocommerce-checkout [class*="afterpay"] div,
body.woocommerce-cart [class*="afterpay"] p,
body.woocommerce-cart [class*="afterpay"] span,
body.woocommerce-cart [class*="afterpay"] div,
body.woocommerce-checkout [class*="Afterpay"] p,
body.woocommerce-checkout [class*="Afterpay"] span,
body.woocommerce-checkout [class*="Afterpay"] div,
body.woocommerce-cart [class*="Afterpay"] p,
body.woocommerce-cart [class*="Afterpay"] span,
body.woocommerce-cart [class*="Afterpay"] div {
  color: var(--ipp-text) !important;
  -webkit-text-fill-color: var(--ipp-text) !important;
}

body.woocommerce-checkout [class*="afterpay"] a,
body.woocommerce-cart [class*="afterpay"] a,
body.woocommerce-checkout [class*="Afterpay"] a,
body.woocommerce-cart [class*="Afterpay"] a {
  color: var(--ipp-text) !important;
  -webkit-text-fill-color: var(--ipp-text) !important;
}

/* Checkout summary typography */
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price {
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.12rem !important;
  font-weight: 800 !important;
}

/* Cart cross-sells: stop product titles behaving like page headings */
body.woocommerce-cart .wp-block-woocommerce-product-collection h2.wp-block-post-title,
body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title,
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  margin-top: .7rem !important;
  margin-bottom: .35rem !important;
}

body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price,
body.woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-price {
  font-size: .95rem !important;
}

/* Cart section heading slightly more restrained */
body.woocommerce-cart .wp-block-woocommerce-product-collection > h2.wp-block-heading,
body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-heading {
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

@media (max-width: 782px) {
  body.woocommerce-checkout .wc-block-components-radio-control__option-layout,
  body.woocommerce-cart .wc-block-components-radio-control__option-layout {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__label-group,
  body.woocommerce-cart .wc-block-components-radio-control__label-group {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
  body.woocommerce-cart .wc-block-components-radio-control__secondary-label {
    margin-left: auto !important;
    font-size: .92rem !important;
  }

  body.woocommerce-checkout .wc-block-components-radio-control__label,
  body.woocommerce-cart .wc-block-components-radio-control__label {
    font-size: .96rem !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-product-collection h2.wp-block-post-title,
  body.woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title {
    font-size: 1rem !important;
  }
}


/* 2.4.2 Cart finance message cards */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="afterpay"]:has(a),
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="Afterpay"]:has(a) {
  box-sizing: border-box !important;
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin: 14px auto !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: #20242d !important;
  -webkit-text-fill-color: #20242d !important;
  text-align: center !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="afterpay"]:has(a) *,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="Afterpay"]:has(a) * {
  color: #20242d !important;
  -webkit-text-fill-color: #20242d !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="afterpay"]:has(a) a,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="Afterpay"]:has(a) a {
  color: #20242d !important;
  -webkit-text-fill-color: #20242d !important;
  text-decoration-color: rgba(32,36,45,.55) !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [data-pp-message],
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="paypal-message"],
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="PayPalMessage"] {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin: 14px auto !important;
  padding: 0 14px !important;
  overflow: visible !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [data-pp-message] iframe,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="paypal-message"] iframe,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="PayPalMessage"] iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

@media (max-width: 782px) {
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="afterpay"]:has(a),
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="Afterpay"]:has(a),
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [data-pp-message],
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="paypal-message"],
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="PayPalMessage"] {
    width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="afterpay"]:has(a),
  body.woocommerce-cart .wp-block-woocommerce-cart-totals-block [class*="Afterpay"]:has(a) {
    padding: 14px 15px !important;
    font-size: .95rem !important;
  }
}


/* 2.4.3 exact Cart BNPL finance cards */
body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper,
body.woocommerce-cart .ppcp-messages {
  display: block !important;
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;
  margin: 12px auto !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid rgba(20,20,20,.08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.10) !important;
  text-align: center !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper > *,
body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper p,
body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper span,
body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper a {
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
  text-align: center !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper a {
  text-decoration-color: rgba(24,24,24,.45) !important;
}

/* PayPal Pay Later renders provider content inside .ppcp-messages. Give it breathing room. */
body.woocommerce-cart .ppcp-messages > div,
body.woocommerce-cart .ppcp-messages iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .ppcp-messages iframe {
  border: 0 !important;
  overflow: hidden !important;
}

/* WooPayments can inject Stripe messaging inside the BNPL wrapper. */
body.woocommerce-cart .wc-block-components-bnpl-wrapper iframe,
body.woocommerce-cart .wc-block-components-bnpl-wrapper > div {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Remove WooPayments' own side inset so our card padding is the only inset. */
body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

@media (max-width: 782px) {
  body.woocommerce-cart .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-bnpl-wrapper,
  body.woocommerce-cart .ppcp-messages {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin: 10px auto !important;
    padding: 12px !important;
    border-radius: 12px !important;
  }
}


/* 2.4.4 PayPal message edge-clipping fix on Cart + Checkout */
body.woocommerce-cart .ppcp-messages,
body.woocommerce-checkout .ppcp-messages {
  overflow: visible !important;
}

body.woocommerce-cart .ppcp-messages > div,
body.woocommerce-checkout .ppcp-messages > div,
body.woocommerce-cart .ppcp-messages iframe,
body.woocommerce-checkout .ppcp-messages iframe {
  display: block !important;
  width: calc(100% - 8px) !important;
  max-width: calc(100% - 8px) !important;
  margin-left: 4px !important;
  margin-right: 4px !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .ppcp-messages iframe,
body.woocommerce-checkout .ppcp-messages iframe {
  overflow: visible !important;
  border: 0 !important;
}
