Proof of Exercise 4.3 from Isaac's "Character Theory of Finite Groups" I am trying to prove the following statement.

Let $G = H \times K$. Let $\varphi \in Irr(H)$ and $\theta \in Irr(K)$ be faithful. Show that $\varphi \times \theta$ is faithful iff $(|Z(H)| ,|Z(K)|)=1$.

I know that various solutions to this issue have been proposed. But I don't fully understand how to prove this statement from right to left.
I took some hints from Derek Holt. I got the following reasoning, which I can't fully implement.
Due to the fact that $\varphi, \theta$ are faithful irreducible characters, we understand that $Z(\varphi) = Z(H); Z(\theta) = Z(K).$
Consider $h\in H\setminus Z(H)$. It is clear that with an irreducible representation, a scalar matrix will not correspond to it, which means $|\varphi(h)| < \varphi(1).$ The last inequality is a mixture of the triangle inequality and a very well-known fact.
$\textbf{Fact:}$ Let $\varepsilon_1, \ldots, \varepsilon_n \in\mathbb{C}$ be the roots of unity. Then $$|\sum\limits_{i=1}^n\varepsilon_i|= n\Rightarrow\forall\; i = 1, \ldots, n\Rightarrow\varepsilon_i = \lambda\; (|\lambda|= 1).$$
Similar reasoning can be carried out with $K$.
Let $\chi = \varphi \times \theta$. Taking into account the above facts, we get that $$\chi(hk) = \varphi(h)\theta(k) = \chi(1) = \varphi(1)\theta(1),$$ if $h\in Z(H); k\in Z(K)$.
However, I do not understand how this proof can be completed from here. Perhaps it's quite simple, so I apologize in advance for not being able to see obvious ways to solve this problem.
Any help?
$\textbf{UPD:}$
As I understand it, the whole idea of the proof should come down to the fact that if $h\neq 1; k\neq 1$ then $|h| =|k|$. However, this is not the case due to the fact that $(|Z(H)|, |Z(K)|) = 1.$
Let $h = 1$ and $k\neq 1$. Then $$\chi(hk) = \chi(k) = \varphi(1)\theta(k) = \chi(1) = \varphi(1)\theta(1) \Rightarrow \theta(k) = \theta(1)$$
But this is not possible, since $\theta$ is faithful character. Similar reasoning can be carried out with $k = 1.$
But why $|h| = |k|$ in other cases?
$\textbf{In my reasoning, I refer to this:}$ $\phi \times \theta$ is faithful iff $(|Z(H)| ,|Z(K)|)=1$ for faithful characters $\phi \in Irr(H)$ and $\theta \in Irr(K)$ .
$\textbf{UPD:}$ I may have figured out why this is the case. Correct me if I'm wrong.
Let $n = |h|\neq|k|$; and $hk \in \ker(\varphi \times \theta) \subseteq Z(\varphi \times \theta) = Z(H) \times Z(K).$  Then $$\chi(h^nk^n) = \varphi(h^n)\theta(k^n) = \varphi(1)\theta(k^n) = \varphi(1)\theta(1) \Rightarrow \theta(k^n) = \theta(1)$$
But this is not possible, since $\theta$ is faithful character.
 A: The statement in the book of Isaacs is wrong. It should be as follows.

Proposition Let $G=H \times K$. Let $\varphi \in Irr(H)$ and $\vartheta \in Irr(K)$. Then the following hold.
$(a)$If  $\varphi \times \vartheta$ is faithful, then $\varphi$ and $\vartheta$ are faithful.
$(b)$ If $Z(G)=1$ and $\varphi$ and $\vartheta$ are faithful, then $\varphi \times \vartheta$ is faithful.

Note that if we drop $G$ to be centerless in $(b)$, the proposition is not true, $G=C_2 \times C_2$ has no faithful irreducible character. Before proceeding with the proof of this proposition, we need a number-theoretical lemma.

Lemma 1 Let $e, f$ be natural numbers and  $\epsilon_1, \cdots, \epsilon_e \in \mathbb{C}$ and $\zeta_1, ..\cdots, \zeta_f \in \mathbb{C}$ be roots of unity. Then the following hold.
$(a)$ $\epsilon_1 + \cdots + \epsilon_e=e$ if and only if $\epsilon_i=1$ for all $i=1, \cdots, e$.
$(b)$ $|\epsilon_1 + \cdots + \epsilon_e|=e$ if and only if $\epsilon_i=\epsilon$ for all $i=1, \cdots, e$.
$(c)$ $(\epsilon_1 + \cdots + \epsilon_e)\cdot(\zeta_1 + \cdots + \zeta_f)=ef$ if and only if $\epsilon_i=\epsilon$ for all $i=1, \cdots e$ and $\zeta_j=\zeta=\epsilon^{-1}$ for all $j=1, \cdots, f$.
$(d)$ $|\epsilon_1 + \cdots + \epsilon_e|\cdot |\zeta_1 + \cdots + \zeta_f|=ef$ if and only if $\epsilon_i=\epsilon$ for all $i=1, \cdots e$ and $\zeta_j=\zeta$ for all $j=1, \cdots, f$.


