.cookie-banner[hidden] { display: none; }
.cookie-banner { position: fixed; inset-inline: 1rem; bottom: 1rem; z-index: 1000; max-width: 48rem; margin-inline: auto; padding: 1.5rem; background: #fff; color: #172b29; border: 1px solid #c6d8d5; border-radius: 1rem; box-shadow: 0 8px 40px #0003; max-height: 75dvh; overflow: auto; text-align: start; }
.cookie-banner h2 { margin: 0 0 .75rem; font-size: 1.3rem; }
.cookie-banner p { margin: .75rem 0; line-height: 1.5; }
.cookie-banner a { text-decoration: underline; color: #08695f; }
.cookie-banner summary { cursor: pointer; font-weight: 600; }
.cookie-banner input[type=checkbox] { width: auto; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.cookie-banner button { padding: .75rem 1rem; background: #08695f; color: white; border: 1px solid #08695f; border-radius: .5rem; cursor: pointer; font: inherit; }
.cookie-actions button { flex: 1 1 12rem; }
.cookie-settings-link { color: inherit; background: transparent; border: 0; padding: 0; text-decoration: underline; font: inherit; cursor: pointer; }
.legal-content { white-space: pre-wrap; overflow-wrap: anywhere; }

.legal-rich-content { line-height:1.65; overflow-wrap:anywhere; }
.legal-rich-content p,.legal-rich-content ul,.legal-rich-content ol { margin:.8em 0; }
.legal-rich-content ul { list-style:disc; padding-inline-start:1.8em; }
.legal-rich-content ol { list-style:decimal; padding-inline-start:1.8em; }
.legal-rich-content blockquote { border-inline-start:3px solid #b9cec5; margin:1em 0; padding-inline-start:1em; }
