/* ─────────────────────────────────────────────────────────────────────────
   MCC 2026 — fiche D.U., variante compacte
   (description, programme en accordéon, intervenants ronds, informations
    pratiques en ligne, bandeau d'inscription, cartes d'aide)
   Disposition : le header et le bandeau d'inscription sont en pleine
   largeur, le contenu reste dans le conteneur du site (lignes lisibles).
   ───────────────────────────────────────────────────────────────────────── */

/* Sections rapprochées : la page se lit d'une traite. */
.mcc2026 .m-desc,
.mcc2026 .m-acc,
.mcc2026 .m-spk--round,
.mcc2026 .m-steps.is-inline,
.mcc2026 .m-help { padding-block: clamp(1.5rem, 3vw, 2.25rem); }

/* ── En-tête : session en ligne simple, vidéo sans cadre ─────────────── */
.mcc2026 .m-duh.has-plain-session .m-duh__session { font-family: inherit; font-size: 1.15rem; font-weight: 700; }
.mcc2026 .m-duh.has-plain-session .m-duh__session::before { content: none; }
.mcc2026 .m-duh.has-video-minimal .m-duh__vcard-wrap { top: 50%; bottom: auto; right: clamp(1.5rem, 8vw, 8rem); transform: translateY(-50%); }
.mcc2026 .m-duh.has-video-minimal .m-duh__vcard { width: auto; padding: 0; border: 0; background: none; backdrop-filter: none; font-size: 0.95rem; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6); }
.mcc2026 .m-duh.has-video-minimal .m-duh__video-icon { width: 3.4rem; height: 3.4rem; }
.mcc2026 .m-duh.has-video-minimal .m-duh__video-icon svg { width: 1.2rem; height: 1.2rem; }

