/*
 * Boutons : un seul système pour .tpc-button ET les boutons natifs WooCommerce.
 * Par défaut = bouton « contour ». Bouton plein = .tpc-button--primary ou .alt (WooCommerce).
 * Les sélecteurs WooCommerce sont répétés à dessein pour égaler leur spécificité.
 */
.tpc-button, .button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  --tpc-btn-bg: transparent; --tpc-btn-fg: var(--tpc-primary-color); --tpc-btn-bd: var(--tpc-primary-color);
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: var(--tpc-touch-target); padding: .6rem 1.25rem;
  border: 2px solid var(--tpc-btn-bd); border-radius: var(--tpc-button-radius);
  background: var(--tpc-btn-bg); color: var(--tpc-btn-fg);
  font: inherit; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none;
  cursor: pointer; transition: background-color var(--tpc-transition), color var(--tpc-transition), border-color var(--tpc-transition);
}
.tpc-button:hover, .button:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--tpc-primary-color); color: var(--tpc-on-primary-color); border-color: var(--tpc-primary-color); text-decoration: none;
}

/* Bouton plein. */
.tpc-button--primary,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .tpc-product-card__actions a.button, .woocommerce .tpc-product-card__actions button.button {
  background: var(--tpc-primary-color); color: var(--tpc-on-primary-color); border-color: var(--tpc-primary-color);
}
.tpc-button--primary:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .tpc-product-card__actions a.button:hover, .woocommerce .tpc-product-card__actions button.button:hover {
  background: transparent; color: var(--tpc-primary-color); border-color: var(--tpc-primary-color);
}

.tpc-button--secondary {
  background: var(--tpc-secondary-color); color: var(--tpc-on-secondary-color); border-color: var(--tpc-secondary-color);
}
.tpc-button--secondary:hover { background: transparent; color: var(--tpc-text-color); border-color: var(--tpc-secondary-color); }

.tpc-button--ghost { border-color: transparent; background: transparent; color: var(--tpc-text-color); }
.tpc-button--ghost:hover { background: var(--tpc-surface-color); color: var(--tpc-text-color); border-color: transparent; }

.tpc-button--sm { min-height: 2.25rem; padding: .35rem .85rem; font-size: var(--tpc-text-sm); }
.tpc-button--lg { min-height: 3.25rem; padding: .8rem 1.75rem; font-size: var(--tpc-text-lg); }
.tpc-button--block { display: flex; width: 100%; }

.woocommerce a.added_to_cart { display: inline-block; margin-top: var(--tpc-space-2); font-size: var(--tpc-text-sm); }
.woocommerce a.button.loading, .woocommerce button.button.loading { opacity: .65; pointer-events: none; }

/* WooCommerce Blocks (panier / commande en blocs) : mêmes tokens. */
.wc-block-components-button:not(.is-link) {
  background: var(--tpc-primary-color); color: var(--tpc-on-primary-color); border-radius: var(--tpc-button-radius);
}
