I started this very late at night when tired, just now finished and found it very tough.
Thanks to Paul, who's back in the Prize saddle after an unusually long absence.
FOI 23 (indicating struggle), LOI jointly 24/25.
Not certain of parsing of 21.
28 elicited a loud groan.
A couple of clues depended on dodgy (IMO) homophones.
COD 1 (naturally for me) over 14 and 4. Also liked 22, 5, 10 and 20.