
:root {
  --coral:      #FB926B;
  --mint:       #BAFAEE;
  --periwinkle: #BFCCFB;
  --cream:      #FEECC2;
  --cream-mid:  #fbefd3;
  --rose:       #FFCEEC;
  --body-bg:    #f6f6f6;
  --hero-bg:    #FEECC2;
  --ink:        #161616;
  --ink-70:     rgba(22,22,22,.7);
  --ink-45:     rgba(22,22,22,.45);
  --ink-20:     rgba(22,22,22,.2);
  --dark-btn:   #2b2b2b;
  --mid:        #d0d0d0;
  --white:      #ffffff;
  --c1: #FB926B; --c2: #BFCCFB; --c3: #BAFAEE;
  --c4: #FEECC2; --c5: #FFCEEC; --c6: #FF9DB8;
  --c7: #93B4FF; --c8: #72E5D3; --c9: #CDB8FF;
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --sans: 'Lato', system-ui, sans-serif;
  --r-grid: 14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family: var(--sans);background:var(--body-bg);color:var(--ink);cursor:none;font-size:16.8px;line-height:1.75;font-weight:400}
#cur{width:9px;height:9px;background:var(--coral);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .12s,background .2s;mix-blend-mode:multiply}
#cur-r{width:30px;height:30px;border:1.5px solid rgba(251,146,107,.4);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .3s cubic-bezier(.23,1,.32,1)}
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 3.5rem;background:rgba(246,246,246,.97);backdrop-filter:blur(16px);border-bottom:1.5px solid var(--mid)}
.logo{font-family: var(--sans);font-size:1.2rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.04em}
.logo em{font-style:normal;color:var(--coral)}
.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-menu a{text-decoration:none;font-size:.77rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);opacity:.35;transition:opacity .2s}
.nav-menu a:hover,.nav-menu a.active{opacity:1}
.nav-btn{background:var(--ink)!important;color:#fff!important;padding:.42rem 1.2rem;border-radius:0!important;opacity:1!important;border:1.5px solid var(--ink)!important;transition:background .18s!important;font-weight:700!important}
.nav-btn:hover{background:var(--coral)!important;border-color:var(--coral)!important}
.nav-secondary{display:flex;gap:1.2rem}
.nav-secondary a{text-decoration:none;font-size:.76rem;font-weight:500;color:var(--ink-45);transition:color .2s}
.nav-secondary a:hover{color:var(--coral)}
.page-hero{background:var(--hero-bg);border-bottom:1.5px solid var(--ink);padding-top:4.8rem}
.hero-inner{max-width:1560px;margin:0 auto;padding:3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-45);margin-bottom:1.6rem}
.breadcrumb a{text-decoration:none;color:var(--ink-45)}
.breadcrumb a:hover{color:var(--ink)}
.active-crumb{color:var(--ink)}
h1.page-title{font-family: var(--sans);font-size:clamp(2.8rem,5vw,5rem);font-weight:700;letter-spacing:-.05em;line-height:1.0;margin-bottom:1.1rem;color:var(--ink)}
h1.page-title em{font-style:normal;color:#fff}
.hero-desc{font-size:1rem;font-weight:400;line-height:1.75;color:var(--ink-70);max-width:50ch}
.hero-search{background:var(--white);padding:2rem;border:1.5px solid var(--ink);box-shadow:6px 6px 0 rgba(22,22,22,.12)}
.hs-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.hs-label::before{content:'';width:20px;height:2px;background:var(--coral)}
.search-big{position:relative;margin-bottom:1.2rem}
.search-big input{width:100%;background:var(--body-bg);border:1.5px solid var(--ink);border-radius:0;padding:.9rem 1rem .9rem 3rem;font-family: var(--sans);font-size:1rem;font-weight:500;color:var(--ink);outline:none;transition:box-shadow .2s}
.search-big input::placeholder{color:var(--ink-45);font-weight:400}
.search-big input:focus{box-shadow:3px 3px 0 rgba(251,146,107,.35)}
.search-big .si{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--ink-45);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.search-big .sc{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);width:30px;height:30px;background:var(--coral);border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1.5px solid var(--ink);transition:background .18s}
.search-big .sc:hover{background:var(--ink)}
.search-big .sc svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.kw-hint{font-size:.72rem;font-weight:600;opacity:.38;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.08em}
.kw-cloud{display:flex;flex-wrap:wrap;gap:.4rem;max-height:82px;overflow:hidden;transition:max-height .4s}
.kw-cloud.expanded{max-height:400px}
.kw-pill{display:inline-block;background:var(--body-bg);color:var(--dark-btn);font-size:.73rem;font-weight:600;padding:.22rem .7rem;border-radius:0;cursor:pointer;border:1.5px solid #3a3a3a;transition:all .14s;white-space:nowrap;font-family: var(--sans)}
.kw-pill:hover{background:var(--coral);color:#fff;border-color:var(--coral)}
.kw-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.kw-more{font-size:.73rem;font-weight:600;color:var(--ink);cursor:pointer;margin-top:.55rem;display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;font-family: var(--sans);padding:0;opacity:.5;transition:opacity .2s}
.kw-more:hover{opacity:1}
.kw-more svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.kw-more.open svg{transform:rotate(180deg)}
.body-wrap{max-width:1560px;margin:0 auto;padding:3rem 3.5rem 5rem;display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start}
.sidebar{position:sticky;top:5.5rem}
.sidebar-title{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--mid)}
.cat-list{display:flex;flex-direction:column;gap:.3rem}
.cat-btn{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:0;border:1.5px solid #3a3a3a;background:var(--white);font-family: var(--sans);font-size:.83rem;font-weight:600;color:var(--dark-btn);cursor:pointer;transition:all .15s;text-align:left;width:100%}
.cat-btn:hover{background:var(--body-bg);border-color:var(--ink);color:var(--ink)}
.cat-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-dot{width:9px;height:9px;flex-shrink:0;border-radius:0;border:1.5px solid rgba(0,0,0,.2)}
.cat-btn.active .cat-dot{border-color:rgba(255,255,255,.35)}
.cat-count{margin-left:auto;font-size:.72rem;font-weight:700;opacity:.4}
.cat-btn.active .cat-count{opacity:.6}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;flex-wrap:wrap;gap:.8rem}
.rh-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.rh-count{font-size:.88rem;font-weight:600;color:var(--ink-45)}
.rh-count strong{color:var(--ink);font-weight:700}
.active-filters{display:flex;gap:.4rem;flex-wrap:wrap}
.af-tag{display:inline-flex;align-items:center;gap:.4rem;background:var(--coral);color:#fff;font-size:.73rem;font-weight:700;padding:.25rem .8rem;border-radius:0;border:1.5px solid var(--ink)}
.af-tag button{background:none;border:none;cursor:pointer;color:#fff;display:flex;padding:0;opacity:.7;transition:opacity .2s}
.af-tag button:hover{opacity:1}
.af-tag button svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}
.sort-sel{background:var(--white);border:1.5px solid #3a3a3a;border-radius:0;padding:.45rem .85rem;font-family: var(--sans);font-size:.82rem;font-weight:600;color:var(--dark-btn);outline:none;cursor:pointer}
.grid-wrap{background:var(--cream-mid);border-radius:var(--r-grid);padding:1.2rem;border:1.5px solid #c9b98a}
.formations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.fcard{background:var(--white);padding:1.8rem 1.8rem 1.4rem;display:flex;flex-direction:column;cursor:pointer;border:1.5px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 #c8c8c8;transition:box-shadow .22s cubic-bezier(.23,1,.32,1),transform .22s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}
.fcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.fcard:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #c8c8c8}
.fcard:hover .fc-arrow{opacity:1;transform:translateX(3px)}
.fc-cat1::before{background:var(--c1)}.fc-cat2::before{background:var(--c2)}.fc-cat3::before{background:var(--c3)}
.fc-cat4::before{background:var(--c4)}.fc-cat5::before{background:var(--c5)}.fc-cat6::before{background:var(--c6)}
.fc-cat7::before{background:var(--c7)}.fc-cat8::before{background:var(--c8)}.fc-cat9::before{background:var(--c9)}
.fc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:.8rem}
.fc-cat-badge{font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.22rem .7rem;border-radius:0;white-space:nowrap;flex-shrink:0;border:1.5px solid rgba(0,0,0,.2)}
.fc-cat-badge.b1{background:var(--c1);color:#7a3015}.fc-cat-badge.b2{background:var(--c2);color:#1a3080}
.fc-cat-badge.b3{background:var(--c3);color:#0a5c50}.fc-cat-badge.b4{background:var(--c4);color:#7a5500}
.fc-cat-badge.b5{background:var(--c5);color:#8a1050}.fc-cat-badge.b6{background:var(--c6);color:#7a0030}
.fc-cat-badge.b7{background:var(--c7);color:#1a3080}.fc-cat-badge.b8{background:var(--c8);color:#0a4a42}
.fc-cat-badge.b9{background:var(--c9);color:#3a1080}
.fc-title{font-family: var(--sans);font-size:1.08rem;font-weight:700;letter-spacing:-.025em;line-height:1.28;margin-bottom:.8rem;color:var(--ink);transition:color .18s}
.fcard:hover .fc-title{color:var(--coral)}
.fc-keywords{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;flex:1}
.fc-kw{font-size:.7rem;font-weight:600;background:var(--body-bg);color:var(--ink-45);padding:.2rem .6rem;border-radius:0;border:1.5px solid var(--mid);transition:all .14s}
.fcard:hover .fc-kw{border-color:rgba(22,22,22,.25);color:var(--ink-70)}
.fc-kw.matched{background:var(--coral);color:#fff;border-color:var(--ink);font-weight:700}
.fc-footer{background:var(--ink)!important;color:rgba(255,255,255,.85)!important;display:flex;align-items:center;justify-content:flex-end;padding-top:.85rem;border-top:1.5px solid var(--mid);margin-top:auto}
.fc-arrow{width:28px;height:28px;border:1.5px solid var(--ink);background:var(--body-bg);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,transform .2s,background .18s}
.fc-arrow svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.fcard:hover .fc-arrow{background:var(--coral);border-color:var(--coral)}
.fcard:hover .fc-arrow svg{stroke:#fff}
.no-results{display:none;text-align:center;padding:5rem 2rem;grid-column:1/-1;background:var(--white);border:1.5px solid var(--ink)}
.no-results.visible{display:block}
.nr-icon{width:52px;height:52px;background:var(--body-bg);border:1.5px solid var(--mid);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.nr-icon svg{width:22px;height:22px;stroke:var(--ink-45);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nr-title{font-size:1.3rem;font-weight:700;margin-bottom:.5rem;opacity:.6;letter-spacing:-.02em}
.nr-sub{font-size:.9rem;font-weight:500;opacity:.4;line-height:1.7}
.dl-strip{background:var(--rose);border:1.5px solid var(--ink);padding:2rem 2.5rem;margin-top:1.5rem;display:flex;align-items:center;gap:2rem;box-shadow:4px 4px 0 #c8c8c8}
.dl-icon{width:46px;height:46px;background:rgba(22,22,22,.08);border:1.5px solid rgba(22,22,22,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dl-icon svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dl-title{font-size:1.08rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.dl-sub{font-size:.85rem;font-weight:500;opacity:.5}
.dl-btn{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:#fff;padding:.8rem 1.6rem;border-radius:0;text-decoration:none;font-size:.85rem;font-weight:700;transition:background .18s;border:1.5px solid var(--ink);letter-spacing:-.01em}
.dl-btn:hover{background:var(--coral);border-color:var(--coral)}
.dl-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.contact-strip{background:var(--ink);padding:2rem 2.5rem;margin-top:.8rem;display:flex;align-items:center;gap:2rem;color:#fff}
.cs-text{flex:1}
.cs-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.cs-sub{font-size:.85rem;font-weight:400;opacity:.4}
.cs-btn{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);padding:.72rem 1.5rem;border-radius:0;text-decoration:none;font-size:.84rem;font-weight:700;transition:background .18s,border-color .18s;white-space:nowrap;flex-shrink:0}
.cs-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}

/* ── FOOTER ── */
footer{background:var(--ink)!important;color:rgba(255,255,255,.85)!important;padding: 4.5rem 0 2rem}
.footer-top {
  display: grid; grid-template-columns: 1.8fr 1fr 1fr 1.3fr;
  gap: 3.5rem; margin-bottom: 3.5rem; padding-bottom: 3.5rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.footer-brand .logo { color: rgba(255,255,255,.85); display: block; margin-bottom: 1.1rem; }
.footer-brand p { font-size: .84rem; font-weight: 400; line-height: 1.75; color: rgba(255,255,255,.35); max-width: 28ch; margin-bottom: 1.6rem; }
.footer-social { display: flex; gap: .6rem; }
.social-btn {
  width: 32px; height: 32px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; text-decoration: none;
}
.social-btn:hover { background: var(--periwinkle); border-color: var(--periwinkle); }
.social-btn svg { width: 14px; height: 14px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.footer-col h4 { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 1.1rem; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .6rem; }
.footer-col ul a { text-decoration: none; font-size: .95rem; font-weight: 400; color: rgba(255,255,255,.5); transition: color .2s; }
.footer-col ul a:hover { color: var(--periwinkle); }
.footer-newsletter input {
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.1);
  padding: .9rem 1.1rem;
  color: #fff;
  font-family: var(--sans); font-size: .95rem; font-weight: 400;
  margin-bottom: .7rem; outline: none;
  transition: border-color .2s;
}
.footer-newsletter input::placeholder { color: rgba(255,255,255,.25); }
.footer-newsletter input:focus { border-color: var(--periwinkle); }
.footer-newsletter .btn-nl {
  width: 100%;
  background: var(--periwinkle); color: var(--ink);
  border: 1.5px solid var(--periwinkle);
  padding: 1rem;
  font-family: var(--sans); font-size: .95rem; font-weight: 700;
  cursor: pointer; transition: background .2s, border-color .2s;
}
.footer-newsletter .btn-nl:hover { background: var(--coral); border-color: var(--coral); color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-copy { font-size: .75rem; font-weight: 400; color: rgba(255,255,255,.25); }
.footer-legal { display: flex; gap: 2rem; }
.footer-legal a { font-size: .75rem; font-weight: 400; color: rgba(255,255,255,.25); text-decoration: none; transition: color .2s; }
.footer-legal a:hover { color: rgba(255,255,255,.6); }
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fcard{animation:fadeUp .3s both}
.fcard:nth-child(1){animation-delay:.03s}.fcard:nth-child(2){animation-delay:.06s}
.fcard:nth-child(3){animation-delay:.09s}.fcard:nth-child(4){animation-delay:.12s}
.fcard:nth-child(5){animation-delay:.15s}.fcard:nth-child(6){animation-delay:.18s}
.fcard:nth-child(7){animation-delay:.21s}.fcard:nth-child(8){animation-delay:.24s}
.fcard:nth-child(9){animation-delay:.27s}.fcard:nth-child(10){animation-delay:.30s}
.fcard:nth-child(11){animation-delay:.33s}.fcard:nth-child(12){animation-delay:.36s}
.fcard:nth-child(13){animation-delay:.39s}.fcard:nth-child(14){animation-delay:.42s}
.fcard:nth-child(15){animation-delay:.45s}.fcard:nth-child(16){animation-delay:.48s}
.fcard:nth-child(17){animation-delay:.51s}.fcard:nth-child(18){animation-delay:.54s}
.fcard:nth-child(19){animation-delay:.57s}.fcard:nth-child(20){animation-delay:.60s}
.fcard:nth-child(21){animation-delay:.63s}.fcard:nth-child(22){animation-delay:.66s}
.fcard:nth-child(23){animation-delay:.69s}.fcard:nth-child(24){animation-delay:.72s}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--body-bg)}
::-webkit-scrollbar-thumb{background:var(--mid)}::-webkit-scrollbar-thumb:hover{background:var(--coral)}


/* ── CORRECTIF IMAGES CARDS ── */
.fc-img { 
  height: 160px; 
  overflow: hidden; 
  display: flex; 
  align-items: center; 
  justify-content: center;
  background: var(--body-bg);
}
.fc-img img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
}
.fc-img svg { 
  width: 48px; 
  height: 48px; 
  stroke: var(--mid); 
  fill: none;
}
.formation-card {
  max-width: 100%;
}
/* ── CORRECTIF FOOTER ── */
footer{background:var(--ink)!important;color:rgba(255,255,255,.85)!important;}

/* ── CORRECTIF ICÔNES ── */
.fc-chip svg,
.pratique-chip svg,
.cover-pratique svg,
.formation-label svg,
.detail-meta-top svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.fc-chip {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}

/* ══════════════════════════════════════════
   RESPONSIVE — 768px
══════════════════════════════════════════ */
@media(max-width:768px){
  .container{padding:0 1.25rem}
  .hero-inner{grid-template-columns:1fr !important;gap:2rem;padding:2.5rem 1.25rem 2rem}
  .body-wrap{grid-template-columns:1fr !important;padding:1.5rem 1.25rem 3rem !important;gap:1.5rem !important}
  .sidebar{position:static !important;top:auto !important}
  .formations-grid{grid-template-columns:1fr !important;gap:.75rem}
  .fcard{min-width:0;overflow-wrap:break-word;word-break:break-word}
  .fc-title{word-break:break-word}
  .dl-strip{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.25rem}
  .dl-btn{margin-left:0;width:100%;text-align:center;justify-content:center}
  .contact-strip{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.25rem}
  .cs-btn{width:100%;text-align:center}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}
}
@media(max-width:480px){.container{padding:0 1rem}}
