/* CC 2026 — journal articles, using the shared POP-minimal tokens.
   Ordinary editor-facing cc-news-* HTML, editorial content and routes stay intact.
   This marker covers the news category tree, not static event/formation pages. */
body .cc-news-article {
    color: var(--cc-text);
    --cc-donation-ink: var(--cc-text);
    --cc-donation-purple: var(--cc-text-heading);
    --cc-donation-purple-dark: var(--cc-text-heading);
    --cc-donation-mint: var(--cc-primary);
    --cc-donation-lilac: var(--cc-background-alt);
    --cc-donation-line: var(--cc-border);
}

/* One editorial column for the title, text, metadata and full-width media.
   The extra news-page selector supersedes the inherited 58/60/72 rem variants. */
body.view-article .com-content-article.cc-news-article,
body.cc-home-news.view-article .com-content-article.cc-news-article {
    width: min(100%, 68rem);
    max-width: 68rem;
    margin-inline: auto;
    padding-inline: 0;
}
body.view-article .com-content-article.cc-news-article > .cc-news-title:has(:is(h1, h2)),
body.cc-home-news.view-article .com-content-article.cc-news-article > .cc-news-title:has(:is(h1, h2)),
body.view-article .com-content-article.cc-news-article > :is(.cc-news-information, .article-info, .item-image, .cc-news-teaser, .com-content-article__body, .tags),
body.cc-home-news.view-article .com-content-article.cc-news-article > :is(.cc-news-information, .article-info, .item-image, .cc-news-teaser, .com-content-article__body, .tags) {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0;
    padding-inline: 0;
}
body.view-article .cc-news-article .cc-news-body,
body.view-article .cc-news-article .com-content-article__body > .cc-news-teaser:not(.cc-donation-news-teaser),
body.view-article .cc-news-article .cc-news-body > * {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0;
}
body.view-article .cc-news-article .com-content-article__body > .cc-news-teaser:not(.cc-donation-news-teaser),
body.view-article .cc-news-article > .cc-news-teaser,
body.view-article .cc-news-article .cc-news-body :is(.cc-news-copy, .cc-news-section, .cc-news-notice, .cc-news-meta, .cc-news-quote) {
    padding-inline: 0;
    border-left: 0;
    border-right: 0;
}
body.view-article .cc-news-article .cc-news-body--standard .cc-news-section > h2:first-child {
    padding-inline: 0;
}
body.view-article .cc-news-article .cc-news-body--standard .cc-news-section > h2:first-child::before {
    display: none;
}

