/* ============================================================
   CERCLE BTP — blog.css
   Liste des articles, article, et cartes réutilisées sur l'accueil.
   ============================================================ */

/* ---------- Liste ---------- */
.blog-hero{padding:clamp(54px,8vw,104px) 0 clamp(32px,4vw,52px);position:relative;overflow:hidden}
.blog-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(680px 400px at 80% -10%,var(--orange-soft),transparent 68%)}
.blog-hero .wrap{position:relative}
.blog-hero h1{max-width:16ch}
.blog-hero .lead{margin-top:22px}

.blog-liste{padding-top:clamp(18px,3vw,30px)}
.blog-filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(26px,4vw,38px)}
.blog-filtre{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:99px;
  font-size:.86rem;font-weight:600;color:var(--gris-2);background:var(--noir);transition:border-color .15s,color .15s}
.blog-filtre:hover{border-color:#3A3A3A;color:var(--blanc)}
.blog-filtre[aria-current]{background:var(--blanc);border-color:var(--blanc);color:var(--noir)}
.blog-filtre-n{font-size:.74rem;font-weight:700;color:#6E6E6E;font-variant-numeric:tabular-nums}
.blog-filtre[aria-current] .blog-filtre-n{color:#555}

.blog-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}

/* ---------- Carte ---------- */
.blog-carte{display:flex;flex-direction:column;background:var(--noir-2);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;transition:border-color .15s,transform .15s,background .15s}
.blog-carte:hover{border-color:#3A3A3A;background:var(--noir-3);transform:translateY(-2px)}
.blog-carte-visuel{display:block;aspect-ratio:16/9;background:linear-gradient(140deg,#1A1A1A,#0C0C0C);position:relative;overflow:hidden}
.blog-carte-visuel img{width:100%;height:100%;object-fit:cover}
.blog-carte-sansimage{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:1.6rem;
  letter-spacing:-.04em;color:#2E2E2E}
.blog-carte-texte{display:flex;flex-direction:column;gap:10px;padding:22px 22px 20px;flex:1}
.blog-carte-cat{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.blog-carte-titre{font-size:1.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.25;color:var(--blanc)}
.blog-carte-chapo{font-size:.92rem;line-height:1.55;color:var(--gris);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-carte-meta{margin-top:auto;padding-top:6px;font-size:.78rem;color:#6E6E6E}

/* Article mis en avant : pleine largeur, visuel à gauche */
@media(min-width:900px){
  .blog-carte--une{grid-column:1/-1;flex-direction:row}
  .blog-carte--une .blog-carte-visuel{width:46%;aspect-ratio:auto;flex:none}
  .blog-carte--une .blog-carte-texte{padding:clamp(26px,3vw,38px);justify-content:center;gap:12px}
  .blog-carte--une .blog-carte-titre{font-size:clamp(1.3rem,2.2vw,1.8rem)}
  .blog-carte--une .blog-carte-chapo{font-size:1rem;-webkit-line-clamp:4}
}

.blog-vide{border:1px dashed var(--line);border-radius:10px;padding:clamp(34px,5vw,56px) 26px;text-align:center;display:grid;gap:10px;justify-items:center}
.blog-vide-titre{font-size:1.12rem;font-weight:800;color:var(--blanc);letter-spacing:-.02em}
.blog-vide p{color:var(--gris)}
.blog-vide a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.blog-vide .btn{margin-top:10px}

.blog-pages{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:clamp(30px,4vw,48px)}
.blog-pages-info{font-size:.84rem;color:var(--gris)}

/* ---------- Article ---------- */
.blog-apercu{background:var(--orange);color:#0A0A0A;text-align:center;padding:12px var(--pad);font-size:.84rem;font-weight:600;line-height:1.5}
.blog-article{padding:clamp(30px,5vw,56px) 0 clamp(40px,6vw,72px)}
.blog-fil{margin-bottom:20px;display:flex;gap:10px;font-size:.84rem;color:#6E6E6E}
.blog-fil a{color:var(--gris);font-weight:600}
.blog-fil a:hover{color:var(--blanc)}

.blog-entete{max-width:min(100%,72ch)}
.blog-cat{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}
.blog-entete h1{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08}
.blog-chapo{margin-top:20px;font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--gris-2)}
.blog-meta{margin-top:18px;font-size:.84rem;color:#6E6E6E}

.blog-couverture{margin:clamp(28px,4vw,44px) 0 0;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.blog-couverture img{width:100%;height:auto;display:block}

/* Corps de l'article : largeur de lecture limitée, interlignage généreux */
.blog-contenu{max-width:68ch;margin-top:clamp(28px,4vw,44px);font-size:1.06rem;line-height:1.75;color:var(--gris-2)}
.blog-contenu p{color:var(--gris-2);margin-bottom:1.25em}
.blog-contenu h2{font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.2;margin:1.8em 0 .7em;color:var(--blanc)}
.blog-contenu h3{font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.25;margin:1.5em 0 .5em;color:var(--blanc)}
.blog-contenu ul,.blog-contenu ol{margin:0 0 1.25em 1.3em;display:flex;flex-direction:column;gap:.5em}
.blog-contenu li{color:var(--gris-2)}
.blog-contenu li::marker{color:var(--orange)}
.blog-contenu a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.blog-contenu a:hover{color:#FF8A3D}
.blog-contenu strong{color:var(--blanc);font-weight:700}
.blog-contenu blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--orange);
  font-size:1.1rem;font-weight:600;color:var(--blanc);line-height:1.5}
.blog-contenu blockquote p{color:inherit;margin-bottom:.5em}
.blog-contenu blockquote p:last-child{margin-bottom:0}
.blog-contenu img{width:100%;height:auto;border-radius:8px;border:1px solid var(--line);margin:1.6em 0}
.blog-contenu figure{margin:1.6em 0}
.blog-contenu figure img{margin:0}
.blog-contenu figcaption{margin-top:10px;font-size:.82rem;color:#6E6E6E;text-align:center}
.blog-contenu hr{border:0;border-top:1px solid var(--line-2);margin:2.2em 0}

.blog-cta{max-width:68ch;margin-top:clamp(36px,5vw,56px);border:1px solid rgba(255,117,31,.45);border-radius:10px;
  padding:clamp(26px,4vw,40px);background:linear-gradient(var(--orange-soft),transparent 70%),var(--noir-2)}
.blog-cta h2{font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2;margin-bottom:12px}
.blog-cta p{color:var(--gris-2);font-size:.98rem;line-height:1.6;margin-bottom:22px;max-width:56ch}

.blog-lies{border-top:1px solid var(--line-2);padding-top:clamp(36px,5vw,56px)}
.blog-lies-titre{font-size:clamp(1.3rem,2.2vw,1.7rem);margin-bottom:24px}

@media(max-width:560px){
  .blog-contenu{font-size:1.02rem}
  .blog-pages{flex-wrap:wrap}
}
