.policy-page { max-width: 52rem; margin: 3rem auto; padding: 0 1.25rem; overflow-wrap: anywhere; line-height: 1.7; }
.policy-page h1 { font-size: 2rem; line-height: 1.25; margin-bottom: 1rem; }
.policy-page h2 { font-size: 1.4rem; margin: 2rem 0 .75rem; scroll-margin-top: 5rem; }
.policy-page h3 { font-size: 1.1rem; margin: 1.5rem 0 .5rem; }
.policy-page p, .policy-page ul, .policy-page ol { margin-bottom: 1rem; }
.policy-page ul { list-style: disc; padding-left: 1.5rem; }
.policy-page ol { list-style: decimal; padding-left: 1.5rem; }
.policy-page a, .cookie-banner a { text-decoration: underline; text-underline-offset: .2em; }
.policy-page table { display: block; max-width: 100%; overflow-x: auto; }
.policy-page th, .policy-page td { padding: .5rem; border: 1px solid #d1d5db; text-align: left; }
.policy-date { font-size: .95rem; }
.cookie-banner, #cookie-preferences { color-scheme: light; background: white; color: #1f2937; border: 1px solid #9ca3af; border-radius: .75rem; padding: 1.25rem; font-size: .95rem; line-height: 1.5; box-shadow: 0 8px 30px #0003; }
.cookie-banner { position: fixed; bottom: 1rem; left: 1rem; width: calc(100% - 2rem); max-width: 29rem; z-index: 200; max-height: calc(100dvh - 2rem); overflow-y: auto; }
.cookie-banner[hidden], #cookie-gpc[hidden] { display: none; }
.cookie-banner h2, #cookie-preferences h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: .75rem; }
.cookie-banner p, #cookie-preferences p { margin-bottom: .75rem; }
#cookie-preferences { margin: auto; width: calc(100% - 2rem); max-width: 32rem; max-height: calc(100dvh - 2rem); overflow-y: auto; }
#cookie-preferences::backdrop { background: #0008; }
.cookie-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.cookie-actions button { cursor: pointer; border: 1px solid #4b5563; border-radius: .4rem; background: #f9fafb; color: #111827; padding: .65rem .85rem; min-height: 44px; font-weight: 600; }
.cookie-actions button:hover { background: #e5e7eb; }
.cookie-actions button:focus-visible, .cookie-option input:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.cookie-option { display: flex; align-items: flex-start; gap: .8rem; margin: 1rem 0; cursor: pointer; }
.cookie-option input { flex-shrink: 0; margin-top: .3rem; width: 1.15rem; height: 1.15rem; }
