/* Lenis scroll behavior adjustments */

html.lenis,
html.lenis body {
    height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
    overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
    overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

.lenis.lenis-autoToggle {
    transition-property: overflow;
    transition-duration: 1ms;
    transition-behavior: allow-discrete;
}

/* Consent-based visibility classes */

.show-on-consent--granted,
.show-on-consent--declined,
.show-on-consent--pending {
    display: none;
    visibility: hidden;
}

body.cvd-cookie-consent-denied .show-on-consent--declined {
    display: unset;
    visibility: visible;
}

body.cvd-cookie-consent-granted .show-on-consent--granted {
    display: unset;
    visibility: visible;
}

body.cvd-cookie-consent-pending .show-on-consent--pending {
    display: unset;
    visibility: visible;
}

/* Acknowledgment animation for cookie consent */

.cvd-acknowledge {
    position: fixed;
    left: 50%;
    bottom: 0;
    width: clamp(56px, 7vw, 128px);
    height: clamp(56px, 7vw, 128px);
    transform: translate(-50%, 120%);
    opacity: 0;
    pointer-events: none;
    z-index: 9999;
    will-change: transform, opacity;
}

.cvd-acknowledge__icon {
    width: 100%;
    height: 100%;
    display: block;
}

.cvd-acknowledge--animate {
    animation: acknowledge 1200ms ease-out;
}

@keyframes acknowledge {
    0% {
        transform: translate(-50%, 120%);
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -25vh);
        opacity: 0;
    }
}