A contract too in depth? Not sure about that. I'd make sure you have all your bases covered on every project no matter what size.
For pricing, I have my hourly rate. On a flat fee job, I try to internally estimate the number of hours it will take to do the job, then add another 50%. It never fails, I always figure too low

. Anyway, the simple formula is: your value per hour X hours it will take to do the job. I never deviate from this. If I come in too high and loose the job, so be it. I don't compromise what I think my time is worth.