/* Programme en liste verticale, dans la colonne de gauche des pages de formation. */
.detail-program .detail-program-intro {
    margin: 0 0 18px;
}

.detail-program-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.detail-program-item {
    min-width: 0;
    padding: 24px 0;
    border-top: 1px solid var(--line);
}

.detail-program-item:last-child {
    padding-bottom: 0;
}

.detail-program-item > .eyebrow {
    display: block;
    margin-bottom: 9px;
}

.detail-program-item h3 {
    margin: 0 0 12px;
    font-size: clamp(19px, 2vw, 24px);
    font-weight: 500;
    line-height: 1.3;
}

.detail-program-item h3 a:hover,
.detail-program-item h3 a:focus-visible {
    color: var(--blue);
}

.detail-program-item > p {
    margin: 0 0 12px;
}

.detail-program-topics {
    margin: 0 0 16px 1.25rem;
    padding: 0;
}

.detail-program-topics li {
    margin: 6px 0;
}

.detail-program-item > .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.course-format p + p {
    margin-top: 16px;
}

@media (max-width: 480px) {
    .detail-program-item {
        padding: 20px 0;
    }
}

/* Compact programme rows, using the site's existing dark palette. */
.formation-program > h2 {
    margin: 0 0 12px;
    color: var(--text);
    font-size: clamp(28px, 3vw, 32px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.025em;
}
.formation-program .detail-program-intro {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
}
.formation-program .detail-program-list {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
}
.formation-program .detail-program-item,
.formation-program .detail-program-item:last-child {
    padding: 0 20px 16px;
    background: var(--inset);
    border-top: 1px solid var(--line);
}
.formation-program .detail-program-item:first-child { border-top: 0; }
.program-row-heading {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: baseline;
    margin: 0 -20px 14px;
    padding: 16px 20px;
    background: rgb(168 193 255 / 5%);
    border-bottom: 1px solid var(--line);
}
.program-number {
    color: var(--muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}
.formation-program .program-row-heading h3 {
    margin: 0;
    color: var(--blue);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: normal;
    text-wrap: pretty;
}
.formation-program .program-row-heading h3 a:hover,
.formation-program .program-row-heading h3 a:focus-visible {
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.program-duration {
    color: var(--muted);
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}
.formation-program .detail-program-item > p {
    margin: 0 0 8px 38px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}
.formation-program .detail-program-item > .text-link {
    margin-left: 38px;
    padding-block: 6px;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
}
.practical-format p { margin: 0; color: var(--muted); }
.practical-format p + p { margin-top: 12px; }
@media (max-width: 480px) {
    .formation-program .detail-program-item,
    .formation-program .detail-program-item:last-child { padding: 0 14px 14px; }
    .program-row-heading {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 4px 10px;
        margin-inline: -14px;
        padding: 14px;
    }
    .program-duration { grid-column: 2; }
    .formation-program .program-row-heading h3 { font-size: 16px; }
    .formation-program .detail-program-item > p,
    .formation-program .detail-program-item > .text-link { margin-left: 0; }
}
