/* Actualités : magazine B2B et vraie surface de lecture. Contenu issu du CMS.
   Cette feuille n'est chargée que sur la liste et les fiches d'actualités. */
.editorial-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.site-page.page-news .page-hero.editorial-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(1.8rem, 4.4vw, 4.5rem);
    margin-block: 1rem 2.2rem;
    border: 1px solid #213E7B;
    border-radius: 1.7rem;
    background: radial-gradient(ellipse at 100% 0, rgb(212 184 16 / 13%), transparent 55%), linear-gradient(125deg, #07163F, #112B75);
    box-shadow: var(--public-shadow-raised);
    color: #FFFFFF;
}
.editorial-hero > * { min-width: 0; }
.site-page.page-news .editorial-hero h1 { max-width: 18ch; color: #FFFFFF; font-size: clamp(2.8rem, 4.6vw, 5.2rem); line-height: 1.06; letter-spacing: -.055em; }
.site-page.page-news .editorial-hero h1 em { color: var(--jc-gold-light); }
.site-page.page-news .editorial-hero .eyebrow { color: var(--jc-gold-light); }
.site-page.page-news .editorial-hero .lead { max-width: 42rem; margin-bottom: 0; color: #DFE7F8; font-size: 1rem; }
.editorial-hero__aside { padding-left: clamp(1.3rem, 3vw, 3rem); border-left: 1px solid rgb(255 255 255 / 24%); }
.editorial-hero__edition { display: inline-flex; align-items: center; gap: .8rem; color: var(--jc-gold-light); font-size: .78rem; font-family: var(--font-display); }
.editorial-hero__edition .admin-icon { width: 1.5rem; height: 1.5rem; }
.editorial-hero__aside p { max-width: 18ch; margin-block: 1.4rem; font: 700 clamp(1.35rem, 2vw, 2rem)/1.3 var(--font-display); letter-spacing: -.03em; }
.editorial-hero__signature { display: block; max-width: 25ch; color: #DFE7F8; font-size: .77rem; }

.editorial-filter-panel { padding: 1.4rem 1.6rem; margin-bottom: 2.5rem; border: 1px solid var(--public-border); border-radius: 1.25rem; background: #FFFFFF; box-shadow: var(--public-shadow-soft); }
.editorial-filter-label { margin-bottom: .8rem; color: #4B5C78; font: 700 .74rem/1.4 var(--font-display); letter-spacing: .05em; }
.site-page.page-news .editorial-filter-panel .category-filters { gap: .6rem; margin: 0; }
.site-page.page-news .editorial-filter-panel .category-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem 1rem; border-color: #CAD5E5; border-radius: 999px; background: #F1F4F9; color: #18316C; font-size: .8rem; }
.site-page.page-news .editorial-filter-panel .category-filters a[aria-current="page"] { background: var(--jc-blue); border-color: var(--jc-blue); color: #FFFFFF; box-shadow: 0 4px 10px rgb(17 43 117 / 18%); }
.site-page.page-news .editorial-filter-panel .category-filters a:hover:not([aria-current]) { background: #E0E8F6; border-color: #A8B8D6; }
.editorial-list-header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.8rem; }
.editorial-list-header h2 { margin: 0; font-size: clamp(1.65rem, 2.4vw, 2.6rem); line-height: 1.3; }
.editorial-list-header p { flex-shrink: 0; margin: 0; color: #4B5C78; font-size: .8rem; }
.editorial-list-header p span { padding-inline: .6rem; color: #7B8FAE; }
.site-page.page-news .editorial-list .news-magazine { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; align-items: stretch; }
.site-page.page-news .editorial-list .news-magazine > .news-card { grid-column: auto; grid-row: auto; display: flex; flex-direction: column; }
.site-page.page-news .editorial-list .news-card .card-body { flex: 1; padding: clamp(1.2rem, 2vw, 2rem); }
.site-page.page-news .editorial-list .news-card h3 { font-size: clamp(1.25rem, 1.6vw, 1.7rem); line-height: 1.3; }
.site-page.page-news .editorial-list .news-card .card-body > p { color: #4B5C78; font-size: .9rem; line-height: 1.7; }
.site-page.page-news .editorial-list .news-card:not(.news-lead) > .media { height: 230px; min-height: 0; aspect-ratio: auto; }
.site-page.page-news .editorial-list .news-magazine > .news-lead:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    border-color: #A8B8D1;
}
.site-page.page-news .editorial-list .news-lead-visual { display: flex; align-items: center; min-width: 0; background: #07163F; }
.site-page.page-news .editorial-list .news-lead-visual > .media { width: 100%; height: 100%; min-height: 360px; max-height: 400px; aspect-ratio: auto; border-radius: 0; }
.site-page.page-news .editorial-list .news-magazine > .news-lead .card-body { justify-content: center; padding: clamp(1.5rem, 3.2vw, 3.5rem); }
.site-page.page-news .editorial-list .news-magazine > .news-lead h3 { max-width: 24ch; font-size: clamp(1.7rem, 2.4vw, 2.65rem); line-height: 1.22; letter-spacing: -.04em; }
.site-page.page-news .editorial-list .news-lead .news-card-footer { margin-top: 1rem; }
.site-page.page-news .editorial-list .media:not(.media-placeholder) > img { width: 100%; height: 100%; object-fit: cover; }
.editorial-empty { padding: clamp(2rem, 5vw, 4.5rem); }
.editorial-empty__icon { display: inline-grid; place-items: center; width: 4.5rem; height: 4.5rem; margin-bottom: 1.5rem; border: 1px solid #CBDAED; border-radius: 1.2rem; background: #EDF2FA; color: var(--jc-blue); }
.editorial-empty__icon .admin-icon { width: 2rem; height: 2rem; }
.editorial-empty h3 { font-size: clamp(1.5rem, 2.6vw, 2.5rem); }
.editorial-empty p { margin-inline: auto; max-width: 40ch; }

/* Fiche : en-tête, couverture, colonne de lecture et repères latéraux. */
.site-page.page-variant-article-detail .editorial-article { padding-top: 2rem; }
.site-page.page-variant-article-detail .editorial-heading {
    max-width: none;
    padding: clamp(1.5rem, 4vw, 4rem);
    margin: 0 0 1.7rem;
    border: 1px solid var(--public-border);
    border-top: 3px solid var(--jc-gold);
    border-radius: 1.5rem;
    background: #FFFFFF;
    box-shadow: var(--public-shadow-card);
    text-align: left;
}
.site-page.page-variant-article-detail .editorial-heading .eyebrow { margin-bottom: 1.4rem; }
.site-page.page-variant-article-detail .editorial-heading .card-meta { gap: .7rem 1rem; margin-bottom: 1.5rem; font-size: .8rem; }
.site-page.page-variant-article-detail .editorial-heading h1 { max-width: 24ch !important; font-size: clamp(2.2rem, 4.2vw, 4.7rem); line-height: 1.12; letter-spacing: -.05em; }
.site-page.page-variant-article-detail .editorial-heading .lead { max-width: 72ch; margin-bottom: 2rem; color: #485A76; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.8; }
.editorial-featured-label { color: #705C00; font: 700 .74rem var(--font-display); }
.editorial-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem 2.5rem; padding-top: 1.5rem; border-top: 1px solid #DCE3EE; }
.editorial-author, .editorial-reading-time { display: flex; align-items: center; gap: .8rem; color: #4B5C78; font-size: .72rem; line-height: 1.5; }
.editorial-byline strong { display: block; margin-top: .15rem; color: #18316C; font-family: var(--font-display); font-size: .84rem; }
.editorial-author-mark { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; flex: 0 0 auto; border-radius: 50%; background: #EBF0F8; color: var(--jc-blue); }
.editorial-reading-time > .admin-icon { color: #6D5B05; }
.editorial-byline .editorial-start-reading { margin-left: auto; }
.site-page.page-variant-article-detail .editorial-cover { margin-bottom: 2.5rem; height: 400px; max-height: 400px; aspect-ratio: auto; border-color: var(--public-border); border-radius: 1.5rem; box-shadow: var(--public-shadow-card); }
.site-page.page-variant-article-detail .editorial-cover:not(.media-placeholder) > img { width: 100%; height: 100%; object-fit: cover; }
.editorial-reading-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 300px); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.editorial-main { grid-column: 1; grid-row: 1; min-width: 0; padding: clamp(1.3rem, 3.4vw, 3.5rem); border: 1px solid var(--public-border); border-radius: 1.5rem; background: #FFFFFF; box-shadow: var(--public-shadow-card); }
/* Un article peut avoir beaucoup de titres. La colonne doit rester entièrement
   accessible, y compris sur un ordinateur peu haut et au clavier. */
.editorial-aside { grid-column: 2; grid-row: 1; min-width: 0; position: sticky; top: 7rem; max-height: calc(100svh - 8.5rem); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; padding: .6rem .65rem 1.4rem; margin: -.6rem -.65rem 0; }
.editorial-toc { padding: 1.2rem; margin-bottom: 1.25rem; border: 1px solid var(--public-border); border-radius: 1.2rem; background: #FFFFFF; box-shadow: var(--public-shadow-soft); }
.editorial-toc summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; min-height: 44px; color: var(--jc-blue-dark); font: 700 .88rem var(--font-display); cursor: pointer; list-style: none; }
.editorial-toc summary::-webkit-details-marker { display: none; }
.editorial-toc[open] summary .admin-icon { transform: rotate(180deg); }
.editorial-toc ol { list-style: none; counter-reset: article-toc; padding: 1rem 0 0; margin: .7rem 0 0; border-top: 1px solid #DCE3EE; }
.editorial-toc li { counter-increment: article-toc; }
.editorial-toc a { display: flex; align-items: baseline; gap: .7rem; min-height: 44px; padding: .65rem .35rem; color: #445875; font-size: .8rem; line-height: 1.5; border-radius: .45rem; }
.editorial-toc a::before { content: counter(article-toc, decimal-leading-zero); color: #756200; font: 700 .65rem var(--font-display); flex: 0 0 auto; }
.editorial-toc a:hover, .editorial-toc a:focus-visible { color: var(--jc-blue); background: #EDF2FA; }
.editorial-toc-subheading a { padding-left: 1.3rem; }
.editorial-aside-card { padding: 1.5rem; border: 1px solid #1D3B7A; border-radius: 1.2rem; background: linear-gradient(140deg, #112B75, #07163F); color: #E2E9F8; box-shadow: var(--public-shadow-card); }
.editorial-aside-icon { display: inline-grid; place-items: center; width: 2.8rem; height: 2.8rem; margin-bottom: 1.3rem; border: 1px solid rgb(244 219 99 / 50%); border-radius: .8rem; color: var(--jc-gold-light); }
.editorial-aside-card .eyebrow { color: var(--jc-gold-light); font-size: .61rem; letter-spacing: .08em; }
.editorial-aside-card h2 { font-size: 1.55rem; line-height: 1.2; letter-spacing: -.035em; color: #FFFFFF; }
.editorial-aside-card > p:not(.eyebrow) { font-size: .83rem; line-height: 1.75; }
.editorial-aside-card .text-link { color: var(--jc-gold-light); font-size: .78rem; }
.editorial-aside-card a:focus-visible { outline-color: var(--jc-gold-light); }

/* Le contenu riche reste purifié par RichText : les éléments larges ne doivent
   pas élargir la page, même avec un tableau ou du code importé. */
.site-page.page-variant-article-detail .editorial-main .article-body { max-width: 70ch; margin: 0 0 2.5rem; color: #28364D; font-size: clamp(1rem, 1.3vw, 1.13rem); line-height: 1.9; }
.site-page.page-variant-article-detail .article-body :is(h2, h3, h4) { scroll-margin-top: 8rem; line-height: 1.3; }
.site-page.page-variant-article-detail .article-body h2 { margin-block: 2.7rem 1.2rem; font-size: clamp(1.5rem, 2.3vw, 2.15rem); letter-spacing: -.035em; }
.site-page.page-variant-article-detail .article-body h3 { font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
.site-page.page-variant-article-detail .article-body > :first-child { margin-top: 0; }
.article-body a { color: var(--jc-blue); text-decoration: underline; text-decoration-color: #A5B4D0; text-underline-offset: .2em; }
.article-body ul, .article-body ol { padding-left: 1.5rem; }
.article-body li { padding-block: .25rem; }
.article-body li::marker { color: #756200; }
.site-page.page-variant-article-detail .article-body blockquote { padding: clamp(1.2rem, 2.3vw, 2rem); margin-block: 2rem; border-left: 4px solid var(--jc-gold); border-radius: 0 1rem 1rem 0; background: #EDF2FA; color: var(--jc-blue); font-size: 1.05em; }
.article-body blockquote > :last-child { margin-bottom: 0; }
.site-page.page-variant-article-detail .article-body table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .86rem; line-height: 1.6; }
.article-body :is(td, th) { padding: .8rem; border: 1px solid #C9D6E8; overflow-wrap: anywhere; min-width: 6rem; }
.article-body th { background: #EDF2FA; color: var(--jc-blue); text-align: left; }
.site-page.page-variant-article-detail .article-body pre { max-width: 100%; overflow-x: auto; padding: 1.25rem; border: 1px solid #CCD8E8; border-radius: .8rem; background: #EDF2FA; color: #28364D; font-size: .85rem; }
.editorial-tags { margin-bottom: 2rem; padding-top: 1.5rem; border-top: 1px solid #DCE3EE; }
.editorial-tags .eyebrow { font-size: .63rem; }
.editorial-tags .tags > span { padding: .4rem .8rem; border: 1px solid #D0DCEC; border-radius: 999px; background: #EDF2FA; font-size: .77rem; }
.site-page.page-variant-article-detail .editorial-share { padding-block: 1.5rem; margin-bottom: 1.5rem; border-top: 2px solid var(--jc-gold); }
.editorial-share h2 { font-size: 1.2rem; letter-spacing: -.025em; }
.editorial-share .button-group { gap: .65rem; }
.site-page.page-variant-article-detail .editorial-share :is(a.text-link, button.text-link) { min-height: 44px; padding: .6rem .8rem; border: 1px solid #C7D5E8; border-radius: .6rem; background: #F1F5FB; font-size: .76rem; }
.editorial-share .copy-feedback:empty { margin: 0; }
.editorial-share .copy-feedback:not(:empty) { margin-block: 1rem 0; }
.site-page.page-variant-article-detail .editorial-next { padding: clamp(1.4rem, 2.5vw, 2.5rem); margin: 0 0 1.2rem; border: 1px solid #173671; border-radius: 1.15rem; background: linear-gradient(130deg, #07163F, #112B75); color: #E2E9F8; }
.editorial-next .eyebrow { color: var(--jc-gold-light); font-size: .65rem; }
.editorial-next h2 { max-width: 22ch; color: #FFFFFF; font-size: clamp(1.6rem, 2.3vw, 2.15rem); line-height: 1.25; letter-spacing: -.035em; }
.editorial-next p:not(.eyebrow) { font-weight: 400; font-size: .9rem; }
.editorial-next .text-link { color: #FFFFFF; margin-left: 0; }
.editorial-next .button-group { gap: .7rem 1.5rem; }
.editorial-next :is(a, button):focus-visible { outline-color: var(--jc-gold-light); }
.editorial-related .news-card .media:not(.media-placeholder) { height: 220px; aspect-ratio: auto; }

@media (max-width: 1100px) {
    .site-page.page-news .editorial-list .news-magazine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-page.page-news .editorial-list .news-lead-visual > .media { min-height: 270px; max-height: 400px; }
    .editorial-reading-grid { grid-template-columns: minmax(0, 1fr) minmax(220px, 260px); gap: 1.25rem; }
}
@media (max-width: 1199px) {
    .site-page.page-variant-article-detail .editorial-cover { height: 270px; max-height: 270px; }
}
@media (max-width: 900px) {
    .site-page.page-news .page-hero.editorial-hero { grid-template-columns: 1fr; gap: 2rem; }
    .editorial-hero__aside { padding: 1.4rem 0 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 24%); }
    .editorial-hero__aside p { max-width: none; margin-block: .8rem; font-size: 1.35rem; }
    .editorial-hero__signature { max-width: none; }
    .editorial-reading-grid { grid-template-columns: minmax(0, 1fr); }
    .editorial-aside, .editorial-main { grid-column: 1; grid-row: auto; }
    .editorial-aside { position: static; max-height: none; overflow: visible; padding: 0; margin: 0; }
    .editorial-aside--without-toc { display: none; }
    .editorial-aside-card { display: none; }
    .editorial-toc { margin-bottom: 0; }
}
@media (max-width: 600px) {
    .site-page.page-news .page-hero.editorial-hero { padding: 1.5rem; border-radius: 1.25rem; }
    .site-page.page-news .editorial-hero h1 { font-size: clamp(2.4rem, 10vw, 3.5rem); }
    .editorial-filter-panel { padding: 1.2rem; }
    .editorial-list-header { display: block; }
    .editorial-list-header p { margin-top: .5rem; }
    .site-page.page-news .editorial-list .news-magazine { grid-template-columns: 1fr; gap: 1.3rem; }
    .site-page.page-news .editorial-list .news-magazine > .news-lead:first-child { display: flex; grid-column: 1; }
    .site-page.page-news .editorial-list .news-lead-visual { height: 240px; }
    .site-page.page-news .editorial-list .news-lead-visual > .media { height: 100%; min-height: 0; max-height: 270px; }
    .site-page.page-news .editorial-list .news-magazine > .news-lead .card-body { padding: 1.4rem; }
    .site-page.page-variant-article-detail .editorial-article { padding-top: 1.3rem; }
    .site-page.page-variant-article-detail .editorial-heading { padding: 1.35rem; border-radius: 1.2rem; }
    .site-page.page-variant-article-detail .editorial-heading h1 { font-size: clamp(2rem, 8.5vw, 3rem); }
    .editorial-byline { gap: 1.2rem; }
    .editorial-byline .editorial-start-reading { width: 100%; margin-left: 0; }
    .site-page.page-variant-article-detail .editorial-cover { border-radius: 1.2rem; }
    .editorial-main { padding: 1.25rem; border-radius: 1.2rem; }
    .editorial-next .button-group { align-items: stretch; }
}
@media print {
    /* Imprimer immédiatement ne doit pas figer un reveal GSAP/WAAPI encore
       invisible. Les éléments volontairement masqués gardent display:none. */
    .site-page.page-news main, .site-page.page-news main * {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        clip-path: none !important;
        animation: none !important;
        transition: none !important;
    }
    .site-page.page-news :is(.site-header, .mobile-menu, .mobile-conversion, .whatsapp-float, .back-to-top) { display: none !important; }
    .site-page.page-news .news-lead-visual { background: #FFFFFF; }
    .site-page.page-news :is(.editorial-hero, .editorial-heading, .editorial-cover, .editorial-main, .editorial-toc, .editorial-aside-card, .editorial-next, .editorial-filter-panel) {
        background: #FFFFFF !important;
        color: #040404 !important;
        border-color: #CCCCCC !important;
        box-shadow: none !important;
        transition: none !important;
        animation: none !important;
    }
    .site-page.page-news :is(.editorial-hero, .editorial-aside-card, .editorial-next) :is(h1, h2, p, span, a, em) { color: #040404 !important; }
    .site-page.page-news .editorial-cover.media-placeholder > span { color: #040404; }
    .editorial-reading-grid { display: block; }
    .editorial-aside { position: static; max-height: none; overflow: visible; padding: 0; margin: 0 0 1.5rem; }
    .editorial-aside-card, .editorial-start-reading, .editorial-share, .editorial-next, .editorial-back { display: none !important; }
    .site-page.page-news :is(.editorial-share, .editorial-next) :is(a, button) { box-shadow: none !important; transition: none !important; animation: none !important; }
    .editorial-toc summary .admin-icon { display: none; }
    .editorial-main { padding: 0; border: 0; }
    .site-page.page-news .article-body pre { white-space: pre-wrap; overflow-wrap: anywhere; }
}
