/* Legal and help pages (privacy, terms, support, delete account, legal notice): one shared stylesheet instead of
   inline <style>, so the Content-Security-Policy needs no 'unsafe-inline'. System fonts only, nothing from outside.
   Colours meet WCAG 2.2 AA (4.5:1 for text) on the cream background. */
:root { color-scheme: light; }
body { margin: 0; background: #FBF2E9; color: #2B2B2B; font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 680px; margin: 0 auto; padding: 24px 16px 32px; }
h1 { color: #2F5D62; font-size: 1.7rem; margin: 0.4em 0; }
h2 { color: #2F5D62; font-size: 1.15rem; margin-top: 1.6em; }
a { color: #9C4A2A; overflow-wrap: anywhere; text-underline-offset: 2px; }
a:hover { color: #7A3517; }
:focus-visible { outline: 3px solid #2F5D62; outline-offset: 3px; border-radius: 4px; }
.updated { color: #5E554D; }
.card { background: #fff; border: 2px solid #DCC3A3; border-radius: 16px; padding: 16px; margin: 16px 0; }
.table { overflow-x: auto; margin: 12px 0; }
table { border-collapse: collapse; width: 100%; min-width: 520px; background: #fff; font-size: 0.92rem; }
th, td { border: 1px solid #DCC3A3; padding: 8px; text-align: left; vertical-align: top; }
th { background: #F3E4D3; color: #2F5D62; }
code { font-size: 0.9em; }
/* Forms (delete-account.html) */
label { display: block; font-weight: 600; margin-top: 12px; color: #2F5D62; }
input, textarea { box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; padding: 10px; border: 2px solid #A88B68; border-radius: 10px; background: #fff; color: #2B2B2B; }
input:focus-visible, textarea:focus-visible { border-color: #2F5D62; }
input[aria-invalid="true"] { border-color: #A3301A; }
.hint { display: block; margin-top: 4px; font-size: 0.92rem; color: #5E554D; }
.field-error { display: block; margin-top: 4px; font-weight: 600; color: #A3301A; }
button { margin-top: 16px; min-height: 44px; font: inherit; font-weight: 600; color: #fff; background: #9C4A2A; border: 0; border-radius: 22px; padding: 10px 22px; box-shadow: 0 3px 0 #6E3118; cursor: pointer; }
button:hover { background: #8A3F22; }
.ok { background: #2F6E5D; color: #fff; border-radius: 12px; padding: 12px 14px; }
.err { background: #A3301A; color: #fff; border-radius: 12px; padding: 12px 14px; }
[hidden] { display: none !important; }
/* Page frame: skip link, logo header, footer with the legal links */
.skip { position: absolute; left: 12px; top: -60px; z-index: 5; background: #2F5D62; color: #fff; padding: 10px 16px; border-radius: 12px; font-weight: 600; }
.skip:focus { top: 12px; color: #fff; }
.site-head { padding-top: 16px; }
.site-logo { display: block; width: 140px; margin: 0 auto; }
.site-logo img { display: block; width: 100%; height: auto; }
.site-foot { max-width: 680px; margin: 0 auto; padding: 0 16px 40px; font-size: 0.95rem; color: #5E554D; }
.site-foot nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.site-foot nav a { display: inline-block; padding: 6px 0; }
.site-foot p { margin: 10px 0 0; }
.card > h2:first-child { margin-top: 0.2em; }
