/* Feuille de style des pages légales (mentions légales, confidentialité).
   Reprend les mêmes jetons de design que la page d'accueil. */

:root{
  --bg:#0a0b10;
  --panel:#12141c;
  --panel-2:#171a24;
  --line:#242739;
  --text:#f1f0f5;
  --muted:#8d8fa3;
  --violet:#7c6ff0;
  --violet-soft:#a99bff;
  --mint:#3eebb0;
  --coral:#ff7a59;
  --radius:16px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Sora', sans-serif; font-weight:700; letter-spacing:-0.015em;}
a{color:var(--violet-soft); text-decoration:none;}
a:hover{text-decoration:underline;}
:focus-visible{outline:2px solid var(--mint); outline-offset:3px;}

.wrap{max-width:780px; margin:0 auto; padding:0 28px;}

header{
  position:sticky; top:0; z-index:50;
  background:rgba(10,11,16,0.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:18px; padding-bottom:18px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Sora', sans-serif; font-weight:700; font-size:1.1rem;
  color:var(--text);
}
.brand:hover{text-decoration:none;}
.brand-mark{width:26px; height:26px; display:block;}
.back{font-size:0.9rem; color:var(--muted);}
.back:hover{color:var(--text); text-decoration:none;}

main{padding:64px 0 88px;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'IBM Plex Mono', monospace; font-size:0.76rem;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--mint);
  border:1px solid rgba(62,235,176,0.3); background:rgba(62,235,176,0.06);
  padding:6px 12px; border-radius:999px; margin-bottom:22px;
}
h1{font-size:clamp(1.9rem, 4vw, 2.6rem); line-height:1.15; margin-bottom:14px;}
.updated{
  font-family:'IBM Plex Mono', monospace; font-size:0.78rem;
  color:var(--muted); margin-bottom:48px;
}
h2{
  font-size:1.25rem; margin:44px 0 16px;
  padding-top:26px; border-top:1px solid var(--line);
}
h2:first-of-type{border-top:none; padding-top:0; margin-top:0;}
h3{font-size:1rem; margin:26px 0 10px; color:var(--violet-soft);}
p{margin-bottom:16px; color:var(--muted);}
p strong, li strong{color:var(--text); font-weight:600;}
ul{margin:0 0 16px 20px; color:var(--muted);}
li{margin-bottom:8px;}

table{
  width:100%; border-collapse:collapse; margin-bottom:20px;
  font-size:0.9rem;
}
th,td{
  text-align:left; padding:11px 14px;
  border-bottom:1px solid var(--line); vertical-align:top;
}
th{color:var(--text); font-weight:600; background:var(--panel-2);}
td{color:var(--muted);}
.table-scroll{overflow-x:auto; margin-bottom:20px;}
.table-scroll table{margin-bottom:0;}

/* Emplacement à compléter avant toute mise en ligne publique. */
.todo{
  display:inline-block;
  background:rgba(255,122,89,0.12);
  border:1px dashed var(--coral);
  color:var(--coral);
  border-radius:6px;
  padding:1px 8px;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.82rem;
}
.notice{
  background:var(--panel); border:1px solid var(--coral); border-left-width:3px;
  border-radius:12px; padding:18px 20px; margin-bottom:36px;
}
.notice p:last-child{margin-bottom:0;}
.notice strong{color:var(--coral);}

.callout{
  background:var(--panel); border:1px solid var(--line);
  border-radius:12px; padding:18px 20px; margin-bottom:20px;
}
.callout p:last-child{margin-bottom:0;}

footer{border-top:1px solid var(--line); padding:36px 0;}
footer .wrap{
  display:flex; justify-content:space-between; align-items:center;
  color:var(--muted); font-size:0.85rem; flex-wrap:wrap; gap:12px;
}
footer a{color:var(--muted);}
footer a:hover{color:var(--text);}
.footer-links{display:flex; gap:18px; flex-wrap:wrap;}

@media (max-width: 640px){
  main{padding:44px 0 64px;}
  header .wrap{padding-top:14px; padding-bottom:14px;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    transition-duration:0.01ms !important;
  }
}
