.CookieBar {
    --_padding: 1.5rem;
    position: fixed;
    inset: auto 0 0 0;
    padding: 0.5rem;
    z-index: 99999999999;
    pointer-events: auto;
}

.CookieBar[hidden] {
    display: none;
}

.CookieBar__inner {
    position: relative;
    display: grid;
    width: 100%;
    max-width: 100rem;
    margin-inline: auto;
    padding: var(--_padding);
    gap: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 4px 8px 3px rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.3);
    grid-template-areas: "title title"
                         "text action";
}

.CookieBar__title {
    grid-area: title;
    width: 100%;
    margin: 0;
    font-size: 1.4rem;
}

.CookieBar__body {
    grid-area: text;
}

.CookieBar__body p:last-child {
    margin-bottom: 0;
}

.CookieBar__actions {
    grid-area: action;
    display: flex;
    flex-shrink: 0;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.CookieBar__button {
    display: inline-block;
    margin: 0;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .CookieBar__inner {
        grid-template-areas: "title"
                             "text"
                             "action";
    }

    .CookieBar__actions {
        margin-top: 1rem;
        align-items: stretch;
    }

    .CookieBar__button {
        flex-grow: 1;
    }
}

@media screen and (max-width: 500px), screen and (max-height: 500px) {
    .CookieBar {
        --_padding: 1rem;
        position: absolute;
        inset: 0 0 auto 0;
    }
}

@media screen and (max-width: 500px) {
    .CookieBar__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/** Prevent buttons icons */
.CookieBar button::before,
.CookieBar button::after {
    content: none !important;
}
