/* ============================================================
   commun.css — socle partagé par TOUTES les pages du site.
   Les mêmes jetons que l'accueil : encre / or / papier,
   Fraunces (titres) + IBM Plex Sans (texte) + IBM Plex Mono (étiquettes).
   L'accueil garde en plus son <style> propre, chargé APRÈS ce fichier.
   ============================================================ */

:root{
  --encre:#121A28;
  --encre-2:#1D2738;
  --papier:#F2F3F0;
  --blanc:#FBFBF9;
  --or:#C79A3E;
  --or-fonce:#9B7526;
  --slate:#5D6675;
  --trait:#D8D9D3;
  --trait-sombre:#2E3A4C;
  --mesure:68rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--papier);color:var(--encre);
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;
  /* Le pied de page est poussé en bas : sur une page courte (ou en mobile), on voyait
     sinon une bande de papier vide sous le pied de page. */
  display:flex;flex-direction:column;min-height:100vh;
}
body>footer{margin-top:auto}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-0.015em;margin:0}
p{margin:0 0 1.1em}
a{color:inherit}
.wrap{width:100%;max-width:var(--mesure);margin-inline:auto;padding-inline:1.5rem}
.etiquette{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or-fonce);margin:0 0 1.4rem;
}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}

/* ---------- BARRE DE NAVIGATION ---------- */
.barre{background:var(--encre);border-bottom:1px solid var(--trait-sombre);position:sticky;top:0;z-index:50}
.barre .wrap{display:flex;align-items:center;gap:1.25rem;min-height:3.75rem;flex-wrap:wrap}
.barre-logo{
  font-family:"IBM Plex Mono",monospace;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blanc);text-decoration:none;white-space:nowrap;margin-right:auto;padding-block:.75rem;
}
.barre-logo b{color:var(--or);font-weight:500}
.barre nav{display:flex;gap:.25rem 1.4rem;flex-wrap:wrap;padding-bottom:.4rem}
.barre nav a{
  font-size:.92rem;color:#C3CBD8;text-decoration:none;padding:.3rem 0;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.barre nav a:hover,.barre nav a:focus-visible{color:var(--blanc);border-bottom-color:var(--or)}
.barre nav a[aria-current="page"]{color:var(--blanc);border-bottom-color:var(--or)}
@media(min-width:40rem){.barre nav{padding-bottom:0}}

/* ---------- EN-TÊTE DE PAGE INTÉRIEURE ---------- */
.tete{background:var(--encre);color:var(--blanc);padding:clamp(2.75rem,7vh,4.5rem) 0 clamp(2.25rem,5vh,3.25rem)}
.tete .etiquette{color:var(--or)}
.tete h1{font-size:clamp(2rem,4.6vw,3.1rem);color:var(--blanc);max-width:26ch;margin:0 0 1.1rem}
.tete p{font-size:clamp(1rem,1.6vw,1.15rem);color:#C3CBD8;max-width:56ch;margin:0}

/* ---------- CORPS DE TEXTE LONG (pages légales) ---------- */
.texte{padding:clamp(2.5rem,7vh,4rem) 0 clamp(3rem,8vh,5rem)}
.texte .wrap{max-width:46rem}
.texte h2{font-size:clamp(1.35rem,2.4vw,1.7rem);margin:2.5rem 0 .85rem}
.texte h2:first-of-type{margin-top:0}
.texte h3{font-size:1.05rem;font-family:"IBM Plex Sans",sans-serif;font-weight:600;margin:1.6rem 0 .5rem}
.texte ul{margin:0 0 1.2em;padding-left:1.1rem}
.texte li{margin-bottom:.55em}
/* Les adresses web ecrites en entier sont plus larges qu'un telephone : sans ceci,
   /conditions debordait a 411 px pour une fenetre utile de 375 (mesure du 26/10/2026). */
.texte a{color:var(--or-fonce);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word}
.texte,.texte .wrap,.encadre,.texte li,.texte p{min-width:0}
.maj{
  font-family:"IBM Plex Mono",monospace;font-size:.76rem;letter-spacing:.06em;
  color:var(--slate);border-left:2px solid var(--or);padding-left:.9rem;margin:0 0 2.5rem;
}
.encadre{background:var(--blanc);border:1px solid var(--trait);border-radius:3px;padding:1.2rem 1.35rem;margin:0 0 1.4em}
.encadre p:last-child{margin-bottom:0}

/* ---------- PIED DE PAGE ---------- */
footer{background:var(--encre);color:#8E9AAC;padding:2.75rem 0 2.25rem;font-size:.88rem}
footer .pied-haut{
  display:flex;gap:1.5rem 2.5rem;flex-wrap:wrap;justify-content:space-between;
  padding-bottom:1.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--trait-sombre);
}
footer .pied-bloc p.titre{
  font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--or);margin:0 0 .7rem;
}
footer .pied-bloc ul{list-style:none;margin:0;padding:0}
footer .pied-bloc li{margin-bottom:.4rem}
footer a{color:#C3CBD8;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
footer a:hover,footer a:focus-visible{border-bottom-color:var(--or)}
footer .pied-bas{margin:0;color:#73809180;color:#738091}
footer .pied-bas span{color:#8E9AAC}
