/* ============================================================
   ARTIWEB — feuille de style des pages légales
   Reprend la charte de index.html
   ============================================================ */
:root{
  --green:#5E9E37;
  --green-d:#4C8629;
  --navy:#1B2937;
  --navy-2:#16202B;
  --cream:#FAF7F0;
  --text:#25313C;
  --muted:#6C7A87;
  --line:#E7E3D9;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;
}
a{color:var(--green-d);text-decoration:none;border-bottom:1px solid rgba(94,158,55,.35);transition:.18s}
a:hover{color:var(--green);border-bottom-color:var(--green)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
.lwrap{width:min(100% - 40px,860px);margin-inline:auto}

/* ---------- En-tête ---------- */
.lhead{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.lhead-in{display:flex;align-items:center;gap:20px;height:92px}
.logo{display:flex;align-items:center;border:0}
.logo:hover{border:0}
.logo img{display:block;height:64px;width:auto}
.back{
  margin-left:auto;font-family:'Archivo',sans-serif;font-weight:700;font-size:.76rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border:0;white-space:nowrap;
}
.back:hover{color:var(--green);border:0}

/* ---------- Contenu ---------- */
.lmain{padding:44px 0 72px}
.crumb{font-size:.78rem;color:var(--muted);margin:0 0 18px}
.crumb a{color:var(--muted);border:0}
.crumb a:hover{color:var(--green)}
h1{
  font-family:'Archivo',sans-serif;font-weight:800;color:var(--navy);
  font-size:clamp(1.75rem,4.2vw,2.5rem);line-height:1.15;margin:0;letter-spacing:-.015em;
}
.updated{font-size:.83rem;color:var(--muted);margin:10px 0 0}
section{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:26px 30px;margin-top:22px;box-shadow:0 2px 10px rgba(27,41,55,.04);
}
h2{
  font-family:'Archivo',sans-serif;font-weight:800;color:var(--navy);
  font-size:1.08rem;letter-spacing:.01em;margin:0 0 14px;
  padding-bottom:12px;border-bottom:2px solid var(--line);
}
p{margin:0 0 12px}
p:last-child{margin-bottom:0}

/* ---------- Listes de faits ---------- */
.facts{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:0;margin:0 0 4px}
.facts dt{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--navy);padding:11px 16px 11px 0;border-top:1px solid var(--line);
}
.facts dd{margin:0;padding:11px 0;border-top:1px solid var(--line);font-size:.94rem}
.facts dt:first-of-type,.facts dd:first-of-type{border-top:0}

/* ---------- Listes à puces ---------- */
.lbul{margin:0 0 12px;padding:0;list-style:none}
.lbul li{position:relative;padding:5px 0 5px 22px;font-size:.95rem}
.lbul li::before{
  content:"";position:absolute;left:2px;top:.95em;
  width:7px;height:7px;border-radius:50%;background:var(--green);
}

/* ---------- Tableau ---------- */
.ltable{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:.9rem}
.ltable th{
  text-align:left;font-family:'Archivo',sans-serif;font-weight:700;font-size:.74rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--navy);
  padding:10px 12px;background:#F5F2EA;border-bottom:2px solid var(--line);
}
.ltable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ltable tr:last-child td{border-bottom:0}

/* ---------- Encadré d'avertissement ---------- */
.note{
  background:#FFF8E6;border-left:4px solid #F2B21B;border-radius:0 8px 8px 0;
  padding:14px 18px;font-size:.88rem;color:#5A4A22;margin:16px 0 12px;line-height:1.6;
}
.note a{color:#8A6A0F}

/* ---------- Pied de page ---------- */
.lfoot{background:var(--navy-2);color:rgba(255,255,255,.55);font-size:.79rem;padding:22px 0}
.lfoot-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lfoot a{color:rgba(255,255,255,.75);border-bottom-color:rgba(255,255,255,.2)}
.lfoot a:hover{color:#7CB342;border-bottom-color:#7CB342}

/* ---------- Responsive ---------- */
@media (max-width:680px){
  .lwrap{width:calc(100% - 32px)}
  .lhead-in{height:70px}
  .logo img{height:46px}
  .back{font-size:.68rem}
  .lmain{padding:30px 0 50px}
  section{padding:22px 18px;border-radius:12px}
  .facts{grid-template-columns:1fr}
  .facts dt{padding:11px 0 2px;border-top:1px solid var(--line)}
  .facts dd{padding:0 0 11px;border-top:0}
  .facts dd:first-of-type{border-top:0}
  /* le tableau défile horizontalement plutôt que de déborder */
  .ltable{display:block;overflow-x:auto;white-space:nowrap}
  .lfoot-in{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
