/* Modern catalogue refinement — loaded after the historical inline rules. */
:root{--formation-accent:#86b64f}
.formation-catalog.category-theme-all{--formation-accent:#86b64f}
.formation-catalog.category-theme-1{--formation-accent:#0a7811}.formation-catalog.category-theme-2{--formation-accent:#e62d32}
.formation-catalog.category-theme-3{--formation-accent:#247fc5}.formation-catalog.category-theme-4{--formation-accent:#23a947}
.formation-catalog.category-theme-5{--formation-accent:#5b3184}.formation-catalog.category-theme-6{--formation-accent:#d83f83}
.formation-catalog.category-theme-7{--formation-accent:#147c7c}.formation-catalog.category-theme-8{--formation-accent:#269441}
.formation-catalog.category-theme-9{--formation-accent:#16485a}.formation-catalog.category-theme-10{--formation-accent:#263d86}
.formation-catalog.category-theme-11{--formation-accent:#77752e}.formation-catalog.category-theme-12{--formation-accent:#7b2637}
.formation-catalog.category-theme-13{--formation-accent:#804080}.formation-catalog.category-theme-14{--formation-accent:#24647b}
.formation-catalog.category-theme-15{--formation-accent:#c83268}.formation-catalog.category-theme-16{--formation-accent:#8e42bf}
.formation-header{display:none!important}
.container.mt-5{max-width:1500px;margin-top:0!important;padding-top:56px;padding-bottom:52px}
.container.mt-5>.row{--bs-gutter-x:28px}

.formation-catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 17px;border-bottom:1px solid #dfe7e4}
.formation-catalog-eyebrow{display:block;margin-bottom:7px;color:var(--formation-accent);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.formation-catalog-heading h2{margin:0;color:var(--formation-accent);font-size:clamp(1.65rem,2.2vw,2.25rem);font-weight:800;letter-spacing:-.035em}
.formation-catalog-total{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--formation-accent) 28%,#dfe8d8);border-radius:999px;color:#687a83;background:color-mix(in srgb,var(--formation-accent) 6%,#fff);font-size:.83rem;white-space:nowrap}
.formation-catalog-total strong{color:var(--formation-accent);font-size:1rem}

.categories-section{position:sticky;top:105px;max-height:calc(100vh - 130px);padding:20px 12px 18px;border:1px solid #e1e8e5;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(26,55,68,.08);overflow:auto;scrollbar-width:thin;scrollbar-color:#b9c9bd transparent}
.category-title{margin:0 8px 14px;padding:2px 4px 15px;border-bottom:1px solid #e5ebe8;color:#263f4e;font-size:1.02rem;font-weight:800}
.category-title i{display:inline-grid;width:34px;height:34px;margin-right:8px!important;place-items:center;border-radius:10px;color:#5f9630!important;background:#edf6e6}
.category-list{gap:5px!important}
.category-link,.category-all,.category-1,.category-2,.category-3,.category-4,.category-5,.category-6,.category-7,.category-8,.category-9,.category-10,.category-11,.category-12,.category-13,.category-14,.category-15,.category-16{min-height:59px;padding:9px 10px!important;border:1px solid transparent;border-radius:13px!important;color:#344d5b!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.category-link .text-white{color:inherit!important}.category-link:hover,.category-link.active{border-color:#dbe8d3!important;color:#365c25!important;background:#f1f7ec!important;transform:translateX(3px)!important}
.category-icon{flex:0 0 38px;width:38px;height:38px;margin-right:11px!important;border-radius:11px;color:#659b35;background:#eef6e8!important;font-size:.88rem}
.category-name{display:block;margin:0;font-size:.88rem;font-weight:700;line-height:1.25}.category-count{display:block;margin-top:3px;color:#8a989e!important;font-size:.72rem!important}.category-arrow{color:#79ad45;font-size:.72rem}

/* Les couleurs identifient visuellement chaque domaine de formation. */
.category-link.category-all{background-color:#86b64f!important}
.category-link.category-1{background-color:#0a7811!important}.category-link.category-2{background-color:#e62d32!important}
.category-link.category-3{background-color:#247fc5!important}.category-link.category-4{background-color:#23a947!important}
.category-link.category-5{background-color:#5b3184!important}.category-link.category-6{background-color:#d83f83!important}
.category-link.category-7{background-color:#147c7c!important}.category-link.category-8{background-color:#269441!important}
.category-link.category-9{background-color:#16485a!important}.category-link.category-10{background-color:#263d86!important}
.category-link.category-11{background-color:#77752e!important}.category-link.category-12{background-color:#7b2637!important}
.category-link.category-13{background-color:#804080!important}.category-link.category-14{background-color:#24647b!important}
.category-link.category-15{background-color:#c83268!important}.category-link.category-16{background-color:#8e42bf!important}
.category-link.category-all,.category-link[class*="category-"]:not(.category-link[data-category="all"]){color:#fff!important;border-color:transparent!important}
.category-link.category-all .text-white,.category-link[class*="category-"] .text-white,.category-link[class*="category-"] .category-count{color:#fff!important}
.category-link[class*="category-"] .category-icon{color:#fff!important;background:rgba(255,255,255,.17)!important}
.category-link[class*="category-"] .category-arrow{color:#fff!important}
.category-link[class*="category-"]:hover{color:#fff!important;filter:brightness(1.08);transform:translateX(3px)!important;box-shadow:0 8px 18px rgba(28,55,66,.12)!important}

.formations-section{padding:0}.formation-table{border:1px solid #e0e8e5;border-radius:20px!important;background:#fff;box-shadow:0 15px 42px rgba(26,55,68,.075);overflow:hidden!important}
.custom-table{width:100%;margin:0!important;border-spacing:0!important;border-radius:0!important;background:#fff!important}
.custom-table thead{background:var(--formation-accent)!important}
.custom-table thead th{padding:17px 19px!important;color:rgba(255,255,255,.86)!important;background:transparent!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.1em!important}
.formation-row,.formation-row:nth-child(even),.formation-row:nth-child(odd){background:#fff!important;box-shadow:none!important;transform:none!important}
.formation-row td{padding:17px 19px!important;border-bottom:1px solid #e8eeeb!important;color:#526874;font-size:.9rem}
.formation-row:last-child td{border-bottom:0!important}.formation-row:hover{background:#f7faf6!important;transform:none!important;box-shadow:inset 4px 0 var(--formation-accent)!important}
.formation-info{gap:13px!important}.icon-formation{display:grid;flex:0 0 39px;width:39px;height:39px;place-items:center;border-radius:11px;color:var(--formation-accent)!important;background:color-mix(in srgb,var(--formation-accent) 12%,#fff)!important;font-size:.95rem!important}
.formation-info a{color:#29414f!important;font-size:.94rem;font-weight:750;line-height:1.45}.formation-info a:hover{color:var(--formation-accent)!important}
.ref-badge,.duration-badge{padding:8px 12px!important;border:1px solid #e2e9e6;border-radius:9px!important;color:#60727d!important;background:#f7f9f8!important;font-size:.79rem;white-space:nowrap}
.ref-badge{font-family:inherit!important;font-weight:750;letter-spacing:.025em}.duration-badge i{color:var(--formation-accent)}
.btn-inscription{min-height:40px;padding:9px 14px!important;border:1px solid var(--formation-accent)!important;border-radius:10px!important;color:#fff!important;background:var(--formation-accent)!important;font-size:.82rem;font-weight:750!important;white-space:nowrap;box-shadow:0 7px 16px rgba(40,65,79,.13)}
.btn-inscription:hover{color:#fff!important;background:var(--formation-accent)!important;filter:brightness(.9);transform:translateY(-1px)!important}
.pagination{gap:5px;margin-top:26px!important}.page-link{display:grid;min-width:40px;height:40px;margin:0!important;padding:0 10px!important;place-items:center;border:1px solid #dfe7e4!important;border-radius:10px!important;color:#526a76!important;background:#fff;box-shadow:none}.page-link:hover,.page-item.active .page-link{border-color:var(--formation-accent)!important;color:#fff!important;background:var(--formation-accent)!important;transform:none!important}

@media(max-width:991px){.container.mt-5{padding-top:38px}.formation-catalog-heading{align-items:flex-start;flex-direction:column}.formation-catalog-total{align-self:flex-start}.custom-table thead th{padding-inline:12px!important}.formation-row td{padding-inline:12px!important}}
@media(max-width:767px){.container.mt-5{padding:30px 15px 38px}.categories-section{position:static;max-height:430px;margin-bottom:22px}.formation-catalog-heading h2{font-size:1.6rem}.formation-row{display:grid!important;grid-template-columns:1fr 1fr;padding:15px!important;border-bottom:1px solid #e5ebe8}.formation-row td{width:auto!important;padding:8px!important;border:0!important}.formation-title{grid-column:1/-1}.formation-action{text-align:right}.formation-info{align-items:center!important;flex-direction:row!important}.btn-inscription{width:auto!important}.table-responsive{overflow:visible!important}.custom-table,.custom-table tbody{display:block}.custom-table thead{display:none!important}}
/* Mobile catalogue containment: long pagination must wrap inside the viewport. */
@media (max-width: 767.98px) {
    .formation-catalog,
    .formations-section,
    .formation-table,
    .formations-section nav {
        min-width: 0;
        max-width: 100%;
    }

    .formations-section .pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        width: 100%;
        margin-inline: 0;
    }

    .formations-section .page-item,
    .formations-section .page-link {
        margin: 0;
    }
}
