:root{
  --rb2b-btn-height:48px;
  --rb2b-btn-radius:12px;
  --rb2b-btn-pad:22px;
  --rb2b-btn-font-size:14px;
  --rb2b-btn-font-weight:750;
  --rb2b-btn-ink:#171719;
  --rb2b-btn-line:#171719;
  --rb2b-btn-surface:#fff;
  --rb2b-btn-hover:#303034;
  --rb2b-btn-danger:#b4293c;
  --rb2b-btn-danger-hover:#8f2030;
  --rb2b-btn-disabled:#dedee0;
  --rb2b-btn-disabled-text:#85858a;
}

/* Shared foundation for regular text actions. Purpose-built controls such as
   quantity steppers, tabs, close icons and product selectors are normalized
   separately below so their functional dimensions stay intact. */
.rb2b-btn,
.rb2b-access-card button.button,
.rb2b-access-button,
.rb2b-step-actions button,
.rb2b-final-actions button,
.redust-b2b-account .woocommerce-MyAccount-content .button,
.redust-b2b-account .woocommerce-MyAccount-content button[type="submit"],
.rb2b-order-action:not(.rb2b-order-action--icon),
.rb2b-payment-details-button:not(.rb2b-payment-details-button--compact),
.rb2b-order-received-button,
.rb2b-save-order-list,
.rb2b-media-upload,
.rb2b-media-remove,
.rb2b-crop-save,
.redust-quick-order-standalone .rb2b-qo-cart,
.redust-quick-order-standalone .rb2b-qo-save,
.redust-quick-order-standalone .rb2b-qo-add-another,
.redust-quick-order-standalone .rb2b-result-add,
.rb2b-name-modal form>button[type="submit"],
.rb2b-bulk-modal__card footer button,
.redust-saved-lists-standalone button.rb2b-list-primary,
.redust-saved-lists-standalone .rb2b-list-result-add,
.redust-saved-lists-standalone .rb2b-list-search-submit,
.redust-saved-lists-standalone .rb2b-list-modal form>button[type="submit"],
.redust-saved-lists-standalone .rb2b-list-detail__actions button,
.rb2b-offers-primary,
.redust-customer-offers-standalone .rb2b-offer-submit button,
.redust-customer-offers-standalone .rb2b-offer-detail header>button,
.redust-customer-offers-standalone .rb2b-offer-products-summary button,
.redust-customer-offers-standalone .rb2b-offer-copy-settings footer button,
.rb2b-offer-reminder__send,
.woocommerce-cart .rb2b-full-cart-coupon button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .rb2b-full-cart-save,
.woocommerce-cart .return-to-shop .button,
.rb2b-slide-cart .rb2b-cart-save-button,
.single-product form.cart .single_add_to_cart_button,
.single-product .nutreko-sticky-add-to-cart__content-button.button,
.redust-global-shell .product-caption-bottom.rb2b-card-buy-row>a.button,
.rb2b-finder-results .product-caption-bottom.rb2b-card-buy-row>a.button,
.rb2b-options-modal__buy button,
.redust-b2b-checkout .rb2b-checkout-address-card button,
.redust-b2b-checkout .rb2b-checkout-products-preview button,
.redust-b2b-checkout #place_order,
.rb2b-tour__footer button{
  box-sizing:border-box!important;
  display:inline-flex!important;
  height:var(--rb2b-btn-height)!important;
  min-height:var(--rb2b-btn-height)!important;
  max-height:var(--rb2b-btn-height)!important;
  margin-top:0;
  margin-bottom:0;
  padding:0 var(--rb2b-btn-pad)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px;
  border:1px solid var(--rb2b-button-border,var(--rb2b-btn-line))!important;
  border-radius:var(--rb2b-btn-radius)!important;
  background:var(--rb2b-button-bg,var(--rb2b-btn-surface))!important;
  box-shadow:none!important;
  color:var(--rb2b-button-color,var(--rb2b-btn-ink))!important;
  font-family:inherit!important;
  font-size:var(--rb2b-btn-font-size)!important;
  font-style:normal!important;
  font-weight:var(--rb2b-btn-font-weight)!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap;
  transform:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
  cursor:pointer;
}

