/*
 * Shared visual contract for buttons rendered by XPort plugins.
 * Geometry remains owned by each feature; this layer unifies the surface.
 */

/* Primary actions. */
.xpp-custom-actions__button--buy,
body.woocommerce-cart .xport-main-checkout,
.xp-order-view,
.xp-account-btn,
.xp-page-btn,
.xp-auth-submit button,
.xp-auth-panel .woocommerce-form-login__submit,
.xp-auth-panel .woocommerce-form-register__submit,
body.woocommerce-account .woocommerce-MyAccount-content button.button,
body.woocommerce-checkout #place_order,
.xpc-submit__button,
.xpc-button{
  border:1px solid var(--xui-glass-primary-border)!important;
  border-radius:var(--xui-radius-control)!important;
  color:#fff!important;
  background:var(--xui-glass-primary-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-backdrop-filter:blur(var(--xui-glass-blur));
  backdrop-filter:blur(var(--xui-glass-blur));
  transform:none!important;
  font-family:var(--xui-font-family)!important;
  transition:background-color var(--xui-transition),border-color var(--xui-transition),color var(--xui-transition),opacity var(--xui-transition),transform var(--xui-transition)!important;
}

.xpp-custom-actions__button--buy:hover,
body.woocommerce-cart .xport-main-checkout:hover,
.xp-order-view:hover,
.xp-account-btn:hover,
.xp-page-btn:hover,
.xp-auth-submit button:hover,
.xp-auth-panel .woocommerce-form-login__submit:hover,
.xp-auth-panel .woocommerce-form-register__submit:hover,
body.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
body.woocommerce-checkout #place_order:hover,
.xpc-submit__button:hover:not(:disabled),
.xpc-button:hover{
  border-color:rgba(38,178,74,.48)!important;
  color:#fff!important;
  background:var(--xui-glass-primary-hover)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:translateY(-1px)!important;
}

/* Secondary actions stay neutral on hover. */
.xpp-custom-actions__button--quick,
body.woocommerce-cart .xport-fast-order,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a,
.xcat-more{
  border:1px solid var(--xui-glass-secondary-border)!important;
  border-radius:var(--xui-radius-control)!important;
  color:var(--xui-color-text)!important;
  background:var(--xui-glass-secondary-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-backdrop-filter:blur(var(--xui-glass-blur));
  backdrop-filter:blur(var(--xui-glass-blur));
  transform:none!important;
  font-family:var(--xui-font-family)!important;
  transition:background-color var(--xui-transition),border-color var(--xui-transition),color var(--xui-transition),opacity var(--xui-transition),transform var(--xui-transition)!important;
}

.xpp-custom-actions__button--quick:hover,
body.woocommerce-cart .xport-fast-order:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover,
.xcat-more:hover:not(:disabled){
  border-color:var(--xui-glass-secondary-hover-border)!important;
  color:var(--xui-color-text)!important;
  background:var(--xui-glass-secondary-hover)!important;
  box-shadow:none!important;
  filter:none!important;
  transform:translateY(-1px)!important;
}

.xpp-custom-actions__button--buy:focus-visible,
.xpp-custom-actions__button--quick:focus-visible,
body.woocommerce-cart .xport-main-checkout:focus-visible,
body.woocommerce-cart .xport-fast-order:focus-visible,
.xp-order-view:focus-visible,
.xp-account-btn:focus-visible,
.xp-page-btn:focus-visible,
.xp-auth-submit button:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content button.button:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:focus-visible,
body.woocommerce-checkout #place_order:focus-visible,
.xpc-submit__button:focus-visible,
.xpc-button:focus-visible,
.xcat-more:focus-visible{
  outline:2px solid var(--xui-focus-color)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}

.xpp-custom-actions__button:active,
body.woocommerce-cart .xport-main-checkout:active,
body.woocommerce-cart .xport-fast-order:active,
body.woocommerce-checkout #place_order:active,
.xpc-submit__button:active,
.xpc-button:active{
  transform:translateY(0) scale(.99)!important;
  box-shadow:none!important;
}

/* Checkout has legacy selectors with unusually high specificity. */
body.xport-checkout-preview-v2-active #place_order.xpc-submit__button{
  border:1px solid var(--xui-glass-primary-border)!important;
  border-radius:var(--xui-radius-control)!important;
  color:#fff!important;
  background:var(--xui-glass-primary-bg)!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-backdrop-filter:blur(var(--xui-glass-blur))!important;
  backdrop-filter:blur(var(--xui-glass-blur))!important;
  transform:none!important;
}

body.xport-checkout-preview-v2-active #place_order.xpc-submit__button:hover:not(:disabled){
  border-color:rgba(38,178,74,.48)!important;
  color:#fff!important;
  background:var(--xui-glass-primary-hover)!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
}

body.xport-checkout-preview-v2-active #place_order.xpc-submit__button:disabled{
  border-color:var(--xui-glass-secondary-border)!important;
  color:#7c899b!important;
  background:var(--xui-glass-secondary-bg)!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
}

body.xport-checkout-preview-v2-active #place_order.xpc-submit__button.is-preview-clicked,
body.xport-checkout-preview-v2-active #place_order.xpc-submit__button:active{
  box-shadow:none!important;
  transform:translateY(0) scale(.99)!important;
}
