If you think of the Hamiltonian as a 2x2 matrix operating on the flavour eigenstate, there are off-diagonal terms arising from the amplitude of spontaneously changing from particle to antiparticle. The leading-order diagrams look like this: https://ppd.fnal.gov/experiments/e871/public/images/Kaon_mix...
You get CP violation even if |p/q|=1 but Arg(p/q)≠0.
But... having flavor eigenstates not being mass eigenstates is almost as mind-blowing to me. How is that possible?
And, by "p/q ≠ 1", I presume you meant their norms?