/* Roboto servie depuis ce site (sous-ensemble latin, variable 100-900) : aucune requete vers Google */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 100 900; font-stretch: 100%; font-display: swap; src: url(fonts/roboto-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* PacketNebula : styles globaux. Fort contraste, accent bleu, jamais de jaune. */
:root { --pn-accent: #1d63d1; --pn-accent-ink: #0f4aa8; --pn-line: #d8dee7; --pn-soft: #f4f7fb; --pn-ink: #111826; --pn-mute: #4a5568; }

/* ---------- Colonne de droite ---------- */
.pn-side-list { list-style: none; margin: 0; padding: 0; }
.pn-side-list li { border-bottom: 1px solid var(--pn-line); }
.pn-side-list li:last-child { border-bottom: 0; }
.pn-side-list a { display: block; padding: .55em 0; font-weight: 600; color: var(--pn-ink); text-decoration: none; }
.pn-side-list a:hover { color: var(--pn-accent); }
.pn-side-more { margin: .7em 0 0; font-size: .92em; }
.pn-side-more a { font-weight: 700; color: var(--pn-accent-ink); }
.pn-side-author { margin: 0; line-height: 1.55; color: var(--pn-mute); font-size: .95em; }
.pn-side-author strong { color: var(--pn-ink); }

/* ---------- Bandeau de consentement ---------- */
#pn-consent[hidden] { display: none; }
#pn-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999; background: #fff; color: var(--pn-ink); border-top: 3px solid var(--pn-accent); box-shadow: 0 -8px 30px rgba(16, 24, 40, .18); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
#pn-consent .pn-consent-in { max-width: 1170px; margin: 0 auto; padding: 16px 20px; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
#pn-consent .pn-consent-title { flex: 0 0 100%; margin: 0; font-weight: 800; font-size: 1.05em; }
#pn-consent .pn-consent-text { flex: 1 1 520px; margin: 0; color: var(--pn-mute); }
#pn-consent .pn-consent-text a { color: var(--pn-accent-ink); font-weight: 700; text-decoration: underline; }
#pn-consent .pn-consent-opts { flex: 0 0 100%; display: flex; flex-wrap: wrap; gap: 8px 24px; }
#pn-consent .pn-consent-opts label { font-weight: 600; cursor: pointer; }
#pn-consent .pn-consent-btns { display: flex; flex-wrap: wrap; gap: 8px; }
/* Refuser et Accepter ont strictement le meme poids visuel (exigence CNIL) */
#pn-consent button { min-width: 120px; padding: 10px 16px; font: inherit; font-weight: 700; color: var(--pn-accent-ink); background: #fff; border: 2px solid var(--pn-accent-ink); border-radius: 6px; cursor: pointer; }
#pn-consent button:hover, #pn-consent button:focus-visible { background: var(--pn-accent-ink); color: #fff; outline: none; }
#pn-consent button[hidden] { display: none; }
@media (max-width: 600px) { #pn-consent .pn-consent-in { padding: 12px 14px; } #pn-consent button { flex: 1 1 30%; min-width: 0; padding: 10px 6px; } }

/* L'attribut hidden doit gagner contre display:flex */
#pn-consent .pn-consent-opts[hidden] { display: none; }

/* Pas de boutons de partage sur les pages (confidentialite, mentions legales, contact...) */
body.page .jeg_share_top_container, body.page .jeg_share_bottom_container { display: none; }

/* Bandeau de consentement : compact sur mobile */
@media (max-width: 600px) {
  #pn-consent { font-size: 13.5px; line-height: 1.4; }
  #pn-consent .pn-consent-in { padding: 10px 12px; gap: 6px 12px; }
  #pn-consent .pn-consent-title { display: none; }
  #pn-consent .pn-consent-text { flex-basis: 100%; }
  #pn-consent .pn-consent-btns { width: 100%; flex-wrap: nowrap; }
  #pn-consent button { flex: 1 1 0; min-height: 40px; padding: 6px 4px; font-size: 14px; white-space: nowrap; }
}

/* ---------- Accueil ---------- */
body.home .jeg_sidebar { display: none; }
body.home .jeg_content .jeg_main_content, body.home .jeg_content .jeg_main_content .jeg_inner_content { max-width: 100%; flex: 0 0 100%; width: 100%; }
body.home .jeg_breadcrumbs, body.home #breadcrumbs { display: none; }
body.home .entry-header .jeg_post_title { font-size: 2.35em; line-height: 1.15; max-width: 22em; }
body.home .jeg_share_top_container, body.home .jeg_share_bottom_container, body.home .jeg_meta_container { display: none; }
.pn-home .pn-sub { font-size: 1.22em; line-height: 1.55; color: var(--pn-mute); max-width: 42em; margin: 0 0 .6em; }
.pn-home .pn-cta { margin: 0 0 2.2em; }
.pn-home .pn-cta a { display: inline-block; margin: .5em .7em 0 0; padding: .8em 1.4em; border-radius: 6px; font-weight: 800; text-decoration: none; border: 2px solid var(--pn-accent-ink); }
.pn-home .pn-cta a.primary { background: var(--pn-accent-ink); color: #fff; }
.pn-home .pn-cta a.secondary { background: #fff; color: var(--pn-accent-ink); }
.pn-home .pn-cta a:hover { filter: brightness(1.1); }
.pn-home h2 { margin: 1.8em 0 .6em; }
.pn-home .pn-lead { margin: -.3em 0 1.1em; color: var(--pn-mute); }
.pn-home .pn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 14px; margin: 0; }
.pn-home .pn-card { display: flex; flex-direction: column; gap: .35em; padding: 1em 1.1em; border: 1px solid var(--pn-line); border-left: 4px solid var(--pn-accent); border-radius: 8px; background: var(--pn-soft); color: var(--pn-ink); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.pn-home .pn-card:hover { box-shadow: 0 6px 22px rgba(16, 24, 40, .12); transform: translateY(-2px); }
.pn-home .pn-card strong { font-size: 1.04em; color: var(--pn-ink); }
.pn-home .pn-card span { font-size: .92em; line-height: 1.5; color: var(--pn-mute); }
.pn-home .pn-more { margin: .9em 0 0; font-weight: 700; }
.pn-home .pn-more a { color: var(--pn-accent-ink); }
.pn-home .pn-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.pn-home .pn-trust div { display: flex; flex-direction: column; gap: .35em; padding-top: .8em; border-top: 3px solid var(--pn-accent); }
.pn-home .pn-trust span { color: var(--pn-mute); line-height: 1.55; }
.pn-home .pn-trust a { color: var(--pn-accent-ink); font-weight: 700; }
@media (max-width: 600px) { body.home .entry-header .jeg_post_title { font-size: 1.7em; } }

/* ---------- Accessibilite : contrastes (WCAG AA) et liens distinguables ---------- */
.jeg_post_meta, .jeg_post_meta a, .jeg_meta_author .meta_text, .jeg_meta_date a, .jeg_breadcrumbs, .jeg_breadcrumbs a, #breadcrumbs, #breadcrumbs a,
.jeg_prevnext_post .caption, .jeg_author_desc, .jeg_footer_bottom .copyright, .jeg_footer .copyright, .jeg_footer_content, .jeg_postblock .jeg_post_meta { color: #4a5568 !important; }
.jeg_breadcrumbs a:hover, .jeg_post_meta a:hover { color: var(--pn-accent-ink) !important; }
.pn-content p a, .pn-content li a, .pn-content td a, .jeg_authorbox p a { text-decoration: underline; text-underline-offset: 2px; }
.pn-home .pn-card, .pn-home .pn-cta a, .pn-home .pn-more a, .pn-side-list a { text-decoration: none; }
ul.jeg_menu_footer li a { display: inline-block; padding: 8px 6px; }

/* ---------- Tableaux de reference (trackers) ---------- */
.pn-content .pn-table-wrap { overflow-x: auto; margin: 1.4em 0; border: 1px solid var(--pn-line); border-radius: 8px; -webkit-overflow-scrolling: touch; }
.pn-content table.pn-table { width: 100%; min-width: 640px; border-collapse: collapse; margin: 0; font-size: .92em; line-height: 1.45; }
.pn-content table.pn-table caption { caption-side: top; text-align: left; padding: .8em 1em; font-weight: 700; background: var(--pn-soft); border-bottom: 1px solid var(--pn-line); }
.pn-content table.pn-table th, .pn-content table.pn-table td { border: 0; border-bottom: 1px solid var(--pn-line); padding: .65em .8em; text-align: left; vertical-align: top; }
.pn-content table.pn-table thead th { background: var(--pn-soft); font-weight: 700; white-space: nowrap; position: sticky; top: 0; }
.pn-content table.pn-table tbody tr:last-child td { border-bottom: 0; }
.pn-content table.pn-table td a { font-weight: 600; }
.pn-content .pn-status { display: inline-block; padding: .08em .5em; border-radius: 99px; font-size: .84em; font-weight: 700; white-space: nowrap; border: 1px solid currentColor; }
.pn-content .pn-status.ok { color: #0b6b3a; } .pn-content .pn-status.reported { color: #8a4b00; } .pn-content .pn-status.announced { color: #1d4ed8; } .pn-content .pn-status.rumour { color: #6b21a8; }

/* ---------- Listes compactes (archive) ---------- */
.pn-hub-list { list-style: none; margin: 1em 0; padding: 0; columns: 1; }
.pn-hub-list li { padding: .5em 0; border-bottom: 1px solid var(--pn-line); display: flex; gap: 1em; justify-content: space-between; align-items: baseline; }
.pn-hub-list a { font-weight: 600; color: var(--pn-ink); text-decoration: none; }
.pn-hub-list a:hover { color: var(--pn-accent); }
.pn-hub-list time { flex: 0 0 auto; font-size: .85em; color: var(--pn-mute); white-space: nowrap; }

/* Trackers : cartes du hub */
.pn-tracker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin: 1.2em 0 1.8em; }
.pn-tracker-card { display: flex; flex-direction: column; gap: .45em; padding: 1.1em 1.2em; border: 1px solid var(--pn-line, #d7dde8); border-left: 4px solid var(--pn-accent, #1d63d1); border-radius: 8px; background: var(--pn-soft, #f4f7fc); color: var(--pn-ink, #101828); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.pn-tracker-card:hover { box-shadow: 0 6px 22px rgba(16, 24, 40, .12); transform: translateY(-2px); }
.pn-tracker-card strong { font-size: 1.08em; }
.pn-tracker-desc { font-size: .93em; line-height: 1.5; color: var(--pn-mute, #4a5568); }
.pn-tracker-meta { font-size: .85em; font-weight: 700; color: var(--pn-accent-ink, #0f4aa8); }

/* Pas de comptes lecteurs : le lien Login du bandeau est masque */
.jeg_nav_item.jeg_nav_account, .jeg_aside_item .jeg_accountlink, .jeg_mobile_wrapper .jeg_navbar_mobile .jeg_nav_account { display: none !important; }

/* Tableaux larges (8 colonnes ou plus) : on laisse defiler plutot que de couper les mots */
.pn-content table.pn-table th, .pn-content table.pn-table td { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.pn-content table.pn-table:has(th:nth-child(8)) { min-width: 1180px; }
.pn-content table.pn-table:has(th:nth-child(6)) { min-width: 900px; }
.pn-content .pn-table-wrap { max-width: 100%; }

/* Mises a jour et corrections datees en bas d'un article */
.pn-content .pn-correction { margin: 1.6em 0; padding: .9em 1.1em; border-left: 4px solid var(--pn-accent); background: var(--pn-soft); border-radius: 0 8px 8px 0; font-size: .96em; line-height: 1.55; }
.pn-content .pn-updated { margin-top: 1.6em; color: var(--pn-mute); font-size: .92em; }

/* Accueil : le premier titre (dernieres news) colle au haut de la page */
.pn-home h2.pn-first { margin-top: .2em; }

/* Credit de l'image mise en avant */
.pn-credit { margin: -.4em 0 1.2em; font-size: .82em; color: var(--pn-mute); }
.pn-credit a { color: inherit; text-decoration: underline; }
