:root {
  --fond: #f4f5f1;
  --carte: #ffffff;
  --texte: #24291f;
  --texte-att: #6b7160;
  --bordure: #dcded4;
  --accent: #8a5a2b;
  --accent-fond: #f1e3d2;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system,'Segoe UI',Roboto,Arial,sans-serif; background: var(--fond); color: var(--texte); line-height: 1.5; }
a { color: var(--accent); }
header.site { padding: 1rem 1.3rem; background: var(--carte); border-bottom: 1px solid var(--bordure); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.6rem; }
header.site .marque { font-weight: 700; text-decoration:none; color:var(--texte); }
header.site nav a { margin-left: 1rem; text-decoration:none; color: var(--texte); font-size:0.92rem; }
main.contenu { max-width: 640px; margin: 0 auto; padding: 2rem 1.3rem 4rem; }
h1 { font-size: 1.6rem; }
.carte { background: var(--carte); border: 1px solid var(--bordure); border-radius: 8px; padding: 1.4rem 1.5rem; margin-bottom: 1.2rem; }
form.formulaire { display: grid; gap: 0.9rem; }
label { display:block; font-size:0.85rem; margin-bottom:0.3rem; color:var(--texte-att); }
input[type=text], input[type=email], input[type=tel], input[type=password] {
  width: 100%; padding: 0.6rem 0.7rem; border: 1px solid var(--bordure); border-radius: 6px; font-size: 1rem;
}
.champ-inline { display:flex; align-items:center; gap:0.5rem; font-size:0.92rem; color:var(--texte); }
.bouton { display:inline-block; padding:0.65rem 1.2rem; background:var(--accent); color:#fff; border:none; border-radius:6px; font-size:1rem; cursor:pointer; text-decoration:none; }
.flash { padding:0.7rem 1rem; border-radius:6px; margin-bottom:1.2rem; background:var(--accent-fond); color:var(--accent); font-size:0.92rem; }
footer.site { text-align:center; padding: 2rem 1rem; color: var(--texte-att); font-size: 0.82rem; }
footer.site a { color: var(--texte-att); }
