/* #region Cookie consent */

.cookieconsent-overlay {
    position: fixed;
    inset: 0;
    background: linear-gradient(0deg, var(--edge-fade-90) 20%, var(--edge-fade-0) 52%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    z-index: 9998;
}

.cookieconsent-overlay--visible {
    opacity: 1;
}

.cc-window {
    font-family: var(--bodytext-fontfamily) !important;
    font-size: var(--bodytext-fontsize) !important;
    line-height: var(--bodytext-lineheight) !important;
    font-weight: var(--bodytext-fontweight) !important;
    letter-spacing: var(--bodytext-letterspacing) !important;
    color: var(--plum) !important;
}

.cc-window.cc-floating {
    width: min(32rem, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
    border-radius: var(--border-radius) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-width: 0 !important;
    background-color: var(--white) !important;
    color: var(--plum) !important;
    box-shadow: 
        0 2rem 2.8rem 1.4rem var(--plum-fade-7),
        0 0 0 1px var(--plum-fade-7) !important;
    left: calc((100vw - var(--max-width)) / 2) !important;
    right: auto !important;
    bottom: 0 !important;
    padding: var(--gap-m) !important;
    padding-top: calc(var(--gap-m) * 0.8) !important;
    padding-bottom: calc(var(--gap-m) * 0.9) !important;
    opacity: 0;
    transform: translateY(100%);
    animation: cookieconsent-slide-up 0.4s ease-out forwards;
    z-index: 9999;
}

@media (max-width: 48rem) {
    .cc-window.cc-floating {
        width: var(--max-width) !important;
    }
}

.cc-window.cc-floating.cookieconsent--closing {
    animation: cookieconsent-slide-down 0.35s ease-in forwards;
}

.cc-floating .cc-message {
    color: var(--plum) !important;
    margin-bottom: var(--gap-s) !important;
}

.cc-window .cc-compliance {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100%;
    text-align: left !important;
}

.cc-window .cc-link {
    color: var(--plum) !important;
    padding: 0 !important;
    text-decoration: underline !important;
    text-decoration-color: var(--plum-fade-40) !important;
    text-underline-offset: 0.2rem !important;
}

.cc-floating .cc-btn {
    border-radius: var(--border-radius) !important;
    border: var(--border-width) solid var(--plum) !important;
    min-height: var(--button-height) !important;
    line-height: calc(var(--button-height) - (var(--border-width) * 2)) !important;
    padding: 0 var(--button-horizontal-padding) 0 calc(var(--button-horizontal-padding) * 0.5) !important;
    background-color: var(--plum) !important;
    margin-left: 0 !important;
    color: var(--white) !important;
    font-size: var(--bodytext-fontsize) !important;
    font-weight: var(--bodytext-fontweight) !important;
    font-family: var(--bodytext-fontfamily) !important;
    letter-spacing: var(--bodytext-letterspacing) !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
    flex-grow: 0 !important;
    min-width: auto !important;
    white-space: nowrap;
    text-shadow: none !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.22rem;
}

.cc-floating .cc-btn.backgroundborder--plum {
    background-color: var(--plum) !important;
    border-color: var(--plum) !important;
    color: var(--white) !important;
}

.cc-floating .cc-btn .cookieconsent-dismiss-icon {
    width: var(--icon-size);
    height: var(--icon-size);
    flex-shrink: 0;
    display: inline-block;
}

.cc-floating .cc-btn:hover,
.cc-floating .cc-btn:focus {
    background-color: var(--plum-lighten-1) !important;
    border-color: var(--plum-lighten-1) !important;
    color: var(--white) !important;
    opacity: 1;
}

@keyframes cookieconsent-slide-up {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes cookieconsent-slide-down {
    from {
        transform: translateY(0);
        opacity: 1;
    }

    to {
        transform: translateY(100%);
        opacity: 0;
    }
}

/* #endregion */
