/*
 * Source-Based Pricing — front-end styles
 *
 * .sbp-src is added to <html> by the inline script in <head>
 * BEFORE the first paint — so prices are blurred from the very start,
 * the user never sees the cached (wrong) price un-blurred.
 *
 * WP-Rocket: exclude this file from "Delay JavaScript Execution"
 * (it is CSS, so it is not delayed — no action needed).
 */

/* ---- Blur state ---- */
.sbp-src .sbp-price {
    filter: blur(6px);
    opacity: 0.55;
    transition: filter 0.25s ease, opacity 0.25s ease;
    /* prevent accidental copy of blurred text */
    user-select: none;
    pointer-events: none;
}

/* ---- Loaded / revealed state ---- */
.sbp-price.sbp-ready {
    filter: none;
    opacity: 1;
    pointer-events: auto;
    user-select: auto;
}

/* Remove blur class once prices are updated */
.sbp-price.sbp-ready,
.sbp-price[data-sbp-done] {
    filter: none !important;
    opacity: 1 !important;
    user-select: auto;
    pointer-events: auto;
}

/* ---- Reveal animation ---- */
@keyframes sbp-reveal {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sbp-price.sbp-updated {
    animation: sbp-reveal 0.3s ease forwards;
}

/* ---- Flatsome compatibility ----
   Flatsome wraps prices inside <p class="price">.
   Make sure our wrapper doesn't break the layout.      */
.sbp-price {
    display: inline;
}
