/* Servio — pages annexes du site public : mentions légales, conditions générales de vente, confidentialité, erreurs 403 et 404. */
/* Extension de home.css et news.css : mêmes jetons, mêmes composants. */

/* ---------- Pages juridiques ---------- */
.legal-doc{max-width:780px;margin-inline:auto}
.legal-doc section{margin-top:48px;scroll-margin-top:110px}
.legal-doc section:first-child{margin-top:0}
.legal-doc h2{font-size:clamp(22px,2.3vw,28px);line-height:1.22;letter-spacing:-.022em;color:var(--on-light)}
.legal-doc h2:after{content:'';display:block;width:34px;height:2px;border-radius:2px;margin-top:14px;background:var(--accent)}
.legal-doc h3{margin-top:28px;font-size:18px;line-height:1.35;color:var(--on-light)}
.legal-doc p,.legal-doc li{font-size:16px;line-height:1.8;color:var(--on-light-dim)}
.legal-doc p{margin-top:14px}
.legal-doc ul{margin-top:12px;padding-left:22px}
.legal-doc li+li{margin-top:6px}
.legal-doc strong{color:var(--on-light);font-weight:600}
.legal-doc a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.legal-doc a:hover{color:var(--accent)}

/* Fiche d'identité (éditeur, hébergeur) */
.legal-card{margin-top:18px;border:1px solid var(--line-light);border-radius:var(--r);background:var(--paper);padding:6px 24px}
.legal-card dl{display:grid;grid-template-columns:minmax(150px,210px) 1fr;margin:0}
.legal-card dt,.legal-card dd{margin:0;padding:13px 0;font-size:15px;line-height:1.6;border-top:1px solid var(--line-light)}
.legal-card dt{color:var(--on-light-dim);padding-right:16px}
.legal-card dd{color:var(--on-light)}
.legal-card dt:first-of-type,.legal-card dt:first-of-type+dd{border-top:0}
/* Identité de l'éditeur pas encore connue : la case reste vide (dd data-a-completer), un tiret tient la ligne */
.legal-card dd:empty::after{content:'—';color:var(--on-light-dim)}

/* Information à compléter par l'éditeur avant la mise en ligne définitive */
.todo{background:#fff1c9;color:#6b4a00;border-radius:6px;padding:1px 7px;font-size:.92em;font-weight:500}

/* Tableau des traitements */
.legal-table{margin-top:18px;overflow-x:auto;border:1px solid var(--line-light);border-radius:var(--r);background:var(--paper)}
.legal-table table{width:100%;border-collapse:collapse;min-width:620px}
.legal-table th,.legal-table td{padding:13px 16px;text-align:left;vertical-align:top;font-size:14.5px;line-height:1.6;border-top:1px solid var(--line-light)}
.legal-table thead th{border-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-light-dim);font-weight:600}
.legal-table td{color:var(--on-light-dim)}
.legal-table td:first-child{color:var(--on-light);font-weight:550}

/* Sommaire */
.legal-toc{max-width:780px;margin:0 auto 52px;padding:22px 26px;border:1px solid var(--line-light);border-radius:var(--r);background:var(--paper)}
.legal-toc b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-light-dim)}
.legal-toc ol{margin:12px 0 0;padding-left:20px;columns:2;column-gap:32px}
.legal-toc li{font-size:15px;line-height:1.9;color:var(--on-light-dim)}
.legal-toc a{color:var(--on-light)}
.legal-toc a:hover{color:var(--accent-ink)}
.legal-updated{margin-top:18px;font-size:13px;letter-spacing:.04em;color:var(--on-dark-dim)}

/* ---------- Pages d'erreur ---------- */
.error-page{min-height:100vh;display:flex;flex-direction:column;background:var(--ink-2)}
.error-main{flex:1;display:flex;align-items:center;padding:150px 0 90px}
.error-code{font-family:var(--display);font-weight:800;font-size:clamp(96px,16vw,190px);line-height:.9;letter-spacing:-.06em;color:var(--accent)}
.error-main h1{margin-top:26px;max-width:18ch}
.error-main .lead{margin-top:20px;max-width:560px}
.error-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.error-links{margin-top:48px;padding-top:26px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px}
.error-links span{color:var(--on-dark-dim)}
.error-links a{color:var(--on-dark);font-weight:550}
.error-links a:hover{color:var(--accent)}
.error-foot{padding:26px 0;border-top:1px solid var(--line-dark);font-size:13px;color:var(--on-dark-dim)}

@media(max-width:760px){
  .legal-card{padding:4px 18px}
  .legal-card dl{grid-template-columns:1fr}
  .legal-card dt{padding-bottom:0;border-top:1px solid var(--line-light)}
  .legal-card dd{padding-top:4px;border-top:0}
  .legal-toc ol{columns:1}
  .error-main{padding:120px 0 60px}
  .error-actions .btn{width:100%}
}
