/* ============================================================
   Solutions-VMC — Pages légales
   Reprend la charte du site principal, en registre document.
   ============================================================ */
:root{
  --navy-900:#041220; --navy:#0A2540; --navy-700:#123A63;
  --blue:#0052CC; --cyan:#00B8D9;
  --slate:#64748B; --slate-700:#475569;
  --line:#E2E8F0; --mist:#F1F5F9; --paper:#F8FAFC; --white:#fff;
  --font-display:'Archivo',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --gutter:clamp(20px,5vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--slate-700);
  font-family:var(--font-body);font-size:16.5px;line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blue)}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:3px}

.lwrap{width:min(760px,100% - var(--gutter)*2);margin-inline:auto}

/* En-tête */
.lhead{background:var(--navy);position:sticky;top:0;z-index:10}
.lhead__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:66px}
.llogo{
  font-family:var(--font-display);font-weight:700;font-size:1.12rem;letter-spacing:-.025em;
  color:#fff;text-decoration:none
}
.llogo span{color:var(--cyan)}
.llogo:hover{text-decoration:none}
.lback{font-size:.88rem;color:#9FB8CE;text-decoration:none;white-space:nowrap}
.lback:hover{color:var(--cyan);text-decoration:none}

/* Corps */
.lmain{padding:clamp(40px,6vw,72px) 0 clamp(56px,7vw,96px)}
.leyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);margin:0 0 14px
}
h1{
  font-family:var(--font-display);font-weight:700;color:var(--navy);margin:0;
  font-size:clamp(1.85rem,1.3rem+2vw,2.6rem);letter-spacing:-.025em;line-height:1.12
}
.lupdated{font-family:var(--font-mono);font-size:.78rem;color:var(--slate);margin:14px 0 0}
.lintro{
  margin:28px 0 0;padding:18px 22px;background:var(--white);border:1px solid var(--line);
  border-left:3px solid var(--cyan);border-radius:0 10px 10px 0;font-size:1rem;color:var(--navy)
}
section{margin-top:clamp(32px,4vw,46px)}
h2{
  font-family:var(--font-display);font-weight:700;color:var(--navy);
  font-size:1.12rem;letter-spacing:-.012em;margin:0 0 14px;
  padding-bottom:10px;border-bottom:1px solid var(--line)
}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
strong{color:var(--navy);font-weight:600}

/* Listes de définitions */
.ldl{
  display:grid;grid-template-columns:minmax(180px,34%) 1fr;gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0
}
.ldl dt{
  background:var(--mist);padding:12px 16px;font-size:.86rem;font-weight:600;color:var(--navy)
}
.ldl dd{background:var(--white);padding:12px 16px;margin:0;font-size:.94rem}

.llist{margin:0 0 1em;padding-left:0;list-style:none;display:grid;gap:10px}
.llist li{position:relative;padding-left:22px}
.llist li::before{
  content:"";position:absolute;left:2px;top:.68em;width:7px;height:7px;border-radius:50%;
  background:var(--cyan)
}

.lnote{
  font-size:.9rem;color:var(--slate);background:var(--mist);
  border:1px solid var(--line);border-radius:8px;padding:13px 16px;margin-top:14px
}

/* Tableau */
.ltable__wrap{overflow-x:auto;margin-bottom:1em}
.ltable{width:100%;border-collapse:collapse;font-size:.92rem;min-width:460px}
.ltable th,.ltable td{text-align:left;padding:12px 15px;border:1px solid var(--line);vertical-align:top}
.ltable th{background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.85rem}
.ltable td{background:var(--white)}

/* Marqueur des informations à fournir */
.todo{
  background:rgba(245,158,11,.16);border-bottom:1px dotted #B45309;
  padding:0 3px;border-radius:2px;font-style:normal
}

/* Pied */
.lfoot{background:var(--navy-900);color:#8FA8C0;padding:26px 0;font-size:.86rem}
.lfoot .lwrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lfoot p{margin:0}
.lfoot a{color:#8FA8C0;text-decoration:none}
.lfoot a:hover{color:var(--cyan)}

@media (max-width:620px){
  .ldl{grid-template-columns:1fr}
  .ldl dt{padding-bottom:4px}
  .ldl dd{padding-top:4px}
}
@media print{
  .lhead,.lfoot{display:none}
  body{background:#fff;font-size:11pt;color:#000}
  .todo{background:none;border-bottom:1px solid #000}
}
