/* ==========================================================================
   Blog — CSS partagé hub + article
   Toutes les règles sont scopées sous .blog-hub ou .blog-article
   sauf les variables et le reset commun.
   ========================================================================== */

/* ── Variables communes ─────────────────────────────────────────────────── */
:root{
  --bl-ink:#252525;--bl-ink-soft:#33383d;
  --bl-teal:#0E9589;--bl-teal-dark:#0A6E64;
  --bl-teal-tint:#E7F5F3;--bl-teal-line:#BFE3DD;
  --bl-navy:#134172;--bl-navy-dark:#0F3258;
  --bl-text:#3A3F45;--bl-muted:#6C757D;
  --bl-line:#E7E9EC;--bl-bg:#F5F6F7;
  --bl-radius:14px;--bl-radius-sm:9px;
  --bl-shadow-sm:0 1px 3px rgba(20,30,28,.06),0 1px 2px rgba(20,30,28,.04);
  --bl-shadow:0 10px 30px -12px rgba(15,40,38,.18);
  --bl-font-display:'Montserrat',system-ui,sans-serif;
  --bl-font-body:'Mulish',-apple-system,system-ui,sans-serif;
  /* brand accent vars (ML = default) */
  --bl-brand-dark:#1f4d47;
  --bl-brand-accent:#37c2ae;
  --bl-brand-icon:#8fc3ba;
  --bl-brand-text-soft:#d4e6e2;
  --bl-brand-bc:#a9c6c0;
  --bl-brand-grad-50:rgba(14,149,137,.5);
  --bl-brand-grad-55:rgba(14,149,137,.55);
}
/* MM — Meilleurs Masters (orange) */
body.template-master{
  --bl-teal:#f69d1f;--bl-teal-dark:#d4880f;
  --bl-teal-tint:#fef5e6;--bl-teal-line:#fad9a0;
  --bl-brand-dark:#3d2e12;
  --bl-brand-accent:#f9b233;
  --bl-brand-icon:#d4b896;
  --bl-brand-text-soft:#f5e5c0;
  --bl-brand-bc:#c9a870;
  --bl-brand-grad-50:rgba(246,157,31,.45);
  --bl-brand-grad-55:rgba(246,157,31,.5);
}
/* MB — Meilleurs Bachelors (vert) */
body.template-bachelor{
  --bl-teal:#2a724f;--bl-teal-dark:#1e5438;
  --bl-teal-tint:#e8f3ee;--bl-teal-line:#b5d5c4;
  --bl-brand-dark:#1a3d2b;
  --bl-brand-accent:#71a18a;
  --bl-brand-icon:#9fc3b0;
  --bl-brand-text-soft:#c8dfd3;
  --bl-brand-bc:#8cba9e;
  --bl-brand-grad-50:rgba(42,114,79,.5);
  --bl-brand-grad-55:rgba(42,114,79,.55);
}

main:before{display:none}

