/* Nafas · page Confidentialité et mentions légales (v2) */
.hero { padding-block: var(--space-8) var(--space-6); }

/* sticky table of contents + narrow editorial column */
.policy { display: grid; grid-template-columns: 15rem minmax(0, var(--container-narrow)); gap: var(--space-7); justify-content: center; align-items: start; padding-block: var(--space-4) var(--space-8); }
.policy__toc { position: sticky; top: calc(var(--header-h) + var(--space-4)); }
.policy__toc .card { padding: var(--space-5); }
.policy__toc .eyebrow { display: block; margin-bottom: var(--space-3); }
.policy__toc ol { display: grid; gap: .25rem; }
.policy__toc a { display: block; padding: .5rem .85rem; border-radius: var(--radius-pill); font-size: var(--text-sm); font-weight: 600; color: var(--ink-2); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.policy__toc a:hover { background: var(--bg); color: var(--ink); }
.policy__toc a.is-active { background: var(--blue-soft); color: var(--blue-deep); font-weight: 700; }
@media (max-width: 900px) {
  .policy { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .policy__toc { position: static; }
  .policy__toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) { .policy__toc ol { grid-template-columns: 1fr; } }

/* sections */
.policy__section { padding-block: var(--space-7) var(--space-5); scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
.policy__section:first-child { padding-top: var(--space-5); }
.policy__idx { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--sun); color: var(--ink); font-weight: 800; margin-bottom: var(--space-4); }
.policy__section h2 { font-size: var(--text-2xl); margin-bottom: var(--space-5); max-width: 18em; }
.policy__section p { max-width: 62ch; line-height: 1.6; }
.policy__section p + p, .policy__section ul + p, .policy__section p + ul, .policy__section p + .notice, .policy__section p + .grid, .policy__section .grid + p, .policy__section p + .card { margin-top: var(--space-4); }
.policy__section .notice { align-items: flex-start; max-width: 62ch; }
.policy__section .notice svg { color: var(--ink); }

/* rights cards */
.rights { margin-top: var(--space-5); gap: var(--space-3); }
.rights .card { padding: var(--space-5); }
.rights h3 { font-size: var(--text-lg); }
.rights p { font-size: var(--text-sm); }

/* emergency numbers */
.emergency { margin-block: var(--space-5); gap: var(--space-3); }
.emergency .stat { background: var(--bg-2); }

/* legal notice as definition list in a white card */
.mentions { margin-top: var(--space-2); padding: var(--space-3) var(--space-6); }
.mentions > div { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--line); }
.mentions > div:last-child { border-bottom: 0; }
.mentions dt { font-weight: 700; font-size: var(--text-sm); color: var(--ink); padding-top: .1rem; }
.mentions dd { margin: 0; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.55; }
@media (max-width: 520px) { .mentions > div { grid-template-columns: 1fr; gap: var(--space-2); } }

/* credits */
.credits-card { margin-top: var(--space-5); padding: var(--space-3) var(--space-6); }
.credits-wrap { overflow-x: auto; }
.credits { min-width: 40rem; }
.credits td { font-size: var(--text-sm); color: var(--ink-2); }
.credits td:first-child { color: var(--ink); font-weight: 600; }
.credits tr:last-child td { border-bottom: 0; }
.credits td + td, .credits th + th { padding-left: var(--space-4); }
.credits .arrow-link, .credits .link { font-size: var(--text-sm); white-space: nowrap; }
.policy__section h3.credits-sub { font-size: var(--text-xl); margin-block: var(--space-7) var(--space-3); }
.fonts { margin-top: var(--space-4); padding: var(--space-2) var(--space-6); }
.fonts li { padding: var(--space-3) 0; border-bottom: 1px solid var(--line); font-size: var(--text-sm); color: var(--ink-2); }
.fonts li:last-child { border-bottom: 0; }
.fonts + p { margin-top: var(--space-4); }