/* The article title stays neutral; the journal label carries the news accent. */
body .cc-news-article > .cc-news-title :is(h1, h2),
body.cc-home-news.view-article .com-content-article.cc-news-article:has(.cc-news-body) > .page-header :is(h1, h2) {
    color: var(--cc-text-heading);
    font-weight: var(--cc-weight-title);
    letter-spacing: -.02em;
    line-height: 1.12;
}
body .cc-news-article > .cc-news-title::before,
body .cc-news-article:has(.cc-news-body--standard) > .cc-news-title::before,
body.cc-home-news.view-article .com-content-article.cc-news-article:has(.cc-news-body--standard) > .page-header:has(h2)::before {
    content: "Le journal";
    display: block;
    margin-bottom: .7rem;
    color: var(--cc-news-text);
    font-size: .7rem;
    font-weight: var(--cc-weight-nav);
    letter-spacing: .1em;
    text-transform: uppercase;
}
body .cc-news-article :is(.cc-news-body, .cc-news-teaser) {
    color: var(--cc-text);
    font-weight: var(--cc-weight-body);
}
body .cc-news-article .cc-news-body strong {
    color: inherit;
    font-weight: var(--cc-weight-title);
}
body .cc-news-article .cc-news-body :is(h1, h2, h3, h4, h5, h6) {
    color: var(--cc-text-heading);
    font-weight: var(--cc-weight-title);
    letter-spacing: -.015em;
    line-height: 1.22;
}
body .cc-news-article .cc-news-body :is(h1, h2, h3, h4, h5, h6) strong {
    color: inherit;
    font-weight: inherit;
}
body .cc-news-article .cc-news-heading,
body .cc-news-article .cc-news-body h2 {
    color: var(--cc-black);
    border-bottom-color: var(--cc-border);
}
body .cc-news-article .cc-news-body a:not(.cc-news-button, .cc-donation-primary) {
    color: var(--cc-news-text);
    font-weight: var(--cc-weight-nav);
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}
body .cc-news-article .cc-news-body a:not(.cc-news-button, .cc-donation-primary):is(:hover, :focus-visible) {
    color: var(--cc-text-heading);
}
body .cc-news-article .com-content-article__body > .cc-news-teaser:not(.cc-donation-news-teaser) {
    color: var(--cc-text);
    border-left-color: var(--cc-news);
}
body .cc-news-article > .cc-news-teaser {
    color: var(--cc-text);
    background: var(--cc-background-alt);
    border-color: var(--cc-border);
    border-left-color: var(--cc-news);
    border-radius: var(--cc-radius-md);
    box-shadow: none;
    font-weight: var(--cc-weight-body);
}
body .cc-news-article .cc-news-section {
    background: var(--cc-white);
    border-color: var(--cc-border);
    border-radius: var(--cc-radius-md);
    box-shadow: none;
}
body .cc-news-article .cc-news-body--standard .cc-news-section > h2:first-child {
    border-bottom-color: transparent;
}
body .cc-news-article .cc-news-body--standard .cc-news-section > h2:first-child::before {
    background: var(--cc-news);
}
body .cc-news-article :is(.cc-news-media, .cc-news-body--standard > .cc-news-image:first-child, .item-image) {
    background: var(--cc-white);
    border-color: var(--cc-border);
    border-radius: var(--cc-radius-md);
    box-shadow: none;
}
body .cc-news-article .cc-news-video {
    background: var(--cc-text-heading);
    border-radius: var(--cc-radius-md);
    box-shadow: none;
}
body .cc-news-article .cc-news-list li::marker,
body .cc-news-article .cc-news-body li::marker { color: var(--cc-red); }
body .cc-news-article :is(.cc-news-notice, .cc-news-meta, .cc-news-quote) {
    color: var(--cc-text);
    background: var(--cc-background-alt);
    border-color: var(--cc-border);
    border-left-color: var(--cc-coral);
    border-radius: var(--cc-radius-sm);
    box-shadow: none;
    font-weight: var(--cc-weight-body);
}
body .cc-news-article .cc-news-program { border-top-color: var(--cc-yellow); }
body .cc-news-article .cc-news-table :is(th, td),
body .cc-news-article .cc-news-audio { border-color: var(--cc-border); }
body .cc-news-article .cc-news-table th {
    color: var(--cc-text-heading);
    background: var(--cc-background-alt);
    font-weight: var(--cc-weight-title);
}

/* Joomla's native metadata/tags keep distinct roles without extra chrome. */
body .cc-news-article > :is(.cc-news-information, .article-info) {
    color: var(--cc-text-muted);
    border-bottom-color: var(--cc-border);
    font-weight: var(--cc-weight-body);
}
body .cc-news-article .cc-news-information .article-info :is(.category-name, .parent-category-name) {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .38rem .7rem;
    color: var(--cc-purple);
    background: var(--cc-purple-soft);
    border: 1px solid transparent;
    border-radius: var(--cc-radius-button);
    box-shadow: none;
    font-size: .75rem;
    font-weight: var(--cc-weight-nav);
    line-height: 1.45;
}
body .cc-news-article .cc-news-information .article-info :is(a, .icon-fw) {
    color: inherit;
    font-weight: var(--cc-weight-nav);
}
body .cc-news-article .cc-news-information .article-info :is(.category-name, .parent-category-name) a,
body .cc-news-article .cc-news-information .article-info :is(.category-name, .parent-category-name) a:is(:hover, :focus-visible, :active) {
    text-decoration: none;
}
body .cc-news-article ul.tags.list-inline a.btn,
body .cc-news-article .cc-news-information ul.tags.list-inline a.btn {
    color: var(--cc-news-text);
    background: var(--cc-news-soft);
    border-color: transparent;
    border-radius: var(--cc-radius-button);
    box-shadow: none;
    font-weight: var(--cc-weight-nav);
}
body .cc-news-article ul.tags.list-inline a.btn::before,
body .cc-news-article .cc-news-information ul.tags.list-inline a.btn::before { color: currentColor; }
body .cc-news-article ul.tags.list-inline a.btn:is(:hover, :focus-visible),
body .cc-news-article .cc-news-information ul.tags.list-inline a.btn:is(:hover, :focus-visible) {
    color: var(--cc-news-text);
    background: var(--cc-white);
    border-color: var(--cc-news-text);
    box-shadow: none;
    transform: none;
}

