/* ============================================================
   IzenRide — pages légales (CGU / CGV)
   S'appuie sur les tokens de main.css. Les documents sources
   étaient sur fond clair : ici tout est transposé sur le canon
   sombre de l'app, sans toucher au texte.
   ============================================================ */

.doc-page{ padding:112px 0 0; }
.doc{ max-width:820px; margin:0 auto; padding:0 28px 96px; }

/* ── En-tête du document ── */
.doc__head{ padding-bottom:26px; border-bottom:1px solid var(--line-2); }
.doc__pill{
  display:inline-block; padding:5px 12px; border-radius:99px;
  border:1px solid rgba(93,202,165,.4); background:rgba(93,202,165,.1);
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ok);
}
.doc__title{
  margin:18px 0 6px; font-size:clamp(28px,4.4vw,44px);
  font-weight:700; letter-spacing:-.03em; line-height:1.08;
}
.doc__sub{ margin:0; color:var(--ink-dim); font-size:17px; }
.doc__meta{
  display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:22px;
  font-family:var(--mono); font-size:11.5px; color:var(--ink-mute);
}
.doc__meta b{ color:var(--ink-mute); font-weight:400; }
.doc__meta span > i{
  font-style:normal; color:var(--izen-light); margin-left:6px;
  font-family:var(--sans); font-size:12.5px; font-weight:600;
}

/* ── Sommaire ── */
.toc{
  margin:34px 0 8px; padding:22px 26px; border-radius:var(--rad);
  border:1px solid var(--line); background:var(--panel);
}
.toc h2{
  margin:0 0 12px; font-family:var(--mono); font-size:10px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--ink-mute);
  font-weight:400;
}
.toc ol{
  margin:0; padding-left:20px; columns:2; column-gap:34px;
  color:var(--ink-mute); font-size:14.5px;
}
.toc li{ margin:5px 0; break-inside:avoid; }
.toc a{ color:var(--ink-dim); transition:color .2s; }
.toc a:hover{ color:var(--neon-bright); }

/* ── Articles ── */
.doc article{ margin:44px 0; scroll-margin-top:88px; }
.doc h3{
  margin:0 0 14px; font-size:clamp(19px,2.4vw,24px);
  font-weight:650; letter-spacing:-.02em; line-height:1.25;
}
.art-num{
  display:block; margin-bottom:5px;
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--izen-bright); font-weight:400;
}
.doc h4{
  margin:26px 0 8px; font-size:16px; font-weight:600;
  color:var(--ink-label); letter-spacing:-.01em;
}
.doc p{ margin:12px 0; color:var(--ink-dim); font-size:15.5px; line-height:1.72; }
.doc a{ color:var(--neon-bright); text-decoration:underline; text-underline-offset:3px; }
.doc a:hover{ color:var(--izen-light); }
.doc strong{ color:var(--ink); }

/* ── Encarts ── */
.callout{
  margin:20px 0; padding:16px 18px; border-radius:12px;
  border:1px solid; font-size:14.5px; line-height:1.65;
}
.callout b{
  display:block; margin-bottom:5px; font-size:13px;
  letter-spacing:.02em; font-weight:650;
}
.callout--info{ background:rgba(77,143,255,.08); border-color:rgba(77,143,255,.3); color:var(--ink-dim); }
.callout--info b{ color:var(--neon-bright); }
.callout--warn{ background:rgba(250,199,117,.07); border-color:rgba(250,199,117,.3); color:var(--ink-dim); }
.callout--warn b{ color:var(--warn); }
.callout--critical{ background:rgba(226,75,74,.08); border-color:rgba(226,75,74,.34); color:var(--ink-dim); }
.callout--critical b{ color:var(--err); }
.callout--ok{ background:rgba(93,202,165,.07); border-color:rgba(93,202,165,.3); color:var(--ink-dim); }
.callout--ok b{ color:var(--ok); }

/* ── Tableaux d'identité / de prix ── */
.info-card{
  width:100%; border-collapse:collapse; margin:18px 0; font-size:15px;
}
.info-card th{
  text-align:left; vertical-align:top; white-space:nowrap; width:1%;
  padding:11px 20px 11px 0; border-bottom:1px solid var(--line);
  color:var(--ink-mute); font-weight:500; font-size:14px;
}
.info-card td{
  padding:11px 0; border-bottom:1px solid var(--line); color:var(--ink-dim);
}
.info-card td strong{ color:var(--silver-bright); }
.mono{ font-family:var(--mono); font-size:13.5px; color:var(--ink-label); }

/* ── Pied de document ── */
.doc__foot{
  margin-top:56px; padding-top:26px; border-top:1px solid var(--line-2);
  color:var(--ink-mute); font-size:13.5px;
}
.doc__foot-meta{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-bottom:18px; }
.doc__foot h2{
  margin:0 0 8px; font-family:var(--mono); font-size:10px;
  letter-spacing:.22em; text-transform:uppercase; font-weight:400;
}
.doc__foot ul{ margin:8px 0 0; padding-left:20px; }
.doc__foot li{ margin:5px 0; }
.doc__foot p{ margin-top:20px; font-size:12.5px; color:#5c6478; }

/* ── Renvoi vers l'autre document ── */
.doc__cross{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:34px;
  padding-top:26px; border-top:1px solid var(--line);
}

/* ── Version autonome (fichier unique) ──
   Les documents sont embarqués dans la page et prennent la place du site
   selon le fragment d'URL. Ces règles ne servent qu'au fichier généré :
   sur le site multi-pages, aucun .doc-embed n'existe. */
.doc-embed{ display:none; }
body.is-doc > main,
body.is-doc > .foot,
body.is-doc > .rail,
body.is-doc .fx-scan,
body.is-doc .motion-toggle{ display:none; }

@media (max-width:640px){
  .doc-page{ padding-top:92px; }
  .toc ol{ columns:1; }
  .info-card th{ white-space:normal; }
}

@media print{
  .nav,.foot,.doc__cross,.motion-toggle{ display:none !important; }
  body{ background:#fff; color:#111; }
  .doc-page{ padding-top:0; }
  .doc p,.doc h3,.doc h4,.info-card td{ color:#111; }
  .toc{ background:none; border-color:#ccc; }
  .doc article{ break-inside:avoid; }
}
