.privacy-banner {
    position: fixed;
    z-index: 20;
    right: 16px;
    bottom: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 18px 20px;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
    font-family: sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.privacy-banner[hidden] { display: none; }
.privacy-banner__text { max-width: 670px; }
.privacy-banner__text strong { display: block; margin-bottom: 5px; font-size: 16px; }
.privacy-banner__text p { margin: 0; }
.privacy-banner a { color: #a82635; text-decoration: underline; font-size: inherit; }
.privacy-banner__actions { display: flex; flex-shrink: 0; gap: 10px; }
.privacy-banner button {
    border: 1px solid #a82635;
    border-radius: 3px;
    background: #fff;
    color: #a82635;
    cursor: pointer;
    font: 600 14px sans-serif;
    padding: 11px 16px;
}
.privacy-banner button[data-privacy-choice="accepted"] { background: #a82635; color: #fff; }
.privacy-banner button:focus-visible, .privacy-banner a:focus-visible {
    outline: 3px solid #252525;
    outline-offset: 3px;
}
.privacy-link {
    position: fixed;
    z-index: 19;
    right: 14px;
    bottom: 14px;
    color: #fff;
    font: 13px sans-serif;
    text-decoration: underline;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}
.privacy-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

@media (max-width: 680px) {
    .privacy-banner { flex-direction: column; align-items: stretch; gap: 14px; bottom: 8px; right: 8px; left: 8px; padding: 14px; }
    .privacy-banner__actions { flex-wrap: wrap; }
    .privacy-banner__actions button { flex: 1 1 120px; }
    .privacy-link { right: 10px; bottom: 10px; }
}
