/*
 * Les pages de texte : mentions légales, confidentialité, conditions.
 *
 * Elles partagent une feuille plutôt que de dupliquer un <style> : ce sont des
 * documents qui se relisent et se corrigent souvent, et deux mises en page qui
 * divergent lentement finiraient par se contredire à l'œil.
 */

/* Les mêmes valeurs que voucher.css, redéclarées plutôt que chargées : ces
   pages n'affichent aucun bon cadeau, et tirer 240 lignes de composant pour
   quatre couleurs serait payer le décor d'une pièce qui ne se joue pas ici. */
:root {
  --c-green: #2d4a1e;
  --c-cream: #f7f4ef;
  --c-accent: #c9a96e;
  --c-accent-dark: #a07840;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0; background: var(--c-cream); color: #2d2a24;
  font-family: var(--font-sans); line-height: 1.7;
}

.wrap { max-width: 760px; margin: 0 auto; padding: 0 1.25rem; }

/* ── Barre du haut ──────────────────────────────────────────────────────── */
.topbar {
  background: var(--c-green); padding: 1rem 0;
}
.topbar .wrap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; max-width: 1000px;
}
.brand {
  font-family: var(--font-serif); font-weight: 700; color: #fff;
  font-size: 1.05rem; text-decoration: none;
}
.brand span { color: var(--c-accent); }
.topbar a.retour {
  color: rgba(255,255,255,.9); text-decoration: none; font-size: .85rem; font-weight: 500;
  border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: .4rem .9rem;
  white-space: nowrap;
}
.topbar a.retour:hover { background: rgba(255,255,255,.12); }

/* ── Corps du document ──────────────────────────────────────────────────── */
main { padding: 2.75rem 0 3.5rem; }

h1 {
  font-family: var(--font-serif); color: var(--c-green);
  font-size: clamp(1.7rem, 5vw, 2.3rem); line-height: 1.15; margin: 0 0 .5rem;
}
.maj { color: #8a8478; font-size: .85rem; margin: 0 0 2.25rem; }

h2 {
  font-family: var(--font-serif); color: var(--c-green);
  font-size: 1.3rem; line-height: 1.2; margin: 2.5rem 0 .75rem;
  padding-top: 1.5rem; border-top: 1px solid rgba(45,74,30,.14);
}
h2:first-of-type { border-top: none; padding-top: 0; margin-top: 1.5rem; }
h3 { font-size: 1rem; font-weight: 600; margin: 1.5rem 0 .35rem; color: #2d2a24; }

p { margin: 0 0 1rem; }
.lead { font-size: 1.05rem; color: #55504a; }

ul { margin: 0 0 1rem; padding-left: 1.3rem; }
li { margin-bottom: .45rem; }

a { color: var(--c-accent-dark); }

strong { font-weight: 600; }

/* Encadré : l'identité de l'éditeur, un point de droit qu'on ne veut pas voir
   se noyer dans le fil du texte. */
.encadre {
  background: #fff; border: 1px solid rgba(45,74,30,.14); border-left: 3px solid var(--c-accent);
  border-radius: 10px; padding: 1.1rem 1.35rem; margin: 0 0 1.5rem;
  font-size: .95rem;
}
.encadre p:last-child { margin-bottom: 0; }

/* Le tableau des sous-traitants : trois colonnes qui doivent rester lisibles
   sur un téléphone, d'où le défilement horizontal plutôt qu'un écrasement. */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.25rem; }
table {
  width: 100%; border-collapse: collapse; font-size: .92rem;
  background: #fff; border-radius: 10px; overflow: hidden;
}
th, td {
  padding: .65rem .9rem; text-align: left; vertical-align: top;
  border-bottom: 1px solid rgba(45,74,30,.1);
}
thead th { background: rgba(45,74,30,.05); font-weight: 600; color: var(--c-green); white-space: nowrap; }
tbody tr:last-child td { border-bottom: none; }

/* Le pied vit dans pied.css : il est le même sur tout le site. */
