/* La rubrique partage les couleurs et la police de l'accueil. */
.monthly-news, .news-dialog, .news-page {
  --news-ink:#18334b; --news-muted:#586b7c; --news-line:#dce5ed;
  --news-blue:#245dc1; --news-green:#286859; --news-soft:#f0f7f4;
  --news-surface:#fff; --news-bg:#fbfcfd;
  font-family:"Segoe UI",Tahoma,sans-serif; color:var(--news-ink);
  box-sizing:border-box;
}
.monthly-news *, .news-dialog *, .news-page * { box-sizing:border-box; }
.monthly-news[hidden] { display:none !important; }
.monthly-news a, .news-dialog a, .news-page a { text-underline-offset:3px; }
.monthly-news :focus-visible, .news-dialog :focus-visible, .news-page :focus-visible { outline:3px solid #477bbf; outline-offset:4px; }
.monthly-news {
  position:relative; display:flex; align-items:center; gap:20px;
  margin:26px 0 0; padding:19px 62px 19px 22px; border:1px solid #d5e6e0;
  border-radius:16px; background:linear-gradient(110deg,#f0f7f4,#f9fbfa 72%);
}
.news-symbol { width:42px; height:42px; flex-shrink:0; display:grid; place-items:center; border:1px solid #d4e5dd; border-radius:12px; background:#fff; color:var(--news-green); }
.news-symbol svg { width:23px; height:23px; }
.monthly-news-copy { flex:1; min-width:0; }
.monthly-news .news-eyebrow, .news-dialog .news-eyebrow { margin:0 0 5px; font-size:11px; font-weight:650; line-height:1.4; letter-spacing:.035em; color:var(--news-green); }
.monthly-news .monthly-news-title { margin:0; font-size:16px; font-weight:650; line-height:1.4; letter-spacing:-.015em; color:var(--news-ink); }
.monthly-news .monthly-news-description { margin:5px 0 0; font-size:13px; line-height:1.55; color:var(--news-muted); }
.news-preview-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; flex-shrink:0; padding:10px 15px; border:1px solid #c9dbd3; border-radius:999px; background:var(--news-surface); color:var(--news-green); font:600 13px/1.4 "Segoe UI",Tahoma,sans-serif; cursor:pointer; text-decoration:none; }
.news-preview-link:hover { background:#e4f0ea; border-color:#9fbcad; }
.news-arrow { width:16px; height:16px; }
.news-icon-button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--news-muted); cursor:pointer; }
.news-icon-button svg { width:18px; height:18px; }
.news-icon-button:hover { background:rgba(40,104,89,.08); color:var(--news-ink); }
.monthly-news-dismiss { position:absolute; top:50%; right:8px; transform:translateY(-50%); }
.home-refresh .monthly-news + .hero { padding-top:38px; }
.news-dialog { width:min(590px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--news-line); border-radius:22px; background:var(--news-surface); box-shadow:0 28px 90px rgba(19,44,63,.23); overflow:auto; }
.news-dialog:not([open]) { display:none; }
.news-dialog::backdrop { background:rgba(18,38,55,.4); backdrop-filter:blur(4px); }
.news-dialog-head { display:flex; justify-content:space-between; align-items:center; padding:17px 22px 13px; border-bottom:1px solid var(--news-line); }
.news-dialog-head .news-eyebrow { margin:0; }
.news-dialog-body { padding:25px 30px 18px; }
.news-dialog .news-dialog-title { margin:0 0 15px; font-size:29px; line-height:1.2; font-weight:650; letter-spacing:-.035em; color:var(--news-ink); hyphens:none; overflow-wrap:normal; }
.news-dialog p { margin:0 0 16px; font-size:15px; line-height:1.65; color:var(--news-muted); }
.news-dialog strong { color:var(--news-ink); }
.news-date-note { display:flex; align-items:center; gap:10px; margin:0 0 19px; padding:11px 13px; border-radius:10px; background:var(--news-soft); color:var(--news-green); font-size:13px; line-height:1.4; }
.news-date-note svg { width:18px; height:18px; flex-shrink:0; }
.news-dialog .news-check-title { color:var(--news-ink); font-weight:650; margin-bottom:8px; }
.news-dialog .news-checks { display:grid; gap:9px; padding:0; margin:0 0 19px; list-style:none; font-size:14px; line-height:1.5; color:var(--news-muted); }
.news-checks li { display:flex; gap:10px; align-items:flex-start; }
.news-checks svg { flex-shrink:0; width:18px; height:18px; margin-top:2px; color:var(--news-green); }
.news-dialog .news-source-note { margin:0; font-size:12px; line-height:1.6; }
.news-source-note a { color:var(--news-green); }
.news-dialog-actions { display:flex; align-items:center; gap:12px; padding:17px 30px 23px; }
.news-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:11px 18px; border:1px solid var(--news-ink); border-radius:999px; background:var(--news-ink); color:#fff; font:600 14px/1.4 "Segoe UI",Tahoma,sans-serif; text-decoration:none; cursor:pointer; }
.news-button:hover { background:#274c69; border-color:#274c69; }
.news-button-secondary { background:transparent; border-color:var(--news-line); color:var(--news-muted); }
.news-button-secondary:hover { background:var(--news-soft); border-color:#b6ccc1; color:var(--news-ink); }

/* Page éditoriale : un article et des repères, sans grille de gros blocs. */
body.news-page { margin:0; padding:0; background:var(--news-bg); line-height:1.65; }
.news-page .news-header { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 28px; background:var(--news-surface); border-bottom:1px solid var(--news-line); }
.news-brand { display:block; width:200px; height:46px; overflow:hidden; line-height:0; flex-shrink:0; }
.news-brand img { display:block; width:210px; height:210px; transform:translate(-13px,-82px); }
.news-nav { display:flex; align-items:center; gap:8px; }
.news-nav a { padding:9px 14px; min-height:44px; display:inline-flex; align-items:center; border-radius:999px; color:var(--news-muted); font-size:13px; text-decoration:none; font-weight:600; }
.news-nav a:hover, .news-nav a[aria-current] { color:var(--news-blue); background:#edf2fa; }
.news-wrap { width:min(1100px,calc(100% - 64px)); margin:0 auto; }
.news-breadcrumb { display:flex; gap:10px; align-items:center; margin:26px 0 29px; font-size:12px; color:var(--news-muted); }
.news-breadcrumb a { color:var(--news-muted); text-decoration:none; }
.news-page-intro { padding:0 0 30px; border-bottom:1px solid var(--news-line); }
.news-page .news-section-label { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:11px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; color:var(--news-green); }
.news-section-label::before { content:""; width:6px; height:6px; border-radius:50%; background:#4a9a87; }
.news-page h1 { margin:0 0 14px; font-size:clamp(32px,4vw,46px); line-height:1.14; font-weight:650; letter-spacing:-.045em; }
.news-page-intro > p:last-child { margin:0; max-width:670px; color:var(--news-muted); font-size:16px; }
.news-layout { display:grid; grid-template-columns:minmax(0,730px) minmax(0,260px); gap:58px; padding:34px 0 48px; align-items:start; }
.news-article { min-width:0; }
.news-article-top { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:15px; }
.news-month { display:inline-flex; align-items:center; min-height:29px; padding:4px 11px; border:1px solid #d7e6dd; border-radius:999px; background:var(--news-soft); color:var(--news-green); font-size:12px; font-weight:650; }
.news-verified { font-size:12px; color:var(--news-muted); }
.news-page h2 { margin:0 0 14px; font-size:30px; line-height:1.22; letter-spacing:-.025em; font-weight:650; }
.news-page h3 { margin:26px 0 10px; font-size:18px; line-height:1.35; font-weight:650; }
.news-article p { margin:0 0 18px; color:var(--news-muted); font-size:15px; line-height:1.8; }
.news-article strong { color:var(--news-ink); font-weight:650; }
.news-current-index { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:19px 23px; margin:23px 0; border:1px solid #d7e6dd; border-radius:16px; background:var(--news-soft); }
.news-current-index p { margin:0; font-size:12px; line-height:1.6; }
.news-current-index .news-value { font-size:36px; font-weight:650; color:var(--news-green); line-height:1.15; letter-spacing:-.03em; margin:3px 0; }
.news-current-index .news-index-caption { font-size:12px; color:var(--news-muted); }
.news-increase { display:inline-flex; padding:4px 9px; border-radius:999px; background:#dceee4; color:var(--news-green); font-size:12px; font-weight:650; margin-bottom:7px; white-space:nowrap; }
.news-history { margin-top:36px; border-top:1px solid var(--news-line); padding-top:24px; }
.news-history h2 { font-size:21px; }
.news-history-item { border-bottom:1px solid var(--news-line); padding:14px 0; }
.news-history-item > summary { cursor:pointer; font-size:14px; line-height:1.6; }
.news-history-item .news-article { padding-top:22px; }
.news-article .news-checks { list-style:none; padding:0; display:grid; gap:15px; margin:15px 0 23px; font-size:15px; line-height:1.65; color:var(--news-muted); }
.news-source-list { display:grid; gap:10px; padding:0; margin:12px 0 22px; list-style:none; }
.news-source-list a { font-size:13px; color:var(--news-green); }
.news-aside { padding-top:6px; }
.news-aside h3 { margin:0 0 12px; font-size:14px; }
.news-aside p { color:var(--news-muted); font-size:13px; line-height:1.7; margin:0; }
.news-aside-note { border-left:3px solid #91b9a5; padding-left:17px; margin-bottom:32px; }
.news-related-links { display:grid; margin-bottom:30px; }
.news-related-links a { display:flex; justify-content:space-between; gap:12px; min-height:49px; padding:13px 0; border-bottom:1px solid var(--news-line); color:var(--news-ink); font-size:13px; line-height:1.5; text-decoration:none; }
.news-related-links a:hover { color:var(--news-blue); }
.news-topics { display:flex; gap:7px; flex-wrap:wrap; margin-top:13px; }
.news-topics span { padding:3px 9px; border:1px solid var(--news-line); border-radius:999px; color:var(--news-muted); font-size:11px; }
.news-footer { padding:24px 0 34px; border-top:1px solid var(--news-line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; }
.news-footer p { margin:0; color:var(--news-muted); font-size:12px; }
.news-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.news-footer a { color:var(--news-muted); font-size:12px; text-decoration:none; }
.news-article .news-jurisdiction { margin-top:23px; font-size:12px; line-height:1.65; }
@media(max-width:800px) {
  .monthly-news { gap:14px; flex-wrap:wrap; padding:18px 48px 18px 18px; }
  .monthly-news-copy { flex:1 1 calc(100% - 58px); }
  .monthly-news .news-preview-link { margin-left:56px; }
  .monthly-news-dismiss { top:5px; right:4px; transform:none; }
  .news-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  .news-aside { border-top:1px solid var(--news-line); padding-top:26px; }
  .news-page .news-header { padding:10px 20px; }
}
@media(max-width:520px) {
  .monthly-news { margin-top:20px; gap:12px; padding:17px 16px; align-items:flex-start; }
  .monthly-news .news-symbol { width:34px; height:34px; border-radius:9px; }
  .monthly-news .news-symbol svg { width:20px; height:20px; }
  .monthly-news-copy { flex:1 1 calc(100% - 46px); padding-right:21px; }
  .monthly-news .news-eyebrow { font-size:10px; margin-bottom:7px; }
  .monthly-news .monthly-news-title { font-size:15px; line-height:1.45; }
  .monthly-news .monthly-news-description { font-size:12px; margin-top:7px; }
  .monthly-news .news-preview-link { margin:2px 0 0 46px; padding:10px 14px; font-size:12px; }
  .home-refresh .monthly-news + .hero { padding-top:30px; }
  .news-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:18px; }
  .news-dialog-head { padding:11px 15px; }
  .news-dialog-body { padding:22px 22px 14px; }
  .news-dialog .news-dialog-title { font-size:25px; }
  .news-dialog p { font-size:14px; }
  .news-dialog-actions { padding:13px 22px 21px; flex-wrap:wrap; gap:10px; }
  .news-dialog-actions .news-button { flex:1; font-size:13px; padding:11px 14px; }
  .news-dialog-actions .news-button-secondary { flex:0 0 auto; }
  .news-page .news-header { gap:8px; flex-wrap:wrap; padding:8px 16px; }
  .news-brand { width:169px; height:40px; }
  .news-brand img { width:180px; height:180px; transform:translate(-11px,-70px); }
  .news-nav { gap:0; }
  .news-nav a { font-size:12px; padding:8px 11px; }
  .news-nav .news-nav-create { display:none; }
  .news-wrap { width:calc(100% - 40px); }
  .news-breadcrumb { margin:22px 0; }
  .news-page-intro { padding-bottom:26px; }
  .news-page h1 { font-size:35px; }
  .news-page-intro > p:last-child { font-size:14px; }
  .news-layout { padding-top:27px; }
  .news-page h2 { font-size:26px; }
  .news-article p, .news-article .news-checks { font-size:14px; }
  .news-current-index { padding:17px; gap:16px; align-items:flex-start; }
  .news-current-index .news-value { font-size:32px; }
  .news-current-index > div:last-child { text-align:right; }
  .news-current-index .news-index-caption { font-size:11px; }
  .news-footer { align-items:flex-start; }
}
@media(max-width:360px) { .news-current-index { flex-direction:column; gap:10px; } .news-current-index > div:last-child { text-align:left; } .news-dialog .news-dialog-title { font-size:23px; } }
:root[data-theme="dark"] :is(.monthly-news,.news-dialog,.news-page) { --news-ink:#deebf6; --news-muted:#b0c2d3; --news-line:#3a5063; --news-green:#a6d2c1; --news-soft:#203b37; --news-surface:#172c40; --news-bg:#102235; --news-blue:#99c4ff; }
:root[data-theme="dark"] .monthly-news { background:linear-gradient(110deg,#203b37,#172c40); border-color:#3a5c52; }
:root[data-theme="dark"] :is(.news-symbol,.news-month,.news-current-index) { background:var(--news-soft); border-color:#406054; }
:root[data-theme="dark"] .news-preview-link:hover { background:#2b4a40; }
:root[data-theme="dark"] .news-increase { background:#2a4d3d; }
:root[data-theme="dark"] .news-button { color:#102235; }
:root[data-theme="dark"] .news-button-secondary { color:var(--news-muted); }
@media(prefers-reduced-motion:reduce) { .news-dialog::backdrop { backdrop-filter:none; } }
@media print { .monthly-news,.news-dialog,.news-header,.news-aside,.news-footer { display:none !important; } .news-layout { display:block; } .news-wrap { width:100%; } }
