/* =========================================================
   Plaskito — page article du Journal
   Chargée après /fr/journal.css (header, footer, newsletter).
   ========================================================= */

body.post-page main{padding-top:var(--header-h);}

.post{
  max-width:calc(900px + 2 * var(--gutter));  /* colonne de lecture resserrée : 900px de texte */
  margin:0 auto;
  padding:56px var(--gutter) 24px;
  color:var(--text);
}

/* ---------- En-tête ---------- */
/* Rubrique au-dessus du titre : simple mot, sans pastille */
.post-rubric{
  text-align:center;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--primary);
  margin:0 0 12px;
}
.post-rubric a{color:inherit; text-decoration:none;}
.post-rubric a:focus-visible{outline:2px solid currentColor; outline-offset:3px; border-radius:2px;}

.post-title{
  font-size:clamp(1.45rem, 3vw, 1.75rem);  /* 28px max : le titre tient sur une ligne dans la colonne de 900px */
  line-height:1.15;
  color:var(--color-night);
  margin:0 0 20px;
  text-align:center;
}

/* Auteur puis date, centrés sur deux lignes sous le titre */
.post-meta{
  text-align:center;
  margin:0;
}
.post-meta span{display:block;}
.post-meta-author{
  font-size:.95rem;
  font-weight:700;
  color:var(--color-ink);
  margin-bottom:10px;
}
.post-meta-date{
  font-size:.95rem;
  color:var(--text-muted);
}

/* ---------- Visuel principal ---------- */
.post-cover{
  max-width:calc(900px + 2 * var(--gutter));  /* même largeur que le texte */
  margin:8px auto 0;
  padding:0 var(--gutter);
}
.post-cover img{
  width:100%;
  height:auto;
  aspect-ratio:2/1;
  object-fit:cover;
  border-radius:5px;
  display:block;
}

.post-credit{
  font-size:.75rem;
  color:var(--text-muted);
  margin-top:8px;
  line-height:1.4;
}

/* ---------- Corps ---------- */
.post-body{font-size:1.075rem; line-height:1.75;}
.post-body p,
.post-body li{text-align:justify; hyphens:auto; -webkit-hyphens:auto;}
.post-body p{margin:0 0 1.2em;}
.post-body strong{color:var(--color-ink); font-weight:700;}

.post-lead{
  font-size:1.25rem;
  line-height:1.6;
  color:var(--color-ink);
  font-weight:500;
  margin-bottom:1.6em !important;
}

.post-body h2{
  font-size:clamp(1.15rem, 1.8vw, 1.35rem);
  line-height:1.3;
  color:var(--color-night);
  margin:2.2em 0 .8em;
}

.post-body ul{margin:0 0 1.4em; padding-left:1.2em;}
.post-body li{margin-bottom:.7em;}
.post-body a:not(.btn){color:var(--primary);}

/* Tableau des chiffres */
.post-table-wrap{
  overflow-x:auto;
  margin:1.6em 0 1.8em;
  border:1px solid #E6E8F0;
  border-radius:12px;
}
.post-table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
  line-height:1.5;
  min-width:560px;
}
.post-table th,
.post-table td{padding:14px 16px; text-align:left; vertical-align:top;}
.post-table thead th{
  background:var(--color-sand);
  color:var(--color-night);
  font-weight:700;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.post-table tbody tr + tr td{border-top:1px solid #E6E8F0;}
.post-table td:first-child{font-weight:700; white-space:nowrap; color:var(--color-night);}
.post-table td:last-child{color:var(--text-muted); font-size:.875rem;}

/* Objets : la matière à l'œuvre */
.post-objects{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:20px;
  margin:1.8em auto 2em;  /* bloc centré dans la page */
  max-width:900px;  /* photos des objets gardées à taille raisonnable */
}
.post-objects figure{margin:0;}
.post-objects img{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:5px;
  display:block;
  background:var(--color-sand);
}
.post-objects figcaption{
  font-size:.9rem;
  color:var(--text-muted);
  margin-top:10px;
  line-height:1.5;
}
.post-objects figcaption strong{color:var(--color-night);}


/* Questions fréquentes */
.post-faq details{border-top:1px solid #E6E8F0;}
.post-faq details:last-of-type{border-bottom:1px solid #E6E8F0;}
.post-faq summary{
  cursor:pointer;
  list-style:none;
  padding:18px 36px 18px 0;
  font-weight:700;
  color:var(--color-ink);
  position:relative;
  line-height:1.45;
}
.post-faq summary::-webkit-details-marker{display:none;}
.post-faq summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.4rem;
  font-weight:400;
  color:var(--primary);
}
.post-faq details[open] summary::after{content:"−";}
.post-faq summary:focus-visible{outline:2px solid var(--primary); outline-offset:4px;}
.post-faq details p{margin:0 0 18px;}

/* Sources */
.post-sources ol{
  font-size:.9rem;
  line-height:1.6;
  color:var(--text-muted);
  padding-left:1.3em;
  margin:0;
}
.post-sources li{margin-bottom:.6em;}

.post-back{
  margin:2.6em 0 0;
  font-size:.95rem;
}
.post-back a{color:var(--primary); text-decoration:none; font-weight:500;}
.post-back a:hover{text-decoration:underline;}

/* ---------- Mobile ---------- */
@media (max-width:640px){
  .post{padding:36px var(--gutter) 16px;}
  .post-cover{padding:0 var(--gutter);}
  .post-body{font-size:1rem;}
  .post-lead{font-size:1.1rem;}
  .post-objects{grid-template-columns:1fr;}
  /* Colonne étroite : texte aligné à gauche, la justification y crée de grands blancs entre les mots */
  .post-body p,
  .post-body li{text-align:left;}
}
