/* ============================================================
   MY-AGENTIFY — Pages documentaires
   mentions légales · CGV · confidentialité · accessibilité
   Mise en page de lecture, même charte que le reste du site.
   Le contenu juridique n'est pas modifié.
   ============================================================ */

:root{
  --navy:#081436; --ink:#0A1E4D; --ink-70:#3D4E7A; --ink-50:#6B79A0; --ink-30:#9AA5C4;
  --blue:#2563FF; --blue-100:#DCE7FF; --blue-50:#F0F5FF; --violet:#6D5CFF;
  --mint:#10B981; --orange:#F59E0B;
  --bg:#F5F8FF; --line:#E4EBFA; --line-2:#D2DDF4;
  --r-sm:10px; --r:16px; --r-lg:22px; --r-full:999px;
  --sh-sm:0 1px 2px rgba(8,20,54,.06),0 2px 6px rgba(8,20,54,.04);
  --sh:0 4px 12px rgba(8,20,54,.06),0 12px 32px rgba(8,20,54,.07);
  --grad:linear-gradient(135deg,#2563FF 0%,#6D5CFF 100%);
}

*,*::before,*::after{ box-sizing:border-box }
html,body{ overflow-x:hidden; max-width:100% }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.72; letter-spacing:-.008em;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Barre de navigation ---------- */
.legal-nav,.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(12px); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.legal-nav-inner,.nav-inner{
  max-width:860px; margin:0 auto; padding:0 24px; height:64px;
  display:flex; align-items:center; gap:18px;
}
.legal-logo,.nav-logo{
  font-size:18px; font-weight:800; letter-spacing:-.04em;
  color:var(--navy) !important; text-decoration:none; margin-right:auto;
}
.legal-logo span,.nav-logo span{
  background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.legal-back,.nav-back{
  font-size:14px; font-weight:600; color:var(--blue) !important;
  text-decoration:none; padding:8px 14px; border-radius:var(--r-full);
  transition:background .18s ease;
}
.legal-back:hover,.nav-back:hover{ background:var(--blue-50) }

/* ---------- Corps du document ---------- */
.legal-container,.container{
  max-width:860px; margin:0 auto; padding:44px 24px 80px;
}
.legal-title,h1{
  font-size:clamp(30px,4.4vw,42px); font-weight:800; letter-spacing:-.04em;
  line-height:1.12; color:var(--navy); margin:0 0 10px;
}
.legal-subtitle{
  font-size:14px; color:var(--ink-30); font-weight:600; margin:0 0 34px;
}
.legal-card,.contact-box{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--sh-sm); padding:34px 36px; margin-bottom:20px;
}
.legal-section{ margin-bottom:34px }
.legal-section:last-child{ margin-bottom:0 }

h2{
  font-size:clamp(21px,2.4vw,26px); font-weight:800; letter-spacing:-.032em;
  color:var(--navy); margin:34px 0 12px; padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.legal-card > h2:first-child,.legal-section > h2:first-child{ margin-top:0 }
h3{ font-size:17.5px; font-weight:800; letter-spacing:-.025em; color:var(--navy); margin:24px 0 8px }
h4{ font-size:15.5px; font-weight:700; color:var(--ink-70); margin:18px 0 6px }
p{ margin:0 0 1em; color:var(--ink-70); max-width:72ch }
strong,b{ color:var(--navy); font-weight:700 }
a{ color:var(--blue) }
a:hover{ text-decoration-thickness:2px }

ul,ol{ margin:0 0 1.2em; padding-left:1.35em; color:var(--ink-70) }
li{ margin-bottom:.5em }
li::marker{ color:var(--blue) }

/* ---------- Sommaire ---------- */
.legal-toc{
  background:var(--blue-50); border:1px solid var(--blue-100);
  border-radius:var(--r); padding:22px 24px; margin-bottom:30px;
}
.legal-toc ol,.legal-toc ul{ margin:0; padding-left:1.2em }
.legal-toc a{ color:var(--ink-70) !important; text-decoration:none; font-weight:600 }
.legal-toc a:hover{ color:var(--blue) !important }

/* ---------- Encarts ---------- */
.legal-highlight,.intro{
  background:var(--blue-50); border:1px solid var(--blue-100);
  border-left:3px solid var(--blue); border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:16px 20px; margin:20px 0;
}
.legal-highlight p:last-child,.intro p:last-child{ margin-bottom:0 }
.legal-warn{
  background:#FFFBEB; border:1px solid #FDE68A;
  border-left:3px solid var(--orange); border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:16px 20px; margin:20px 0;
}
.badge,.status{
  display:inline-block; font-size:12.5px; font-weight:700;
  background:var(--blue-50); color:var(--blue); border:1px solid var(--blue-100);
  border-radius:var(--r-full); padding:5px 13px;
}
.status.ok,.badge.ok{ background:rgba(16,185,129,.1); color:#0B7A5B; border-color:rgba(16,185,129,.3) }

/* ---------- Tableaux ---------- */
.legal-table-wrap{ width:100%; overflow-x:auto; border-radius:var(--r-sm); margin:20px 0 }
.legal-table,table{
  width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px;
}
.legal-table th,table th{
  text-align:left; font-size:11.5px; font-weight:800; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-50);
  background:var(--bg); border-bottom:1px solid var(--line); padding:11px 14px;
}
.legal-table td,table td{ padding:12px 14px; border-bottom:1px solid var(--line); color:var(--ink-70) }
.legal-table tr:hover td,table tr:hover td{ background:var(--blue-50) }

/* ---------- Pied ---------- */
.legal-footer{
  max-width:860px; margin:0 auto; padding:26px 24px 44px;
  border-top:1px solid var(--line);
  font-size:13.5px; color:var(--ink-30); text-align:center;
}
.legal-footer a{ color:var(--ink-50) !important; text-decoration:none }
.legal-footer a:hover{ color:var(--blue) !important }

@media (max-width:640px){
  .legal-container,.container{ padding:28px 16px 56px }
  .legal-card,.contact-box{ padding:24px 20px }
  .legal-nav-inner,.nav-inner{ padding:0 16px; height:58px; gap:12px }
  body{ font-size:15.5px }
}

@media print{
  .legal-nav,.nav,.legal-back,.nav-back{ display:none }
  body{ background:#fff; font-size:11pt }
  .legal-card{ border:0; box-shadow:none; padding:0 }
}