/* ── Description ──────────────────────────────────────────────────────── */
.mcc2026 .m-desc__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.mcc2026 .m-desc__grid.is-solo { grid-template-columns: minmax(0, 1fr); }
.mcc2026 .m-desc__photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0.9rem; }
.mcc2026 .m-desc__text { margin: 0.6rem 0 0; font-size: 0.95rem; line-height: 1.65; color: var(--site-ink, #334155); }

/* ── Programme en accordéon ───────────────────────────────────────────── */
.mcc2026 .m-acc__head { margin-bottom: 1rem; }
.mcc2026 .m-acc__head .m-dud__h2 { margin: 0; }
.mcc2026 .m-acc__head p { margin: 0.3rem 0 0 2.5rem; font-size: 0.95rem; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.mcc2026 .m-acc__item { border-radius: 0.8rem; background: var(--site-surface, #fff); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 26px -22px rgba(15, 23, 42, 0.35); }
.mcc2026 .m-acc__item.is-open { box-shadow: 0 0 0 1px color-mix(in srgb, var(--m-red, #cc0000) 25%, transparent), 0 18px 40px -26px rgba(15, 23, 42, 0.45); }
.mcc2026 .m-acc__row { display: grid; grid-template-columns: 2.6rem 6.5rem minmax(0, 1fr) 6.5rem 9.5rem 2.6rem; gap: 1rem; align-items: center; padding: 0.55rem 0.9rem; }
.mcc2026 .m-acc__num { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--m-navy, #00071d); color: #fff; font-size: 0.8rem; font-weight: 700; }
.mcc2026 .m-acc__item.is-open .m-acc__num { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--m-red); }
.mcc2026 .m-acc__dates { font-size: 0.85rem; font-weight: 600; color: var(--site-ink, #334155); }
.mcc2026 .m-acc__main h3 { margin: 0; font-size: 0.98rem; font-weight: 700; color: var(--m-navy, #00071d); }
.mcc2026 .m-acc__main p { margin: 0.2rem 0 0; font-size: 0.8rem; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__meta { display: flex; gap: 1.2rem; }
.mcc2026 .m-acc__meta span { display: inline-flex; align-items: center; gap: 0.3rem; }
.mcc2026 .m-acc__meta svg { width: 0.95rem; height: 0.95rem; color: var(--m-red); }
.mcc2026 .m-acc .m-mod__pill { justify-self: center; }
.mcc2026 .m-acc__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 0.5rem; background: #e2e8f0; }
.mcc2026 .m-acc__img img { width: 100%; height: 100%; object-fit: cover; }
.mcc2026 .m-acc__toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border: 1px solid color-mix(in srgb, var(--site-ink, #0f172a) 15%, transparent); border-radius: 50%; background: var(--site-surface, #fff); color: var(--m-navy, #00071d); cursor: pointer; }
.mcc2026 .m-acc__toggle svg { width: 1.05rem; height: 1.05rem; transition: transform 0.2s ease; }
.mcc2026 .m-acc__item.is-open .m-acc__toggle { border-color: var(--m-red); color: var(--m-red); }
.mcc2026 .m-acc__item.is-open .m-acc__toggle svg { transform: rotate(180deg); }
.mcc2026 .m-acc__panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 0 0.9rem 0.9rem; padding: 1.2rem 1.3rem; border-top: 1px solid color-mix(in srgb, var(--site-ink, #0f172a) 8%, transparent); }
.mcc2026 .m-acc__panel[hidden] { display: none; }
.mcc2026 .m-acc__panel > div + div { padding-inline-start: 1.5rem; border-inline-start: 1px solid color-mix(in srgb, var(--site-ink, #0f172a) 8%, transparent); }
.mcc2026 .m-acc__panel h4 { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--m-navy, #00071d); }
.mcc2026 .m-acc__panel h4 svg { width: 1.3rem; height: 1.3rem; color: var(--m-red); }
.mcc2026 .m-acc__panel .m-prog__checks { font-size: 0.82rem; }
.mcc2026 .m-acc__dots { list-style: none; margin: 0.8rem 0 0; padding: 0; display: grid; gap: 0.45rem; font-size: 0.82rem; color: var(--site-ink, #334155); }
.mcc2026 .m-acc__dots li { position: relative; padding-inline-start: 1.1rem; }
.mcc2026 .m-acc__dots li::before { content: ''; position: absolute; top: 0.45em; inset-inline-start: 0; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--m-red); }
.mcc2026 .m-acc__speaker { display: grid; justify-items: center; gap: 0.3rem; text-align: center; }
.mcc2026 .m-acc__speaker h4 { justify-self: start; }
.mcc2026 .m-acc__avatar { display: inline-flex; align-items: center; justify-content: center; width: 4.4rem; height: 4.4rem; margin-top: 0.4rem; overflow: hidden; border-radius: 50%; background: #334155; color: #fff; font-weight: 700; }
.mcc2026 .m-acc__avatar img { width: 100%; height: 100%; object-fit: cover; }
.mcc2026 .m-acc__speaker strong { font-size: 0.95rem; color: var(--m-navy, #00071d); }
.mcc2026 .m-acc__speaker small { font-size: 0.75rem; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__country { display: inline-flex; align-items: center; gap: 0.35rem; }
.mcc2026 .m-acc__link { grid-column: 1 / -1; justify-self: end; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; font-weight: 700; color: var(--m-red); text-decoration: none; }
.mcc2026 .m-acc__link svg { width: 0.9rem; height: 0.9rem; }

/* ── Intervenants en photos rondes ────────────────────────────────────── */
.mcc2026 .m-spk--round .m-spk__track { grid-auto-columns: calc((100% - 5 * 1rem) / 6); }
.mcc2026 .m-spk--round .m-spk__card { background: none; box-shadow: none; text-align: center; }
.mcc2026 .m-spk--round .m-spk__photo { width: 5.2rem; height: 5.2rem; aspect-ratio: auto; margin: 0 auto; border-radius: 50%; overflow: hidden; font-size: 1.3rem; }
.mcc2026 .m-spk--round .m-spk__body { padding: 0.6rem 0 0; }
.mcc2026 .m-spk--round .m-spk__body h3 { font-size: 0.85rem; }
.mcc2026 .m-spk--round .m-spk__role { margin-top: 0.15rem; font-size: 0.75rem; }
.mcc2026 .m-spk--round .m-spk__country { justify-content: center; }

/* ── Informations pratiques en ligne ──────────────────────────────────── */
/* Une colonne par élément : toutes les infos tiennent sur une seule ligne. */
.mcc2026 .m-steps.is-inline .m-steps__list { grid-template-columns: repeat(var(--m-steps, 4), minmax(0, 1fr)); gap: 1.1rem 0; }
.mcc2026 .m-steps.is-inline .m-steps__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 0.9rem;
    align-items: start;
    padding: 0.2rem 1.2rem;
    text-align: start;
    border-inline-start: 1px solid color-mix(in srgb, var(--site-ink, #0f172a) 10%, transparent);
}
.mcc2026 .m-steps.is-inline .m-steps__item:first-child { border-inline-start: 0; padding-inline-start: 0; }
.mcc2026 .m-steps.is-inline .m-steps__icon { grid-row: 1 / 3; margin: 0; }
.mcc2026 .m-steps.is-inline .m-steps__item strong { font-size: 0.86rem; }

/* ── Bandeau d'inscription dans la page ───────────────────────────────── */
.mcc2026 .m-sticky.is-inline { position: static; padding: 0 var(--m-gutter, 1.5rem); pointer-events: auto; }
.mcc2026 .m-sticky.is-inline .m-sticky__inner { padding: 1.4rem 1.8rem; }
.mcc2026 .m-sticky.is-inline .m-sticky__title strong { font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem); }
.mcc2026 .m-sticky.is-inline .m-sticky__title small { margin-top: 0.3rem; font-size: 0.85rem; white-space: normal; }
.mcc2026 .m-sticky.is-inline .m-btn { min-width: 14rem; justify-content: center; }

/* ── Cartes d'aide ────────────────────────────────────────────────────── */
.mcc2026 .m-help__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.mcc2026 .m-help__card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.3rem; border-radius: 0.9rem; background: var(--site-surface, #fff); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 30px -24px rgba(15, 23, 42, 0.35); }
.mcc2026 .m-help__icon { display: inline-flex; flex: none; color: var(--m-navy, #00071d); }
.mcc2026 .m-help__icon svg { width: 2rem; height: 2rem; stroke-width: 1.5; }
.mcc2026 .m-help__card p { flex: 1; margin: 0; }
.mcc2026 .m-help__card strong { display: block; font-size: 0.92rem; color: var(--m-navy, #00071d); }
.mcc2026 .m-help__card small { display: block; margin-top: 0.2rem; font-size: 0.8rem; color: var(--site-muted, #475569); }
.mcc2026 .m-help__btn { display: inline-flex; flex: none; align-items: center; gap: 0.4rem; padding: 0.6rem 1.1rem; border: 1px solid var(--m-navy, #00071d); border-radius: 0.5rem; font-size: 0.82rem; font-weight: 700; color: var(--m-navy, #00071d); text-decoration: none; }
.mcc2026 .m-help__btn svg { width: 0.9rem; height: 0.9rem; }

@media (max-width: 1000px) {
    .mcc2026 .m-acc__row { grid-template-columns: 2.4rem minmax(0, 1fr) auto 2.4rem; }
    .mcc2026 .m-acc__dates,
    .mcc2026 .m-acc__img { display: none; }
    .mcc2026 .m-acc__panel { grid-template-columns: minmax(0, 1fr); }
    .mcc2026 .m-acc__panel > div + div { padding-inline-start: 0; border-inline-start: 0; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--site-ink, #0f172a) 8%, transparent); }
    .mcc2026 .m-steps.is-inline .m-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mcc2026 .m-steps.is-inline .m-steps__item:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
    .mcc2026 .m-spk--round .m-spk__track { grid-auto-columns: calc((100% - 2rem) / 3); }
}
@media (max-width: 760px) {
    .mcc2026 .m-desc__grid,
    .mcc2026 .m-help__grid { grid-template-columns: minmax(0, 1fr); }
    .mcc2026 .m-help__card { flex-wrap: wrap; }
    .mcc2026 .m-sticky.is-inline .m-sticky__inner { flex-wrap: wrap; }
    .mcc2026 .m-duh.has-video-minimal .m-duh__vcard-wrap { transform: none; }
}

/* Intervenants en photos rondes : une seule rangée, sans filtres ni flèches. */
.mcc2026 .m-spk--round .m-spk__filters,
.mcc2026 .m-spk--round .m-spk__nav { display: none; }

/* ── Programme : style « photo en dégradé » ───────────────────────────────
   Les numéros sont posés sur une frise verticale, hors de la carte. La
   photo occupe la moitié droite de la ligne et se fond dans le blanc vers
   la gauche ; statut et bouton se posent par-dessus. */
.mcc2026 .m-acc__list { position: relative; padding-inline-start: 3.4rem; gap: 0.7rem; }
.mcc2026 .m-acc__list::before { content: ''; position: absolute; top: 1.5rem; bottom: 1.5rem; inset-inline-start: 1.3rem; border-inline-start: 1px dashed color-mix(in srgb, var(--site-ink, #0f172a) 25%, transparent); }
.mcc2026 .m-acc__item { position: relative; overflow: visible; }
.mcc2026 .m-acc__row {
    position: relative;
    grid-template-columns: 7rem minmax(0, 1fr) auto 2.6rem;
    min-height: 5.6rem;
    padding: 0.7rem 1rem 0.7rem 1.3rem;
    overflow: hidden;
    border-radius: 0.8rem;
}
.mcc2026 .m-acc__num { position: absolute; inset-inline-start: -3.4rem; top: 50%; transform: translateY(-50%); z-index: 1; }
.mcc2026 .m-acc__item .m-acc__row > .m-acc__num { position: absolute; }
.mcc2026 .m-acc__row { overflow: visible; }
.mcc2026 .m-acc__img {
    position: absolute;
    inset: 0 0 0 auto;
    width: 46%;
    aspect-ratio: auto;
    border-radius: 0 0.8rem 0.8rem 0;
    z-index: 0;
}
.mcc2026 .m-acc__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, var(--site-surface, #fff) 0%, color-mix(in srgb, var(--site-surface, #ffffff) 55%, transparent) 22%, color-mix(in srgb, var(--site-surface, #ffffff) 0%, transparent) 55%, color-mix(in srgb, var(--site-navy, #00071d) 25%, transparent) 100%); }
.mcc2026 .m-acc__dates,
.mcc2026 .m-acc__main,
.mcc2026 .m-acc .m-mod__pill,
.mcc2026 .m-acc__toggle { position: relative; z-index: 1; }
.mcc2026 .m-acc__main { max-width: 34rem; }
.mcc2026 .m-acc__dates { display: grid; font-weight: 400; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__dates strong { font-size: 0.95rem; font-weight: 700; color: var(--m-navy, #00071d); }
.mcc2026 .m-acc .m-mod__pill { justify-self: end; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.5); }
.mcc2026 .m-acc .m-mod__pill.is-soft { background: var(--site-surface, #fff); }
.mcc2026 .m-acc .m-mod__pill.is-soft.is-green { background: #86efac; color: #14532d; }
.mcc2026 .m-acc .m-mod__pill.is-soft.is-blue { background: #1d9bf0; color: #fff; }
.mcc2026 .m-acc .m-mod__pill.is-soft.is-gray { background: #64748b; color: #fff; }
.mcc2026 .m-acc .m-mod__pill.is-violet { background: #c4b5fd; color: #3b0764; }
.mcc2026 .m-acc .m-mod__pill.is-amber { background: #fbbf24; color: #451a03; }
.mcc2026 .m-acc__toggle { border: 0; background: var(--site-surface, #fff); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.55); }
.mcc2026 .m-acc__meta { flex-wrap: wrap; gap: 0.35rem 1.1rem; }
.mcc2026 .m-acc__meta em { margin-inline-start: 0.25rem; font-style: normal; color: var(--m-muted); }
.mcc2026 .m-acc__req { padding: 0.05rem 0.5rem; border-radius: 999px; background: var(--site-canvas, #f1f5f9); font-size: 0.7rem; font-weight: 700; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__req.is-required { background: #fde2e5; color: var(--m-red); }

@media (max-width: 1000px) {
    .mcc2026 .m-acc__row { grid-template-columns: minmax(0, 1fr) auto 2.4rem; }
    .mcc2026 .m-acc__img { display: block; width: 40%; opacity: 0.6; }
}
@media (max-width: 600px) {
    .mcc2026 .m-acc__list { padding-inline-start: 2.8rem; }
    .mcc2026 .m-acc__num { inset-inline-start: -2.8rem; }
    .mcc2026 .m-acc__img { display: none; }
}

/* Traduction simultanée : écouteurs mis en avant. */
.mcc2026 .m-acc__headset { color: #1d4ed8; font-weight: 600; }
.mcc2026 .m-acc__meta .m-acc__headset svg { color: #1d4ed8; }

/* ── Programme : photo de l'intervenant à la place de la date ─────────── */
.mcc2026 .m-acc__row { grid-template-columns: 4.2rem minmax(0, 1fr) auto 2.6rem; }
.mcc2026 .m-acc__who {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    overflow: hidden;
    border-radius: 50%;
    background: #e2e8f0;
    color: var(--site-muted, #64748b);
    font-weight: 700;
    box-shadow: 0 0 0 3px #fff, 0 6px 16px -8px rgba(0, 7, 29, 0.5);
}
.mcc2026 .m-acc__who img { width: 100%; height: 100%; object-fit: cover; }
.mcc2026 .m-acc__who > span { color: var(--site-ink, #334155); }
.mcc2026 .m-acc__who svg { width: 1.6rem; height: 1.6rem; }
.mcc2026 .m-acc__when { display: flex; align-items: center; gap: 0.35rem; margin: 0.2rem 0 0; font-size: 0.8rem; color: var(--site-muted, #475569); }
.mcc2026 .m-acc__when svg { width: 0.95rem; height: 0.95rem; color: var(--m-red); }
.mcc2026 .m-acc__when strong { color: var(--m-navy, #00071d); }
.mcc2026 .m-acc__num svg { width: 1.1rem; height: 1.1rem; }

/* Étapes hors cours : module clinique, examen, rattrapage */
.mcc2026 .m-acc .m-mod__pill.is-teal { background: #99f6e4; color: #134e4a; }
.mcc2026 .m-acc .m-mod__pill.is-navy { background: var(--m-navy, #00071d); color: #fff; }
.mcc2026 .m-acc .m-mod__pill.is-orange { background: #fed7aa; color: #7c2d12; }
.mcc2026 .m-acc__item.is-clinical .m-acc__num { background: #0f766e; }
.mcc2026 .m-acc__item.is-exam .m-acc__num { background: var(--m-red); }
.mcc2026 .m-acc__item.is-resit .m-acc__num { background: #c2410c; }
.mcc2026 .m-acc__item.is-exam .m-acc__row { background: var(--site-red-soft, #fff7f7); }

/* Informations importantes */
.mcc2026 .m-acc__important { margin: 1.1rem 0 0 5.4rem; padding: 1.1rem 1.3rem; border-inline-start: 4px solid var(--m-red); border-radius: 0.8rem; background: var(--site-red-soft, #fff5f5); }
.mcc2026 .m-acc__important h3 { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-size: 1rem; font-weight: 700; color: var(--m-navy, #00071d); }
.mcc2026 .m-acc__important h3 svg { width: 1.25rem; height: 1.25rem; color: var(--m-red); }
.mcc2026 .m-acc__important ul { margin: 0.7rem 0 0; padding-inline-start: 1.2rem; display: grid; gap: 0.4rem; font-size: 0.86rem; color: var(--site-ink, #334155); }

@media (max-width: 600px) {
    .mcc2026 .m-acc__row { grid-template-columns: 3rem minmax(0, 1fr) 2.4rem; }
    .mcc2026 .m-acc__who { width: 3rem; height: 3rem; }
    .mcc2026 .m-acc .m-mod__pill { display: none; }
    .mcc2026 .m-acc__important { margin-inline-start: 0; }
}

/* Correctif du dégradé : les photos MCC portent une fine bande blanche sur
   leurs bords (filigrane) qui cassait le fondu. L'image est légèrement
   agrandie pour la rogner, et le fondu part plus loin dans la photo. */
.mcc2026 .m-acc__img { overflow: hidden; width: 50%; }
.mcc2026 .m-acc__img img { transform: scale(1.12); transform-origin: center; }
.mcc2026 .m-acc__img::after {
    background: linear-gradient(to right, var(--site-surface, #fff) 0%, var(--site-surface, #fff) 6%, color-mix(in srgb, var(--site-surface, #ffffff) 85%, transparent) 20%, color-mix(in srgb, var(--site-surface, #ffffff) 35%, transparent) 42%, color-mix(in srgb, var(--site-surface, #ffffff) 0%, transparent) 62%, color-mix(in srgb, var(--site-navy, #00071d) 18%, transparent) 100%);
}
.mcc2026 .m-acc__main { max-width: min(34rem, 52%); }

/* Informations importantes : sans barre rouge à gauche. */
.mcc2026 .m-acc__important { border-inline-start: 0; }

/* ── Infos de la formation (back-office) ─────────────────────────────── */
.mcc2026 .m-bk { padding-block: clamp(1.5rem, 3vw, 2.25rem); }
.mcc2026 .m-bk__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.mcc2026 .m-bk__card { padding: 1.3rem 1.4rem; border-radius: 0.9rem; background: var(--site-surface, #fff); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 30px -24px rgba(15, 23, 42, 0.35); }
.mcc2026 .m-bk__card--wide { grid-column: 1 / -1; }
.mcc2026 .m-bk__card .m-dud__h2 { font-size: clamp(1.2rem, 1rem + 0.6vw, 1.5rem); }
.mcc2026 .m-bk__rich { font-size: 0.9rem; line-height: 1.6; color: var(--site-ink, #334155); }
.mcc2026 .m-bk__cert { display: flex; align-items: center; gap: 0.5rem; margin: 0.9rem 0 0; font-weight: 700; color: var(--m-navy, #00071d); }
.mcc2026 .m-bk__cert svg { width: 1.2rem; height: 1.2rem; color: var(--m-red); }
.mcc2026 .m-bk__sponsors { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; margin: 0; padding: 0; list-style: none; }
.mcc2026 .m-bk__sponsors img { height: 3rem; width: auto; max-width: 9rem; object-fit: contain; }
@media (max-width: 760px) { .mcc2026 .m-bk__grid { grid-template-columns: minmax(0, 1fr); } }

/* ── Chronologie : grands numéros pâles dans la marge (style « 08 ») ──── */
.mcc2026 .m-acc__list { padding-inline-start: 5.4rem; }
.mcc2026 .m-acc__list::before { display: none; }
.mcc2026 .m-acc__num,
.mcc2026 .m-acc__item.is-clinical .m-acc__num,
.mcc2026 .m-acc__item.is-exam .m-acc__num,
.mcc2026 .m-acc__item.is-resit .m-acc__num {
    inset-inline-start: -5.4rem;
    width: 5rem;
    height: auto;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: clamp(2.6rem, 2rem + 1.6vw, 3.4rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
    color: color-mix(in srgb, var(--site-red-bright, #e53935) 13%, transparent);
    font-variant-numeric: tabular-nums;
    transition: color 0.2s ease;
}
.mcc2026 .m-acc__item.is-open .m-acc__num { box-shadow: none; color: color-mix(in srgb, var(--site-red-bright, #e53935) 35%, transparent); }
.mcc2026 .m-acc__num svg { width: 2.4rem; height: 2.4rem; stroke-width: 2.5; }
@media (max-width: 600px) {
    .mcc2026 .m-acc__list { padding-inline-start: 3.4rem; }
    .mcc2026 .m-acc__num,
    .mcc2026 .m-acc__item.is-clinical .m-acc__num,
    .mcc2026 .m-acc__item.is-exam .m-acc__num,
    .mcc2026 .m-acc__item.is-resit .m-acc__num { inset-inline-start: -3.4rem; width: 3.2rem; font-size: 2.1rem; }
    .mcc2026 .m-acc__num svg { width: 1.7rem; height: 1.7rem; }
}

/* ── Étapes (module clinique, examen, rattrapage) : jalons compacts ───── */
.mcc2026 .m-acc__item.is-step .m-acc__row {
    grid-template-columns: minmax(0, 1fr) auto 2.6rem;
    min-height: 0;
    padding: 0.75rem 1rem 0.75rem 1.2rem;
    border: 1px dashed currentColor;
    box-shadow: none;
    background: var(--step-bg);
    color: var(--step-c);
}
.mcc2026 .m-acc__item.is-step .m-acc__main { max-width: none; color: var(--site-ink, #334155); }
.mcc2026 .m-acc__item.is-step .m-acc__main h3 { font-size: 0.98rem; }
.mcc2026 .m-acc__item.is-step .m-acc__main h3::before { content: 'Étape'; display: inline-block; margin-inline-end: 0.5rem; padding: 0.05rem 0.45rem; border-radius: 0.3rem; background: var(--step-c); color: #fff; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: 0.15em; }
.mcc2026 .m-acc__item.is-step .m-acc__num { color: var(--step-c); opacity: 0.45; }
.mcc2026 .m-acc__item.is-clinical { --step-c: #0f766e; --step-bg: #f0fdfa; }
.mcc2026 .m-acc__item.is-exam { --step-c: var(--site-red, #c8102e); --step-bg: var(--site-red-soft, #fff5f5); }
.mcc2026 .m-acc__item.is-resit { --step-c: #c2410c; --step-bg: #fff7ed; }
.mcc2026 .m-acc__item.is-exam .m-acc__row { background: var(--step-bg); }

/* Étapes : photo en arrière-plan de toute la carte, sous un voile teinté. */
.mcc2026 .m-acc__item.is-step .m-acc__row { overflow: hidden; }
.mcc2026 .m-acc__bg { position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; }
.mcc2026 .m-acc__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.mcc2026 .m-acc__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, var(--step-bg) 0%, var(--step-bg) 38%, color-mix(in srgb, var(--step-bg) 82%, transparent) 62%, color-mix(in srgb, var(--step-bg) 45%, transparent) 100%); }
.mcc2026 .m-acc__bg img { transform: scale(1.15); transform-origin: left center; }

/* Photos et vidéos d'un module (retour en images) */
.mcc2026 .m-acc__thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; margin-top: 0.6rem; }
.mcc2026 .m-acc__thumbs button { position: relative; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; border-radius: 0.5rem; background: #e2e8f0; cursor: pointer; }
.mcc2026 .m-acc__thumbs img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.25s ease; }
.mcc2026 .m-acc__thumbs button:hover img { transform: scale(1.05); }
.mcc2026 .m-acc__thumbs .is-video svg { position: absolute; inset: 50% auto auto 50%; width: 2.2rem; height: 2.2rem; padding: 0.55rem; transform: translate(-50%, -50%); border-radius: 50%; background: color-mix(in srgb, var(--site-red, #c8102e) 90%, transparent); color: #fff; }
.mcc2026 .m-acc__gallink { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: 0.6rem; padding: 0; border: 0; background: none; font-size: 0.82rem; font-weight: 700; color: var(--m-red); cursor: pointer; }
.mcc2026 .m-acc__gallink svg { width: 0.95rem; height: 0.95rem; }

/* Conditions / paiement sans FAQ : deux cartes sur toute la largeur. */
.mcc2026 .m-info__grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mcc2026 .m-info__grid.is-1 { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) { .mcc2026 .m-info__grid.is-2 { grid-template-columns: minmax(0, 1fr); } }

/* ── En-tête « bleu nuit » : mise en page claire, fondu bleu nuit ─────── */
.mcc2026 .m-duh--light.m-duh--navy { background: var(--m-navy, #00071d); color: #fff; }
.mcc2026 .m-duh--navy .m-duh__photo::after,
.mcc2026 .m-duh--navy .m-duh__main:has(.is-no-card) .m-duh__photo::after {
    background: linear-gradient(to right, var(--site-navy, #00071d) 0%, color-mix(in srgb, var(--site-navy, #00071d) 85%, transparent) 20%, color-mix(in srgb, var(--site-navy, #00103a) 35%, transparent) 55%, color-mix(in srgb, var(--site-navy, #00071d) 10%, transparent) 100%), linear-gradient(to bottom, color-mix(in srgb, var(--site-navy, #00071d) 55%, transparent) 0%, color-mix(in srgb, var(--site-navy, #00071d) 0%, transparent) 22%);
}
.mcc2026 .m-duh--navy .m-duh__badge,
.mcc2026 .m-duh--navy .m-duh__title,
.mcc2026 .m-duh--navy .m-duh__session { color: #fff; }
.mcc2026 .m-duh--navy .m-duh__subtitle { color: rgba(255, 255, 255, 0.82); }
.mcc2026 .m-duh--navy .m-duh__facts small { color: rgba(255, 255, 255, 0.65); }
.mcc2026 .m-duh--navy .m-duh__facts li { border-inline-start-color: rgba(255, 255, 255, 0.18); }
.mcc2026 .m-duh--navy .m-duh__logo { filter: brightness(0) invert(1); }
.mcc2026 .m-duh--navy .m-duh__country { border-color: rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.08); color: #fff; }
.mcc2026 .m-duh--navy .m-duh__brochure { border-color: rgba(255, 255, 255, 0.6); color: #fff; }

/* Header : fond vidéo (fichier ou YouTube/Vimeo), sous le même fondu. */
.mcc2026 .m-duh__photo { container-type: size; }
.mcc2026 .m-duh__bgvideo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.mcc2026 .m-duh__bgvideo--embed { inset: auto; top: 50%; left: 50%; width: max(100cqw, 177.78cqh); height: max(100cqh, 56.25cqw); transform: translate(-50%, -50%); pointer-events: none; }
/* z-index: 0 isole la photo : le fondu (z-index: 1) passe au-dessus de la
   vidéo, mais reste sous le texte de l'en-tête au lieu de le masquer. */
.mcc2026 .m-duh__photo { z-index: 0; }
.mcc2026 .m-duh__photo::after { z-index: 1; }
@media (prefers-reduced-motion: reduce) { .mcc2026 .m-duh__bgvideo { display: none; } }

/* Catalogue : photos des intervenants sur chaque fiche D.U. */
.mcc2026 .m-du__experts { display: flex; align-items: center; gap: 0.6rem; }
.mcc2026 .m-du__faces { display: flex; margin: 0; padding: 0; list-style: none; }
.mcc2026 .m-du__faces li { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; overflow: hidden; border: 2px solid var(--site-navy, #00071d); border-radius: 50%; background: #1e293b; color: #fff; font-size: 0.66rem; font-weight: 700; }
.mcc2026 .m-du__faces li + li { margin-inline-start: -0.6rem; }
.mcc2026 .m-du__faces img { width: 100%; height: 100%; object-fit: cover; }
.mcc2026 .m-du__faces .is-more { background: var(--m-red); }

/* ── Responsive mobile (≤ 600px) ─────────────────────────────────────────
   La limite `max-width: min(34rem, 52%)` du texte des modules (faite pour
   laisser la photo à droite sur grand écran) écrasait le texte sur mobile,
   où la photo est masquée : le texte reprend toute la largeur. Les grands
   numéros de marge se resserrent, la carte « Une question ? » passe le
   bouton sous le texte. */
@media (max-width: 600px) {
    .mcc2026 .m-acc__main { max-width: none; }
    .mcc2026 .m-acc__list { padding-inline-start: 2.4rem; }
    .mcc2026 .m-acc__num,
    .mcc2026 .m-acc__item.is-clinical .m-acc__num,
    .mcc2026 .m-acc__item.is-exam .m-acc__num,
    .mcc2026 .m-acc__item.is-resit .m-acc__num { inset-inline-start: -2.4rem; width: 2.2rem; font-size: 1.55rem; }
    .mcc2026 .m-acc__num svg { width: 1.4rem; height: 1.4rem; }
    .mcc2026 .m-acc__row { gap: 0.7rem; padding: 0.7rem 0.75rem; }
    .mcc2026 .m-acc__item.is-step .m-acc__row { padding: 0.7rem 0.75rem; }
    .mcc2026 .m-acc__meta { gap: 0.3rem 0.8rem; }
    .mcc2026 .m-help__card p { flex: 1 1 12rem; }
    .mcc2026 .m-help__btn { margin-inline-start: 3rem; }
}
@media (max-width: 600px) {
    /* Étapes sans bouton ni statut visibles : le texte prend toute la carte. */
    .mcc2026 .m-acc__item.is-step .m-acc__row { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Libellé « Module 01 » : mobile seulement ; il remplace le grand numéro de marge. */
.mcc2026 .m-acc__label { display: none; }
@media (max-width: 600px) {
    .mcc2026 .m-acc__list { padding-inline-start: 0; }
    .mcc2026 .m-acc__num,
    .mcc2026 .m-acc__item.is-clinical .m-acc__num,
    .mcc2026 .m-acc__item.is-exam .m-acc__num,
    .mcc2026 .m-acc__item.is-resit .m-acc__num { display: none; }
    .mcc2026 .m-acc__item:has(> .m-acc__label) { margin-top: 1.6rem; }
    .mcc2026 .m-acc__label { display: block; position: absolute; bottom: calc(100% + 0.35rem); inset-inline-start: 0.2rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--m-red); }
}

/* Carte d'aide avec tous les moyens de contact : pleine largeur, canaux en
   grille sous le texte. */
.mcc2026 .m-help__card--channels { grid-column: 1 / -1; flex-wrap: wrap; }
.mcc2026 .m-help__channels { flex: 1 1 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0.6rem; margin: 0.4rem 0 0; padding: 0; list-style: none; }
.mcc2026 .m-help__channel { display: flex; align-items: center; gap: 0.7rem; height: 100%; padding: 0.7rem 0.85rem; border: 1px solid var(--site-border, #e5e7eb); border-radius: 0.7rem; color: var(--m-navy, #00071d); text-decoration: none; transition: border-color 0.2s ease, background-color 0.2s ease; }
.mcc2026 .m-help__channel:hover, .mcc2026 .m-help__channel:focus-visible { border-color: var(--m-navy, #00071d); background: var(--site-canvas, #f8fafc); }
.mcc2026 .m-help__channel-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--m-navy, #00071d); color: #fff; }
.mcc2026 .m-help__channel.is-wa .m-help__channel-icon { background: #25d366; }
.mcc2026 .m-help__channel.is-wa:hover { border-color: #25d366; background: #effaf3; }
.mcc2026 .m-help__channel-icon svg { width: 1.15rem; height: 1.15rem; }
.mcc2026 .m-help__channel strong { display: block; font-size: 0.86rem; }
.mcc2026 .m-help__channel small { display: block; margin-top: 0.1rem; font-size: 0.78rem; color: var(--site-muted, #475569); overflow-wrap: anywhere; }

/* Bandeau « Prêt(e) à rejoindre… » posé dans la page : même largeur que le
   contenu (conteneur du site) au lieu de déborder ; bouton en contour rouge. */
.mcc2026 .m-sticky.is-inline { max-width: var(--m-container); margin-inline: auto; padding-inline: var(--m-gutter, 1.5rem); }
.mcc2026 .m-sticky.is-inline .m-sticky__inner { max-width: none; width: 100%; margin: 0; }
.mcc2026 .m-sticky.is-inline .m-btn--primary { background: transparent; border: 2px solid var(--m-red); color: #fff; }
.mcc2026 .m-sticky.is-inline .m-btn--primary:hover { background: var(--m-red); }

.mcc2026 .m-help__btn { border-radius: var(--m-radius-btn, 6px); }
