/* ============================================================
   TOURAINES — design system "La France Humaniste" (chroniques)
   Néo-brutaliste éditorial : blanc, bordures noires, ombres dures,
   pastels, Poppins, pills. Chargé APRÈS le style inline de chaque
   page : il surcharge sans toucher au markup.
   ============================================================ */
:root{
  --ink:#0F1822; --black:#000;
  --lfh-blue:#5E8BFC; --lfh-red:#F04C24; --lfh-cyan:#9FC6D1; --lfh-green:#2DA990;
  --lfh-rose:#F7B7C4; --lfh-yellow:#FCD227; --lfh-haricot:#FDF4DF;
}

/* ---- Base ---- */
body{
  background:#fff !important; color:var(--ink) !important;
  font-family:Poppins,system-ui,sans-serif !important; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ink)}
.wrap{max-width:820px}

/* ---- Header / logo façon LFH ---- */
header{text-align:left !important; border-bottom:1px solid rgba(0,0,0,.5); padding-bottom:18px !important}
.logo{
  font-weight:900 !important; letter-spacing:-.05em !important; line-height:.9 !important;
  font-size:clamp(2.4rem,8vw,4rem) !important; color:#000;
}
.tag{
  color:rgba(15,24,34,.55) !important; font-weight:500;
  text-transform:uppercase; letter-spacing:.08em; font-size:.82rem !important; margin-top:10px !important;
}

/* ---- Titres ---- */
.hero{
  text-align:left !important; font-weight:800 !important; color:#000;
  font-size:clamp(1.6rem,4.5vw,2.5rem) !important; letter-spacing:-.04em; line-height:1.15 !important;
  max-width:none !important;
}
h2{
  text-transform:uppercase; letter-spacing:-.02em; font-weight:700; color:#000;
  border-bottom:none !important; border-top:1px solid rgba(0,0,0,.5) !important;
  padding-top:14px !important; padding-bottom:0 !important; font-size:1.35rem !important;
}

/* ---- Cartes néo-brutalistes ---- */
.lead,.card,.these,.etude,.ev,.pick,.fact,.method{
  background:#fff !important; border:2px solid #000 !important; border-radius:0 !important;
  box-shadow:6px 6px 0 #000 !important; transition:.15s;
}
.these:hover,.etude:hover,.ev:hover,.pick:hover{transform:translate(-2px,-2px); box-shadow:9px 9px 0 #000 !important}
.lead{background:var(--lfh-haricot) !important; font-weight:500}
.intro{font-weight:500}

/* Pastels chroniques en rotation sur les cartes-priorités */
.theses .these:nth-child(1){background:var(--lfh-rose) !important}
.theses .these:nth-child(2){background:var(--lfh-green) !important}
.theses .these:nth-child(3){background:var(--lfh-blue) !important}
.theses .these:nth-child(4){background:var(--lfh-yellow) !important}
.these h3{color:#000 !important; font-weight:700}
.these p{color:#000; font-weight:500}

/* ---- Boutons pills façon LFH ---- */
.btn, button[type=submit], #btn{
  border-radius:999px !important; background:#000 !important; color:#fff !important;
  font-weight:600 !important; text-transform:uppercase; font-size:.95rem !important;
  padding:14px 30px !important; border:1px solid #000 !important; transition:.15s;
}
.btn:hover, button[type=submit]:hover, #btn:hover{transform:translateY(-2px); background:var(--ink) !important}
.btn.ghost{background:#fff !important; color:#000 !important}
.btn.ghost:hover{background:#000 !important; color:#fff !important}

/* ---- Formulaires ---- */
input[type=text],input[type=email],input[type=tel],select,textarea{
  border:1px solid rgba(0,0,0,.35) !important; border-radius:10px !important; font-family:inherit !important;
}
input:focus,select:focus,textarea:focus{outline:none; border-color:#000 !important}
.consent{background:var(--lfh-haricot) !important; border:2px solid #000; border-radius:0 !important}
.msg.ok{border:2px solid #000 !important; border-radius:0 !important; box-shadow:4px 4px 0 #000}
.msg.err{border:2px solid #000 !important; border-radius:0 !important; box-shadow:4px 4px 0 #000}

/* ---- Listes / liens-cartes ---- */
.sujets li{border-top:1px solid rgba(0,0,0,.25) !important}
.sujets .s{color:rgba(15,24,34,.55) !important}
.papers a,.cta-link{
  border:2px solid #000 !important; border-radius:0 !important; box-shadow:4px 4px 0 #000 !important;
  transition:.15s; color:var(--ink) !important;
}
.papers a:hover,.cta-link:hover{transform:translate(-2px,-2px); box-shadow:7px 7px 0 #000 !important}
.papers .d,.src,.hint,.vsub,.desc{color:rgba(15,24,34,.55) !important}
.badge,.date{
  display:inline-block; background:#000; color:#fff; font-size:.72rem; font-weight:600;
  text-transform:uppercase; padding:3px 10px; border-radius:0;
}
.backbar a{
  display:inline-block; border:1px solid rgba(0,0,0,.35); border-radius:999px; padding:7px 16px;
  font-size:.8rem; font-weight:500; text-transform:uppercase; text-decoration:none; color:rgba(0,0,0,.6);
  transition:.15s;
}
.backbar a:hover{border-color:#000; color:#000; transform:translateY(-2px)}

/* ---- Footer bande noire façon LFH ---- */
footer{
  background:#000; color:rgba(255,255,255,.55) !important; text-align:center;
  margin:44px -18px -64px !important; padding:26px 18px 30px !important; font-weight:500;
}
footer a{color:#fff !important}
