How can I stop my feet/shins getting soaked/muddy when cycling offroad in the winter? I went for a ride last weekend around some forrest trails, it was particulary muddy with lots of puddles, and was also raining at the time.

I've got a good set of mudguards, so my back was reasonably clean

The only part that really got wet/dirty were my trainers and shins.

I understand mudguards can only prevent dirt/water to a certain extent, but what can I get to prevent me ruining my trainers on each ride?

I've heard about overshoes, but have read mixed reviews about how after 10 minutes or so you'll still be just as wet as if you didn't bother, and they're not much use if you come off your bike and step in a puddle..

What about mountain bike shoes, are they waterproof?
I've never had a pair of MTB shoes that are waterproof though I wouldn't doubt if they exist. Even if they were you'd still have water coming of your shin and into the shoe (this is what makes even waterproof shoe covers a bit wet inside).

I just tough it out. I have a set of neoprene shoe covers that keep my feet warm and maybe even dry depending on how wet it is. I have a set of full length tights and a set of leg warmers. If either of those are dirty I just hose them off when I clean my bike at the end of the ride and let them dry. I'll wash them every few rides.