/* Compact cookie notice: sits to the left of the chat launcher so it never covers it. */
.cookie-banner[hidden],
[data-cookie-preferences][hidden] { display: none; }

.cookie-banner {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 100100;
    width: min(420px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    padding: 22px 24px 20px;
    background: #fff;
    color: var(--text-primary, #1a1a1a);
    border: 1px solid var(--border-color, #d4d4d4);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(7, 72, 131, 0.22);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    animation: cookie-banner-in 220ms ease-out;
}

@keyframes cookie-banner-in {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.cookie-banner-text {
    margin: 0 36px 16px 0;
}

.cookie-banner-text a {
    color: var(--brand-blue, #095aa5);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cookie-banner-text a:hover { color: var(--brand-blue-dark, #074883); }

.cookie-banner-status:empty { display: none; }
.cookie-banner-status { margin: -8px 0 12px; color: #a12622; font-weight: 600; }

.cookie-banner-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #4a5560;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.cookie-banner-close:hover { background: var(--brand-gray, #f1f1f1); color: var(--brand-blue-dark, #074883); }

.cookie-banner-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Equal styling so neither choice is visually favored. */
.cookie-banner-actions button {
    min-height: 46px;
    padding: 10px 16px;
    border: 2px solid var(--brand-blue-dark, #074883);
    border-radius: 999px;
    background: var(--brand-blue-dark, #074883);
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background var(--transition-fast, 150ms ease-out), border-color var(--transition-fast, 150ms ease-out);
}

.cookie-banner-actions button:hover {
    background: var(--brand-blue, #095aa5);
    border-color: var(--brand-blue, #095aa5);
}

.cookie-banner button:focus-visible,
.cookie-banner a:focus-visible,
[data-cookie-preferences]:focus-visible {
    outline: 3px solid var(--brand-blue-light, #0f6fc6);
    outline-offset: 3px;
}

.footer-cookie-links { display: flex; justify-content: center; gap: 20px; margin-top: 12px; flex-wrap: wrap; }
.footer-cookie-links a,
[data-cookie-preferences] { color: inherit; text-decoration: underline; }
[data-cookie-preferences] { background: none; border: 0; font: inherit; padding: 0; cursor: pointer; }
.cookie-noscript { padding: 16px; text-align: center; }

/* Beside the chat launcher: JavaScript measures the launcher and sets these offsets. */
.cookie-banner.cookie-banner--beside {
    left: auto;
    right: var(--cookie-right);
    bottom: var(--cookie-bottom);
    width: var(--cookie-width);
}

/* Not enough room beside the chat (phones): the card sits at the bottom and the chat lifts above it. */
body.cookie-banner-stacked .web-agent,
body.cookie-banner-stacked .back-to-top { bottom: calc(var(--cookie-banner-height, 0px) + 24px); }

@media (max-width: 600px) {
    .cookie-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        padding: 18px 18px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cookie-banner { animation: none; }
}
