/* Charte partagée par les pages secondaires — 404, mises à jour du wiki.
   L'accueil garde son style en ligne : une page, une requête, rien à attendre. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  background: #f3f6fb;
  color: #1a1a2e;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* ── En-tête ──────────────────────────────────────────────────────── */
header {
  background: #1a6bbf;
  color: #fff;
  padding: 2.2rem 1.5rem 1.8rem;
  text-align: center;
}

.logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
  flex-wrap: wrap;
  text-decoration: none;
}

.logo-img { width: 66px; height: 66px; border-radius: 10px; }

.logo-text { text-align: left; }

.brand {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  color: #fff;
  letter-spacing: -.02em;
}

.brand .light { font-weight: 300; }
.brand .bold  { font-weight: 800; }

.tagline {
  display: block;
  font-size: .82rem;
  font-weight: 300;
  letter-spacing: .18em;
  color: rgba(255,255,255,.8);
  margin-top: .25rem;
  text-transform: lowercase;
}

/* ── Navigation ───────────────────────────────────────────────────── */
nav {
  background: #0f4e8f;
  display: flex;
  justify-content: center;
  gap: .2rem;
  flex-wrap: wrap;
  padding: .4rem 1rem;
}

nav a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: .88rem;
  padding: .45rem .9rem;
  border-radius: 4px;
  transition: background .15s;
}

nav a:hover { background: rgba(255,255,255,.15); color: #fff; }
nav a[aria-current="page"] { background: rgba(255,255,255,.18); color: #fff; }

/* ── Corps ────────────────────────────────────────────────────────── */
main {
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  padding: 3rem 1.5rem;
  flex: 1;
}

h1 {
  font-size: 1.6rem;
  color: #0f4e8f;
  line-height: 1.25;
  margin-bottom: .8rem;
}

.chapeau {
  font-size: 1rem;
  line-height: 1.7;
  color: #4a5a6a;
  max-width: 62ch;
}

.chapeau a { color: #1a6bbf; }

.bouton {
  display: inline-block;
  background: #1a6bbf;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: .95rem;
  padding: .7rem 1.4rem;
  border-radius: 8px;
  transition: background .15s, transform .15s;
}

.bouton:hover { background: #0f4e8f; transform: translateY(-2px); }

/* ── Pied de page ─────────────────────────────────────────────────── */
footer {
  background: #0f4e8f;
  color: rgba(255,255,255,.75);
  text-align: center;
  padding: 1.6rem 1.5rem;
  font-size: .85rem;
}

footer a { color: rgba(255,255,255,.9); text-decoration: none; }
footer a:hover { text-decoration: underline; }
