/* Version: 09-06-2026-23-14 */
/* Module Casting — thème portfolio (polices, fonds, contours via variables :root) */

#portfolio_page #casting[data-border-style="2"] .border-design,
#portfolio_page .casting-home-block[data-border-style="2"] .border-design {
    box-shadow: var(--portfolios-box-shadow-custom, var(--portfolios-box-shadow-m, none));
    box-sizing: border-box;
}

#portfolio_page #casting[data-border-style="3"] .border-design,
#portfolio_page .casting-home-block[data-border-style="3"] .border-design {
    box-shadow: var(--portfolios-box-shadow-custom-alt, var(--portfolios-box-shadow-alt, none));
    box-sizing: border-box;
}

#portfolio_page #casting .casting-section-title,
#portfolio_page .casting-home-block .casting-section-title,
#portfolio_page #casting .casting-detail-label,
#portfolio_page .casting-home-block .casting-detail-label,
#portfolio_page #casting .casting-timeline-title,
#portfolio_page .casting-home-block .casting-timeline-title {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: var(--portfolios-heading-secondary-size, 1.2em) !important;
    line-height: calc(var(--portfolios-heading-secondary-size, 1.2em) + 10px) !important;
    font-weight: bold !important;
    letter-spacing: var(--portfolios-letter-spacing, 0.4px);
    color: var(--portfolios-heading-primary-color, inherit) !important;
    text-align: inherit;
}

#portfolio_page #casting .casting-section-title :is(a, span, p, strong, em, b, i, small),
#portfolio_page .casting-home-block .casting-section-title :is(a, span, p, strong, em, b, i, small),
#portfolio_page #casting .casting-detail-label :is(a, span, p, strong, em, b, i, small),
#portfolio_page .casting-home-block .casting-detail-label :is(a, span, p, strong, em, b, i, small),
#portfolio_page #casting .casting-timeline-title :is(a, span, p, strong, em, b, i, small),
#portfolio_page .casting-home-block .casting-timeline-title :is(a, span, p, strong, em, b, i, small) {
    color: var(--portfolios-heading-primary-color, inherit) !important;
}

#portfolio_page #casting .casting-timeline-category,
#portfolio_page .casting-home-block .casting-timeline-category {
    margin: 0 0 0.35rem;
    font-size: inherit;
    line-height: var(--portfolios-line-height-base, 1.5);
    font-weight: bold;
    color: var(--portfolios-heading-secondary-color, inherit);
}

#portfolio_page #casting .casting-detail-summary,
#portfolio_page .casting-home-block .casting-detail-summary,
#portfolio_page #casting .casting-timeline-summary,
#portfolio_page .casting-home-block .casting-timeline-summary {
    margin: 0;
}

#portfolio_page #casting .casting-timeline-title + .casting-timeline-summary,
#portfolio_page .casting-home-block .casting-timeline-title + .casting-timeline-summary {
    margin-top: 0.35rem;
}

#portfolio_page #casting .casting-detail-label + .casting-detail-summary,
#portfolio_page .casting-home-block .casting-detail-label + .casting-detail-summary {
    margin-top: 0.35rem;
}

.casting-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

.casting-detail {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.casting-block h3,
.casting-timeline-wrap h3 {
    margin-top: 0;
}

/* ----- Frise chronologique ----- */

.casting-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.casting-timeline::before {
    content: "";
    position: absolute;
    top: 0.35rem;
    bottom: 0.35rem;
    left: 4.75rem;
    width: 2px;
    transform: translateX(-50%);
    background: var(--portfolios-theme-border, var(--portfolios-color-border-custom, currentColor));
    opacity: 0.45;
}

.casting-timeline-entry {
    position: relative;
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.casting-timeline-entry:last-child {
    margin-bottom: 0;
}

.casting-timeline-axis {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 1.25rem;
    padding-top: 0.15rem;
}

.casting-timeline-year {
    font-size: var(--portfolios-heading-secondary-size, 1.2em);
    line-height: calc(var(--portfolios-heading-secondary-size, 1.2em) + 6px);
    font-weight: var(--portfolios-font-weight-bold, 700);
    color: var(--portfolios-heading-primary-color, inherit);
}

.casting-timeline-year--nodate {
    opacity: 0.55;
}

.casting-timeline-dot {
    position: absolute;
    right: -0.45rem;
    top: 0.5rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: var(--portfolios-border-radius-full, 50%);
    background: var(--portfolios-theme-bg-main, var(--portfolios-color-bg-main, #fafafa));
    border: 2px solid var(--portfolios-heading-primary-color, currentColor);
    box-sizing: border-box;
}

.casting-timeline-card {
    min-width: 0;
}

.card-list .casting-timeline-card,
.card-list .casting-block,
.card-list .casting-detail {
    padding-bottom: 15px;
}

.card-list .casting-timeline-card.border-design,
.card-list .casting-block.border-design,
.card-list .casting-detail.border-design {
    box-shadow: none;
}

.casting-timeline--preview .casting-timeline-entry {
    margin-bottom: 1.25rem;
}

@media screen and (max-width: 600px) {
    .casting-timeline::before {
        left: 3.5rem;
    }

    .casting-timeline-entry {
        grid-template-columns: 3.5rem minmax(0, 1fr);
        gap: 0.85rem;
    }

    .casting-timeline-axis {
        padding-right: 0.85rem;
    }

    .casting-timeline-dot {
        right: -0.4rem;
        width: 0.75rem;
        height: 0.75rem;
    }
}
