/* Pages annexes : mentions légales, sources, e-mail reçu, page introuvable.
   Bandeau nuit pour le titre, puis cartes blanches groupées sur fond brume, comme les réglages d'une application.
   Base commune (en-tête, pied, boutons, couleurs) : style.css. */

.page-w{max-width:calc(800px + 2 * var(--gutter))}

/* Bandeau de titre */
.page-head{padding:clamp(16px,2.5vw,32px) 0 clamp(36px,5vw,64px);background:var(--nuit);color:var(--dk-text)}
.page-head h1{color:#fff;font-size:clamp(2.125rem,1.5rem + 2.6vw,3.5rem);line-height:1.04;letter-spacing:-.035em}
.page-head .lead{max-width:34em;margin-top:14px;color:var(--dk-text)}
.back{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:0 0 10px -8px;padding:0 12px 0 6px;border-radius:999px;color:var(--bleu-clair);font:800 var(--fs-sm)/1 var(--font);text-decoration:none}
.back:hover{background:var(--nuit-2);text-decoration:none}
.back .i{width:18px;height:18px}
.page-head :focus-visible,.nf :focus-visible{outline-color:var(--bleu-clair)}

/* Corps : cartes groupées */
.page-body{padding:clamp(20px,3.5vw,44px) 0 clamp(56px,7vw,96px);background:var(--brume)}
.cards{list-style:none;display:grid;gap:14px}
.card{padding:22px 20px;border:1px solid var(--trait);border-radius:var(--r-md);background:#fff}
.card h2{margin-bottom:10px;font-size:1.1875rem;line-height:1.3;letter-spacing:-.02em}
.card p{max-width:66ch;color:var(--text);line-height:1.6}
.card p+p,.card .facts+p{margin-top:12px}
.card a:not(.btn){overflow-wrap:anywhere;font-weight:700}
.card p:not(.links) a:not(.btn),.src h2 a{padding:12px 0}
@media (min-width:700px){.card{padding:28px 32px}}

/* Fiche d'identité : une ligne par donnée */
.facts{margin:16px 0 0;border-top:1px solid var(--trait)}
.facts>div{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);gap:2px 16px;padding:11px 0;border-bottom:1px solid var(--trait)}
.facts dt{color:var(--muted);font-size:var(--fs-sm);font-weight:700;line-height:1.5}
.facts dd{margin:0;color:var(--ink);font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
@media (max-width:419px){.facts>div{grid-template-columns:1fr}}

/* Liens de contact alignés (cible de 44 px) */
.links{display:flex;flex-wrap:wrap;gap:0 22px}
.links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none}
.links a:hover{color:var(--bleu-700);text-decoration:underline}
.links .i{width:18px;height:18px;color:var(--bleu-700)}

/* Sources : éditeur, titre-lien, adresse, passages cités sur le site */
.src-k{color:var(--muted);font-size:var(--fs-xs);font-weight:700}
.src h2{margin:4px 0 4px}
.src h2 a{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--trait-2);text-decoration-thickness:2px;text-underline-offset:4px}
.src h2 a:hover{color:var(--bleu-700);text-decoration-color:currentColor}
.src h2 .i{display:inline;width:16px;height:16px;margin-left:6px;vertical-align:-1px;color:var(--bleu-700)}
.src-url{color:var(--muted);font-size:var(--fs-xs);overflow-wrap:break-word}
.src-t{margin-top:16px;color:var(--ink);font-size:var(--fs-sm);font-weight:800}
.src-q{list-style:none;display:grid;gap:8px;margin-top:8px;padding-left:16px;border-left:3px solid var(--bleu)}
.src-q li{color:var(--text);font-size:var(--fs-sm);font-weight:600;line-height:1.55}

/* E-mail reçu : la carte « Ne plus rien recevoir » passe en premier, puis un simple lien vers l'accueil */
.card--key{border-color:var(--nuit);box-shadow:inset 4px 0 0 var(--bleu)}
.stop{display:inline-block;padding:1px 8px;border-radius:7px;background:var(--nuit);color:#fff;font-weight:800;letter-spacing:.02em}
.page-end{margin-top:6px}
.page-end a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:800}
.page-end a:hover{color:var(--bleu-700)}

/* Page introuvable */
.nf{display:grid;align-content:center;min-height:62vh;padding:56px 0 72px;background:var(--nuit);color:var(--dk-text)}
.nf h1{color:#fff;font-size:clamp(2.25rem,1.5rem + 3vw,4rem);line-height:1.04;letter-spacing:-.04em}
.nf .lead{max-width:30em;margin:16px 0 28px;color:var(--dk-text)}
.nf .lead a{color:var(--bleu-clair);font-weight:800;white-space:nowrap}

/* Pied des pages annexes : page courante, ligne d'indépendance */
.ft-nav a[aria-current="page"]{color:var(--bleu-700);text-decoration:underline}
.ft-copy p+p{margin-top:4px}
