Text this: Covering and separation for logical fragments with modular predicates