/* ── Newsletter (partagé hub + article) ─────────────────────────────────── */
.bl-newsletter{background:linear-gradient(135deg,var(--bl-brand-dark),#252525);color:#fff;padding:46px 0;max-width:unset;}
.bl-newsletter .lin{max-width:840px;margin:0 auto;padding:0 26px;text-align:center}
.bl-newsletter .kick{font-family:var(--bl-font-display);font-weight:800;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--bl-brand-accent)}
.bl-newsletter h2{font-family:var(--bl-font-display);font-weight:800;font-size:27px;margin:10px 0 10px;color:#fff}
.bl-newsletter p{color:var(--bl-brand-text-soft);font-size:15.5px;margin:0 auto 22px;max-width:55ch}
.bl-newsletter-form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;align-items: center; justify-content: center;}
.bl-newsletter-form input{flex:1;min-width:220px;border:none;border-radius:30px;padding:14px 20px;font-size:14.5px;font-family:var(--bl-font-body);outline:none;}
@media (max-width: 567px){.bl-newsletter-form input{font-size: 16px;transform:scale(0.9);}}
.bl-newsletter-form button{background:var(--bl-teal);color:#fff;border:none;border-radius:30px;padding:14px 26px;font-family:var(--bl-font-display);font-weight:800;font-size:13.5px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}
.bl-newsletter-form button:hover{background:var(--color-orange-light)}
.bl-newsletter .legal{font-size:11.5px;color:var(--bl-brand-accent);margin-top:14px}

/* ==========================================================================
   HUB PAGE — .blog-hub
   ========================================================================== */
.blog-hub{
  font-family:var(--bl-font-body);
  color:var(--bl-text);
}

/* Hero */
.blog-hub .hub-top{background:radial-gradient(700px 300px at 12% -20%,var(--bl-brand-grad-50),transparent 60%),linear-gradient(135deg,var(--bl-brand-dark),#252525);color:#fff;padding:36px 26px 34px}
@media(max-width: 567px){.blog-hub .hub-top{padding-left:20px;padding-right:20px}}
.blog-hub .hub-top .hin{max-width:1200px;margin:0 auto}
.blog-hub .hub-bc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--bl-brand-bc);margin-bottom:14px}
.blog-hub .hub-bc a{color:var(--bl-brand-bc)}.blog-hub .hub-bc a:hover{color:#fff}
.blog-hub .hub-bc .sep{opacity:.5}.blog-hub .hub-bc .cur{color:#fff;font-weight:700}
.blog-hub .hub-top .eyebrow{font-family:var(--bl-font-display);font-weight:800;font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--bl-brand-accent)}
.blog-hub .hub-top h1{font-family:var(--bl-font-display);font-weight:800;font-size:clamp(26px,3.4vw,38px);line-height:1.12;margin:8px 0 10px;color:#fff}
.blog-hub .hub-top p{font-size:15.5px;color:var(--bl-brand-text-soft);margin:0;max-width:62ch}
.blog-hub .hub-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:30px;padding:6px 6px 6px 18px;margin-top:20px;max-width:555px;box-shadow:var(--bl-shadow)}
.blog-hub .hub-search svg{width:19px;height:19px;color:var(--bl-muted);flex:none;margin-top:1px;}
.blog-hub .hub-search input{flex:1;border:none;outline:none;font-family:var(--bl-font-body);font-size:14.5px;color:var(--bl-text);background:none;width:calc(100% - 22px);}
.blog-hub .hub-search button{background:var(--bl-teal);color:#fff;border:none;border-radius:24px;padding:10px 20px;font-family:var(--bl-font-display);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.3px;cursor:pointer}
.blog-hub .hub-search button:hover{background:var(--bl-teal-dark)}
@media (max-width: 567px) {
.blog-hub .hub-search{flex-wrap: wrap;justify-content: center;background: transparent;border-radius: 0px;padding: 0px;}
.blog-hub .hub-search div {background: #fff;border-radius: 30px;padding: 6px 6px 6px 18px;flex: 0 0 100%;}
.blog-hub .hub-search input {font-size: 16px;transform: scale(0.9);margin-left:-5px !important;}
.blog-hub .hub-search svg{margin-top:3px}
}

/* Toolbar */
.blog-hub .hub-toolbar{background:#fff;border-bottom:1px solid var(--bl-line);box-shadow:0 4px 14px -10px rgba(15,40,38,.25);padding:14px 26px;}
.blog-hub .hub-toolbar .tin{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:13px}
@media(max-width: 567px){.blog-hub .hub-toolbar{padding:14px 20px;}}
.blog-hub .chips{display:flex;gap:9px;flex-wrap:wrap}
.blog-hub .chip{border:1px solid var(--bl-line);background:#fff;color:var(--bl-text);border-radius:24px;padding:8px 15px;font-family:var(--bl-font-display);font-weight:700;font-size:12.5px;cursor:pointer;transition:.15s;white-space:nowrap}
.blog-hub .chip:hover{border-color:var(--bl-teal-line);background:var(--bl-teal-tint);color:var(--bl-teal-dark)}
.blog-hub .chip.active{background:var(--bl-teal);border-color:var(--bl-teal);color:#fff}
.blog-hub .toolbar-row2{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.blog-hub .toolbar-row2 .lbl{font-size:12.5px;color:var(--bl-muted);font-weight:700}
.blog-hub .hub-select{position:relative}
.blog-hub .hub-select select{appearance:none;-webkit-appearance:none;border:1px solid var(--bl-line);background:#fff;border-radius:22px;padding:9px 38px 9px 15px;font-family:var(--bl-font-display);font-weight:700;font-size:12.5px;color:var(--bl-ink);cursor:pointer;outline:none}
@media(max-width: 567px){.blog-hub .hub-select select{max-width: 265px}}
.blog-hub .hub-select select:focus-visible,.blog-hub .hub-select select:focus{outline: 1px solid !important;}
.blog-hub .hub-select::after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:2px solid var(--bl-muted);border-bottom:2px solid var(--bl-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.blog-hub .hub-select:has(.sspec-wrap)::after{display:none}
.blog-hub .toolbar-row2 .count{margin-left:auto;font-size:12.5px;color:var(--bl-muted)}
.sspec-wrap{position:relative}
.sspec-btn{appearance:none;border:1px solid var(--bl-line);background:#fff;border-radius:22px;padding:9px 38px 9px 15px;font-family:var(--bl-font-display);font-weight:700;font-size:12.5px;color:var(--bl-ink);cursor:pointer;display:flex;align-items:center;min-width:160px;max-width:260px;position:relative}
.sspec-btn .sspec-val{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sspec-btn::after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:2px solid var(--bl-muted);border-bottom:2px solid var(--bl-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sspec-btn.open::after{transform:translateY(-30%) rotate(-135deg)}
.sspec-drop{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:#fff;border:1px solid var(--bl-line);border-radius:12px;box-shadow:var(--bl-shadow);z-index:200;overflow:hidden}
.sspec-drop.open{display:block}
.sspec-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bl-line)}
.sspec-search svg{flex:none;color:var(--bl-muted)}
.sspec-search input{border:none;outline:none;font-family:var(--bl-font-body);font-size:13px;color:var(--bl-ink);width:100%;background:none}
.sspec-list{list-style:none;margin:0;padding:6px 0;max-height:360px;overflow-y:auto}
.sspec-list li{padding:9px 15px;font-family:var(--bl-font-display);font-weight:600;font-size:12.5px;color:var(--bl-ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sspec-list li:hover{background:var(--bl-teal-tint);color:var(--bl-teal-dark)}
.sspec-list li.selected{color:var(--bl-teal-dark);font-weight:800}
.sspec-list li.hidden{display:none}
@media(max-width: 567px){
.sspec-search svg {margin-top:-1px;}
.sspec-search input{font-size: 16px;transform:scale(0.9);margin-left: -10px}
.sspec-list li{font-weight: normal;white-space: normal; padding-top: 3px 10px; line-height: 1.45}
}
#spe-tooltip{position:fixed;background:var(--bl-ink);color:#fff;font-family:var(--bl-font-display);font-weight:normal;font-size:11px;letter-spacing:.3px;padding:7px 11px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.22);line-height:1.4;max-width:220px;white-space:normal;text-transform:none;pointer-events:none;opacity:0;transition:opacity .15s;z-index:9999}
#spe-tooltip.show{opacity:1}
#spe-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--bl-ink)}
#spe-tooltip .tip-line{padding:3px 0}
#spe-tooltip .tip-line:not(:last-child){border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:3px}
.blog-hub .toolbar-row2 .count b{color:var(--bl-ink)}

/* Body */
.blog-hub .hub-body{padding:30px 26px 8px}
.blog-hub .hub-body>*{max-width:1200px;margin-left:auto;margin-right:auto}
@media(max-width: 567px){.blog-hub .hub-body{padding-left:20px;padding-right:20px}}

/* Article à la une */
.blog-hub .featured{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--bl-teal-line);border-radius:var(--bl-radius);overflow:hidden;box-shadow:var(--bl-shadow-sm);margin-bottom:30px;background:#fff}
@media(max-width:760px){.blog-hub .featured{grid-template-columns:1fr}}
.blog-hub .featured .f-img{aspect-ratio:40/21;background:radial-gradient(500px 220px at 20% 0%,var(--bl-brand-grad-55),transparent 55%),linear-gradient(135deg,var(--bl-brand-dark),#252525);display:grid;place-items:center;color:var(--bl-brand-icon);overflow:hidden;position:relative}
.blog-hub .featured .f-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-hub .featured .f-img svg{width:54px;height:54px;opacity:.85}
.blog-hub .featured .f-img .aune{position:absolute;top:14px;left:14px;background:var(--bl-navy);color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;padding:5px 12px;border-radius:20px;z-index:1}
.blog-hub .featured .f-img .spe{position:absolute;bottom:14px;left:14px;background:rgba(255,255,255,.92);color:var(--bl-navy);font-family:var(--bl-font-display);font-weight:800;font-size:10px;letter-spacing:.4px;text-transform:uppercase;padding:4px 9px;border-radius:14px;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blog-hub .featured .f-body{padding:26px 28px;display:flex;flex-direction:column;justify-content:center}
.blog-hub .featured .f-cat{font-family:var(--bl-font-display);font-weight:800;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--bl-teal-dark);margin-bottom:9px}
.blog-hub .featured .f-body h2{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:23px;line-height:1.22;margin:0 0 10px}
.blog-hub .featured .f-body h2 a{color:inherit;text-decoration:none}
.blog-hub .featured .f-body h2 a:hover{color:var(--bl-teal)}
.blog-hub .featured .f-exc{font-size:14.5px;color:var(--bl-text);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-hub .featured .f-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--bl-muted)}
.blog-hub .featured .f-meta .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--bl-teal),var(--bl-teal-dark));display:grid;place-items:center;color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:11px;flex:none;overflow:hidden}
.blog-hub .featured .f-meta img.av{width:30px;height:30px;object-fit:cover;border-radius:50%;display:block}
.blog-hub .featured .f-meta b{color:var(--bl-ink);font-weight:700}
.blog-hub .featured .f-meta .d{width:3px;height:3px;border-radius:50%;background:#cdd2d0}

/* Grille articles */
.blog-hub .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.blog-hub .posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.blog-hub .posts{grid-template-columns:1fr}}
.blog-hub .pcard{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;box-shadow:var(--bl-shadow-sm);display:flex;flex-direction:column;transition:.2s;color:inherit;text-decoration:none}
.blog-hub .pcard:hover{transform:translateY(-4px);box-shadow:var(--bl-shadow);text-decoration:none}
.blog-hub .pthumb{aspect-ratio:40/21;background:linear-gradient(135deg,var(--bl-brand-dark),#252525);display:grid;place-items:center;color:var(--bl-brand-icon);overflow:hidden;position:relative}
.blog-hub .pthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-hub .pthumb svg{width:36px;height:36px;opacity:.8}
.blog-hub .pthumb .spe{position:absolute;bottom:10px;left:10px;background:rgba(255,255,255,.92);color:var(--bl-navy);font-family:var(--bl-font-display);font-weight:800;font-size:10px;letter-spacing:.4px;text-transform:uppercase;padding:4px 9px;border-radius:14px;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blog-hub .pbody{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}
.blog-hub .pcat{font-family:var(--bl-font-display);font-weight:800;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--bl-teal-dark);margin-bottom:8px}
.blog-hub .ptitle{font-family:var(--bl-font-display);font-weight:700;color:var(--bl-ink);font-size:16px;line-height:1.3;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:break-word}
.blog-hub .pexc{font-size:13.5px;color:var(--bl-text);margin:0 0 14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-hub .pmeta{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--bl-muted)}
.blog-hub .pmeta .av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--bl-teal),var(--bl-teal-dark));display:grid;place-items:center;color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:10px;flex:none;overflow:hidden}
.blog-hub .pmeta img.av{width:26px;height:26px;object-fit:cover;border-radius:50%;display:block}
.blog-hub .pmeta b{color:var(--bl-ink-soft);font-weight:700}
.blog-hub .pmeta .d{width:3px;height:3px;border-radius:50%;background:#cdd2d0}

/* Pagination */
.blog-hub .hub-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin:34px 0 40px;padding:0;list-style:none}
.blog-hub .hub-pagination a,.blog-hub .hub-pagination span{min-width:38px;height:38px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--bl-line);background:#fff;font-family:var(--bl-font-display);font-weight:700;font-size:13.5px;color:var(--bl-text);padding:0 6px;text-decoration:none}
.blog-hub .hub-pagination a:hover{border-color:var(--bl-teal-line);background:var(--bl-teal-tint);color:var(--bl-teal-dark);text-decoration:none}
.blog-hub .hub-pagination .current{background:var(--bl-teal);border-color:var(--bl-teal);color:#fff}
.blog-hub .hub-pagination .nav-btn svg{width:16px;height:16px}

/* ==========================================================================
   ARTICLE PAGE — .blog-article
   ========================================================================== */
.blog-article{
  font-family:var(--bl-font-body);
  color:var(--bl-text);
  background:var(--bl-bg);
}

#ba-progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--bl-teal),var(--bl-navy));z-index:9999;transition:width .1s linear}

.ba-wrap{max-width:1040px;margin:0 auto;padding:0 26px 40px}
@media(max-width: 567px){.ba-wrap{padding:0 20px 40px}}

/* Breadcrumb */
.ba-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--bl-muted);padding:18px 0 6px}
.ba-breadcrumb a{color:var(--bl-muted);text-decoration:none}.ba-breadcrumb a:hover{color:var(--bl-teal)}
.ba-breadcrumb .sep{opacity:.5}.ba-breadcrumb .cur{color:var(--bl-ink);font-weight:700}

/* Header article */
.art-head{max-width:760px}
.cat-badge{display:inline-flex;align-items:center;gap:7px;background:var(--bl-teal-tint);color:var(--bl-teal-dark);font-family:var(--bl-font-display);font-weight:800;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;padding:6px 13px;border-radius:24px;border:1px solid var(--bl-teal-line)}
.art-head h1{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:clamp(27px,3.6vw,40px);line-height:1.12;margin:16px 0 4px}

/* Meta bar */
.art-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding:16px 0;border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line)}
.art-meta .author{display:flex;align-items:center;gap:11px}
.art-meta .avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--bl-teal),var(--bl-teal-dark));display:grid;place-items:center;color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:16px;flex:none;overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 1px var(--bl-teal-line)}
.art-meta .avatar img{width:100%;height:100%;object-fit:cover}
.art-meta .who .nm{font-family:var(--bl-font-display);font-weight:700;color:var(--bl-ink);font-size:14px}
.art-meta .who .rl{font-size:12px;color:var(--bl-muted)}
.art-meta .dot-sep{width:4px;height:4px;border-radius:50%;background:#cdd2d0;flex:none}
.art-meta .mi{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--bl-muted)}
.art-meta .mi svg{width:16px;height:16px;color:var(--bl-teal);flex:none}
.art-meta .mi b{color:var(--bl-text);font-weight:700}
.art-meta .share-mini{margin-left:auto;display:flex;gap:8px}
.art-meta .share-mini button{width:34px;height:34px;border-radius:50%;border:1px solid var(--bl-line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--bl-teal);transition:.15s}
.art-meta .share-mini button:hover{background:var(--bl-teal);color:#fff;border-color:var(--bl-teal)}
.art-meta .share-mini svg{width:16px;height:16px}

/* Hero image */
.art-hero{position:relative;margin:24px 0 6px;border-radius:var(--bl-radius);overflow:hidden;aspect-ratio:40/21;background:radial-gradient(700px 300px at 18% 0%,var(--bl-brand-grad-55),transparent 55%),linear-gradient(135deg,var(--bl-brand-dark),#252525);display:grid;place-items:center;color:var(--bl-brand-icon)}
.art-hero img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.art-hero .ph{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.92}
.art-hero .ph svg{width:52px;height:52px}

/* Corps + sidebar */
.art-body-wrap{display:grid;grid-template-columns:1fr 280px;gap:44px;margin-top:30px;align-items:start}
@media(max-width:900px){.art-body-wrap{grid-template-columns:1fr}}

/* Contenu éditorial */
.art-content{max-width:720px;font-size:16.5px;color:#2f3438;line-height:1.75}
.art-content .art-lead{font-size:18.5px;line-height:1.6;color:#2a2f33;font-weight:500;margin:0 0 22px}
.art-content h2{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:24px;margin:38px 0 14px;scroll-margin-top:90px;padding-left:14px;border-left:4px solid var(--bl-teal)}
.art-content h3{font-family:var(--bl-font-display);font-weight:700;color:var(--bl-ink);font-size:18px;margin:24px 0 10px}
@media(max-width: 992px){
.art-content h2,.art-content h3{text-align: left;}  
}
.art-content p{margin:0 0 18px}
.art-content ul,.art-content ol{margin:0 0 18px;padding-left:4px;list-style:none}
.art-content ul li{position:relative;padding-left:28px;margin-bottom:10px}
.art-content ul li::before{content:"";position:absolute;left:4px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--bl-teal)}
.art-content ol{counter-reset:li;padding-left:0}
.art-content ol li{position:relative;padding-left:38px;margin-bottom:12px;counter-increment:li}
.art-content ol li::before{content:counter(li);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:var(--bl-teal-tint);color:var(--bl-teal-dark);font-family:var(--bl-font-display);font-weight:800;font-size:13px;display:grid;place-items:center}
.art-content a{color:var(--bl-teal);font-weight:600;border-bottom:1.5px solid var(--bl-teal-line);text-decoration:none}
.art-content a:hover{border-color:var(--bl-teal)}
.art-content strong{color:var(--bl-ink)}
.art-content blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:4px solid var(--bl-teal);font-size:19px;font-style:italic;color:var(--bl-teal-dark);font-family:var(--bl-font-display);font-weight:600;line-height:1.45}
.art-content table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:14.5px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden}
.art-content table th,.art-content table td{padding:12px 14px;border-bottom:1px solid var(--bl-line);text-align:left}
.art-content table thead th{background:var(--bl-teal-tint);color:var(--bl-teal-dark);font-family:var(--bl-font-display);font-weight:700;font-size:13px}
.art-content table tbody td:first-child{font-weight:700;color:var(--bl-ink)}
.art-content table tbody tr:last-child td{border-bottom:none}
.art-content img{max-width:100%;border-radius:var(--bl-radius-sm);margin:8px 0}
.art-content figure{margin:18px 0 24px}
.art-content figure img{margin:0}
.art-content figcaption{margin-top:8px;font-size:13px;font-style:italic;color:var(--bl-muted);line-height:1.5}

/* Composants éditoriaux réutilisables */
.art-content .kfig{display:flex;gap:18px;align-items:center;background:linear-gradient(120deg,var(--bl-teal-tint),#fff);border:1px solid var(--bl-teal-line);border-radius:var(--bl-radius);padding:20px 22px;margin:24px 0}
.art-content .kfig .big{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-teal);font-size:42px;line-height:1;flex:none}
.art-content .kfig .txt{font-size:14.5px;color:var(--bl-text)}
.art-content .kfig .txt b{color:var(--bl-ink)}
.art-content .infobox{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px 20px;margin:24px 0;box-shadow:var(--bl-shadow-sm)}
.art-content .infobox .ib-head{display:flex;align-items:center;gap:9px;font-family:var(--bl-font-display);font-weight:800;color:var(--bl-teal-dark);font-size:14px;margin-bottom:8px}
.art-content .infobox .ib-head svg{width:19px;height:19px;color:var(--bl-teal)}
.art-content .infobox p{margin:0;font-size:14.5px}
.art-content .inline-cta{margin:30px 0;border-radius:var(--bl-radius);overflow:hidden;border:1px solid var(--bl-teal-line);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(120deg,#fff,var(--bl-teal-tint));padding:22px 24px}
.art-content .inline-cta .ic-txt .t{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-teal-dark);font-size:17px;margin-bottom:4px}
.art-content .inline-cta .ic-txt .d{font-size:13.5px;color:var(--bl-text)}
.art-content .inline-cta .ic-btn{background:var(--bl-teal);color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:13.5px;padding:13px 20px;border-radius:30px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.3px;text-decoration:none}
.art-content .inline-cta .ic-btn:hover{background:var(--bl-teal-dark);text-decoration:none}
.art-content .inline-cta.navy{background:linear-gradient(120deg,#fff,#EAF0F6);border-color:#C5D5E6}
.art-content .inline-cta.navy .ic-txt .t{color:var(--bl-navy)}
.art-content .inline-cta.navy .ic-btn{background:var(--bl-navy)}
.art-content .inline-cta.navy .ic-btn:hover{background:var(--bl-navy-dark);text-decoration:none}
@media(max-width:560px){.art-content .inline-cta{grid-template-columns:1fr}}
.art-content .note{background:var(--bl-teal-tint);border-left:4px solid var(--bl-teal);border-radius:0 var(--bl-radius-sm) var(--bl-radius-sm) 0;padding:16px 18px;font-size:14.5px;margin:18px 0}
.art-content .note b{color:var(--bl-teal-dark)}

/* Sidebar sticky */
.aside-sticky{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}
.toc-card{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px 18px 12px;box-shadow:var(--bl-shadow-sm)}
.toc-head{display:flex;align-items:center;gap:9px;font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:13px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px}
.toc-head svg{width:17px;height:17px;color:var(--bl-teal)}
.toc-card ul{list-style:none;margin:0;padding:0}
.toc-card a{display:block;font-size:13px;color:var(--bl-muted);padding:7px 10px;border-radius:8px;border-left:2px solid transparent;line-height:1.4;text-decoration:none}
.toc-card a:hover{background:var(--bl-teal-tint);color:var(--bl-teal-dark)}
.toc-card a.active{background:var(--bl-teal-tint);color:var(--bl-teal-dark);font-weight:700;border-left-color:var(--bl-teal)}
.toc-card .reading{margin-top:12px;padding-top:12px;border-top:1px solid var(--bl-line);font-size:12px;color:var(--bl-muted);display:flex;align-items:center;gap:7px}
.toc-card .reading svg{width:15px;height:15px;color:var(--bl-teal)}
.side-cta{background:linear-gradient(150deg,var(--bl-teal),var(--bl-teal-dark));color:#fff;border-radius:var(--bl-radius);padding:22px 20px;text-align:center;box-shadow:var(--bl-shadow-sm)}
.side-cta .sc-ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center;margin:0 auto 12px}
.side-cta .sc-ic svg{width:24px;height:24px;color:#fff}
.side-cta .sc-t{font-family:var(--bl-font-display);font-weight:800;font-size:16px;line-height:1.25;margin-bottom:6px}
.side-cta .sc-d{font-size:12.5px;color:#d7efeb;margin-bottom:14px}
.side-cta .sc-btn{display:block;background:#fff;color:var(--bl-teal-dark);font-family:var(--bl-font-display);font-weight:800;font-size:13px;padding:11px 14px;border-radius:26px;text-transform:uppercase;letter-spacing:.3px;text-decoration:none}
.side-cta .sc-btn:hover{background:#eafaf7;text-decoration:none}

/* Partage */
.share-row{max-width:760px;margin:32px 0 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line)}
.share-row .lbl{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:14px}
.share-row .btns{display:flex;gap:10px;flex-wrap:wrap}
.share-row button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--bl-line);background:#fff;border-radius:24px;padding:9px 16px;font-family:var(--bl-font-display);font-weight:700;font-size:12.5px;color:var(--bl-text);cursor:pointer;transition:.15s}
.share-row button:hover{background:var(--bl-teal);color:#fff;border-color:var(--bl-teal)}
.share-row button svg{width:16px;height:16px}

/* Auteur */
.author-box{max-width:760px;margin:40px 0 0;display:flex;gap:20px;align-items:flex-start;background:var(--bl-teal-tint);border:1px solid var(--bl-teal-line);border-radius:var(--bl-radius);padding:24px}
.author-box .av{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--bl-teal),var(--bl-teal-dark));display:grid;place-items:center;color:#fff;font-family:var(--bl-font-display);font-weight:800;font-size:24px;flex:none;overflow:hidden}
.author-box .av img{width:100%;height:100%;object-fit:cover}
.author-box .ab-body .nm{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:17px}
.author-box .ab-body .rl{font-size:13px;color:var(--bl-teal-dark);font-weight:700;margin-bottom:8px;font-family:var(--bl-font-display)}
.author-box .ab-body p{margin:0 0 10px;font-size:14px;color:var(--bl-text)}
.author-box .ab-links{display:flex;gap:12px;flex-wrap:wrap}
.author-box .ab-links a{font-size:12.5px;font-weight:700;color:var(--bl-teal-dark);display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.author-box .ab-links a:hover{text-decoration:underline}

/* Articles liés */
.ba-related{background:var(--bl-teal-tint);border-top:1px solid var(--bl-teal-line);margin-top:46px;padding:42px 0}
.ba-related .rin{max-width:1040px;margin:0 auto;padding:0 26px}
.ba-related h2{font-family:var(--bl-font-display);font-weight:800;color:var(--bl-ink);font-size:24px;margin:0 0 22px;text-align:center}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.rel-grid{grid-template-columns:1fr}}
.rel-card{background:#fff;border:1px solid var(--bl-teal-line);border-radius:var(--bl-radius);overflow:hidden;box-shadow:var(--bl-shadow-sm);transition:.2s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.rel-card:hover{transform:translateY(-4px);box-shadow:var(--bl-shadow);text-decoration:none}
.rel-thumb{aspect-ratio:40/21;background:linear-gradient(135deg,var(--bl-brand-dark),#252525);display:grid;place-items:center;color:var(--bl-brand-icon);overflow:hidden;position:relative}
.rel-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rel-thumb svg{width:38px;height:38px;opacity:.8}
.rel-thumb .spe{position:absolute;bottom:10px;left:10px;background:rgba(255,255,255,.92);color:var(--bl-navy);font-family:var(--bl-font-display);font-weight:800;font-size:10px;letter-spacing:.4px;text-transform:uppercase;padding:4px 9px;border-radius:14px;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-card .rc-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}
.rel-card .rc-cat{font-family:var(--bl-font-display);font-weight:800;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--bl-teal-dark);margin-bottom:7px}
.rel-card .rc-title{font-family:var(--bl-font-display);font-weight:700;color:var(--bl-ink);font-size:15.5px;line-height:1.3;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:break-word}
.rel-card .rc-meta{margin-top:auto;font-size:12px;color:var(--bl-muted);display:flex;gap:10px}
#copy-toast{position:fixed;background:var(--bl-ink);color:#fff;font-family:var(--bl-font-display);font-weight:normal;font-size:13px;padding:8px 16px;border-radius:30px;display:flex;align-items:center;gap:7px;box-shadow:0 6px 20px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .15s;z-index:9999;white-space:nowrap}
@media(max-width: 1024px){#copy-toast{right:16px!important;left:auto!important;bottom:20px!important;top:auto!important;transform:none!important;font-weight:normal;}}
#copy-toast.show{opacity:1}
#copy-toast svg{flex:none;color:var(--bl-brand-accent)}

/* État vide hub */
.hub-empty{text-align:center;padding:64px 24px;color:var(--bl-text)}
.hub-empty svg{width:48px;height:48px;color:var(--bl-teal);margin-bottom:20px;opacity:.7}
.hub-empty__title{font-family:var(--bl-font-display);font-weight:800;font-size:22px;color:var(--bl-ink);margin:0 0 12px}
.hub-empty__text{font-size:15px;line-height:1.6;color:var(--bl-text);margin:0}
