/* Container Lockdown */
.vp-blurred > *:not(#vp-overlay) {
    filter: blur(10px) grayscale(100%) !important;
    pointer-events: none !important;
    user-select: none !important;
}

#vp-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255, 255, 255, 0.85) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2147483647 !important;
    backdrop-filter: blur(8px) !important;
}

/* Paywall Box - Forced White Background */
.vp-box {
    background-color: #ffffff !important;
    padding: 40px !important;
    border-radius: 24px !important;
    max-width: 500px !important;
    width: 90% !important;
    text-align: center !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.4) !important;
    border: 1px solid #ffffff !important;
}

/* Force Black Text for all elements in the box */
#vp-overlay .vp-box h2, 
#vp-overlay .vp-box p, 
#vp-overlay .vp-box div,
#vp-overlay .vp-box .vp-main-text,
#vp-overlay .vp-box .vp-per {
    color: #000000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
}

#vp-overlay .vp-box h2 {
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    margin-bottom: 15px !important;
    line-height: 1.2 !important;
}

#vp-overlay .vp-box .vp-sub {
    color: #0b5cff !important; /* Keep the branding blue */
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 15px !important;
    display: block !important;
}

#vp-pay-btn {
    display: block !important;
    background: #0b5cff !important;
    color: #ffffff !important;
    padding: 18px !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin: 20px 0 !important;
    border: none !important;
}

.vp-per {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
}