/* ==========================================================================
   res — Blog (interviews de pros de l'immobilier)
   S'ajoute à styles.css, ne le remplace pas. Mêmes jetons : --ink, --amber…
   ========================================================================== */

/* ------------------------------------------------------------ fil d'Ariane */
.crumbs{font-size:14px;color:var(--grey-2);margin:0 0 26px;}
.crumbs a{color:var(--grey-2);text-decoration:none;}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:4px;}
.crumbs span{margin:0 8px;color:var(--grey-d);}

/* .hero est en flex : sans largeur imposée, le contenu se recentre en colonne
   étroite et ne s'aligne plus sur la grille des articles. */
.blog-hero > .wrap{width:100%;}

/* ------------------------------------------------------------------ filtres */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;}
.filter{
  font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink);
  border-radius:999px;padding:10px 18px;
  transition:background .25s ease,border-color .25s ease;
}
.filter:hover{border-color:var(--ink);}
.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff;}

/* ------------------------------------------------------- cartes d'articles */
.posts{display:grid;gap:16px;margin-top:36px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.post-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(13,13,13,.08);}
.post-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#f2f2f2;}
/* La plus récente : en grand, image à gauche, texte à droite. */
.post-card--une{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
.post-card--une img{height:100%;aspect-ratio:auto;min-height:320px;}
.post-card--une .body{padding:36px 40px;justify-content:center;}
.post-card--une h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;line-height:1.2;}
.post-card--une p{font-size:17px;}
.post-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-card h3{font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0;}
.post-card p{font-size:15.5px;line-height:1.55;color:var(--grey);margin:0;}
.post-card .meta{margin-top:auto;font-size:13.5px;color:var(--grey-2);}
.post-card:hover h3{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:5px;}
.tag{
  align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:#fff6d6;color:var(--ink);border-radius:999px;padding:5px 11px;
}
.posts-empty{color:var(--grey-2);margin-top:28px;}

/* ------------------------------------------------------------------ article */
.post{max-width:760px;margin:0 auto;}
.post-head{padding-top:40px;}
.post-head h1{font-size:clamp(32px,4.2vw,52px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0;}
.post-byline{margin:22px 0 0;font-size:15px;color:var(--grey-2);}
.post-byline strong{color:var(--ink);font-weight:600;}
.chapo{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink);margin:28px 0 0;}

.disclose{
  margin:30px 0 0;padding:16px 20px;border-radius:14px;
  background:#fafafa;border:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--grey);
}
.disclose strong{color:var(--ink);}

.post-figure{margin:40px 0 0;}
.post-figure .duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.post-figure img{display:block;width:100%;height:auto;border-radius:16px;aspect-ratio:3/2;object-fit:cover;background:#f2f2f2;}
.post-figure figcaption{font-size:14px;color:var(--grey-2);margin-top:10px;}

.fiche{
  margin:40px 0 0;border:1px solid var(--line);border-radius:22px;padding:26px 28px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;
}
.fiche div{font-size:15.5px;line-height:1.5;}
.fiche dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2);margin:0 0 4px;}
.fiche dd{margin:0;color:var(--ink);}

.qa{margin-top:56px;}
.qa h2{
  font-size:clamp(20px,2vw,24px);font-weight:700;letter-spacing:-.015em;line-height:1.25;
  margin:48px 0 14px;padding-left:18px;border-left:3px solid var(--amber);
}
.qa h2:first-child{margin-top:0;}
.qa p{font-size:17.5px;line-height:1.7;color:#262626;margin:0 0 16px;}
.qa a{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:4px;}
.qa ul{margin:0 0 16px;padding-left:22px;}
.qa li{font-size:17.5px;line-height:1.7;color:#262626;margin:0 0 8px;}

/* Citation mise en avant */
.quote{
  margin:36px 0;padding:6px 0 6px 24px;border-left:4px solid var(--amber);
  font-size:clamp(21px,2.2vw,27px);font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--ink);
}
.quote cite{display:block;margin-top:10px;font-size:14.5px;font-weight:500;font-style:normal;color:var(--grey-2);letter-spacing:0;}

/* Encart d'essai au milieu de l'article */
.cta-box{
  margin:36px 0 8px;padding:24px 26px;border-radius:18px;background:var(--ink);color:#fff;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;
}
.cta-box p{margin:0 !important;color:#fff !important;font-size:17px !important;line-height:1.45 !important;}
.cta-box p span{color:var(--grey-d);font-size:15px;}
.cta-box .btn{padding:13px 24px;font-size:15px;text-decoration:none !important;}

.qa .faq{margin-top:20px;}
.qa .faq summary{font-size:17px;}
.qa .faq details p{margin:0 0 22px;}

/* Réponse encore attendue : visible en aperçu, à remplacer avant mise en ligne. */
.todo{
  background:#fff6d6;border:1px dashed #e0a800;border-radius:12px;padding:14px 16px;
  font-size:15.5px !important;color:#6b5200 !important;
}

.post-end{margin-top:64px;padding-top:40px;border-top:1px solid var(--line);}
.post-end h2{font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;margin:0;}
.post-end p{color:var(--grey);margin:12px 0 0;}

@media (max-width:820px){
  .post-card--une{display:flex;}
  .post-card--une img{height:auto;aspect-ratio:3/2;min-height:0;}
  .post-card--une .body{padding:22px 24px 26px;}
}
@media (max-width:640px){
  .fiche{grid-template-columns:1fr;padding:22px;}
  .post-figure .duo{grid-template-columns:1fr;}
  .qa p,.qa li{font-size:17px;}
}