Proof For all statements $(a)$, $(b)$, $(c)$ and $(d)$ we only have to prove the "only if" side.
(a) Put $\alpha_i=Re(\epsilon_i)$. Then $|\alpha_i| \leq 1$ and  $\alpha_1 + \cdots + \alpha_e=e$. Assume that for some $i$ we have $|\alpha_i| \lt 1$. Then $e=|e|=|\alpha_1 + \cdots + \alpha_e| \leq |\alpha_1| + \cdots + |\alpha_e| \lt e$, a contradiction. Hence, $|\alpha_i|=1$ for all $i$, that is, $\alpha_i \in \{-1,1\}$. But $\sum_{i=1}^f \alpha_i = e$, this can only be the case if $\alpha_i=1$ for all $i$, implying $\epsilon_i=1$ for all $i$.
(b) Induction on $e$. First have a look at $e=2$. Hence $|\epsilon_1 + \epsilon_2|=2$. Put $\lambda=\frac {\epsilon_2}{\epsilon_1}$, then, since $|\epsilon_1|=1$, we have $|1+\lambda|=2$, and $|\lambda|=1$, since also $|\epsilon_2|=1$. So $(1+\lambda)(1+\overline{\lambda})=4$, which amounts to $\lambda + \overline{\lambda}=2$. So by (a), we have $\lambda=1$, whence $\epsilon_1=\epsilon_2$. For the induction step, assume $|\epsilon_1 + \cdots + \epsilon_e|=e$. But then $f=|\epsilon_1 + \cdots + \epsilon_e| \leq |\epsilon_1 + \cdots + \epsilon_{e-1}| + |\epsilon_e| \leq |\epsilon_1| + \cdots + |\epsilon_{e-1}| + |\epsilon_e|=e$. It follows that $|\epsilon_1 + \cdots + \epsilon_{e-1}|=e-1$. By induction $\epsilon_1= ... =\epsilon_{e-1}$. Now apply the previous induction step on $\epsilon_1$ and $\epsilon_2, \cdots, \epsilon_e$, which gives $\epsilon_2= ... =\epsilon_{e}$ and combine the two conclusions, which gives that all the $\epsilon_i$'s are equal.
(c) Assume $(\epsilon_1 + \cdots + \epsilon_e)\cdot(\zeta_1 + \cdots + \zeta_f)=ef$. Then $ef=|(\epsilon_1 + \cdots + \epsilon_e)\cdot(\zeta_1 + \cdots + \zeta_f)| =|\epsilon_1 + \cdots + \epsilon_e|\cdot|\zeta_1 + \cdots + \zeta_f| \leq |\epsilon_1 + \cdots + \epsilon_e|\cdot f$, whence $e \leq |\epsilon_1 + \cdots + \epsilon_e|$. But of course $|\epsilon_1 + \cdots + \epsilon_e| \leq e$, so we have equality and we can apply (b). It follows that $e\epsilon(\zeta_1 + \cdots + \zeta_f)=ef$, so $\zeta_1 + \cdots + \zeta_f=\epsilon^{-1}f$. Taking absolute values and applying (b) finishes the proof.
(d) Let $|\epsilon_1 + \cdots + \epsilon_e|\cdot|\zeta_1 + \cdots + \zeta_f|=ef$. Then $ef=|\epsilon_1 + \cdots + \epsilon_e|\cdot|\zeta_1 + \cdots + \zeta_f| \leq |\epsilon_1 + \cdots + \epsilon_e|\cdot f$. Now follow the same reasoning as in (c). $\square$

Lemma 2 Let $G=H \times K$. Let $\varphi \in Irr(H)$ and $\vartheta \in Irr(K)$. Then we have the inclusions:
$$ker(\varphi) \times ker(\vartheta) \subseteq ker(\varphi \times \vartheta) \subseteq Z(\varphi) \times Z(\vartheta)=Z(\varphi \times \vartheta).$$

Proof The first inclusion is trivial. Let $h \in H$ and $k \in K$, and assume $hk \in ker(\varphi \times \vartheta)$, so $(\varphi \times \vartheta)(hk)=\varphi(h)\vartheta(k)=(\varphi \times \vartheta)(1)=\varphi(1)\vartheta(1)$. Since both $\varphi(h)$ and $\vartheta(k)$ are sums of $\varphi(1)$ and $\vartheta(1)$ roots of unity respectively (see (2.15)(c) in Isaacs' book), we can apply Lemma 1(c) above. Hence $\varphi(h)=\epsilon\varphi(1)$  and $\vartheta(k)=\epsilon^{-1}\vartheta(1)$ for some root of unity $\epsilon$. Hence $h \in Z(\varphi)$ and also $k \in Z(\vartheta)$. 
It is clear that $Z(\varphi) \times Z(\vartheta) \subseteq Z(\varphi \times \vartheta)$, and the inverse inclusion is established by applying Lemma 1(d).$\square$
Remark In general for a $\chi \in Irr(G)$, we have $Z(G/ker(\chi))=Z(\chi)/ker(\chi)$, see Isaacs' book (2.27)Lemma(f). It follows that [$Z(G)=1$ and $\chi$ is faithful] if and only if $Z(\chi)=1$.
Now we are ready to prove the proposition.
(a) Let $h \in H$ and suppose that $h \in ker(\varphi)$, so $\varphi(h)=\varphi(1)$. Then $(\varphi \times \vartheta)(h)=(\varphi \times \vartheta)(h \cdot 1)=\varphi(h)\vartheta(1)=\varphi(1)\vartheta(1)$. So $h \in ker(\varphi \times \vartheta)=1$. Similarly, one shows that $\vartheta$ is faithful. Alternatively, apply Lemma 2, first inclusion.
(b)Assume that $Z(G)=1$ and both $\varphi$ and $\vartheta$ are faithful. Hence $Z(H)=1=Z(K)$ and the Remark above implies $Z(\varphi)=1=Z(\vartheta)$. From Lemma 2 it follows that $ker(\varphi \times \vartheta)=1$, whence $\varphi \times \vartheta$ is faithful.$\square$
Final observation In case of Proposition(a), $Z(G)$ must be cyclic and also $Z(H)$ and $Z(K)$ must be cyclic (see also (2.32) Theorem (a) in Isaacs' book)). This can only occur when gcd($|Z(H)|,|Z(K)|)=1$.
