/* ============================================================
   NOUVELLE FOULÉE — feuille de style des pages d'information
   (mentions légales, CGV, confidentialité)
   ============================================================ */

:root{
  --ink:#171410;
  --ink-soft:#57524a;
  --ink-faint:#8a8274;
  --cream:#F6F1E6;
  --paper:#FBF8F1;
  --brick:#D5472B;
  --sage:#5C9186;
  --sand:#C9BEA0;
  --rule:#DFD7C4;
  --rule-dark:#3A342B;
  --gutter:22px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:'Archivo',sans-serif; text-wrap:balance; margin:0; }
p,ul,ol{ margin:0; }
a{ color:var(--brick); }
img,svg{ max-width:100%; }

:focus-visible{ outline:3px solid var(--brick); outline-offset:3px; border-radius:4px; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}

.wrap{
  width:100%; max-width:760px; margin-inline:auto; padding-inline:var(--gutter);
}

/* header */
.site-header{
  background:var(--cream);
  border-bottom:1px solid var(--rule);
  position:sticky; top:0; z-index:20;
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:62px; max-width:1080px; margin-inline:auto; padding-inline:var(--gutter);
}
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
.brand svg{ display:block; flex:none; }
.brand-name{
  font-family:'Archivo',sans-serif; font-weight:900; font-size:15.5px; line-height:1;
}
.back-home{ font-size:14px; color:var(--ink-soft); text-decoration:none; }
.back-home:hover{ color:var(--ink); }

/* page */
.page{ padding-block:clamp(40px,6vw,68px) clamp(48px,7vw,80px); }
.page .eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--brick); margin-bottom:12px;
}
.page h1{
  font-weight:900; font-size:clamp(29px,5vw,42px); line-height:1.06; letter-spacing:-0.02em;
}
.page .updated{
  margin-top:14px; font-size:13.5px; color:var(--ink-faint);
}
.page h2{
  font-weight:800; font-size:clamp(19px,2.6vw,23px); line-height:1.22; letter-spacing:-0.01em;
  margin-top:42px; padding-top:22px; border-top:1px solid var(--rule);
}
.page h3{
  font-weight:800; font-size:16.5px; line-height:1.3; margin-top:26px;
}
.page p{ margin-top:14px; color:var(--ink-soft); }
.page p strong, .page li strong{ color:var(--ink); font-weight:600; }
.page ul{ margin-top:14px; padding-left:0; list-style:none; }
.page ul li{
  position:relative; padding-left:20px; margin-bottom:10px; color:var(--ink-soft);
}
.page ul li::before{
  content:""; position:absolute; left:2px; top:12px;
  width:6px; height:6px; border-radius:50%; background:var(--sand);
}

/* identity block */
.identity{
  margin-top:22px; background:var(--paper); border:1px solid var(--rule);
  border-radius:12px; padding:22px 24px;
}
.identity dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:9px 22px; }
@media (max-width:520px){
  .identity dl{ grid-template-columns:1fr; gap:2px; }
  .identity dd{ margin-bottom:12px; }
}
.identity dt{
  font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ink-faint); padding-top:4px; white-space:nowrap;
}
.identity dd{ margin:0; font-size:15px; color:var(--ink); }
.todo{
  color:#9A5B12; background:#FBF0DC; border:1px dashed #D9A54E;
  padding:1px 8px; border-radius:5px; font-size:14px; font-weight:500;
}

/* footer */
.site-footer{
  background:var(--ink); color:#8E877A; padding-block:34px;
  font-size:13.5px;
}
.site-footer .wrap{ max-width:1080px; }
.footer-row{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center;
}
.site-footer a{ color:#B5ADA0; text-decoration:none; margin-right:18px; }
.site-footer a:hover{ color:var(--cream); }
