/* ============================================
   Feuille de style partagée — pages secondaires
   (mentions légales, confidentialité, CGV, 404)
   Reprend les tokens de « Carnet de territoire »
   définis dans index.html — à garder synchronisée
   si la palette ou les polices changent.
   ============================================ */

:root{
  --paper:#F3ECDC;
  --paper-deep:#E6D8BC;
  --ink:#2B2016;
  --ink-soft:#5B4A38;
  --ocre:#96552C;
  --ocre-ink:#D2985A;
  --sauge:#5B6650;
  --stamp:#8B3A2E;

  --rgb-ink:43,32,22;
  --rgb-paper:243,236,220;
  --rgb-ocre:150,85,44;

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Newsreader', Georgia, serif;

  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:220ms;

  --container:860px;
  --gutter:clamp(20px, 4.5vw, 64px);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.container{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }

h1, h2, h3{ font-family:var(--font-display); font-weight:500; line-height:1.2; color:var(--ink); }
h1{ font-size:clamp(1.8rem, 4vw, 2.6rem); margin:0 0 8px; }
h2{ font-size:clamp(1.3rem, 2.6vw, 1.6rem); margin:40px 0 12px; }
h3{ font-size:1.1rem; margin:24px 0 8px; }
p{ margin:0 0 16px; }
ul, ol{ margin:0 0 16px; padding-left:1.3em; }
li{ margin-bottom:6px; }
strong{ font-weight:600; }

a.link{
  color:var(--ink); text-decoration:none; position:relative;
  background-image:linear-gradient(var(--ocre), var(--ocre));
  background-repeat:no-repeat; background-position:left bottom; background-size:0% 1.5px;
  transition:background-size var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
a.link:hover, a.link:focus-visible{ color:var(--ocre); background-size:100% 1.5px; }

.btn{
  display:inline-block; padding:14px 30px; border:1.5px solid var(--ocre);
  background:transparent; color:var(--ink); font:500 16px var(--font-body);
  text-decoration:none;
  transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.btn:hover, .btn:focus-visible{ background:var(--ocre); color:var(--paper); }

/* --- en-tête simplifié --- */
.site-header{ background:var(--paper); border-bottom:1px solid rgba(var(--rgb-ink),.12); padding:20px 0; }
.site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-family:var(--font-display); font-weight:600; font-size:1.15rem; }
.brand-mark{ height:34px; width:auto; }
.header-back{ font-size:.92rem; }

/* --- pied de page simplifié --- */
.site-footer{ background:var(--paper-deep); border-top:1px solid rgba(var(--rgb-ink),.12); padding:36px 0 28px; margin-top:60px; }
.footer-links{ display:flex; flex-wrap:wrap; gap:20px; margin-bottom:20px; }
.footer-legal{ font-size:.8rem; color:var(--ink-soft); }
.footer-legal a{ color:inherit; }

/* --- contenu légal --- */
.legal-page{ padding:64px 0 80px; }
.legal-meta{ color:var(--ink-soft); font-size:.9rem; margin-bottom:32px; }
.legal-placeholder{
  background:rgba(var(--rgb-ocre),.12); border:1px dashed var(--ocre);
  padding:2px 6px; color:var(--ocre); font-style:normal;
}

/* --- page 404 --- */
.not-found{ padding:100px 0 120px; text-align:center; }
.not-found .losange{
  width:14px; height:14px; background:var(--ocre); transform:rotate(45deg);
  margin:0 auto 28px; box-shadow:0 0 16px 4px rgba(var(--rgb-ocre),.35);
}
.not-found h1{ margin-bottom:16px; }
.not-found p{ max-width:46ch; margin-left:auto; margin-right:auto; color:var(--ink-soft); }
.not-found .btn{ margin-top:20px; }

@media (max-width:640px){
  .site-header .container{ flex-direction:column; align-items:flex-start; gap:12px; }
}
