If you don't mind using a criteria query instead, the following should work
List<Product> queryResults = Product.withCriteria {
eq('is_active', 1)
eq('type', type)
order(params.sort, "asc")
order("is_new", "asc")
order("type", "asc")
order("type", "desc")
maxResults(params.max)
firstResult(params.offset)
}
I abhorr HQL and adore criteria queries, but that's a matter of personal preference.