/* Simple action hierarchy: dark primary, white secondary, text-only quiet. */
body .cc-news-article .cc-news-button {
    color: var(--cc-text-heading) !important;
    background: var(--cc-white);
    border-color: var(--cc-button-secondary-border);
    border-radius: var(--cc-radius-button);
    font-weight: var(--cc-weight-title) !important;
    letter-spacing: 0;
    box-shadow: none;
}
body .cc-news-article .cc-news-button:is(:hover, :focus-visible) {
    color: var(--cc-text-heading) !important;
    background: var(--cc-background-alt);
    border-color: var(--cc-border-control);
    transform: none;
}
body .cc-news-article .cc-news-button--primary {
    color: var(--cc-white) !important;
    background: var(--cc-blue-accessible);
    border-color: var(--cc-blue-accessible);
}
body .cc-news-article .cc-news-button--primary:is(:hover, :focus-visible) {
    color: var(--cc-white) !important;
    background: var(--cc-black);
    border-color: var(--cc-black);
}
body .cc-news-article .cc-news-button--quiet {
    color: var(--cc-news-text) !important;
    background: transparent;
    border-color: transparent;
}
body .cc-news-article .cc-news-button--quiet:is(:hover, :focus-visible) {
    color: var(--cc-news-text) !important;
    background: var(--cc-news-soft);
    border-color: transparent;
}

/* Back/previous/next are navigation, not large coloured calls to action. */
body .cc-news-article :is(.cc-article-hub-nav__link, .cc-article-navigation__link) {
    color: var(--cc-text-heading);
    background: var(--cc-white);
    border-color: var(--cc-border);
    border-radius: var(--cc-radius-sm);
    font-weight: var(--cc-weight-nav);
    box-shadow: none;
}
body .cc-news-article .cc-article-hub-nav__link { border-radius: var(--cc-radius-button); }
body .cc-news-article .cc-article-hub-nav__link--context { background: var(--cc-background-alt); }
body .cc-news-article :is(.cc-article-hub-nav__arrow, .cc-article-navigation__label) {
    color: var(--cc-text-muted);
    font-weight: var(--cc-weight-nav);
}
body .cc-news-article .cc-article-navigation__title { font-weight: var(--cc-weight-title); }
body .cc-news-article .cc-article-navigation__icon {
    color: var(--cc-text-heading);
    background: transparent;
    border-color: transparent;
    border-radius: 0;
}
body .cc-news-article .cc-article-navigation { border-top-color: var(--cc-border); }
body .cc-news-article :is(.cc-article-hub-nav__link, .cc-article-navigation__link):is(:hover, :focus-visible) {
    color: var(--cc-text-heading);
    background: var(--cc-background-alt);
    border-color: var(--cc-border-control);
    box-shadow: none;
    transform: none;
}
body .cc-news-article :is(.cc-article-hub-nav__link, .cc-article-navigation__link):is(:hover, :focus-visible) :is(.cc-article-hub-nav__arrow, .cc-article-navigation__label, .cc-article-navigation__icon) {
    color: var(--cc-text-heading);
    background: transparent;
}
body .cc-news-article :is(a, button):focus-visible {
    outline: 2px solid var(--cc-news-text);
    outline-offset: 3px;
    box-shadow: none;
}

