/* legal.css — Pages légales : lecture longue, contraste élevé, sans fioriture. */

:root {
  --ink: #1D1D1F; --ink-2: #4A4A4F; --ink-3: #6E6E73;
  --paper: #FFFFFF; --paper-2: #F5F5F7;
  --blue: #0058B9; --hair: rgba(0,0,0,.12);
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper-2); color: var(--ink); font-family: var(--font); font-size: 17px; line-height: 1.65; }

.skip { position: absolute; left: -9999px; top: 0; background: var(--ink); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 0; z-index: 10; }
.skip:focus { left: 0; }

.top { max-width: 820px; margin: 0 auto; padding: 28px 20px 0; }
.top a { color: var(--ink-3); text-decoration: none; font-size: .95rem; }
.top a:hover { color: var(--ink); text-decoration: underline; }

main { max-width: 820px; margin: 0 auto; padding: 24px 20px 80px; }
article { background: var(--paper); border-radius: 22px; padding: clamp(24px, 5vw, 56px); }

h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 8px; }
.updated { color: var(--ink-3); font-size: .92rem; margin: 0 0 28px; }
h2 { font-size: 1.3rem; letter-spacing: -.015em; margin: 38px 0 10px; }
h3 { font-size: 1.05rem; margin: 24px 0 6px; }
p, li { color: var(--ink-2); }
ul, ol { padding-left: 22px; }
li { margin: 6px 0; }
a { color: var(--blue); }
strong, b { color: var(--ink); }

table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--hair); }
th { color: var(--ink); font-weight: 600; }
caption { text-align: left; color: var(--ink-3); font-size: .9rem; padding-bottom: 8px; }

.todo { background: #FFF6E5; border: 1px solid #E8C67A; border-radius: 12px; padding: 14px 18px; margin: 18px 0; color: #6B4A00; }
.todo b { color: #513700; }
.note { background: var(--paper-2); border-radius: 12px; padding: 14px 18px; margin: 18px 0; font-size: .95rem; }
/* Texte juridique d'un seul tenant : paragraphes continus, justifiés, sans
   intertitres ; les articles sont annoncés dans le fil du texte. */
main.dense { max-width: 960px; }
.dense article { padding: clamp(22px, 4vw, 48px); border-radius: 14px; }
.dense h1 { font-size: clamp(1.4rem, 2.6vw, 1.75rem); }
.dense .updated { font-size: .78rem; margin-bottom: 18px; }
.dense p { font-size: .78rem; line-height: 1.5; text-align: justify; hyphens: auto; -webkit-hyphens: auto; margin: 0 0 .85em; color: var(--ink-3); }
.dense p b { font-weight: 600; color: var(--ink-2); }
.dense a { color: inherit; }

.foot { max-width: 820px; margin: 0 auto; padding: 0 20px 60px; color: var(--ink-3); font-size: .9rem; }
.foot a { color: var(--ink-3); margin-right: 14px; }

:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 4px; }

@media (prefers-color-scheme: dark) {
  :root { --ink: #F5F5F7; --ink-2: #D2D2D7; --ink-3: #98989D; --paper: #1C1C1E; --paper-2: #000; --blue: #4DA3FF; --hair: rgba(255,255,255,.16); }
  .todo { background: #2A2109; border-color: #6B5310; color: #F0D9A0; }
  .todo b { color: #FFE9B0; }
}
