Castres book semi-final berth