.legal-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.legal-copy{overflow-wrap:anywhere;line-height:1.75}
.legal-copy h2{font-size:21px;margin:28px 0 10px;line-height:1.3}
.legal-copy dd{margin:8px 0 22px}
.legal-copy dt{margin-top:16px}
.legal-editor textarea{line-height:1.65;min-height:100px}
.legal-editor #terms_text,.legal-editor #privacy_text{min-height:300px}
.cookie-banner{position:fixed;z-index:50;left:16px;right:16px;bottom:16px;max-width:960px;max-height:45vh;max-height:45dvh;overflow-y:auto;margin:auto;padding:20px 24px;background:#fff;border:1px solid #ccd8d1;border-top:4px solid var(--area-colour,#123d32);border-radius:12px;box-shadow:0 8px 40px #123d3226;color:#172b25}
.cookie-banner h2{font-size:20px;line-height:1.3;margin:0 0 8px}
.cookie-banner p{margin:8px 0;font-size:13px}
.cookie-banner .muted{font-size:12px}
.cookie-banner form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.cookie-banner .button{white-space:normal}
.cookie-banner[hidden],.cookie-error[hidden]{display:none}
.cookie-error{color:#8d3025;flex-basis:100%}
.fan-site:has(.cookie-banner:not([hidden])){padding-bottom:280px}
@media(max-width:760px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:16px}.cookie-banner form .button{flex-basis:100%}.fan-site:has(.cookie-banner:not([hidden])){padding-bottom:380px}}
