.site-footer { padding: 2rem 1rem; border-top: 1px solid #30364f; color: #c9d2eb; }
.site-footer-links { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-bottom: 1rem; }
.site-footer a, .legal-settings-button, .legal-document a, .analytics-consent a { color: #dad3ff; text-decoration: underline; text-underline-offset: .18em; }
.legal-settings-button { border: 0; background: none; padding: 0; font: inherit; text-align: left; }
.legal-settings-button:focus-visible, .site-footer a:focus-visible { outline: 2px solid #dad3ff; outline-offset: 5px; }
.legal-document { max-width: 58rem; margin: auto; padding: clamp(1rem, 4vw, 3rem); border: 1px solid #30364f; border-radius: 1.5rem; background: #101528; color: #e1e6f5; line-height: 1.75; overflow-wrap: anywhere; }
.legal-document h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); margin-bottom: 1.5rem; }
.legal-document h2 { font-size: 1.35rem; margin: 2rem 0 1rem; color: #fff; scroll-margin-top: 1rem; }
.legal-document li { margin-bottom: .5rem; }
.legal-document dt { margin-top: .8rem; }
.legal-document dd { margin-bottom: .8rem; }
.legal-form-notice { color: #d1d9ee; font-size: .9rem; line-height: 1.6; }
.analytics-consent { position: fixed; z-index: 1100; bottom: 1rem; left: 50%; transform: translateX(-50%); width: min(60rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.25rem; border: 1px solid #8f85c4; border-radius: 1rem; background: #151b30; color: #eef0ff; box-shadow: 0 .5rem 3rem #0008; }
.analytics-consent[hidden] { display: none !important; }
.analytics-consent h2 { font-size: 1.2rem; margin-bottom: .6rem; }
.analytics-consent p { line-height: 1.5; margin-bottom: .7rem; }
.analytics-consent-status { color: #c8d1eb; font-size: .9rem; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.analytics-consent-actions .btn { flex: 1 1 12rem; min-height: 44px; }