/* Bespoke donation article: keep its photos/composition, simplify its panels. */
body .cc-news-article .cc-donation-article {
    --cc-donation-ink: var(--cc-text);
    --cc-donation-purple: var(--cc-text-heading);
    --cc-donation-purple-dark: var(--cc-text-heading);
    --cc-donation-mint: var(--cc-primary);
    --cc-donation-lilac: var(--cc-background-alt);
    --cc-donation-line: var(--cc-border);
}
body .cc-news-article .cc-donation-kicker {
    color: var(--cc-coral-text);
    font-weight: var(--cc-weight-nav);
    letter-spacing: .1em;
}
body .cc-news-article :is(.cc-donation-article-hero, .cc-donation-tax, .cc-donation-final) {
    color: var(--cc-on-photo-muted);
    background: var(--cc-text-heading);
    border-radius: var(--cc-radius-lg);
    box-shadow: none;
}
body .cc-news-article .cc-donation-article-hero figure::after {
    background: linear-gradient(90deg, var(--cc-text-heading), rgba(var(--cc-photo-shade), .12) 38%, rgba(var(--cc-photo-shade), .14));
}
body .cc-news-article .cc-donation-article-hero h2 {
    font-weight: var(--cc-weight-hero);
    letter-spacing: -.025em;
    line-height: 1.08;
}
body .cc-news-article :is(.cc-donation-impact h2, .cc-donation-how h2, .cc-donation-tax h2, .cc-donation-final strong) {
    font-weight: var(--cc-weight-title);
    letter-spacing: -.02em;
    line-height: 1.15;
}
body .cc-news-article .cc-donation-impact__grid article {
    color: var(--cc-text);
    background: var(--cc-white);
    border-color: var(--cc-border);
    border-radius: var(--cc-radius-md);
    box-shadow: none;
}
body .cc-news-article .cc-donation-impact__grid article > span {
    color: var(--cc-text-heading);
    background: var(--cc-yellow);
    border-radius: var(--cc-radius-sm);
}
body .cc-news-article .cc-donation-impact__grid h3 {
    color: var(--cc-text-heading);
    font-weight: var(--cc-weight-title);
    letter-spacing: -.015em;
}
body .cc-news-article .cc-donation-how > ol > li { border-radius: var(--cc-radius-md); }
body .cc-news-article .cc-donation-how > ol > li > span {
    color: var(--cc-text-heading);
    background: var(--cc-primary);
    border-radius: var(--cc-radius-sm);
    font-weight: var(--cc-weight-title);
}
body .cc-news-article :is(.cc-donation-how li p, .cc-donation-legal, .cc-donation-tax__examples span) {
    color: var(--cc-text-muted);
}
body .cc-news-article .cc-donation-tax__examples p {
    color: var(--cc-text-heading);
    background: var(--cc-white);
    border-radius: var(--cc-radius-sm);
}
body .cc-news-article .cc-donation-tax__examples :is(strong, b) {
    color: var(--cc-text-heading);
    font-weight: var(--cc-weight-title);
}
body .cc-news-article .cc-news-body.cc-donation-article :is(.cc-donation-article-hero__content, .cc-donation-tax > div:first-child, .cc-donation-final) :is(h2, h3, strong) {
    color: var(--cc-on-photo);
}
body .cc-news-article :is(.cc-donation-article-hero, .cc-donation-tax, .cc-donation-final) .cc-donation-kicker {
    color: var(--cc-primary-light);
}
body .cc-news-article .cc-news-body.cc-donation-article :is(.cc-donation-article-hero__content, .cc-donation-tax > div:first-child, .cc-donation-final) a:not(.cc-donation-primary) {
    color: var(--cc-primary-light);
}
body .cc-news-article .cc-news-body.cc-donation-article :is(.cc-donation-article-hero__content, .cc-donation-tax > div:first-child, .cc-donation-final) a:not(.cc-donation-primary):is(:hover, :focus-visible) {
    color: var(--cc-white);
}
body .cc-news-article .cc-donation-primary {
    color: var(--cc-text-heading) !important;
    background: var(--cc-white);
    border-color: var(--cc-white);
    border-radius: var(--cc-radius-button);
    font-weight: var(--cc-weight-title);
    box-shadow: none;
}
body .cc-news-article .cc-donation-primary:is(:hover, :focus-visible) {
    color: var(--cc-text-heading) !important;
    background: var(--cc-background-muted);
    border-color: var(--cc-background-muted);
    transform: none;
    box-shadow: none;
}
body .cc-news-article :is(.cc-donation-article-hero, .cc-donation-tax, .cc-donation-final) a:focus-visible {
    outline-color: var(--cc-white);
}
