.cfp-catalogue,.cfp-fiche{--cfp-blue:#173f80;--cfp-blue-dark:#102f63;--cfp-orange:#e66a10;--cfp-ink:#1a2740;--cfp-muted:#536278;--cfp-line:#dbe3ed;box-sizing:border-box;color:var(--cfp-ink);font-family:inherit;line-height:1.6}
.cfp-catalogue *,.cfp-fiche *{box-sizing:border-box}
.cfp-catalogue{max-width:1240px;margin:48px auto;padding:0 20px}
.cfp-catalogue__intro{max-width:760px;margin-bottom:28px}
.cfp-eyebrow{margin:0 0 8px!important;color:var(--cfp-orange);font-size:.82rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.cfp-catalogue h2,.cfp-fiche h1,.cfp-fiche h2,.cfp-fiche h3{color:var(--cfp-blue-dark);line-height:1.22}
.cfp-catalogue__intro h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:0 0 10px}
.cfp-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.cfp-filters button{appearance:none;border:1px solid #b9c8db;border-radius:99px;background:#fff;color:var(--cfp-blue-dark);padding:10px 16px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.cfp-filters button:hover,.cfp-filters button.is-active{background:var(--cfp-blue);border-color:var(--cfp-blue);color:#fff}
.cfp-filters button:focus-visible,.cfp-button:focus-visible,.cfp-card__link:focus-visible{outline:3px solid var(--cfp-orange);outline-offset:3px}
.cfp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cfp-card{--cfp-accent:#0f4d91;--cfp-on-accent:#fff;--cfp-accent-soft:#edf3fa;border:1px solid var(--cfp-line);border-top:4px solid var(--cfp-accent);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 24px rgba(14,47,96,.09);transition:transform .2s,box-shadow .2s}
.cfp-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(14,47,96,.16)}
.cfp-card[hidden]{display:none}
.cfp-card__link{display:flex;flex-direction:column;height:100%;color:inherit!important;text-decoration:none!important}
.cfp-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:var(--cfp-accent);color:var(--cfp-on-accent);font-size:2rem;font-weight:800}
.cfp-card__image img{width:100%;height:100%;object-fit:cover}
.cfp-card__body{display:flex;flex:1;flex-direction:column;padding:21px}
.cfp-card__category{color:var(--cfp-blue-dark);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cfp-card h3{margin:8px 0 10px;font-size:1.15rem;line-height:1.35}
.cfp-card p{margin:0 0 14px;color:var(--cfp-muted);font-size:.94rem}
.cfp-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.cfp-card__meta span{border-radius:6px;background:var(--cfp-accent-soft);padding:4px 8px;color:var(--cfp-blue-dark);font-size:.78rem;font-weight:700}
.cfp-card__more{display:block;margin-top:18px;padding-top:13px;border-top:1px solid var(--cfp-line);color:var(--cfp-blue-dark);font-weight:800}
.cfp-empty{padding:22px;text-align:center}
.cfp-fiche{--cfp-accent:#0f4d91;--cfp-on-accent:#fff;--cfp-accent-soft:#edf3fa;max-width:1120px;width:100%;margin:36px auto 84px;padding:0 20px;overflow-wrap:anywhere}
.cfp-fiche__header{position:relative;isolation:isolate;overflow:hidden;margin-bottom:38px;padding:clamp(28px,4vw,48px);border-top:7px solid var(--cfp-accent);border-radius:5px 5px 16px 16px;background:var(--cfp-accent-soft);color:#1a2740}
.cfp-fiche__header:after{content:"";position:absolute;z-index:-1;right:-105px;bottom:-165px;width:350px;height:350px;border:50px solid var(--cfp-accent);border-radius:50%;opacity:.08;pointer-events:none}
.cfp-fiche__header-inner{position:relative;z-index:1;min-width:0}
body .cfp-fiche .cfp-fiche__category{display:inline-block;margin:0 0 20px!important;padding:7px 12px;border-radius:5px;background:var(--cfp-accent);color:var(--cfp-on-accent)!important;font-size:.74rem!important;font-weight:750;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}
body .cfp-fiche .cfp-fiche__header h1{max-width:21ch;margin:0 0 22px!important;color:#153359!important;font-size:clamp(2rem,3.3vw,3rem)!important;font-weight:750;letter-spacing:-.035em;line-height:1.16!important;text-wrap:balance;overflow-wrap:anywhere}
body .cfp-fiche .cfp-fiche__header p:not(.cfp-fiche__category){max-width:66ch;margin:0 0 14px!important;color:#263b59!important;font-size:clamp(1rem,1.3vw,1.09rem)!important;font-weight:400!important;line-height:1.72!important}
.cfp-fiche__highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:30px}
.cfp-fiche__highlight{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:104px;padding:15px 17px;border:1px solid rgba(21,51,89,.13);border-radius:10px;background:#fff;box-shadow:0 8px 22px rgba(21,51,89,.04)}
.cfp-fiche__highlight--duration{border-color:var(--cfp-accent);background:var(--cfp-accent);color:var(--cfp-on-accent)}
.cfp-fiche__highlight span{color:inherit;font-size:.71rem;font-weight:800;letter-spacing:.085em;line-height:1.25;text-transform:uppercase}
.cfp-fiche__highlight strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:inherit;font-size:clamp(.92rem,1.2vw,1.09rem);font-weight:750;line-height:1.34}
.cfp-fiche__nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 34px;padding:0 0 17px;border-bottom:1px solid var(--cfp-line)}
.cfp-fiche__nav span{margin-right:7px;color:#52627a;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.cfp-fiche__nav a{padding:7px 10px;border-radius:6px;background:#f1f5fa;color:#173f80!important;font-size:.84rem;font-weight:700;text-decoration:none!important;transition:background .2s,transform .2s}
.cfp-fiche__nav a:hover{background:var(--cfp-accent-soft);transform:translateY(-1px)}
.cfp-fiche__nav a:focus-visible{outline:3px solid var(--cfp-accent);outline-offset:2px}
.cfp-fiche .cfp-section{scroll-margin-top:32px}
.cfp-readable-list{display:grid;gap:10px;max-width:68ch;margin:4px 0 0;padding:0;list-style:none}
.cfp-readable-list li{position:relative;padding-left:27px;color:#26354b;font-size:clamp(1rem,1.3vw,1.075rem);font-weight:400;line-height:1.65}
.cfp-readable-list li:before{content:"";position:absolute;top:.66em;left:2px;width:9px;height:9px;border-radius:50%;background:var(--cfp-accent)}
body .cfp-fiche .cfp-program-step{display:flex;align-items:flex-start;gap:13px;margin:28px 0 14px!important;color:#153359!important;font-size:1.08rem!important;font-weight:750;line-height:1.4}
body .cfp-fiche .cfp-program-step:first-of-type{margin-top:8px!important}
.cfp-program-step span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:7px;background:var(--cfp-accent-soft);color:#153359;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}
.cfp-section--program .cfp-readable-list{margin:0 0 22px 44px}
.cfp-fiche__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,290px);align-items:start;gap:clamp(28px,4vw,52px)}
.cfp-fiche__main{min-width:0}
.cfp-fiche .cfp-section{margin:0;padding:0 0 30px;border:0;border-bottom:1px solid var(--cfp-line);background:transparent}
.cfp-fiche .cfp-section+.cfp-section{padding-top:30px}
.cfp-fiche .cfp-section:last-child{border-bottom:0}
.cfp-fiche .cfp-section.cfp-section--objectives{margin:0 0 28px;padding:27px 30px!important;border:0;border-left:5px solid var(--cfp-accent);border-radius:5px 12px 12px 5px;background:var(--cfp-accent-soft)}
.cfp-fiche .cfp-section--objectives+.cfp-section{padding-top:0}
body .cfp-fiche .cfp-section h2{display:flex;align-items:flex-start;gap:13px;margin:0 0 17px!important;color:#153359!important;font-size:clamp(1.32rem,2vw,1.62rem)!important;font-weight:700;letter-spacing:-.025em;line-height:1.28!important}
body .cfp-fiche .cfp-section h2:before{content:"";flex:none;width:5px;height:1.2em;margin-top:.04em;border-radius:3px;background:var(--cfp-accent)}
body .cfp-fiche .cfp-section p{max-width:68ch;margin:0 0 16px!important;color:#26354b!important;font-size:clamp(1rem,1.3vw,1.075rem)!important;font-weight:400!important;line-height:1.78!important}
body .cfp-fiche .cfp-section p:last-child{margin-bottom:0!important}
.cfp-fiche .cfp-muted{color:var(--cfp-muted);font-size:.9rem}
.cfp-fiche .cfp-cert-source{margin:22px 0 30px;font-size:.94rem;font-weight:700}
.cfp-fiche .cfp-cert-source a{color:var(--cfp-blue-dark);text-decoration:underline;text-underline-offset:3px}
.cfp-fiche__aside{position:sticky;top:24px;overflow:hidden;padding:25px;border-top:5px solid var(--cfp-accent);border-radius:5px 5px 14px 14px;background:var(--cfp-accent-soft)}
body .cfp-fiche .cfp-fiche__aside>h2{margin:0 0 18px!important;color:#153359!important;font-size:1.45rem!important;font-weight:700}
.cfp-fact{border-top:1px solid rgba(21,51,89,.18);padding:15px 0}
body .cfp-fiche .cfp-fact h3{margin:0 0 6px!important;color:#28446a!important;font-size:.75rem!important;font-weight:750;letter-spacing:.07em;line-height:1.35;text-transform:uppercase}
body .cfp-fiche .cfp-fact p{margin:0!important;color:#26354b!important;font-size:.94rem!important;font-weight:400!important;line-height:1.67!important}
.cfp-fiche .cfp-button{display:block;margin-top:12px;padding:12px 15px;border:2px solid var(--cfp-accent);border-radius:7px;background:var(--cfp-accent);color:var(--cfp-on-accent)!important;font-weight:800;text-align:center;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.cfp-fiche .cfp-button:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(16,47,99,.18)}
.cfp-fiche .cfp-button:focus-visible{outline:3px solid #153359;outline-offset:3px}
.cfp-fiche .cfp-button--outline{background:transparent;color:#153359!important}
.cfp-fiche .cfp-button--outline:hover{background:#fff;color:#153359!important}
@media(max-width:900px){.cfp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cfp-fiche__highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.cfp-fiche__layout{grid-template-columns:1fr}.cfp-fiche__aside{position:static}}
@media(max-width:600px){.cfp-grid{grid-template-columns:1fr}.cfp-catalogue,.cfp-fiche{padding:0 14px}.cfp-fiche{margin-top:22px}.cfp-fiche__header{margin-bottom:22px;padding:25px 21px 28px}.cfp-fiche__header:after{right:-270px}.cfp-fiche__highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cfp-fiche__highlight{min-height:90px;padding:12px}.cfp-fiche__highlight--locations{grid-column:1/-1}.cfp-fiche__nav{flex-wrap:nowrap;overflow-x:auto;margin-bottom:27px;padding-bottom:15px;white-space:nowrap;scrollbar-width:thin}.cfp-fiche__nav span{flex:none}.cfp-fiche__nav a{flex:none}.cfp-fiche .cfp-section{padding-bottom:25px}.cfp-fiche .cfp-section+.cfp-section{padding-top:25px}.cfp-fiche .cfp-section.cfp-section--objectives{padding:22px!important}.cfp-section--program .cfp-readable-list{margin-left:0}.cfp-fiche__aside{padding:21px}.cfp-filters button{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.cfp-fiche .cfp-button{transition:none}}

/* Fiche 0.3.5 : image, pictogrammes et interactions. */
.cfp-icon{display:block;flex:none;width:1.25em;height:1.25em;stroke:currentColor}
.cfp-fiche__hero-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(22px,3vw,38px)}
.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.cfp-fiche__visual{position:relative;overflow:hidden;min-width:0;margin:0;border-radius:15px;aspect-ratio:4/3;background:var(--cfp-accent);box-shadow:0 18px 34px rgba(21,51,89,.15)}
.cfp-fiche__visual:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(12,29,54,.22));pointer-events:none}
.cfp-fiche__visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s ease}
.cfp-fiche__visual:hover img{transform:scale(1.075);filter:saturate(1.12)}
.cfp-fiche__visual-mark{position:absolute;z-index:1;right:14px;bottom:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.75);border-radius:5px;background:rgba(12,29,54,.32);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.13em;backdrop-filter:blur(8px)}
.cfp-fiche--visual .cfp-fiche__header h1{max-width:19ch!important}
.cfp-fiche__highlights{position:relative;z-index:1}
.cfp-fiche__highlight{justify-content:flex-start;gap:5px;min-height:126px;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.cfp-fiche__highlight:hover{transform:translateY(-5px);border-color:var(--cfp-accent);box-shadow:0 15px 30px rgba(21,51,89,.12)}
.cfp-fiche__highlight-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:2px;border-radius:8px;background:var(--cfp-accent-soft);color:var(--cfp-accent)}
.cfp-fiche__highlight--duration .cfp-fiche__highlight-icon{background:rgba(255,255,255,.23);color:var(--cfp-on-accent)}
.cfp-fiche__highlight .cfp-fiche__highlight-icon .cfp-icon{width:20px;height:20px}
.cfp-fiche__highlight .cfp-fiche__highlight-label{color:inherit;font-size:.71rem;font-weight:800;letter-spacing:.085em;line-height:1.25;text-transform:uppercase}
.cfp-fiche__nav a{display:inline-flex;align-items:center;gap:6px;transition:background .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}
.cfp-fiche__nav a .cfp-icon{width:16px;height:16px;color:var(--cfp-accent)}
.cfp-fiche__nav a:hover{transform:translateY(-3px);box-shadow:0 5px 14px rgba(21,51,89,.1)}
.cfp-fiche__nav a:active,.cfp-fiche .cfp-button:active{transform:translateY(1px) scale(.985)}
body .cfp-fiche .cfp-section h2:has(> .cfp-section__icon):before{display:none}
.cfp-section__icon{display:grid;place-items:center;flex:none;width:38px;height:38px;margin-top:-3px;border:1px solid color-mix(in srgb,var(--cfp-accent) 25%,transparent);border-radius:10px;background:var(--cfp-accent-soft);color:var(--cfp-accent);transition:transform .3s ease,background .3s ease,color .3s ease}
.cfp-section__icon .cfp-icon{width:21px;height:21px}
.cfp-fiche .cfp-section:hover .cfp-section__icon{transform:rotate(-7deg) scale(1.08);background:var(--cfp-accent);color:var(--cfp-on-accent)}
.cfp-fiche .cfp-section--objectives .cfp-section__icon{background:#fff}
.cfp-fiche .cfp-section--objectives:hover .cfp-section__icon{background:var(--cfp-accent)}
.cfp-fiche__aside{scroll-margin-top:32px;transition:box-shadow .28s ease,transform .28s ease}
.cfp-fiche__aside:hover{box-shadow:0 15px 38px rgba(21,51,89,.1)}
.cfp-fact h3{display:flex;align-items:center;gap:8px}
.cfp-fact h3 .cfp-icon{width:17px;height:17px;color:var(--cfp-accent)}
.cfp-card__image{overflow:hidden;position:relative}
.cfp-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,29,54,.14),transparent 45%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.cfp-card:hover .cfp-card__image:after,.cfp-card:focus-within .cfp-card__image:after{opacity:1}
.cfp-card__image img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.cfp-card:hover .cfp-card__image img,.cfp-card:focus-within .cfp-card__image img{transform:scale(1.075);filter:saturate(1.1)}
.cfp-card__more span{display:inline-block;transition:transform .25s ease}
.cfp-card:hover .cfp-card__more span,.cfp-card:focus-within .cfp-card__more span{transform:translateX(5px)}
@media (prefers-reduced-motion:no-preference){
  .cfp-fiche [data-cfp-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
  .cfp-fiche [data-cfp-reveal].is-visible{opacity:1;transform:none}
  .cfp-fiche__highlight{animation:cfp-rise .55s both}
  .cfp-fiche__highlight:nth-child(2){animation-delay:.08s}
  .cfp-fiche__highlight:nth-child(3){animation-delay:.16s}
  .cfp-fiche__highlight:nth-child(4){animation-delay:.24s}
  @keyframes cfp-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media(max-width:900px){.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}}
@media(max-width:700px){.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:1fr}.cfp-fiche__visual{aspect-ratio:16/10}.cfp-fiche__highlight{min-height:112px}}
@media(max-width:600px){.cfp-fiche__highlight{min-height:106px}.cfp-section__icon{width:33px;height:33px;border-radius:8px}.cfp-section__icon .cfp-icon{width:18px;height:18px}body .cfp-fiche .cfp-section h2{align-items:center;gap:10px}}
@media(prefers-reduced-motion:reduce){.cfp-fiche__visual img,.cfp-fiche__highlight,.cfp-fiche__nav a,.cfp-section__icon,.cfp-fiche__aside,.cfp-card__image img,.cfp-card__image:after,.cfp-card__more span{animation:none!important;transition:none!important;transform:none!important}}
@media print{.cfp-fiche [data-cfp-reveal]{opacity:1!important;transform:none!important}.cfp-fiche__aside{position:static}}

/* Fiche 0.3.6 : parcours clavier, lisibilité et contrastes. */
.cfp-fiche,.cfp-card{--cfp-accent-ink:#0f4d91}
.cfp-fiche{position:relative}
.cfp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cfp-fiche__highlight strong{display:block;overflow:visible;-webkit-line-clamp:unset}
.cfp-fiche__highlight:not(.cfp-fiche__highlight--duration) .cfp-fiche__highlight-icon,.cfp-fiche__nav a .cfp-icon,.cfp-section__icon,.cfp-fact h3 .cfp-icon{color:var(--cfp-accent-ink)}
.cfp-fiche__nav a{min-height:44px}
.cfp-fiche__nav a[aria-current="location"]{background:var(--cfp-accent-soft);box-shadow:inset 0 -3px var(--cfp-accent-ink)}
.cfp-fiche__nav a:focus-visible,.cfp-fiche .cfp-button:focus-visible,.cfp-filters button:focus-visible,.cfp-card__link:focus-visible{outline:3px solid #153359;outline-offset:3px}
.cfp-fiche__main:focus{outline:none}
.cfp-fiche__main:focus-visible .cfp-section:first-child h2,.cfp-fiche .cfp-section:focus-visible,.cfp-fiche__aside:focus-visible{outline:3px solid #153359;outline-offset:6px}
.cfp-fiche .cfp-section:target:not(.cfp-section--objectives){border-radius:6px;background:linear-gradient(90deg,var(--cfp-accent-soft),transparent 70%)}
.cfp-filters button{min-height:44px;transition:background .2s ease,color .2s ease,transform .2s ease}
.cfp-filters button:active{transform:translateY(1px)}
.cfp-results{margin:-14px 0 20px;color:#536278;font-size:.88rem;font-weight:600}
@media(max-width:600px){.cfp-fiche__nav{flex-wrap:wrap;overflow:visible;white-space:normal;gap:8px;padding-bottom:19px}.cfp-fiche__nav>span{width:100%;margin:0 0 2px}.cfp-fiche__nav a{flex:0 1 auto;padding:10px 12px}.cfp-results{margin-top:-10px}}
@media(prefers-reduced-motion:reduce){.cfp-card,.cfp-filters button{animation:none!important;transition:none!important}.cfp-card:hover,.cfp-filters button:active{transform:none!important}}
@media(forced-colors:active){.cfp-fiche__nav a[aria-current="location"]{outline:2px solid Highlight}.cfp-fiche__highlight,.cfp-section__icon,.cfp-fiche__aside{border:1px solid CanvasText}}

/* Fiche 0.3.7 : prochaines étapes visibles dès l'ouverture. */
.cfp-fiche__actions{position:relative;z-index:1;margin-top:22px}
.cfp-fiche__action-buttons{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px}
.cfp-fiche__action{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:50px;padding:12px 17px;border:2px solid var(--cfp-accent);border-radius:8px;font-size:.94rem;font-weight:800;line-height:1.3;text-decoration:none!important;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}
.cfp-fiche__action--primary{min-width:205px;background:var(--cfp-accent);color:var(--cfp-on-accent)!important}
.cfp-fiche .cfp-fiche__action--primary{border-color:#153359;background:#153359;color:#fff!important;box-shadow:inset 4px 0 var(--cfp-accent),0 9px 22px rgba(21,51,89,.23)}
.cfp-fiche .cfp-fiche__action--primary:hover{background:#0d294a;box-shadow:inset 4px 0 var(--cfp-accent),0 14px 28px rgba(21,51,89,.29)}
.cfp-fiche__action--primary span[aria-hidden="true"]{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.17)}
.cfp-fiche__action--cpf{max-width:100%;background:#fff;color:#153359!important}
.cfp-fiche__action span[aria-hidden="true"]{flex:none;font-size:1.2rem;line-height:1;transition:transform .24s ease}
.cfp-fiche__action:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(21,51,89,.13)}
.cfp-fiche__action:hover span[aria-hidden="true"]{transform:translate(2px,-2px)}
.cfp-fiche__action--cpf:hover{background:var(--cfp-accent-soft)}
.cfp-fiche__action:active{transform:translateY(1px) scale(.99)}
.cfp-fiche__action:focus-visible,.cfp-fiche__aside-cpf:focus-visible{outline:3px solid #153359;outline-offset:3px}
.cfp-fiche .cfp-fiche__action--primary:focus-visible{outline-color:var(--cfp-accent-ink)}
.cfp-fiche .cfp-button[data-cfp-track="contact"]{border-color:#153359;background:#153359;color:#fff!important;box-shadow:inset 4px 0 var(--cfp-accent),0 7px 18px rgba(21,51,89,.18)}
.cfp-fiche .cfp-button[data-cfp-track="contact"]:hover{background:#0d294a;box-shadow:inset 4px 0 var(--cfp-accent),0 11px 24px rgba(21,51,89,.24)}
@media(prefers-reduced-motion:no-preference){
  .cfp-fiche__action--primary,.cfp-fiche .cfp-button[data-cfp-track="contact"]{animation:cfp-contact-attention 1s ease-out .4s 1}
  @keyframes cfp-contact-attention{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16)}}
}
body .cfp-fiche .cfp-fiche__header .cfp-fiche__cpf-note{max-width:72ch;margin:10px 0 0!important;color:#526078!important;font-size:.82rem!important;font-weight:500!important;line-height:1.5!important}
.cfp-fiche__aside-cpf{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin-top:9px;padding:10px 12px;border:1px solid var(--cfp-accent-ink);border-radius:7px;background:#fff;color:#153359!important;font-size:.84rem;font-weight:750;line-height:1.35;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.cfp-fiche__aside-cpf:hover{background:var(--cfp-accent-soft);transform:translateY(-2px)}
.cfp-fiche__aside-cpf span[aria-hidden="true"]{flex:none;color:var(--cfp-accent-ink);font-size:1.1rem}
@media(max-width:700px){.cfp-fiche__action-buttons{display:grid;grid-template-columns:1fr}.cfp-fiche__action{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.cfp-fiche__action,.cfp-fiche__action span[aria-hidden="true"],.cfp-fiche__aside-cpf{transition:none!important;transform:none!important}}
@media(forced-colors:active){.cfp-fiche__action,.cfp-fiche__aside-cpf{border:2px solid LinkText}}

/* Catalogue 0.4.1 : recherche et repères de lecture. */
.cfp-catalogue__search{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 20px;padding:18px 20px;border:1px solid #cbd9eb;border-radius:14px;background:#f4f8fe}
.cfp-catalogue__search>label:first-child{display:grid;gap:7px;flex:1;max-width:620px;color:#153359;font-size:.9rem;font-weight:800}
.cfp-catalogue__search-input{width:100%;min-height:48px;padding:10px 14px;border:1px solid #aebfd7;border-radius:9px;background:#fff;color:var(--cfp-ink);font:inherit;font-size:1rem}
.cfp-catalogue__search-input:focus-visible,.cfp-catalogue__cpf-filter:focus-within{outline:3px solid #153359;outline-offset:3px}
.cfp-catalogue__cpf-filter{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:8px 14px;border:1px solid #aebfd7;border-radius:9px;background:#fff;color:#153359;font-size:.88rem;font-weight:800;cursor:pointer}
.cfp-catalogue__cpf-filter:has(input:checked){border-color:#6eae86;background:#e8f5ed;color:#14633d}
.cfp-catalogue__cpf-filter input{width:18px;height:18px;margin:0;accent-color:#14633d}
.cfp-card__labels{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cfp-card__cpf{display:inline-block;padding:5px 9px;border-radius:99px;background:#e8f5ed;color:#14633d;font-size:.74rem;font-weight:800;line-height:1.25}
.cfp-card h3{font-size:1.22rem;line-height:1.32;text-wrap:balance}
.cfp-card__meta span{display:inline-grid;gap:1px;min-height:39px;padding:5px 9px}
.cfp-card__meta strong{font-size:.67rem;letter-spacing:.03em;text-transform:uppercase}
.cfp-catalogue .cfp-empty{margin-top:18px;padding:20px;border:1px solid #cbd9eb;border-radius:10px;background:#f4f8fe;color:#153359;font-weight:650}
.cfp-catalogue .cfp-empty[hidden]{display:none}
@media(max-width:700px){.cfp-catalogue__search{align-items:stretch;flex-direction:column;padding:15px}.cfp-catalogue__search>label:first-child{max-width:none}}

/* Fiche 0.5.0 : lecture éditoriale et parcours de contact. */
.cfp-fiche{max-width:1200px;margin-top:24px}
.cfp-fiche__breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 16px;color:#52627a;font-size:.84rem;font-weight:650}
.cfp-fiche__breadcrumb a{color:#153359!important;text-decoration:underline;text-decoration-color:var(--cfp-accent);text-decoration-thickness:2px;text-underline-offset:4px}
.cfp-fiche__breadcrumb a:hover{color:var(--cfp-accent-ink)!important}
.cfp-fiche__breadcrumb a:focus-visible,.cfp-fiche__explore:focus-visible,.cfp-fiche__closing-action:focus-visible,.cfp-fiche__mobile-action a:focus-visible{outline:3px solid #153359;outline-offset:4px}
.cfp-fiche__header{margin-bottom:26px;padding:clamp(28px,4vw,50px);border-top:0;border-left:7px solid var(--cfp-accent);border-radius:6px 22px 22px 6px;box-shadow:0 20px 50px rgba(21,51,89,.08)}
.cfp-fiche__header:after{right:-95px;bottom:-180px;width:390px;height:390px;border-width:65px;opacity:.055}
.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:stretch;gap:clamp(28px,4vw,55px)}
.cfp-fiche__header-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body .cfp-fiche .cfp-fiche__category{margin-bottom:18px!important;border-radius:4px}
body .cfp-fiche .cfp-fiche__header p.cfp-fiche__overline{margin:0 0 10px!important;color:var(--cfp-accent-ink)!important;font-size:.8rem!important;font-weight:800!important;letter-spacing:.11em;line-height:1.35!important;text-transform:uppercase}
body .cfp-fiche .cfp-fiche__header h1{max-width:22ch;margin-bottom:18px!important;font-size:clamp(2.35rem,3.3vw,3.2rem)!important;font-weight:800;letter-spacing:-.04em;line-height:1.1!important}
body .cfp-fiche .cfp-fiche__header-inner>p:not(.cfp-fiche__category):not(.cfp-fiche__overline){max-width:54ch;margin-bottom:0!important;font-size:clamp(1.04rem,1.4vw,1.16rem)!important;line-height:1.65!important}
.cfp-fiche__benefits{width:100%;max-width:62ch;margin-top:24px;padding:20px 22px;border:1px solid rgba(21,51,89,.09);border-left:4px solid var(--cfp-accent);border-radius:4px 12px 12px 4px;background:rgba(255,255,255,.86)}
body .cfp-fiche .cfp-fiche__header .cfp-fiche__benefits>p{margin:0 0 10px!important;color:#153359!important;font-size:.8rem!important;font-weight:800!important;letter-spacing:.08em;line-height:1.4!important;text-transform:uppercase}
.cfp-fiche__benefits ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.cfp-fiche__benefits li{position:relative;padding-left:23px;color:#263b59;font-size:.91rem;font-weight:600;line-height:1.5}
.cfp-fiche__benefits li:before{content:"✓";position:absolute;left:0;top:0;color:var(--cfp-accent-ink);font-weight:900}
.cfp-fiche__actions{display:flex;align-items:flex-start;flex-direction:column;gap:13px;margin-top:26px}
.cfp-fiche .cfp-fiche__action--primary{min-width:230px;min-height:56px;padding:13px 17px;font-size:1rem}
.cfp-fiche__explore{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#153359!important;font-size:.9rem;font-weight:750;text-decoration:underline!important;text-decoration-color:var(--cfp-accent)!important;text-decoration-thickness:2px!important;text-underline-offset:4px;transition:gap .2s ease}
.cfp-fiche__explore:hover{gap:13px}
.cfp-fiche__visual{align-self:start;min-height:0;height:auto;aspect-ratio:4/5;border-radius:18px;box-shadow:0 22px 40px rgba(21,51,89,.17)}
.cfp-fiche__visual img{position:absolute;inset:0}
.cfp-fiche__visual-mark{right:18px;bottom:18px}
.cfp-fiche__highlights{gap:0;margin-top:35px;overflow:hidden;border:1px solid rgba(21,51,89,.1);border-radius:12px;background:#fff;box-shadow:0 13px 28px rgba(21,51,89,.07)}
.cfp-fiche__highlight{min-height:112px;border:0;border-right:1px solid #e3e9f0;border-radius:0;box-shadow:none}
.cfp-fiche__highlight:last-child{border-right:0}
.cfp-fiche__highlight:hover{transform:none;box-shadow:inset 0 -4px var(--cfp-accent)}
.cfp-fiche__highlight--duration:hover{box-shadow:inset 0 -4px var(--cfp-on-accent)}
.cfp-fiche__nav{margin:0 0 40px;padding:15px 0 19px;border-bottom:1px solid #dbe3ed}
.cfp-fiche__nav span{color:#52627a}
.cfp-fiche__layout{gap:clamp(30px,5vw,70px)}
.cfp-fiche .cfp-section{padding-bottom:42px}
.cfp-fiche .cfp-section+.cfp-section{padding-top:42px}
.cfp-fiche .cfp-section.cfp-section--objectives{margin-bottom:0;padding:30px 34px!important;border-left-width:6px;border-radius:5px 16px 16px 5px}
.cfp-fiche .cfp-section--objectives+.cfp-section{padding-top:42px}
body .cfp-fiche .cfp-section h2{margin-bottom:20px!important;font-size:clamp(1.5rem,2.2vw,1.85rem)!important;letter-spacing:-.035em;text-wrap:balance}
.cfp-section--program .cfp-readable-list{margin:2px 0 25px 45px}
body .cfp-fiche .cfp-program-step{position:relative;gap:15px;margin:30px 0 13px!important;font-size:1.12rem!important}
.cfp-program-step span{width:34px;height:34px;border:1px solid var(--cfp-accent);background:var(--cfp-accent-soft);color:var(--cfp-accent-ink)}
.cfp-fiche__aside{top:24px;padding:28px;border-top-width:6px;border-radius:5px 5px 16px 16px;box-shadow:0 16px 38px rgba(21,51,89,.08)}
body .cfp-fiche .cfp-fiche__aside>h2{font-size:1.55rem!important;letter-spacing:-.03em}
.cfp-fiche__closing{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:56px;padding:clamp(28px,4vw,45px);border-left:7px solid var(--cfp-accent);border-radius:6px 18px 18px 6px;background:var(--cfp-accent-soft)}
body .cfp-fiche .cfp-fiche__closing-kicker{margin:0 0 5px;color:var(--cfp-accent-ink);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body .cfp-fiche .cfp-fiche__closing h2{margin:0 0 9px!important;color:#153359!important;font-size:clamp(1.55rem,2.4vw,2.15rem)!important;line-height:1.2;text-wrap:balance}
body .cfp-fiche .cfp-fiche__closing p:last-child{max-width:58ch;margin:0;color:#36506f;font-size:1rem;line-height:1.6}
.cfp-fiche__closing-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;flex:none;min-width:220px;min-height:54px;padding:12px 17px;border-radius:8px;background:#153359;color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 9px 22px rgba(21,51,89,.2);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.cfp-fiche__closing-action:hover{transform:translateY(-3px);background:#0d294a;box-shadow:0 13px 26px rgba(21,51,89,.27)}
.cfp-fiche__mobile-action{display:none}
@media(max-width:900px){.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.cfp-fiche__visual{min-height:340px}.cfp-fiche__highlight{border-bottom:1px solid #e3e9f0}.cfp-fiche__highlight:nth-child(2){border-right:0}.cfp-fiche__highlight:nth-child(n+3){border-bottom:0}}
@media(max-width:700px){.cfp-fiche--visual .cfp-fiche__hero-row{grid-template-columns:1fr}.cfp-fiche__visual{min-height:0;height:auto;aspect-ratio:16/10}.cfp-fiche__header{padding:28px 24px 30px}.cfp-fiche__highlights{margin-top:26px}.cfp-fiche__closing{align-items:stretch;flex-direction:column}.cfp-fiche__closing-action{width:100%}}
@media(max-width:600px){.cfp-fiche{margin-top:16px;margin-bottom:110px}.cfp-fiche__breadcrumb{margin-bottom:12px}.cfp-fiche__header{border-left-width:5px;border-radius:5px 16px 16px 5px}.cfp-fiche__header h1{font-size:clamp(2.2rem,8vw,3rem)!important}.cfp-fiche__benefits{padding:17px}.cfp-fiche__action-buttons{width:100%}.cfp-fiche__visual{margin-top:4px}.cfp-fiche__highlight{min-height:103px;padding:12px}.cfp-fiche__nav{margin-bottom:28px}.cfp-fiche .cfp-section{padding-bottom:30px}.cfp-fiche .cfp-section+.cfp-section,.cfp-fiche .cfp-section--objectives+.cfp-section{padding-top:30px}.cfp-fiche .cfp-section.cfp-section--objectives{padding:24px!important}.cfp-section--program .cfp-readable-list{margin-left:0}.cfp-fiche__closing{margin-top:30px;padding:25px 22px}.cfp-fiche__mobile-action{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px max(16px,env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid #dbe3ed;background:rgba(255,255,255,.96);box-shadow:0 -9px 28px rgba(21,51,89,.13);backdrop-filter:blur(10px)}.cfp-fiche__mobile-action>span{max-width:17ch;color:#153359;font-size:.77rem;font-weight:750;line-height:1.3}.cfp-fiche__mobile-action a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:9px 14px;border-radius:7px;background:#153359;color:#fff!important;font-size:.84rem;font-weight:800;text-decoration:none!important;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.cfp-fiche__explore,.cfp-fiche__closing-action{transition:none!important;transform:none!important}}
@media(forced-colors:active){.cfp-fiche__benefits,.cfp-fiche__closing,.cfp-fiche__mobile-action{border:1px solid CanvasText}.cfp-fiche__closing-action,.cfp-fiche__mobile-action a{border:2px solid LinkText}}
@media print{.cfp-fiche__mobile-action{display:none!important}.cfp-fiche__closing{break-inside:avoid}}

/* Fiche 0.5.1 : sections lisibles après navigation et alignement éditorial. */
.cfp-fiche__main .cfp-section[class*="cfp-section--"]{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:17px;align-content:start}
.cfp-fiche__main .cfp-section[class*="cfp-section--"]>h2{grid-column:1/-1}
.cfp-fiche__main .cfp-section[class*="cfp-section--"]>:not(h2){grid-column:2;min-width:0}
body .cfp-fiche .cfp-section h2{align-items:center;gap:17px;margin-bottom:17px!important;font-size:clamp(1.4rem,1.9vw,1.7rem)!important;line-height:1.28!important}
.cfp-section__icon{width:42px;height:42px;margin-top:0;border:1px solid color-mix(in srgb,var(--cfp-accent) 34%,white);border-radius:10px;background:var(--cfp-accent-soft);color:var(--cfp-accent-ink);transition:none}
.cfp-section__icon .cfp-icon{width:21px;height:21px}
.cfp-fiche .cfp-section:hover .cfp-section__icon,.cfp-fiche .cfp-section--objectives:hover .cfp-section__icon{transform:none;background:var(--cfp-accent-soft);color:var(--cfp-accent-ink)}
.cfp-fiche .cfp-section:target:not(.cfp-section--objectives){border-radius:0;background:transparent;box-shadow:none}
.cfp-fiche .cfp-section.cfp-section--objectives:target{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cfp-accent) 25%,transparent)}
body .cfp-fiche .cfp-section p{max-width:62ch;line-height:1.72!important}
.cfp-fiche .cfp-section.cfp-section--objectives{margin-bottom:0}
.cfp-fiche .cfp-section[class*="cfp-section--"] .cfp-readable-list{max-width:62ch}
.cfp-fiche .cfp-section--program .cfp-readable-list{margin-left:49px}
@media(max-width:600px){.cfp-fiche__main .cfp-section[class*="cfp-section--"]{grid-template-columns:36px minmax(0,1fr);column-gap:12px}.cfp-fiche__main .cfp-section[class*="cfp-section--"]>:not(h2){grid-column:1/-1}.cfp-section__icon{width:36px;height:36px;border-radius:9px}.cfp-section__icon .cfp-icon{width:19px;height:19px}body .cfp-fiche .cfp-section h2{gap:12px;font-size:1.38rem!important}.cfp-fiche .cfp-section--program .cfp-readable-list{margin-left:0}}

/* Fiche 0.5.2 : informations essentielles en lignes lisibles sur petit écran. */
@media(max-width:700px){
  .cfp-fiche .cfp-fiche__highlights{grid-template-columns:minmax(0,1fr);gap:0;margin-top:26px}
  .cfp-fiche .cfp-fiche__highlight,.cfp-fiche .cfp-fiche__highlight--locations{display:grid;grid-column:auto;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:start;column-gap:12px;row-gap:3px;min-height:0;padding:15px 17px;border:0;border-bottom:1px solid #e3e9f0;border-radius:0;background:#fff;color:#1a2740;box-shadow:none;animation:none}
  .cfp-fiche .cfp-fiche__highlight:last-child{border-bottom:0}
  .cfp-fiche .cfp-fiche__highlight:hover{transform:none;border-color:#e3e9f0;box-shadow:none}
  .cfp-fiche .cfp-fiche__highlight--duration{border-left:4px solid var(--cfp-accent);background:var(--cfp-accent-soft);color:#153359}
  .cfp-fiche .cfp-fiche__highlight--duration .cfp-fiche__highlight-icon{background:#fff;color:var(--cfp-accent-ink)}
  .cfp-fiche .cfp-fiche__highlight-icon{grid-column:1;grid-row:1/3;width:36px;height:36px;margin:0}
  .cfp-fiche .cfp-fiche__highlight-label{grid-column:2;grid-row:1;align-self:end;color:#52627a;font-size:.71rem;line-height:1.2}
  .cfp-fiche .cfp-fiche__highlight strong{grid-column:2;grid-row:2;min-width:0;color:#26354b;font-size:.96rem;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
  .cfp-fiche .cfp-fiche__highlight--duration strong{font-size:1.08rem;font-weight:800}
}
