Design options for content behind a paywall

I am creating a template for content (video courses) behind a paywall. The general design idea is to show the video thumbnail and course information with a login overlay for guests, the same but with a buy/subscribe overlay for logged in users without access, and the actual video for logged in users with access.

I see at least 3 ways to do this:

  1. Use a separate templates for each case: guests, users without access, and users with access.
  2. Use one template for users with access that loads the content, and use another template for guest and users without access - displaying a login/buy overlay based on conditions.
  3. Use a single template and a fragment with 3 template parts: guests, users without access, and users with access

Currently my favorite option is the second one because it allows me to design the content template without the distraction of the overlay/paywall/conditions (although I know blocks can easily be hidden . But I like the separation of concerns) while keeping the templates number to a minimum.

I’d love to hear what the community thinks about these options or other options I haven’t considered.