https://www.dailyjournal.com/cle/cle_storywindow.cfm?show=clestorywindow&evid=1&eid=908777&qVersionID=308&qTypeID=7
The main point is that what we tend to call "retainers" are not true retainers, but advance fees and advance fees can never be "non-refundable."
If you want to dispute the charges, you can do it through the state bar fee arbitration program:
http://www.calbar.ca.gov/Attorneys/MemberServices/FeeArbitration.aspx