.cookie-consent :where(*) {
    box-sizing: border-box;
    line-height: 1.5;
    padding: 0;
    margin: 0;
    color: var(--cookie-consent-color-on-background);
    font-weight: var(--cookie-consent-font-weight-light);
    font-size: var(--cookie-consent-font-size);
}

.cookie-consent ::after,
.cookie-consent ::before {
    box-sizing: border-box;
}

.cookie-consent {
    background-color: var(--cookie-consent-color-background);
    position: fixed;
    z-index: 9999999999999;
    bottom: 0;
    padding: clamp(1em, 3vw, 1.5em);
    width: 100%;
    max-width: 37.5em;
}

.cookie-consent__heading {
    font-weight: var(--cookie-consent-font-weight-bold);
    margin-bottom: 1em;
    font-size: 1.125em;
}

.cookie-consent__button-wrapper {
    margin-top: 1.5em;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 0.75em;
}

.cookie-consent__detail-wrapper:not([hidden]) + .cookie-consent__button-wrapper {
    margin-top: 2em;
}

.cookie-consent__button {
    border-radius: 0;
    border-width: max(1px, 0.125em);
    border-style: solid;
    border-color: var(--cookie-consent-color-on-background);
    background-color: transparent;
    padding: 0.5em 1em;
    cursor: pointer;
    text-align: center;
    width: 100%;
}

.cookie-consent__button.-accept-all {
    background-color: var(--cookie-consent-color-button-accept-all);
    color: var(--cookie-consent-color-on-button-accept-all);
    border-color: var(--cookie-consent-color-button-accept-all);
    font-weight: var(--cookie-consent-font-weight-regular);
}

.cookie-consent__button:hover {
    opacity: 0.86;
}

.cookie-consent__detail-wrapper {
    margin-top: 1.5em;
}

.cookie-consent__detail-list {
    list-style: none;
    max-height: 30vh;
    overflow: auto;
}

.cookie-consent__cookie-name {
    font-weight: var(--cookie-consent-font-weight-semibold);
}

.cookie-consent__cookie-properties {
    display: flex;
    column-gap: 0.5em;
    flex-wrap: wrap;
}

.cookie-consent__cookie-property {
    display: flex;
    gap: 0.25em;
    font-size: 0.875em;
}

.cookie-consent__cookie:not(:first-child) {
    margin-top: 0.5em;
}

.cookie-consent__cookie-property:not(:last-child)::after {
    content: '|'
}

.cookie-consent__cookie-property-term {
    position: absolute;
    font-size: 0;
}

.cookie-consent__cookie-property-term::after {
    content: ':';
}

.cookie-consent__cookie-property-desc {
    font-weight: var(--cookie-consent-font-weight-regular);
}

.cookie-consent__version {
    font-size: 0.875em;
    margin-top: .75em;
    margin-bottom: 0;
}

.cookie-consent__version-text {
    margin-right: .25em;
}

.cookie-consent__version-text::after {
    content: ':'
}

.cookie-consent__version-nr {
    font-weight: var(--cookie-consent-font-weight-regular);
}

@media screen and (min-width: 600px) {
    .cookie-consent {
        bottom: 2em
    }

    .cookie-consent__button-wrapper {
        flex-direction: row;
    }

    .cookie-consent__button.-more-info {
        order: 1;
    }

    .cookie-consent__button.-necessary {
        order: 2;
    }

    .cookie-consent__button.-accept-all {
        order: 3;
    }
}

@media screen and (min-width: 800px) {
    .cookie-consent {
        left: 2em
    }
}
