IsCFChallenge returns true if the response looks like a Cloudflare challenge page.
It requires all three conditions: status 403/503, a CF header, and a body marker.
Solve navigates to the challenge URL in headless Chrome, waits for
cf_clearance to appear, and injects the cookies into the shared jar.
Concurrent calls for the same host block on the first solve.