.rb2b-btn:hover,
.rb2b-access-card button.button:hover,
.rb2b-access-button:hover,
.rb2b-step-actions button:hover,
.rb2b-final-actions button:hover,
.redust-b2b-account .woocommerce-MyAccount-content .button:hover,
.redust-b2b-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.rb2b-order-action:not(.rb2b-order-action--icon):hover,
.rb2b-payment-details-button:not(.rb2b-payment-details-button--compact):hover,
.rb2b-order-received-button:hover,
.rb2b-save-order-list:hover,
.rb2b-media-upload:hover,
.rb2b-media-remove:hover,
.rb2b-crop-save:hover,
.redust-quick-order-standalone .rb2b-qo-cart:hover,
.redust-quick-order-standalone .rb2b-qo-save:hover,
.redust-quick-order-standalone .rb2b-qo-add-another:hover,
.redust-quick-order-standalone .rb2b-result-add:hover,
.rb2b-name-modal form>button[type="submit"]:hover,
.rb2b-bulk-modal__card footer button:hover,
.redust-saved-lists-standalone button.rb2b-list-primary:hover,
.redust-saved-lists-standalone .rb2b-list-result-add:hover,
.redust-saved-lists-standalone .rb2b-list-search-submit:hover,
.redust-saved-lists-standalone .rb2b-list-modal form>button[type="submit"]:hover,
.redust-saved-lists-standalone .rb2b-list-detail__actions button:hover,
.rb2b-offers-primary:hover,
.redust-customer-offers-standalone .rb2b-offer-submit button:hover,
.redust-customer-offers-standalone .rb2b-offer-detail header>button:hover,
.redust-customer-offers-standalone .rb2b-offer-products-summary button:hover,
.redust-customer-offers-standalone .rb2b-offer-copy-settings footer button:hover,
.rb2b-offer-reminder__send:hover,
.woocommerce-cart .rb2b-full-cart-coupon button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .rb2b-full-cart-save:hover,
.woocommerce-cart .return-to-shop .button:hover,
.rb2b-slide-cart .rb2b-cart-save-button:hover,
.single-product form.cart .single_add_to_cart_button:hover,
.single-product .nutreko-sticky-add-to-cart__content-button.button:hover,
.redust-global-shell .product-caption-bottom.rb2b-card-buy-row>a.button:hover,
.rb2b-finder-results .product-caption-bottom.rb2b-card-buy-row>a.button:hover,
.rb2b-options-modal__buy button:hover,
.redust-b2b-checkout .rb2b-checkout-address-card button:hover,
.redust-b2b-checkout .rb2b-checkout-products-preview button:hover,
.redust-b2b-checkout #place_order:hover,
.rb2b-tour__footer button:hover{
  border-color:var(--rb2b-button-border-hover,var(--rb2b-btn-ink))!important;
  background:var(--rb2b-button-bg-hover,#f1f1f2)!important;
  color:var(--rb2b-button-color-hover,var(--rb2b-btn-ink))!important;
  transform:none!important;
}

/* Primary */
.rb2b-btn--primary,
.rb2b-access-card button.button:not(.rb2b-step-back),
.rb2b-step-next,
.rb2b-final-actions button[type="submit"],
.redust-b2b-account .woocommerce-MyAccount-content button[type="submit"],
.rb2b-order-action--primary,
.rb2b-crop-save,
.redust-quick-order-standalone .rb2b-qo-cart,
.rb2b-name-modal form>button[type="submit"],
.rb2b-bulk-modal__card footer [data-bulk-apply],
.redust-saved-lists-standalone button.rb2b-list-primary,
.redust-saved-lists-standalone .rb2b-list-result-add,
.redust-saved-lists-standalone .rb2b-list-search-submit,
.redust-saved-lists-standalone .rb2b-list-modal form>button[type="submit"],
.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="restore"],
.rb2b-offers-primary,
.redust-customer-offers-standalone .rb2b-offer-submit button,
.redust-customer-offers-standalone .rb2b-offer-detail header>button:not([data-view-rejection]),
.redust-customer-offers-standalone .rb2b-offer-copy-settings footer button,
.rb2b-offer-reminder__send,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .return-to-shop .button,
.single-product form.cart .single_add_to_cart_button,
.single-product .nutreko-sticky-add-to-cart__content-button.button,
.redust-global-shell .product-caption-bottom.rb2b-card-buy-row>a.button:not(.is-disabled):not([aria-disabled="true"]),
.rb2b-finder-results .product-caption-bottom.rb2b-card-buy-row>a.button:not(.is-disabled):not([aria-disabled="true"]),
.rb2b-options-modal__buy button,
.redust-b2b-checkout #place_order,
.rb2b-tour__next{
  --rb2b-button-bg:var(--rb2b-btn-ink);
  --rb2b-button-border:var(--rb2b-btn-ink);
  --rb2b-button-color:#fff;
  --rb2b-button-bg-hover:var(--rb2b-btn-hover);
  --rb2b-button-border-hover:var(--rb2b-btn-hover);
  --rb2b-button-color-hover:#fff;
}

