/* CC 2026 — Projet subpages. Keep photos, timeline, fields and native markup.
   Scope to their existing menu classes so other sections/old template are untouched. */
body:is(.cc-history-page, .cc-teams-page, .cc-groups-page, .cc-join-page) .container-component {
    --cc-link: var(--cc-blue-accessible);
    --cc-link-hover: var(--cc-black);
    color: var(--cc-text);
}
body:is(.cc-history-page, .cc-teams-page, .cc-groups-page, .cc-join-page) .container-component a:focus-visible {
    outline: 2px solid var(--cc-black);
    outline-offset: 4px;
}

/* Shared photo introductions — natural photography and white overlapping copy. */
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero__media, .cc-groups-hero__media, .cc-join-hero__media) {
    background: var(--cc-background-alt);
    box-shadow: none;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero__content, .cc-groups-hero__content, .cc-join-hero__content) {
    color: var(--cc-text);
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero, .cc-groups-hero, .cc-join-hero) h1 {
    color: var(--cc-black);
    font-weight: 700;
    letter-spacing: -.025em;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) .cc-page-eyebrow {
    color: var(--cc-blue-accessible);
    font-weight: 600;
    letter-spacing: .08em;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero__content, .cc-groups-hero__content, .cc-join-hero__content) > p:not(.cc-page-eyebrow) {
    color: var(--cc-text);
    font-weight: var(--cc-weight-body);
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.6;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero__links, .cc-join-hero__links) a {
    color: var(--cc-black);
    background: var(--cc-white);
    border-color: var(--cc-border-control);
    border-radius: var(--cc-radius-button);
    font-weight: 600;
    box-shadow: none;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) :is(.cc-teams-hero__links, .cc-join-hero__links) a:is(:hover, :focus-visible) {
    color: var(--cc-black);
    background: var(--cc-background-alt);
    border-color: var(--cc-black);
    transform: none;
}
body.cc-teams-page .cc-teams-hero__links a.cc-teams-hero__cta {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
    box-shadow: none;
}
body.cc-teams-page .cc-teams-hero__links a.cc-teams-hero__cta:is(:hover, :focus-visible) {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
    box-shadow: none;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) .cc-page-cta {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
    border-radius: var(--cc-radius-button);
    font-weight: 600;
    box-shadow: none;
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) .cc-page-cta--outline {
    color: var(--cc-black);
    background: var(--cc-white);
    border-color: var(--cc-border-control);
}
body:is(.cc-teams-page, .cc-groups-page, .cc-join-page) .cc-page-cta:is(:hover, :focus-visible) {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
    box-shadow: none;
    transform: none;
}

/* Histoire keeps its photographic opening, overlapping chapter navigation,
   dates, continuous timeline and expressive pull quote. No geometry changes. */
