/* ===================== Police principale : Avenir ===================== */

@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-Light.woff2') format('woff2'),
    url('../font/Avenir-Light.woff') format('woff');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-LightOblique.woff2') format('woff2'),
    url('../font/Avenir-LightOblique.woff') format('woff');
    font-weight: 300; font-style: italic; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-Book.woff2') format('woff2'),
    url('../font/Avenir-Book.woff') format('woff');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-BookOblique.woff2') format('woff2'),
    url('../font/Avenir-BookOblique.woff') format('woff');
    font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-Medium.woff2') format('woff2'),
    url('../font/Avenir-Medium.woff') format('woff');
    font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-MediumOblique.woff2') format('woff2'),
    url('../font/Avenir-MediumOblique.woff') format('woff');
    font-weight: 500; font-style: italic; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-Heavy.woff2') format('woff2'),
    url('../font/Avenir-Heavy.woff') format('woff');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-HeavyOblique.woff2') format('woff2'),
    url('../font/Avenir-HeavyOblique.woff') format('woff');
    font-weight: 700; font-style: italic; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-Black.woff2') format('woff2'),
    url('../font/Avenir-Black.woff') format('woff');
    font-weight: 900; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('../font/Avenir-BlackOblique.woff2') format('woff2'),
    url('../font/Avenir-BlackOblique.woff') format('woff');
    font-weight: 900; font-style: italic; font-display: swap;
}

/* Application : on écrase la police du thème (TASA Orbiter) */
:root { --bs-font-sans-serif: 'Avenir', sans-serif; }
body,
body *,
body *::before,
body *::after {
    font-family: 'Avenir', sans-serif !important;
}

/* ===== FOOTER ===== */
#footer-wrapper{ margin-top: 4rem; }
.footer-social-links .footer-links .fw-bold{
    display: block;
}


/* ===== PDLG Diaporama (bloc custom-diaporama) ===== */
.cdiapo-section .cdiapo-arrow {
    width: 2.75rem !important; height: 2.75rem !important;
    border-radius: 50% !important;
}
@media (min-width: 992px) {
    .cdiapo-section .cdiapo-arrow { width: 3.25rem !important; height: 3.25rem !important; }
}
.cdiapo-section .carousel-inner { min-width: 0; }

/* Hauteur identique pour toutes les diapos */
.cdiapo-section .cdiapo-card { min-height: 360px; }
.cdiapo-section .cdiapo-card-title{ font-weight: 500 !important; }
.cdiapo-section .cdiapo-media { min-height: 220px; }
@media (min-width: 768px) { .cdiapo-section .cdiapo-media { min-height: 100%; } }
.cdiapo-section .cdiapo-media picture { position: absolute; inset: 0; display: block; }
.cdiapo-section .cdiapo-media img { width: 100%; height: 100%; object-fit: cover; }
.cdiapo-section .cdiapo-dot {
    width: 10px; height: 10px; border: 0; border-radius: 50%;
    background: rgba(0,0,0,.15); opacity: 1;
    transition: width .25s ease, background-color .25s ease;
}
.cdiapo-section .cdiapo-dot.active {
    width: 28px; border-radius: 6px; background: var(--bs-primary, #9810fa);
}


/* ===== PDLG Banner (bloc custom-small-banner) ===== */
.csb-section .csb-icon { width: 4rem; height: 4rem; }


/* ===== PDLG Text & Image (bloc custom-text-image) ===== */
.cti-section .ti-img-wrap img { border-radius: 1rem; }


/* ===== PDLG Étapes (bloc custom-steps) ===== */
.cstep-section .cstep-num {
    width: 3.5rem; height: 3.5rem;
    position: relative; z-index: 1;
    box-shadow: 0 0 1rem 0.5rem rgba(var(--bs-primary-rgb, 152, 16, 250), 0.12);
}

/* < lg : timeline verticale */
@media (max-width: 991.98px) {
    .cstep-section .cstep-item:not(:last-child)::after {
        content: ""; position: absolute; left: 1.75rem; top: 3.5rem; bottom: -1.5rem;
        width: 2px; background: var(--bs-primary, #9810fa); transform: translateX(-50%); z-index: 0;
    }
}

/* lg+ : timeline horizontale (ligne continue) */
@media (min-width: 992px) {
    .cstep-section .cstep-item { flex: 1 1 0; min-width: 0; }
    .cstep-section .cstep-item::before,
    .cstep-section .cstep-item::after {
        content: ""; position: absolute; top: 1.75rem; height: 2px; width: 50%;
        background: var(--bs-primary, #9810fa); z-index: 0;
    }
    .cstep-section .cstep-item::before { left: 0; }
    .cstep-section .cstep-item::after  { right: 0; }
    .cstep-section .cstep-item:first-child::before { display: none; }
    .cstep-section .cstep-item:last-child::after  { display: none; }
}