.legal-page { max-width: 980px; margin: auto; }
.legal-page h2 { margin-top: 2rem; font-size: 1.65rem; }
.legal-page p, .legal-page li { line-height: 1.75; }
.legal-page a, .privacy-summary a, .cookie-information a, .legal-links a { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem; margin: 1.2rem 0; }
.footer .cookie-information { flex-basis: 100%; max-width: 780px; margin: 1rem auto; font: inherit; font-size: .9rem; font-style: normal; color: var(--muted); text-align: center; }
.privacy-summary { padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: 8px; margin: 1rem 0; font-size: .95rem; }
.privacy-summary p { margin: .4rem 0; }
.privacy-note { font-size: .9rem; }
.legal-table-wrap { overflow-x: auto; }
.legal-table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
.legal-table th, .legal-table td { text-align: left; border: 1px solid var(--line); padding: .8rem; vertical-align: top; }
.legal-details { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1.2rem; }
.legal-details dt { font-weight: 700; }
.legal-details dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.admin-form input[id^="legal-"], .admin-form #legal-retention { margin-bottom: 1.2rem; }
@media (max-width: 620px) { .legal-details { grid-template-columns: 1fr; gap: .25rem; } .legal-details dd { margin-bottom: .7rem; } }
