/* =========================================================
   SOULULAB COOKIE / SIMPLE 50% BACKDROP v4.18.76
   Mobile only. Transparent approved artwork + live hit zones.
   Goal: preserve approved artwork while removing baked page background.
   ========================================================= */

@media (max-width: 768px) {
    body.soul-cookie-open {
        overflow: hidden !important;
        overscroll-behavior: none !important;
        touch-action: none !important;
    }

    #soul-cookie.soul-cookie {
        --cookie-vv-top: 0px;
        --cookie-vv-height: 100dvh;
        --cookie-card-w: min(
            94vw,
            calc((var(--cookie-vv-height) - 24px) * .5628),
            430px
        );

        position: fixed !important;
        z-index: 2147483000 !important;
        left: 0 !important;
        right: 0 !important;
        top: var(--cookie-vv-top) !important;
        width: 100vw !important;
        height: var(--cookie-vv-height) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        isolation: isolate !important;
        pointer-events: auto !important;
        background: transparent !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 260ms ease, visibility 260ms ease !important;
    }

    #soul-cookie.soul-cookie[hidden] {
        display: none !important;
    }

    #soul-cookie.soul-cookie.is-visible {
        opacity: 1 !important;
        visibility: visible !important;
    }

    #soul-cookie .soul-cookie__backdrop {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        pointer-events: none !important;
        background: rgba(0, 0, 0, .50) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        filter: none !important;
    }

    #soul-cookie .soul-cookie__backdrop::before,
    #soul-cookie .soul-cookie__backdrop::after {
        content: none !important;
        display: none !important;
        background: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        filter: none !important;
    }

    #soul-cookie .soul-cookie__stage {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        box-sizing: border-box !important;
        display: grid !important;
        place-items: center !important;
        padding:
            max(8px, env(safe-area-inset-top))
            0
            max(8px, env(safe-area-inset-bottom)) !important;
        pointer-events: none !important;
    }

    #soul-cookie .soul-cookie__exact {
        position: relative !important;
        width: var(--cookie-card-w) !important;
        height: calc(var(--cookie-card-w) * 1.77683) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        transform: translate3d(0, 14px, 0) scale(.982) !important;
        opacity: 0 !important;
        transition:
            transform 420ms cubic-bezier(.2,.82,.2,1),
            opacity 280ms ease !important;
        contain: layout paint style !important;
    }

    #soul-cookie.is-visible .soul-cookie__exact {
        transform: translate3d(0, 0, 0) scale(1) !important;
        opacity: 1 !important;
    }

    /* Exact approved artwork on transparency. No baked page background. */
    #soul-cookie .soul-cookie__reference-crop {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        overflow: hidden !important;
        pointer-events: none !important;
        border-radius: 0 !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
        filter: saturate(.99) contrast(1.015) brightness(.995) !important;
        transform: translateZ(0) !important;
        backface-visibility: hidden !important;
    }

    #soul-cookie .soul-cookie__reference-crop img {
        position: absolute !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: contain !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        user-select: none !important;
        -webkit-user-drag: none !important;
        pointer-events: none !important;
    }

    /* Live controls sit exactly above their baked visual counterparts. */
    #soul-cookie .soul-cookie__close,
    #soul-cookie .soul-cookie__accept,
    #soul-cookie .soul-cookie__policy {
        all: unset !important;
        position: absolute !important;
        z-index: 5 !important;
        box-sizing: border-box !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: transparent !important;
        box-shadow: none !important;
        opacity: 0 !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* v4.18.74: hit zones remapped to the transparent approved artwork.
       No overlaps: policies only cover their text rows; close/accept have priority. */
    #soul-cookie .soul-cookie__close {
        left: 78.0% !important;
        top: 23.0% !important;
        width: 14.0% !important;
        height: 10.0% !important;
        border-radius: 50% !important;
        z-index: 30 !important;
        pointer-events: auto !important;
    }

    #soul-cookie .soul-cookie__policy {
        z-index: 10 !important;
        pointer-events: auto !important;
    }

    #soul-cookie .soul-cookie__policy--cookie {
        left: 17.0% !important;
        top: 63.0% !important;
        width: 64.0% !important;
        height: 5.8% !important;
    }

    #soul-cookie .soul-cookie__policy--privacy {
        left: 14.0% !important;
        top: 69.0% !important;
        width: 72.0% !important;
        height: 5.8% !important;
    }

    #soul-cookie .soul-cookie__accept {
        left: 20.5% !important;
        top: 75.1% !important;
        width: 59.0% !important;
        height: 9.3% !important;
        border-radius: 999px !important;
        z-index: 30 !important;
        pointer-events: auto !important;
    }

    #soul-cookie .soul-cookie__close:focus-visible,
    #soul-cookie .soul-cookie__accept:focus-visible,
    #soul-cookie .soul-cookie__policy:focus-visible {
        opacity: 1 !important;
        outline: 2px solid rgba(94, 222, 255, .95) !important;
        outline-offset: 2px !important;
        background: rgba(255,255,255,.025) !important;
    }

    #soul-cookie .soul-cookie__sr {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    @media (prefers-reduced-motion: reduce) {
        #soul-cookie.soul-cookie,
        #soul-cookie .soul-cookie__exact {
            transition: none !important;
        }
    }
}

/* Never alter the desktop/tablet cookie implementation. */
@media (min-width: 769px) {
    #soul-cookie .soul-cookie__stage,
    #soul-cookie .soul-cookie__exact,
    #soul-cookie .soul-cookie__reference-crop,
    #soul-cookie .soul-cookie__policy,
    #soul-cookie .soul-cookie__sr {
        /* intentionally no overrides */
    }
}

/* v4.18.71: desktop Partners card is a separate branch; never render it on mobile. */
@media (max-width: 768px) {
    #soul-cookie .soul-cookie__card--desktop {
        display: none !important;
    }
}


/* v4.18.72: transparent modal asset instead of screenshot-backed crop. */

/* v4.18.73: reveal approximately 30% of the underlying page behind the mobile cookie overlay. */

/* v4.18.74: backdrop blur 50px; interaction zones remapped with no policy overlap. */


/* v4.18.75: backdrop is visibly transparent; page remains readable beneath 50px blur. */

/* v4.18.76: one single 50% black backdrop only. No blur, brightness, gradients or vignette layers. */
