Paths in a graph with two kinds of costs
This is NP-hard by reduction from Partition.

Given an instance of the Partition problem consisting of $n$ nonnegative integer values $x_1, \dots, x_n$, we can generate an instance of your problem as follows:


Make $n+1$ vertices $s_0, \dots, s_n$.  Let $u = s_0$ and $v = s_n$.
Make $n$ vertices $a_1, \dots, a_n$, and edges $s_{i-1}a_i$ for every $1 \le i \le n$ having weights $W_1(s_{i-1}a_i) = x_i$ and $W_2(s_{i-1}a_i) = 0$.
Make another $n$ vertices $b_1, \dots, b_n$, and edges $s_{i-1}b_i$ for every $1 \le i \le n$ having weights $W_1(s_{i-1}b_i) = 0$ and $W_2(s_{i-1}b_i) = x_i$.
Also add edges $a_is_i$ and $b_is_i$ having both weights 0 for every $1 \le i \le n$.
Set $c_1 = c_2 = \frac{1}{2}\sum_{i=1}^n x_i$.


The original Partition instance has a solution if and only if the above-constructed instance of your problem has a solution.  Basically, for each number $x_i$, we must visit exactly one of the vertices $a_i$ or $b_i$, incurring a cost of $x_i$ for one of the two weights (and zero cost for the other weight).