body::before,
body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

body::before {
    background-image: url('../images/texture background.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.22;
    mix-blend-mode: screen;
    z-index: -2;
}

body::after {
    background:
        var(--dark-bg-radial-top),
        var(--dark-bg-radial-bottom);
    opacity: 0.8;
}

/* Override for Stripe-enabled pricing page */
.body-pricing-stripe {
    position: relative;
    background: none !important; /* use layered pseudo-element instead */
}

.body-pricing-stripe footer,
.body-pricing-stripe .footer {
    display: none !important;
}

.body-pricing-stripe::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        linear-gradient(rgba(245,245,245,0.05), rgba(245,245,245,0.05)),
        url('../images/SampleTraining.PNG') center/cover no-repeat;
    filter: blur(4px);
    transform: scale(1.05); /* hide blur edge */
    z-index: -1;
    pointer-events: none;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .body-pricing-stripe::before {
        background:
            linear-gradient(rgba(245,245,245,0.82), rgba(245,245,245,0.82)),
            url('../images/SampleTraining.PNG') center/300% repeat;
        filter: blur(3px);
    }
}
