/* ==========================================================================
   CAMPUS BF — BULLETIN (Blog / Conseils & Actualités)
   Hérite du système de design du site principal :
   papier institutionnel + marine/indigo + or académique
   Typo : Fraunces (titres) · Inter (texte) · IBM Plex Mono (dateline / data)
   ========================================================================== */
:root{
  --ink:#10131a;
  --navy-900:#0f1c33; --navy-800:#16294f; --navy-700:#1b3163; --navy-600:#223b78;
  --indigo-600:#2e4fc7; --indigo-500:#4064e0; --indigo-100:#e8ecfb;
  --gold-700:#96701f; --gold-600:#b8862b; --gold-500:#c99a2e; --gold-100:#f7edd6;
  --green-700:#1f6e43; --green-600:#268753; --green-100:#e3f2e8;
  --paper-0:#fffdf9; --paper-50:#f8f5ee; --paper-100:#f0ebdf; --paper-200:#e4dccb;
  --line:#e2dccb; --line-strong:#cdc3a6;
  --text-900:#1a2130; --text-700:#3c4457; --text-500:#69707f; --text-400:#8b91a0;
  --white:#ffffff;
  --font-display:'Fraunces',serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-full:999px;
  --container:760px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }
body{font-family:var(--font-body);background:var(--paper-50);color:var(--text-900);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--indigo-500); outline-offset:2px; border-radius:4px;}
.icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-0.14em;}
.wrap{max-width:var(--container); margin:0 auto; padding:0 var(--sp,20px);}

/* ---------- Bandeau institutionnel (identique au site) ---------- */
.masthead{background:var(--navy-900); color:rgba(255,255,255,.72); font-family:var(--font-mono); font-size:.72rem; letter-spacing:.03em;}
.masthead .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 20px; flex-wrap:wrap;}
.masthead a{display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:inherit;}
.masthead a:hover{color:var(--gold-500);}
.masthead .icon{width:13px;height:13px;color:var(--gold-500);}

/* ---------- Nav retour ---------- */
.blognav{background:var(--paper-0); border-bottom:1px solid var(--line);}
.blognav .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 20px;}
.blognav .brand{font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--navy-900); text-decoration:none; display:flex; align-items:center; gap:8px;}
.blognav .brand .icon{width:20px;height:20px;color:var(--gold-500);}
.blognav .back{font-size:.85rem; font-weight:600; color:var(--navy-700); text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.blognav .back:hover{color:var(--indigo-600);}
.blognav .back .icon{transform:rotate(180deg); width:14px; height:14px;}

/* ---------- Dateline "bulletin" (signature) ---------- */
.dateline{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-700); display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.dateline .sep{color:var(--line-strong);}
.dateline .num{color:var(--navy-700); font-weight:700;}

/* ---------- Page listing (bulletin sommaire) ---------- */
.bulletin-head{padding:56px 0 28px; border-bottom:2px solid var(--navy-900);}
.bulletin-head h1{font-family:var(--font-display); font-weight:700; font-size:2.3rem; color:var(--navy-900); line-height:1.15; margin-bottom:10px;}
.bulletin-head p{color:var(--text-500); font-size:1rem; max-width:56ch;}
.bulletin-list{padding:8px 0 64px;}
.bulletin-item{display:block; padding:26px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit;}
.bulletin-item:hover .bulletin-title{color:var(--indigo-600);}
.bulletin-item:first-child{padding-top:30px;}
.bulletin-title{font-family:var(--font-display); font-weight:700; font-size:1.34rem; color:var(--navy-900); line-height:1.3; margin:8px 0 6px; transition:color .15s ease;}
.bulletin-excerpt{color:var(--text-500); font-size:.96rem; line-height:1.6; max-width:62ch;}
.bulletin-arrow{display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:.82rem; font-weight:700; color:var(--gold-700);}
.bulletin-arrow .icon{width:13px;height:13px;}

/* ---------- Page article ---------- */
.article-head{padding:44px 0 8px;}
.article-tag{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.72rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-700); background:var(--gold-100); padding:6px 13px; border-radius:var(--radius-full); border:1px solid rgba(184,134,43,.25); margin-bottom:18px;}
.article-head h1{font-family:var(--font-display); font-weight:700; font-size:2.15rem; color:var(--navy-900); line-height:1.18; margin-bottom:16px;}
.article-meta{display:flex; align-items:center; gap:14px; color:var(--text-400); font-size:.85rem; font-family:var(--font-mono); padding-bottom:32px; border-bottom:1px solid var(--line); margin-bottom:8px;}
.article-body{padding:32px 0 20px; font-size:1.06rem; color:var(--text-700);}
.article-body h2{font-family:var(--font-display); font-weight:700; font-size:1.42rem; color:var(--navy-900); margin:38px 0 14px;}
.article-body h3{font-family:var(--font-body); font-weight:700; font-size:1.08rem; color:var(--navy-900); margin:26px 0 10px;}
.article-body p{margin-bottom:18px;}
.article-body ul,.article-body ol{margin:0 0 18px 22px;}
.article-body li{margin-bottom:8px;}
.article-body strong{color:var(--navy-900);}
.article-body .callout{background:var(--indigo-100); border-left:3px solid var(--indigo-600); padding:16px 20px; border-radius:var(--radius-sm); margin:24px 0; font-size:.98rem;}
.article-body .callout strong{color:var(--indigo-600);}
.article-cta{background:var(--navy-900); color:var(--white); border-radius:var(--radius-lg); padding:32px; margin:40px 0 60px; text-align:center;}
.article-cta h3{font-family:var(--font-display); font-size:1.3rem; margin-bottom:10px; color:var(--white);}
.article-cta p{color:rgba(255,255,255,.72); font-size:.94rem; margin-bottom:20px;}
.btn-gold{display:inline-flex; align-items:center; gap:8px; background:var(--gold-500); color:var(--navy-900); font-weight:700; font-size:.92rem; padding:12px 24px; border-radius:var(--radius-md); text-decoration:none;}
.btn-gold:hover{background:var(--gold-600);}
.btn-gold .icon{width:15px;height:15px;}

footer.bfoot{border-top:1px solid var(--line); padding:24px 0 40px; text-align:center; color:var(--text-400); font-size:.82rem;}
footer.bfoot a{color:var(--indigo-600); text-decoration:none; font-weight:600;}

@media (max-width:640px){
  .bulletin-head h1{font-size:1.7rem;}
  .article-head h1{font-size:1.6rem;}
  .wrap{padding:0 16px;}
}
