
#paywall-blocker-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

#paywall-blocker-overlay::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.85);
    -webkit-mask:
      radial-gradient(
        circle at calc(var(--hole-left, 50%) + calc(var(--hole-width,100px)/2))
                   calc(var(--hole-top, 50%) + calc(var(--hole-height,100px)/2)),
        transparent calc(max(var(--hole-width,100px), var(--hole-height,100px)) / 2),
        rgba(0,0,0,1) calc(max(var(--hole-width,100px), var(--hole-height,100px)) / 2 + 2px)
      );
    mask:
      radial-gradient(
        circle at calc(var(--hole-left, 50%) + calc(var(--hole-width,100px)/2))
                   calc(var(--hole-top, 50%) + calc(var(--hole-height,100px)/2)),
        transparent calc(max(var(--hole-width,100px), var(--hole-height,100px)) / 2),
        rgba(0,0,0,1) calc(max(var(--hole-width,100px), var(--hole-height,100px)) / 2 + 2px)
      );
    pointer-events: none;
}

.paywall-blocker-content {
    background: #fff;
    padding: 2rem;
    max-width: 450px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 0 30px rgba(0,0,0,0.5);
    width: 90%;
    position: relative;
    pointer-events: auto;
}

.paywall-blocker-content h3 {
    margin-top: 0;
    color: #333;
}

.paywall-blocker-content p {
    color: #666;
    margin: 1rem 0;
}

.paywall-blocker-buttons {
    margin-top: 1.5rem;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.paywall-blocker-btn {
    text-decoration: none;
    padding: 0.7rem 1.2rem;
    border-radius: 5px;
    background: #ccc;
    color: #fff;
    transition: all 0.2s ease;
}

.paywall-blocker-btn:hover {
    background: #bbb;
    color: #fff;
}

.paywall-blocker-btn,
.paywall-blocker-btn:visited {
  color: #fff;
}

.paywall-blocker-btn-primary {
    background: #3a7;
    color: #fff;
}

.paywall-blocker-btn-primary:hover {
    background: #2a6;
    color: #fff;
}

.paywall-blocker-btn-primary:active {
    background: #2a6;
    color: #fff;
}
.paywall-blocker-btn-primary:visited {
    background: #2a6;
    color: #fff;
}

.paywall-arrow {
    position: absolute;
    top: 50%;
    left: -260px; /* adjust as needed */
    transform: translateY(-50%);
    margin: 0;
}

.paywall-arrow img {
    width: 200px;
    height: auto;
}

@media (max-width: 480px) {
  #paywall-blocker-overlay {
    display: block; /* disable flexbox centering */
  }

  .paywall-blocker-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    transform: none;
    margin: 0;
    width: 100%;
    max-width: none;
    border-radius: 10px 10px 0 0;
  }

  .paywall-arrow {
    display: none;
  }
}

@media (min-width: 481px) and (max-width: 1024px) {
  .paywall-arrow {
    display: none;
  }
}