/* Secondary */
.rb2b-btn--secondary,
.rb2b-step-back,
.rb2b-access-back,
.rb2b-media-upload,
.redust-quick-order-standalone .rb2b-qo-save,
.redust-quick-order-standalone .rb2b-qo-add-another,
.rb2b-bulk-modal__card footer button:not([data-bulk-apply]),
.redust-saved-lists-standalone .rb2b-list-detail__actions button:not([data-action="restore"]):not([data-action="delete"]),
.redust-customer-offers-standalone .rb2b-offer-products-summary button,
.woocommerce-cart .rb2b-full-cart-coupon button,
.woocommerce-cart .rb2b-full-cart-save,
.rb2b-slide-cart .rb2b-cart-save-button,
.redust-b2b-checkout .rb2b-checkout-address-card button,
.redust-b2b-checkout .rb2b-checkout-products-preview button,
.rb2b-tour__back{
  --rb2b-button-bg:var(--rb2b-btn-surface);
  --rb2b-button-border:var(--rb2b-btn-line);
  --rb2b-button-color:var(--rb2b-btn-ink);
  --rb2b-button-bg-hover:#f1f1f2;
  --rb2b-button-border-hover:var(--rb2b-btn-ink);
  --rb2b-button-color-hover:var(--rb2b-btn-ink);
}

/* Ghost */
.rb2b-btn--ghost,
.rb2b-panel-switch button,
.rb2b-qo-tabs button,
.rb2b-list-tabs button,
.rb2b-offers-tabs button,
.rb2b-finder-sort button,
.rb2b-tour__skip,
.rb2b-slide-cart button[data-cart-clear]{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--rb2b-btn-ink)!important;
  font-weight:var(--rb2b-btn-font-weight)!important;
  transform:none!important;
}

/* Danger */
.rb2b-btn--danger,
button.danger,
.button-link-delete,
.rb2b-media-remove,
.rb2b-line-remove,
.rb2b-list-remove,
.rb2b-cart-line__remove,
.reject,
.reject-confirm,
.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="delete"],
[data-action="delete"]{
  --rb2b-button-bg:var(--rb2b-btn-danger);
  --rb2b-button-border:var(--rb2b-btn-danger);
  --rb2b-button-color:#fff;
  --rb2b-button-bg-hover:var(--rb2b-btn-danger-hover);
  --rb2b-button-border-hover:var(--rb2b-btn-danger-hover);
  --rb2b-button-color-hover:#fff;
}

/* Legacy Saved Lists rules use unusually high specificity. Keep their four
   variant assignments explicit here so they match the shared system exactly. */
.redust-saved-lists-standalone button.rb2b-list-primary,
.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="restore"]{
  border-color:var(--rb2b-btn-ink)!important;
  background:var(--rb2b-btn-ink)!important;
  color:#fff!important;
}

