.legal-languages { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0 0 2rem; }
.legal-languages a[aria-current="page"] { text-decoration: underline; font-weight: 700; }
.legal-content { overflow-wrap: anywhere; }
.privacy-notice { position: fixed; z-index: 10000; left: 16px; bottom: 16px; width: min(620px, calc(100% - 32px)); padding: 24px; color: #f4f6fa; background: #071428; border: 1px solid #69809c; border-radius: 8px; box-shadow: 0 8px 32px #0005; font: 15px/1.55 "IBM Plex Sans", sans-serif; max-height: calc(100dvh - 32px); overflow: auto; }
.privacy-notice h2 { margin: 0 0 8px; font-size: 20px; color: inherit; }
.privacy-notice p { margin: 0 0 16px; }
.privacy-notice__actions { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.privacy-notice a { color: #fff; text-decoration: underline; }
.privacy-notice button, .privacy-action { cursor: pointer; padding: 10px 16px; background: #e8f0fa; color: #071428; border: 1px solid #69809c; border-radius: 4px; font: inherit; }
.privacy-notice :focus-visible, .privacy-action:focus-visible, .legal-languages a:focus-visible { outline: 3px solid #a2cafa; outline-offset: 4px; }
.privacy-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0; }
.privacy-status { min-height: 1.8em; }
/* Keep the fixed notice from covering the final footer links. */
body.has-privacy-notice { padding-bottom: 260px; }
@media (max-width: 600px) { body.has-privacy-notice { padding-bottom: 390px; } .privacy-notice { padding: 18px; } }