body.cc-history-page .cc-history {
    --cc-history-plum: var(--cc-black);
    --cc-history-violet: var(--cc-purple);
    --cc-history-lilac: var(--cc-purple);
    --cc-history-copper: var(--cc-purple);
    --cc-history-ink: var(--cc-text);
    --cc-history-muted: var(--cc-text-secondary);
}
body.cc-history-page .cc-history-hero {
    background: var(--cc-black);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-history-page .cc-history-hero__veil {
    background: linear-gradient(90deg, rgb(0 0 0 / 94%) 0%, rgb(0 0 0 / 82%) 40%, rgb(0 0 0 / 25%) 72%, rgb(0 0 0 / 12%) 100%),
        linear-gradient(0deg, rgb(0 0 0 / 58%), transparent 55%);
}
body.cc-history-page :is(.cc-history-eyebrow, .cc-history-kicker) {
    color: var(--cc-purple);
    font-weight: 600;
    letter-spacing: .1em;
}
body.cc-history-page .cc-history-hero .cc-history-eyebrow {
    color: var(--cc-yellow);
}
body.cc-history-page .cc-history-hero h1 {
    color: var(--cc-white);
    font-weight: var(--cc-weight-hero);
    /* Preserve the original three-line composition at desktop width. */
    letter-spacing: -.035em;
}
body.cc-history-page :is(.cc-history-lead, .cc-history-markers dd) {
    color: var(--cc-white);
}
body.cc-history-page .cc-history-markers > div {
    border-color: var(--cc-blue);
}
body.cc-history-page .cc-history-markers > div:nth-child(2) {
    border-color: var(--cc-yellow);
}
body.cc-history-page .cc-history-markers > div:nth-child(3) {
    border-color: var(--cc-red);
}
body.cc-history-page .cc-history-markers dt {
    font-weight: 650;
}
body.cc-history-page .cc-history-nav {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
    backdrop-filter: none;
}
body.cc-history-page .cc-history-nav a {
    color: var(--cc-black);
    border-color: var(--cc-border);
    font-weight: 600;
}
body.cc-history-page .cc-history-nav a span {
    color: var(--cc-purple);
    font-weight: 600;
}
body.cc-history-page .cc-history-nav a:is(:hover, :focus-visible) {
    color: var(--cc-black);
    background: var(--cc-background-alt);
}
body.cc-history-page .cc-history-chapter::after {
    background: var(--cc-border);
}
body.cc-history-page .cc-history-chapter__date {
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-history-page .cc-history-chapter__date span {
    color: var(--cc-purple);
    font-weight: 650;
    letter-spacing: -.02em;
}
body.cc-history-page .cc-history-chapter__date small {
    color: var(--cc-text-secondary);
    font-weight: 600;
}
body.cc-history-page .cc-history-chapter__copy {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-history-page :is(.cc-history-chapter__copy, .cc-history-outro) h2 {
    color: var(--cc-black);
    font-weight: 600;
    letter-spacing: -.02em;
}
body.cc-history-page .cc-history-chapter__copy > p:not(.cc-history-kicker) {
    color: var(--cc-text);
}
body.cc-history-page .cc-history-outro {
    background: var(--cc-background-alt);
    border-color: var(--cc-border);
}
body.cc-history-page .cc-history-button {
    color: var(--cc-black);
    background: var(--cc-white);
    border-color: var(--cc-border-control);
    border-radius: var(--cc-radius-button);
    font-weight: 600;
}
body.cc-history-page .cc-history-button--primary {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
}
body.cc-history-page .cc-history-button:is(:hover, :focus-visible) {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
    box-shadow: none;
    transform: none;
}

/* Les équipes — portraits stay untouched, colour resides in the role labels. */
/* History editorial rhythm: compact dates, readable copy and a continuous axis. */
body.cc-history-page .cc-history-story {
    width: min(calc(100% - 2rem), 1050px);
    margin-inline: auto;
}
body.cc-history-page .cc-history-chapter {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 30px;
}
body.cc-history-page .cc-history-chapter + .cc-history-chapter { margin-top: 56px; }
body.cc-history-page .cc-history-quote + .cc-history-chapter { margin-top: 0; }
body.cc-history-page .cc-history-chapter::after {
    top: 32px;
    bottom: -56px;
    left: 51.5px;
    background: #E7E7E5;
}
body.cc-history-page .cc-history-chapter__date {
    padding: 13px 6px;
    background: #FFFFFF;
    border-color: #E7E7E5;
    box-shadow: none;
}
body.cc-history-page .cc-history-chapter__date span {
    color: #582583;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}
body.cc-history-page .cc-history-chapter__date small {
    color: #625F5B;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .025em;
}
body.cc-history-page .cc-history-chapter__copy {
    padding: 32px;
    box-shadow: none;
}
body.cc-history-page .cc-history-chapter__copy .cc-history-kicker {
    margin: 0 0 10px;
    color: #582583;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .06em;
}
body.cc-history-page .cc-history-chapter__copy h2 {
    margin: 0 0 18px;
    color: #161412;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.015em;
    text-wrap: balance;
}
body.cc-history-page .cc-history-chapter__copy > p:not(.cc-history-kicker) {
    max-width: 78ch;
    color: #625F5B;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    text-align: left;
}
body.cc-history-page .cc-history-chapter__copy > p:not(.cc-history-kicker) + p { margin-top: 15px; }
body.cc-history-page .cc-history-quote {
    margin: 48px 0 48px 134px;
    padding: 32px;
    overflow: visible;
    color: #161412;
    background: #FBF9FC;
    border: 1px solid #E7DFED;
    box-shadow: none;
}
body.cc-history-page .cc-history-quote::before {
    top: 28px;
    right: auto;
    bottom: 28px;
    left: 0;
    width: 3px;
    background: #582583;
    border-radius: 0 3px 3px 0;
    content: "";
}
body.cc-history-page .cc-history-quote::after {
    position: absolute;
    top: -48px;
    bottom: -48px;
    left: -83.5px;
    width: 1px;
    content: "";
    background: #E7E7E5;
}
body.cc-history-page .cc-history-quote p {
    color: #161412;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
}
@media (min-width: 768px) and (max-width: 1023.98px) {
    body.cc-history-page .cc-history-chapter { grid-template-columns: 90px minmax(0, 1fr); gap: 24px; }
    body.cc-history-page .cc-history-chapter::after { left: 44.5px; }
    body.cc-history-page .cc-history-chapter__copy { padding: 28px; }
    body.cc-history-page .cc-history-chapter__copy h2 { font-size: 26px; }
    body.cc-history-page .cc-history-quote { margin-left: 114px; padding: 28px; }
    body.cc-history-page .cc-history-quote::after { left: -70.5px; }
}
@media (max-width: 767.98px) {
    body.cc-history-page .cc-history-story { width: 100%; }
    body.cc-history-page .cc-history-chapter { display: block; padding-left: 18px; }
    body.cc-history-page .cc-history-chapter + .cc-history-chapter { margin-top: 48px; }
    body.cc-history-page .cc-history-chapter::after { top: 24px; bottom: -48px; left: 4px; }
    body.cc-history-page .cc-history-chapter__date {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        max-width: 100%;
        margin-bottom: 12px;
        padding: 10px 12px;
        background: #FFFFFF;
        border: 1px solid #E7E7E5;
        border-radius: 10px;
    }
    body.cc-history-page .cc-history-chapter__date::before {
        top: 50%;
        left: -18px;
        width: 9px;
        height: 9px;
        background: #582583;
        border: 2px solid #FFFFFF;
        transform: translateY(-50%);
    }
    body.cc-history-page .cc-history-chapter__date small { margin: 0; }
    body.cc-history-page .cc-history-chapter__copy { padding: 22px; }
    body.cc-history-page .cc-history-chapter__copy h2 { font-size: 24px; }
    body.cc-history-page .cc-history-chapter__copy .cc-history-kicker { font-size: 11px; }
    body.cc-history-page .cc-history-quote { margin: 40px 0 40px 18px; padding: 24px; }
    body.cc-history-page .cc-history-quote::after { top: -40px; bottom: -40px; left: -14.5px; }
    body.cc-history-page .cc-history-quote p { font-size: 20px; }
}

body.cc-teams-page :is([data-position="cc-main-top-02"], [data-position="cc-main-top-03"], [data-position="cc-main-top-04"], [data-position="cc-main-top-05"], [data-position="cc-main-top-07"], [data-position="cc-main-top-08"], [data-position="cc-main-top-11"], [data-position="cc-main-top-12"]) > .no-card {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-teams-page :is([data-position="cc-main-top-02"], [data-position="cc-main-top-03"], [data-position="cc-main-top-04"], [data-position="cc-main-top-05"], [data-position="cc-main-top-07"], [data-position="cc-main-top-08"], [data-position="cc-main-top-11"], [data-position="cc-main-top-12"]) > .no-card:hover {
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
    transform: none;
}
body.cc-teams-page .equipe-text-mod > p:first-child,
body.cc-teams-page .equipe-img.cc-team-placeholder {
    background: var(--cc-white);
}
/* These are informational cards, not interactive image previews. */
body.cc-teams-page .no-card .equipe-img,
body.cc-teams-page .no-card:hover .equipe-img {
    /* Override the more specific legacy zoom selectors in user.css. */
    transform: none !important;
    transition: none;
}
/* Match the frame to the doodles' 1080 × 640 ratio: no letterboxing or crop.
   The source-scoped rules stop applying when a manager selects a real photo. */
body.cc-teams-page .equipe-text-mod > p:first-child:has(> .cc-team-illustration[src*="/images/equipe/illustrations-temporaires/"]) {
    height: auto;
    aspect-ratio: 27 / 16;
}
body.cc-teams-page .equipe-img.cc-team-illustration[src*="/images/equipe/illustrations-temporaires/"] {
    padding: 0;
    object-fit: contain;
    object-position: center;
    background: var(--cc-white);
    transform: none;
}
body.cc-teams-page :is(.equipe-text-title, .cc-team-heading h2, .cc-volunteer-story h2) {
    color: var(--cc-black);
    font-weight: 600;
    letter-spacing: -.02em;
}
body.cc-teams-page .equipe-text-subtitle {
    color: #75716D;
    font-weight: 500;
}
body.cc-teams-page :is(.cc-team-heading, .cc-volunteer-story > div) > p:not(.cc-page-eyebrow),
body.cc-teams-page .equipe-intro-text,
body.cc-teams-page :is([data-position="cc-main-top-11"], [data-position="cc-main-top-12"]) .mod-custom > div:last-child {
    color: var(--cc-text-secondary);
}
body.cc-teams-page :is([data-position="cc-main-top-02"], [data-position="cc-main-top-03"], [data-position="cc-main-top-04"], [data-position="cc-main-top-05"], [data-position="cc-main-top-07"], [data-position="cc-main-top-08"], [data-position="cc-main-top-11"], [data-position="cc-main-top-12"]) .mod-custom > div:last-child {
    border-color: var(--cc-border);
}
body.cc-teams-page .cc-volunteer-story {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-teams-page .cc-volunteer-story figure {
    background: var(--cc-background-alt);
}

/* Annuaire — retain the soft departmental pills and the grouped timeline.
   Official hues are confined to small accents; cards and text stay neutral. */
body.cc-groups-page :is(.cc-groups-range-nav__link--tone-0, .cc-groups-range--tone-0) {
    --cc-range-accent: color-mix(in srgb, var(--cc-blue) 25%, var(--cc-blue-soft));
    --cc-range-soft: var(--cc-blue-soft);
    --cc-range-ink: var(--cc-blue-accessible);
    --cc-range-badge-ink: var(--cc-black);
}
body.cc-groups-page :is(.cc-groups-range-nav__link--tone-1, .cc-groups-range--tone-1) {
    --cc-range-accent: color-mix(in srgb, var(--cc-yellow) 25%, var(--cc-yellow-soft));
    --cc-range-soft: var(--cc-yellow-soft);
    --cc-range-ink: var(--cc-black);
    --cc-range-badge-ink: var(--cc-black);
}
body.cc-groups-page :is(.cc-groups-range-nav__link--tone-2, .cc-groups-range--tone-2) {
    --cc-range-accent: color-mix(in srgb, var(--cc-red) 20%, var(--cc-red-soft));
    --cc-range-soft: var(--cc-red-soft);
    --cc-range-ink: var(--cc-black);
    --cc-range-badge-ink: var(--cc-black);
}
body.cc-groups-page :is(.cc-groups-range-nav__link--tone-3, .cc-groups-range--tone-3) {
    --cc-range-accent: color-mix(in srgb, var(--cc-purple) 20%, var(--cc-purple-soft));
    --cc-range-soft: var(--cc-purple-soft);
    --cc-range-ink: var(--cc-purple);
    --cc-range-badge-ink: var(--cc-black);
}
body.cc-groups-page .cc-groups-range-nav {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: none;
}
body.cc-groups-page .cc-groups-range-nav__label {
    color: var(--cc-blue-accessible);
    font-weight: 600;
}
body.cc-groups-page .cc-groups-range-nav__link {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .cc-groups-range-nav__link small,
body.cc-groups-page .cc-groups-range-nav__link:is(:hover, :focus-visible) small {
    color: var(--cc-black);
    background: var(--cc-range-accent);
    font-weight: 600;
}
body.cc-groups-page .cc-groups-range-nav__link:is(:hover, :focus-visible) {
    color: var(--cc-black);
    background: var(--cc-white);
    border-color: var(--cc-black);
    transform: none;
}
body.cc-groups-page .cc-groups-range::before {
    background: var(--cc-border);
}
body.cc-groups-page .cc-groups-range__marker {
    box-shadow: 0 0 0 1px var(--cc-border);
}
body.cc-groups-page .cc-groups-range__marker strong,
body.cc-groups-page .cc-choir-department strong {
    font-weight: 650;
    letter-spacing: -.02em;
}
body.cc-groups-page .cc-groups-range__marker span,
body.cc-groups-page .cc-groups-range__heading :is(p, span),
body.cc-groups-page .cc-choir-department small {
    font-weight: 600;
}
body.cc-groups-page .cc-groups-range__heading h2 {
    color: var(--cc-black);
    font-weight: 600;
    letter-spacing: -.02em;
}
body.cc-groups-page .cc-groups-range__heading {
    border-color: var(--cc-border);
}
body.cc-groups-page .blog-item {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-groups-page .blog-item:is(:hover, :focus-within) {
    border-color: var(--cc-border-control);
    box-shadow: var(--cc-shadow-soft);
    transform: none;
}
body.cc-groups-page .cc-choir-department {
    box-shadow: none;
}
body.cc-groups-page .blog-item .page-header a {
    color: var(--cc-black);
    font-weight: 600;
    letter-spacing: -.01em;
}
body.cc-groups-page .blog-item .page-header a::before,
body.cc-groups-page .blog-item .page-header a::after {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .pagination .page-link {
    color: var(--cc-black);
    border-color: var(--cc-border);
    border-radius: var(--cc-radius-button) !important;
    font-weight: 600;
}
body.cc-groups-page .pagination .active .page-link,
body.cc-groups-page .pagination .page-link:is(:hover, :focus-visible) {
    color: var(--cc-white);
    background: var(--cc-black);
    border-color: var(--cc-black);
}
body.cc-groups-page .pagination .disabled .page-link {
    color: var(--cc-text-secondary);
    background: var(--cc-background-alt);
    border-color: var(--cc-border);
}

/* Individual choir profiles keep all editor-friendly class/field behaviour. */
body.cc-groups-page .com-content-article:has(.cc-choir-profile) > .page-header {
    background: var(--cc-white);
    border-color: var(--cc-border);
}
body.cc-groups-page .com-content-article:has(.cc-choir-profile) > .page-header h1 {
    color: var(--cc-black);
    font-weight: 650;
    letter-spacing: -.025em;
}
body.cc-groups-page .com-content-article:has(.cc-choir-profile) > .page-header h1::after {
    background: var(--cc-purple);
}
body.cc-groups-page .cc-choir-profile-department {
    color: var(--cc-black);
    background: var(--cc-blue-soft);
    border-color: var(--cc-border);
    box-shadow: none;
}
body.cc-groups-page .cc-choir-profile-department :is(small, strong) {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .cc-choir-profile {
    color: var(--cc-text);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-groups-page .cc-choir-profile :is(h2, h3, strong) {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .cc-choir-profile h2::before {
    background: var(--cc-blue);
    border-color: var(--cc-blue);
    box-shadow: none;
}
body.cc-groups-page .cc-choir-profile h2::after {
    background: var(--cc-border);
}
body.cc-groups-page .cc-choir-profile .cc-choir-profile__size {
    color: var(--cc-black);
    background: var(--cc-blue-soft);
    border-color: var(--cc-border);
}
body.cc-groups-page .cc-choir-profile h2 + p:has(> strong):not(.cc-choir-profile__size),
body.cc-groups-page .cc-choir-profile blockquote {
    color: var(--cc-text);
    background: var(--cc-background-alt);
    border-left-color: var(--cc-purple);
}
body.cc-groups-page .cc-choir-profile a {
    color: var(--cc-blue-accessible);
    font-weight: 600;
}
body.cc-groups-page .cc-choir-profile a:is(:hover, :focus-visible) {
    color: var(--cc-black);
}
body.cc-groups-page .cc-choir-profile a:is([href^="mailto:"], [href^="tel:"]) {
    color: var(--cc-white);
    background: var(--cc-purple);
}
body.cc-groups-page .cc-choir-profile a:is([href^="mailto:"], [href^="tel:"]):is(:hover, :focus-visible) {
    color: var(--cc-white);
    background: var(--cc-black);
}
body.cc-groups-page .cc-choir-profile :is(.cc-choir-role, .cc-choir-contact) {
    color: var(--cc-text);
    background: var(--cc-white);
    border-color: var(--cc-border);
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact {
    font-weight: 400;
}
body.cc-groups-page .cc-choir-profile .cc-choir-role::before {
    background: var(--cc-purple);
}
body.cc-groups-page .cc-choir-profile .cc-choir-role :is(strong, span) {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact::before {
    color: var(--cc-black);
    background: var(--cc-blue);
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact > strong:first-child,
body.cc-groups-page .cc-choir-profile .cc-choir-contact > em:first-child > strong:first-child {
    color: var(--cc-black);
    font-weight: 500;
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact--email::before {
    color: var(--cc-white);
    background: var(--cc-purple);
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact--address::before {
    color: var(--cc-black);
    background: var(--cc-yellow);
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact a,
body.cc-groups-page .cc-choir-profile .cc-choir-contact a:is([href^="mailto:"], [href^="tel:"]) {
    color: var(--cc-blue-accessible);
    font-weight: 400;
    background: transparent;
    text-decoration-color: currentColor;
}
body.cc-groups-page .cc-choir-profile .cc-choir-contact a:is(:hover, :focus-visible),
body.cc-groups-page .cc-choir-profile .cc-choir-contact a:is([href^="mailto:"], [href^="tel:"]):is(:hover, :focus-visible) {
    color: var(--cc-black);
    background: transparent;
}
body.cc-groups-page .cc-choir-profile :is(table, th, td) {
    border-color: var(--cc-border);
}
body.cc-groups-page .cc-article-navigation {
    border-color: var(--cc-border);
}
body.cc-groups-page .cc-article-navigation__link {
    color: var(--cc-black);
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-groups-page .cc-article-navigation__link:is(:hover, :focus-visible) {
    color: var(--cc-black);
    background: var(--cc-background-alt);
    border-color: var(--cc-border-control);
    box-shadow: var(--cc-shadow-soft);
    transform: none;
}
body.cc-groups-page .cc-article-navigation__label {
    color: var(--cc-text-secondary);
    font-weight: 600;
}
body.cc-groups-page .cc-article-navigation__title {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-groups-page .cc-article-navigation__icon,
body.cc-groups-page .cc-article-navigation__link:is(:hover, :focus-visible) .cc-article-navigation__icon {
    color: var(--cc-black);
    background: var(--cc-blue-soft);
    border-color: var(--cc-border);
    transform: none;
}
body.cc-groups-page .cc-article-navigation__link:is(:hover, :focus-visible) .cc-article-navigation__label {
    color: var(--cc-text-secondary);
}

/* Adhérer — two paths, small coloured markers and neutral actions. */
body.cc-join-page .cc-membership-card {
    background: var(--cc-white);
    border-color: var(--cc-border);
    box-shadow: var(--cc-shadow-soft);
}
body.cc-join-page .cc-membership-card h2 {
    color: var(--cc-black);
    font-weight: 600;
    letter-spacing: -.02em;
}
body.cc-join-page .cc-membership-number {
    color: var(--cc-black);
    background: var(--cc-blue);
    border: 0;
    font-weight: 600;
}
body.cc-join-page .cc-membership-card--group .cc-membership-number {
    color: var(--cc-white);
    background: var(--cc-purple);
}
body.cc-join-page .cc-membership-card__top > p:not(.cc-page-eyebrow),
body.cc-join-page .cc-membership-benefits li,
body.cc-join-page .cc-membership-pricing :is(th, td) {
    color: var(--cc-text);
}
body.cc-join-page .cc-membership-benefits,
body.cc-join-page .cc-membership-pricing tr + tr {
    border-color: var(--cc-border);
}
body.cc-join-page .cc-membership-benefits li::before {
    color: var(--cc-black);
    background: var(--cc-blue);
}
body.cc-join-page .cc-membership-card--group .cc-membership-benefits li::before {
    color: var(--cc-white);
    background: var(--cc-purple);
}
body.cc-join-page .cc-membership-pricing {
    background: var(--cc-background-alt);
    border-color: var(--cc-border);
}
body.cc-join-page .cc-membership-pricing h3,
body.cc-join-page .cc-membership-pricing td {
    color: var(--cc-black);
    font-weight: 600;
}
body.cc-join-page .cc-membership-note {
    color: var(--cc-text-secondary);
}

@media (max-width: 767.98px) {
    /* Same mobile photograph position and shading direction as the original. */
    body.cc-history-page .cc-history-hero__veil {
        background: linear-gradient(180deg, rgb(0 0 0 / 25%) 0%, rgb(0 0 0 / 72%) 35%, rgb(0 0 0 / 95%) 78%);
    }
    body.cc-history-page .cc-history-chapter__date {
        box-shadow: none;
    }
    body.cc-history-page .cc-history-chapter__date::before {
        background: var(--cc-purple);
        border-color: var(--cc-white);
        box-shadow: 0 0 0 1px var(--cc-border);
    }
}
