Why Gram Positive Bacteria take crystal violet colour and Gram Negative Bacteria stains Pink red?

Theories includes differences in cytoplasmic pH (Gram positive bacteria-2 pH and in case of Gram negative-3 pH), and presence of Magnesium ribonucleoprotein in Gram positive bacteria and its absence in Gram negative bacteria have been proposed. But the thickness of Gram positive cell wall due to thick peptidoglycan layer and presence of more lipids in Gram negative cell walls have been accounted for the Gram reaction.

The theory stands as positively charged crystal violet passes through the cell wall and cell membrane and binds to negatively charged components inside the cell. Addition of negatively charged iodine (in the mordant) binds to the positively charged dye and forms a large crystal violet-iodine complex within the cell. Crystal violet (Hexamethyl-para-rosaniline 3 chloride) interacts with aqueous Potassium iodide-Iodine via a simple anion exchange to produce a chemical precipitate. The small chloride anion is replaced by the bulkier iodide, and the complex thus formed becomes insoluble in water. During decolorization, alcohol dissolves the lipid present in the outer membrane of Gram negative bacteria and it leaches the dye-iodine complex out of the cell. A thin layer of peptidoglycan does not offer much resistance either. The dye-iodine complexes are washed from the Gram negative cell along with the outer membrane. Hence Gram negative cells readily get decolorized and takes pink red colour of counter stain saffranin. On the other hand Gram positive cells become dehydrated from the ethanol treatment, closing the pores as the cell wall shrinks during dehydration. The dye-iodine complex gets trapped inside the thick peptidoglycan layer and does not get decolorized, hence appear violet (purple) in colour.