/* FIX61 V2 · Interacción visual de botones sin modificar sus colores base. */
button,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-ai-spark,
label.btn-primary,
label.btn-secondary,
label.btn-success,
label.btn-danger,
input[type="button"],
input[type="submit"]{
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease;
  transform:translateY(0);
  -webkit-tap-highlight-color:transparent;
}

button:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.btn-secondary:hover:not(:disabled),
.btn-success:hover:not(:disabled),
.btn-danger:hover:not(:disabled),
.btn-ai-spark:hover:not(:disabled),
label.btn-primary:hover,
label.btn-secondary:hover,
label.btn-success:hover,
label.btn-danger:hover,
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled){
  transform:translateY(-2px);
  filter:brightness(1.06) saturate(1.04);
  box-shadow:0 7px 15px rgba(15,23,42,.18);
}

button:active:not(:disabled),
.btn-primary:active:not(:disabled),
.btn-secondary:active:not(:disabled),
.btn-success:active:not(:disabled),
.btn-danger:active:not(:disabled),
.btn-ai-spark:active:not(:disabled),
label.btn-primary:active,
label.btn-secondary:active,
label.btn-success:active,
label.btn-danger:active,
input[type="button"]:active:not(:disabled),
input[type="submit"]:active:not(:disabled){
  transform:translateY(1px) scale(.975);
  filter:brightness(.94);
  box-shadow:0 2px 5px rgba(15,23,42,.2);
  transition-duration:.07s;
}

button:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-success:focus-visible,
.btn-danger:focus-visible,
.btn-ai-spark:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible{
  outline:3px solid rgba(0,126,154,.22);
  outline-offset:2px;
}

button:disabled,
.btn-primary:disabled,
.btn-secondary:disabled,
.btn-success:disabled,
.btn-danger:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled{
  transform:none;
  filter:none;
  box-shadow:none;
  cursor:not-allowed;
}

@media (prefers-reduced-motion:reduce){
  button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ai-spark,
  label.btn-primary,label.btn-secondary,label.btn-success,label.btn-danger,
  input[type="button"],input[type="submit"]{
    transition:none!important;
    transform:none!important;
  }
}
