You don't have to refund her for retainer at all. You've been kind enough to give her a second chance and not have to pay another retainer.
As for the three weeks before wedding, I think the best way to deal with this is to give enough time to collect the balance, latest should be about 30 days prior to the wedding. Definitely a huge hassle to go to small claims court.
lol, I was responding to the OP; not asking for help for myself!