.redust-saved-lists-standalone button.rb2b-list-primary:hover,
.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="restore"]:hover{
  border-color:var(--rb2b-btn-hover)!important;
  background:var(--rb2b-btn-hover)!important;
  color:#fff!important;
}

.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="delete"]{
  border-color:var(--rb2b-btn-danger)!important;
  background:var(--rb2b-btn-danger)!important;
  color:#fff!important;
}

.redust-saved-lists-standalone .rb2b-list-detail__actions [data-action="delete"]:hover{
  border-color:var(--rb2b-btn-danger-hover)!important;
  background:var(--rb2b-btn-danger-hover)!important;
  color:#fff!important;
}

/* Shared states. */
.rb2b-btn:focus-visible,
.rb2b-access-card button:focus-visible,
.redust-b2b-account button:focus-visible,
.redust-quick-order-standalone button:focus-visible,
.redust-saved-lists-standalone button:focus-visible,
.redust-customer-offers-standalone button:focus-visible,
.woocommerce-cart button:focus-visible,
.woocommerce-cart a.button:focus-visible,
.rb2b-product-finder button:focus-visible:not([data-finder-submit]):not([data-finder-reset]){
  outline:2px solid var(--rb2b-btn-danger)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

.rb2b-btn:disabled,
.rb2b-btn[aria-disabled="true"],
.rb2b-access-card button.button:disabled,
.rb2b-step-actions button:disabled,
.rb2b-final-actions button:disabled,
.redust-b2b-account button:disabled,
.redust-quick-order-standalone button:disabled,
.redust-saved-lists-standalone button:disabled,
.redust-customer-offers-standalone button:disabled,
.woocommerce-cart button:disabled,
.rb2b-product-finder button:disabled:not([data-finder-submit]):not([data-finder-reset]),
.rb2b-product-finder a.button[aria-disabled="true"]{
  border-color:var(--rb2b-btn-disabled)!important;
  background:var(--rb2b-btn-disabled)!important;
  color:var(--rb2b-btn-disabled-text)!important;
  opacity:1!important;
  transform:none!important;
  cursor:not-allowed!important;
}

/* Compact icon utilities keep their geometry but use the shared visual tokens. */
button[class*="__close"],
.rb2b-list-icon-action,
.rb2b-order-action--icon,
.rb2b-summary-orders-button,
.rb2b-payment-details-button--compact,
.rb2b-finder-view button{
  box-sizing:border-box!important;
  border:1px solid #d8d8da!important;
  background:var(--rb2b-btn-surface)!important;
  box-shadow:none!important;
  color:var(--rb2b-btn-ink)!important;
  transform:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}

button[class*="__close"]:hover,
.rb2b-list-icon-action:hover,
.rb2b-order-action--icon:hover,
.rb2b-summary-orders-button:hover,
.rb2b-payment-details-button--compact:hover,
.rb2b-finder-view button:hover{
  border-color:var(--rb2b-btn-ink)!important;
  background:var(--rb2b-btn-ink)!important;
  color:#fff!important;
}

button.danger,
.rb2b-list-icon-action.danger,
.rb2b-media-remove,
.rb2b-line-remove,
.rb2b-list-remove,
.rb2b-cart-line__remove,
[data-action="delete"]{
  border-color:var(--rb2b-btn-danger)!important;
  color:var(--rb2b-btn-danger)!important;
}

/* Tabs and progress controls keep their layout; active state uses one accent. */
.rb2b-qo-tabs button,
.rb2b-list-tabs button,
.rb2b-offers-tabs button,
.rb2b-finder-sort button,
.rb2b-application-progress button{
  font-family:inherit!important;
  font-weight:var(--rb2b-btn-font-weight)!important;
  box-shadow:none!important;
  transform:none!important;
}

.rb2b-qo-tabs button.is-active,
.rb2b-list-tabs button.is-active,
.rb2b-offers-tabs button.is-active,
.rb2b-finder-sort button.is-active{
  color:var(--rb2b-btn-danger)!important;
}

@media(max-width:560px){
  :root{--rb2b-btn-pad:16px;--rb2b-btn-font-size:13px}
}
