/* Liens de navigation et boutons natifs partagent seulement leur présentation. */
.t4hi-scope .t4hi-button,
.t4hi-scope a.t4hi-button:not(.button):not(.elementor-button):not([role="button"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--t4hi-space-2);
  min-height: 44px;
  max-width: 100%;
  padding: 0.625rem var(--t4hi-space-4);
  border: 1px solid var(--t4hi-color-primary);
  border-radius: var(--t4hi-radius-button);
  background: var(--t4hi-color-primary);
  color: var(--t4hi-color-white);
  font-family: var(--t4hi-font-family);
  font-size: var(--t4hi-size-body);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: none;
  cursor: pointer;
  transition: background-color var(--t4hi-motion-duration) var(--t4hi-motion-easing), color var(--t4hi-motion-duration) var(--t4hi-motion-easing);
}
.t4hi-scope .t4hi-button--primary:hover,
.t4hi-scope a.t4hi-button--primary:not(.button):not(.elementor-button):not([role="button"]):hover {
  background: var(--t4hi-color-primary-dark);
  border-color: var(--t4hi-color-primary-dark);
  color: var(--t4hi-color-white);
}
.t4hi-scope .t4hi-button--secondary,
.t4hi-scope a.t4hi-button--secondary:not(.button):not(.elementor-button):not([role="button"]) {
  background: transparent;
  color: var(--t4hi-color-primary);
}
.t4hi-scope .t4hi-button--secondary:hover,
.t4hi-scope a.t4hi-button--secondary:not(.button):not(.elementor-button):not([role="button"]):hover {
  background: var(--t4hi-color-background-soft);
  color: var(--t4hi-color-primary);
}
.t4hi-scope .t4hi-button--inverse,
.t4hi-scope a.t4hi-button--inverse:not(.button):not(.elementor-button):not([role="button"]) {
  background: var(--t4hi-color-white);
  border-color: var(--t4hi-color-white);
  color: var(--t4hi-color-primary);
}
.t4hi-scope .t4hi-button--inverse:hover,
.t4hi-scope a.t4hi-button--inverse:not(.button):not(.elementor-button):not([role="button"]):hover {
  background: var(--t4hi-color-background-soft);
  color: var(--t4hi-color-primary-dark);
}
.t4hi-scope .t4hi-button:focus-visible,
.t4hi-scope .t4hi-cta:focus-visible {
  outline: var(--t4hi-focus-width) solid var(--t4hi-focus-color);
  outline-offset: var(--t4hi-focus-offset);
  box-shadow: 0 0 0 2px var(--t4hi-color-white);
}
.t4hi-scope .t4hi-button--inverse:focus-visible {
  outline-color: var(--t4hi-color-white);
}
.t4hi-scope a.t4hi-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--t4hi-space-2);
  min-height: 44px;
  max-width: 100%;
  font-weight: 600;
  white-space: normal;
  overflow-wrap: anywhere;
}
.t4hi-cta__arrow {
  flex: none;
  transition: transform var(--t4hi-motion-duration) var(--t4hi-motion-easing);
}
.t4hi-cta:hover .t4hi-cta__arrow { transform: translateX(2px); }
@media (prefers-reduced-motion: reduce) {
  .t4hi-cta:hover .t4hi-cta__arrow { transform: none; }
}
