:root{--news-ink:#14233b;--news-muted:#6f7d90;--news-line:#e7ebf0;--news-soft:#f7f9fc;--news-link:#245f9f;--news-accent:#eaf2fb}

.news-page,.news-article-page{background:#fff;color:var(--news-ink)}

/* Liste des actualités — volontairement sans image ni carte */
.news-index-page{padding:58px 0 96px;background:#fff}
.news-index-shell{max-width:980px}
.news-index-header{padding:0 0 28px;border-bottom:1px solid var(--news-line)}
.news-index-header h1{margin:0;font-size:clamp(2.7rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em;color:#102038}
.news-index-list{display:block}
.news-index-item{border-bottom:1px solid var(--news-line)}
.news-index-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:start;padding:30px 0;color:inherit;text-decoration:none}
.news-index-main h2{margin:0;font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.14;letter-spacing:-.03em;color:#14233b;transition:color .18s ease}
.news-index-main p{max-width:720px;margin:10px 0 0;color:#718094;font-size:.98rem;line-height:1.62}
.news-index-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-top:4px;white-space:nowrap;color:#8793a2;font-size:.76rem}
.news-index-meta span{font-weight:800;color:#526c87}
.news-index-link:hover .news-index-main h2{color:#245f9f}
.news-index-empty{margin:0;padding:52px 0;border-bottom:1px solid var(--news-line);color:var(--news-muted)}
.news-list-ad{margin:28px 0}

/* Article : le contenu éditorial commence immédiatement */
.news-article-page{position:relative;padding:0 0 86px;min-height:60vh}
.news-back-corner{position:sticky;top:18px;z-index:15;display:inline-flex;align-items:center;justify-content:center;margin:18px 0 0 22px;padding:9px 13px;border:1px solid #dfe5ec;border-radius:999px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);color:#40556d;font-size:.86rem;font-weight:800;text-decoration:none;box-shadow:0 6px 18px rgba(18,35,57,.06)}
.news-back-corner:hover{background:#f7f9fc;color:#183653}
.news-article-clean{width:min(100% - 40px,900px);margin:12px auto 0}
.news-prose-clean{font-size:1.095rem;line-height:1.86;color:#27374b}
.news-prose-clean>*,.news-prose-clean .news-html>*{max-width:760px;margin-left:auto;margin-right:auto}
.news-prose-clean .news-html{max-width:none}
.news-prose-clean article,.news-prose-clean section,.news-prose-clean header,.news-prose-clean footer{max-width:760px;margin-left:auto;margin-right:auto}
.news-prose-clean article>header{margin-bottom:2.7rem}
.news-prose-clean h1{max-width:860px;margin-top:.15em;margin-bottom:.48em;font-size:clamp(2.8rem,6vw,5.7rem);line-height:.98;letter-spacing:-.055em;color:#0e1c30;font-weight:850}
.news-prose-clean h2{margin-top:2.35em;margin-bottom:.7em;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.14;letter-spacing:-.035em;color:#102038}
.news-prose-clean h3{margin-top:2em;margin-bottom:.62em;font-size:1.42rem;line-height:1.25;letter-spacing:-.015em;color:#172842}
.news-prose-clean p{margin-top:0;margin-bottom:1.45em}
.news-prose-clean header>p:first-child,.news-prose-clean article>header>p:first-child{margin-bottom:.75rem;color:#42658a;font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.news-prose-clean article>header>h1+p,.news-prose-clean header>h1+p{font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.65;color:#607086;max-width:780px}
.news-prose-clean strong{color:#182b43}
.news-prose-clean a{color:var(--news-link);text-decoration-thickness:1px;text-underline-offset:3px}
.news-prose-clean ul,.news-prose-clean ol{margin-top:.4em;margin-bottom:1.6em;padding-left:1.45em}
.news-prose-clean li{margin:.48em 0;padding-left:.12em}
.news-prose-clean blockquote{margin:2.15em auto;padding:1.15em 0 1.15em 1.45em;border-left:4px solid #7fa8d0;color:#304c69;font-size:1.18rem;line-height:1.7}
.news-prose-clean blockquote p:last-child{margin-bottom:0}
.news-prose-clean aside,.news-callout{margin:2.25em auto;padding:22px 24px;border:1px solid #dbe6f1;border-radius:16px;background:#f7faff;color:#30445d}
.news-prose-clean aside h3,.news-callout strong{margin:0 0 .6rem;color:#173d65;font-size:1rem}
.news-prose-clean aside p:last-child,.news-callout p:last-child{margin-bottom:0}
.news-callout-important{background:#fff9ef;border-color:#efdfbf}
.news-callout-context{background:#f7f5ff;border-color:#e3dcf4}
.news-quote{max-width:820px!important;margin:2.55em auto!important;padding:28px 34px;border-radius:18px;background:#f3f7fb}
.news-quote blockquote{margin:0;padding:0;border:0;font-size:1.22rem;color:#274665}
.news-quote figcaption{margin-top:12px;color:#7a8798;font-size:.85rem}
.news-figure{max-width:960px!important;margin:2.8em auto!important}
.news-figure img,.news-prose-clean img{display:block;max-width:100%;height:auto;border-radius:16px}
.news-figure figcaption{max-width:760px;margin:10px auto 0;color:#7f8997;font-size:.82rem;text-align:center}
.news-divider{max-width:760px;border:0;border-top:1px solid var(--news-line);margin:3em auto}
.news-prose-clean table{width:100%;border-collapse:separate;border-spacing:0;margin:2.2em 0;border:1px solid #dfe5ec;border-radius:14px;overflow:hidden;font-size:.94rem;background:#fff}
.news-prose-clean th,.news-prose-clean td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e8edf2;border-right:1px solid #e8edf2}
.news-prose-clean th:last-child,.news-prose-clean td:last-child{border-right:0}
.news-prose-clean tr:last-child td{border-bottom:0}
.news-prose-clean th{background:#f6f8fb;color:#314960;font-weight:800}
.news-prose-clean hr{border:0;border-top:1px solid var(--news-line);margin:3em 0}
.news-prose-clean small{color:#7a8797;line-height:1.6}

.news-meta-footer{max-width:760px;margin:68px auto 0;padding:26px 0 0;border-top:1px solid var(--news-line);color:#778494;font-size:.84rem}
.news-meta-primary{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.news-meta-author{color:#243b53;font-weight:850}
.news-meta-primary span+span::before{content:"·";margin-right:16px;color:#c0c7d0}
.news-tags-clean{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.news-tags-clean span{padding:6px 9px;border-radius:999px;background:#f2f5f8;color:#5f7082;font-size:.76rem}
.news-source-clean{margin-top:24px;padding-top:20px;border-top:1px solid #edf0f4}
.news-source-clean strong{display:block;margin-bottom:7px;color:#53677d;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
.news-source-clean p{margin:0;color:#758293;line-height:1.65}

/* Bandeau accueil */
.home-news-preview{margin:44px auto 14px;max-width:1180px;padding:26px 28px;background:#f7f9fc;border:1px solid #e6ebf1;border-radius:20px;color:#182a40}
.home-news-preview header{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:18px}
.home-news-preview h2{margin:0;font-size:1.7rem;letter-spacing:-.025em}
.home-news-preview .news-eyebrow{display:none}
.home-news-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.home-news-preview-card{display:block;padding:16px;background:#fff;border:1px solid #e6ebf1;border-radius:13px;color:#172a41;text-decoration:none}
.home-news-preview-card time{font-size:.75rem;color:#84909f}
.home-news-preview-card strong{display:block;margin-top:6px;line-height:1.32}
.home-news-preview-link{color:#285e96;font-weight:800;text-decoration:none}
.home-news-preview-empty{padding:14px;border:1px dashed #d6dde6;border-radius:12px;color:#7a8797}

@media(max-width:960px){
  .home-news-preview-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .news-index-page{padding:38px 0 68px}
  .news-index-link{grid-template-columns:1fr;gap:12px;padding:24px 0}
  .news-index-meta{align-items:flex-start;flex-direction:row;gap:12px;padding:0}
  .news-index-main p{font-size:.94rem}
  .news-article-clean{width:min(100% - 28px,900px);margin-top:4px}
  .news-back-corner{top:10px;margin:10px 0 0 12px;padding:8px 11px}
  .news-prose-clean{font-size:1.02rem;line-height:1.78}
  .news-prose-clean h1{font-size:clamp(2.35rem,12vw,4rem)}
  .news-prose-clean h2{font-size:1.7rem}
  .news-quote{padding:22px!important}
  .news-prose-clean table{display:block;overflow-x:auto;white-space:nowrap}
  .news-meta-primary{display:grid;gap:5px}
  .news-meta-primary span+span::before{content:none}
  .home-news-preview{margin-left:12px;margin-right:12px;padding:20px}
  .home-news-preview header{align-items:flex-start;flex-direction:column}
}

/* Catalogue Actualités : même logique que les catalogues Quiz / Activités */
.news-catalog{background:linear-gradient(180deg,#f5f8fc 0,#fff 430px);min-height:70vh;padding:clamp(2rem,5vw,4.5rem) 1rem 5rem}
.news-filter-shell,.news-grid,.news-count,.news-empty-state,.news-catalog>.pagination{margin-inline:auto;max-width:1180px;width:100%}
.news-filter-shell{margin-top:0}
.news-filters{align-items:end;background:#fff;border:1px solid #dce5f0;border-radius:20px;box-shadow:0 12px 36px rgba(15,23,42,.07);display:grid;gap:.85rem;grid-template-columns:2fr 1fr 1fr auto auto;padding:1rem}
.news-filters label{display:grid;gap:.4rem;min-width:0}
.news-filters label>span{color:#475569;font-size:.76rem;font-weight:800}
.news-filters input,.news-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;font:inherit;min-height:48px;padding:.7rem .85rem;width:100%}
.news-filters input:focus,.news-filters select:focus{border-color:#2864ed;box-shadow:0 0 0 3px rgba(40,100,237,.12);outline:0}
.news-filters .btn{min-height:48px}
.news-reset{align-items:center;color:#526079;display:inline-flex;font-size:.86rem;font-weight:800;justify-content:center;min-height:48px;text-decoration:none;white-space:nowrap}
.news-count{color:#64748b;font-size:.9rem;margin-bottom:0;margin-top:1.25rem}
.news-count strong{color:#0f172a}
.news-grid{margin-top:1rem}
.news-card-tags span{background:#eaf2ff;border-radius:999px;color:#1d4ed8;font-size:.76rem;font-weight:800;padding:.38rem .65rem}
.news-card-tags span+span{background:#eafaf4;color:#087a57}
.news-card-button{margin-top:auto}
.news-empty-state{background:#fff;border:1px solid #dce5f0;border-radius:20px;box-sizing:border-box;margin-top:1.5rem;padding:3rem;text-align:center}
.news-empty-state h2{color:#0f172a;margin-top:0}
.news-empty-state p{color:#64748b;margin-bottom:0}

@media(max-width:920px){
  .news-filters{grid-template-columns:1fr 1fr}
  .news-search-field{grid-column:1/-1}
  .news-filters .btn,.news-reset{width:100%}
}
@media(max-width:620px){
  .news-catalog{padding:1.4rem .8rem 3rem}
  .news-filters{grid-template-columns:1fr}
  .news-search-field{grid-column:auto}
  .news-empty-state{padding:2rem 1.2rem}
}
