/* ══════════════════════════════════════════════════════════════
   Feuille de style des pages légales
   Mêmes codes visuels que le site, en plus sobre et plus lisible.
══════════════════════════════════════════════════════════════ */
:root{
  --white:#fff;--off:#f6f6f6;--light:#e6e6e6;--mid:#777;
  --dark:#333;--black:#111;
  --font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/outfit-400.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/outfit-500.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/outfit-600.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/outfit-700.woff2') format('woff2')}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--black);background:var(--white);line-height:1.7;
  font-size:16px;-webkit-text-size-adjust:100%;overflow-wrap:break-word}
main,p,li,td,th{min-width:0}
a{color:var(--black);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}

.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--black);
  color:#fff;padding:12px 20px;font-size:.9rem;font-weight:600;text-decoration:none}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--black);outline-offset:2px;border-radius:3px}

/* ── Barre du haut ── */
.lg-nav{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--light);z-index:10}
.lg-nav-in{max-width:780px;margin:0 auto;padding:14px 22px;display:flex;
  align-items:center;justify-content:space-between;gap:16px}
.lg-logo{display:inline-block;border:1.5px solid var(--black);padding:4px 9px;
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-decoration:none;line-height:1}
.lg-logo:hover{background:var(--black);color:var(--white)}
.lg-retour{font-size:.82rem;color:var(--mid);text-decoration:none}
.lg-retour:hover{color:var(--black)}

/* ── Contenu ── */
main{max-width:780px;margin:0 auto;padding:46px 22px 70px}
h1{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}
.maj{font-size:.8rem;color:var(--mid);margin-bottom:34px;padding-bottom:22px;
  border-bottom:1px solid var(--light)}
h2{font-size:1.12rem;font-weight:600;margin:40px 0 12px;padding-top:6px;scroll-margin-top:80px}
h3{font-size:.96rem;font-weight:600;margin:24px 0 8px}
p{margin-bottom:13px}
ul,ol{margin:0 0 15px 22px}
li{margin-bottom:7px}
strong{font-weight:600}
hr{border:none;border-top:1px solid var(--light);margin:36px 0}

/* ── Sommaire ── */
.somm{background:var(--off);border:1px solid var(--light);border-radius:12px;
  padding:18px 22px;margin-bottom:36px}
.somm-t{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mid);margin-bottom:10px}
.somm ol{margin:0 0 0 20px;font-size:.88rem}
.somm li{margin-bottom:5px}

/* ── Champs à compléter ── */
.todo{background:#fff8e6;border:1px solid #f0d08a;color:#6b4e00;
  border-radius:4px;padding:1px 7px;font-weight:600;font-size:.88em;
  display:inline;overflow-wrap:anywhere}
.encadre{background:var(--off);border:1px solid var(--light);border-left:3px solid var(--black);
  border-radius:0 10px 10px 0;padding:16px 20px;margin:22px 0}
.encadre p:last-child{margin-bottom:0}
.alerte{background:#fff8e6;border:1px solid #f0d08a;border-left:3px solid #c8860a;
  border-radius:0 10px 10px 0;padding:16px 20px;margin:22px 0;color:#5c4300}
.alerte p:last-child{margin-bottom:0}

/* ── Tableaux ── */
.tbl-wrap{overflow-x:auto;margin:18px 0;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.86rem;min-width:520px}
caption{text-align:left;font-size:.8rem;color:var(--mid);padding-bottom:8px}
th,td{border:1px solid var(--light);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--off);font-weight:600;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.05em;color:var(--dark)}

/* ── Formulaire de rétractation ── */
.form-retract{border:1px dashed var(--mid);border-radius:10px;padding:22px;
  margin:20px 0;font-size:.88rem;background:var(--off)}
.form-retract p{margin-bottom:10px}

/* ── Pied de page ── */
.lg-footer{background:#141415;color:rgba(255,255,255,.62);padding:34px 22px;font-size:.82rem}
.lg-footer-in{max-width:780px;margin:0 auto;display:flex;flex-wrap:wrap;
  gap:14px 26px;align-items:center;justify-content:space-between}
.lg-footer a{color:rgba(255,255,255,.62);text-decoration:none}
.lg-footer a:hover{color:#fff;text-decoration:underline}
.lg-footer nav{display:flex;flex-wrap:wrap;gap:12px 22px}
.lg-footer :focus-visible{outline-color:#fff}

@media(max-width:600px){
  main{padding:30px 18px 54px}
  h1{font-size:1.5rem}
  h2{font-size:1.04rem}
  body{font-size:15px}
  .lg-nav-in{padding:12px 18px}
}
@media print{
  .lg-nav,.lg-footer,.somm{display:none}
  body{font-size:11pt}
  main{max-width:none;padding:0}
}
