Set the shared baseline at the lowest comfortable budget in the group, and make everything above it optional and individually paid. That way nobody has to say out loud that something's too expensive, and nobody has to skip the trip.
Asking people what they can spend puts them on the spot. Proposing a range — "I'm thinking around $1,200 each all in, does that work?" — lets someone say it's too high without having to volunteer their finances.
The most common failure isn't someone refusing to pay — it's someone agreeing to everything and going into debt over it. Building in genuinely good free options is what prevents that, because it removes the social cost of saying no.