.cookie-consent-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(5, 20, 46, 0.9);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease-out, visibility 0.18s ease-out;
}

.cookie-consent-overlay.visible {
    opacity: 1;
    visibility: visible;
}

.cookie-consent-overlay.cookie-consent-blocking {
    pointer-events: all;
    cursor: not-allowed;
}

.cookie-consent-overlay.non-blocking {
    pointer-events: none;
    background-color: rgba(15, 23, 42, 0.3);
}

.cookie-consent-modal {
    will-change: opacity, transform;
    transition: opacity 0.25s ease-out, transform 0.25s ease-out, translate 0.25s ease-out, visibility 0.25s ease-out;
}

.cookie-consent-modal.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    translate: 0 0 !important;
    visibility: visible !important;
}

html.cookie-consent-locked,
body.cookie-consent-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
}

.cookie-consent-preferences.hidden {
    max-height: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .cookie-consent-overlay,
    .cookie-consent-modal,
    .cookie-consent-preferences {
        transition: none !important;
    }
}
