.cookie-banner {
    position: fixed;
    bottom: 60px;
    left: 0;
    width: 100%;
    z-index: 9999;
    color: #213f50;
    opacity: 1;
    /* Transition removed to prevent flash; can be re-added later if needed */
    display: none; /* Hidden by default */
}

.cookie-banner-box {
    background: #fff;
    margin: 16px;
    box-shadow: 0 1px 18px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .3);
    padding: 16px;
    border-radius: 4px;
}

@media only screen and (min-width: 768px) {
    .cookie-banner-box {
        margin: 24px;
        padding: 24px;
    }
}

*, *::before, *::after {
    box-sizing: border-box;
}

.cookie-banner p.heading {
    text-transform: uppercase;
    font-family: AvenirNextLTPro-Demi;
    font-size: .86em;
    letter-spacing: .1em;
    margin: 0 0 0.5em;
}

.cookie-banner p {
    font-size: .86em;
    margin: 0 0 1em;
}

.cookie-banner a {
    text-decoration: none;
    color: #6ba141;
    cursor: pointer;
}

.cookie-banner-btns {
    text-align: center;
}

.button {
    color: white;
    font-family: AvenirNextLTPro-Demi;
    font-size: .6875em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1em 1.75em;
    border-radius: 3em;
    background-color: #3b92ba;
    transition: background-color .3s ease;
    cursor: pointer;
    display: inline-block;
}

.cookie-banner-btns .button:last-of-type {
    margin-left: 6px;
}

@media only screen and (min-width: 768px) {
    .cookie-banner-content {
        padding-right: 315px;
        position: relative;
    }
    .cookie-banner-btns {
        position: absolute;
        top: 50%;
        margin-top: -17px;
        right: 0;
    }
}

@media only screen and (max-width: 767px) {
    .cookie-banner {
        bottom: 10px;
    }
    .cookie-banner-box {
        margin: 8px;
        padding: 10px;
        max-width: 90%;
        font-size: 0.8em;
    }
    .cookie-banner p {
        font-size: 0.75em;
        margin-bottom: 0.5em;
    }
    .cookie-banner p.heading {
        font-size: 0.8em;
    }
    .button {
        font-size: 0.6em;
        padding: 0.75em 1.25em;
    }
    .cookie-banner-btns .button:last-of-type {
        margin-left: 4px;
    }
}