/* =========================================================================
   CEFiM — Refonte 2026 · FICHE FORMATION (détail)
   Tout est scopé sous .c26-fiche pour ne pas percuter Bootstrap ailleurs.
   Tokens globaux : var(--c26-*). Fallbacks locaux au cas où.
   ========================================================================= */
.c26-fiche{
  --o:var(--c26-o,#EB8111); --oh:var(--c26-o-h,#C85F00);
  --b:var(--c26-b,#1B4A96); --bh:var(--c26-b-h,#0930B8);
  --txt:var(--c26-txt,#111); --txt2:var(--c26-txt2,#6b6b6b); --txt3:var(--c26-txt3,#aaa);
  --bdr:var(--c26-bdr,#EBEBEB); --bg:var(--c26-bg,#F8F7F5);
  --r:var(--c26-r,10px); --max:var(--c26-max,1140px);
  font-family:'DM Sans',system-ui,sans-serif;color:var(--txt);
  background:#fff;line-height:1.5;
}
.c26-fiche *{box-sizing:border-box}
.c26-fiche a{text-decoration:none;color:inherit}

.c26-fiche .fiche-wrap{max-width:var(--max);margin:0 auto;padding:26px 24px 8px}

/* Retour */
.c26-fiche .fiche-back{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;
  border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;font-weight:600;color:var(--txt2);
  background:#fff;transition:all .15s;margin-bottom:20px}
.c26-fiche .fiche-back:hover{border-color:#ccc;color:var(--txt)}
.c26-fiche .fiche-back svg{width:15px;height:15px}

/* Layout */
.c26-fiche .fiche-body{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.c26-fiche .fiche-main{min-width:0}

/* Section card */
.c26-fiche .fiche-sec{background:#fff;border:1.5px solid var(--bdr);border-radius:14px;padding:24px;margin-bottom:20px}
.c26-fiche .fiche-sec-ttl{font-family:'Outfit',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.3px;
  margin-bottom:14px;display:flex;align-items:center;gap:9px}
.c26-fiche .fiche-sec-ttl svg{width:18px;height:18px;stroke:var(--o);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* Rich text (description admin) */
.c26-fiche .fiche-rte{font-size:14px;color:var(--txt2);line-height:1.7}
.c26-fiche .fiche-rte h1,.c26-fiche .fiche-rte h2,.c26-fiche .fiche-rte h3,
.c26-fiche .fiche-rte h4,.c26-fiche .fiche-rte h5,.c26-fiche .fiche-rte h6{
  font-family:'Outfit',sans-serif;color:var(--txt);font-weight:800;letter-spacing:-.2px;
  line-height:1.25;margin:20px 0 8px}
.c26-fiche .fiche-rte h1{font-size:20px}.c26-fiche .fiche-rte h2{font-size:18px}
.c26-fiche .fiche-rte h3{font-size:16px}.c26-fiche .fiche-rte h4{font-size:15px}
.c26-fiche .fiche-rte p{margin:0 0 12px}
.c26-fiche .fiche-rte strong,.c26-fiche .fiche-rte b{color:var(--txt);font-weight:700}
.c26-fiche .fiche-rte ul,.c26-fiche .fiche-rte ol{margin:0 0 14px;padding-left:2px;list-style:none}
.c26-fiche .fiche-rte ul li{position:relative;padding-left:26px;margin-bottom:9px;line-height:1.55}
.c26-fiche .fiche-rte ul li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;
  border-radius:50%;background:#FFF3E6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23EB8111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center}
.c26-fiche .fiche-rte ol{counter-reset:c;padding-left:0}
.c26-fiche .fiche-rte ol li{position:relative;padding-left:30px;margin-bottom:9px;counter-increment:c}
.c26-fiche .fiche-rte ol li::before{content:counter(c);position:absolute;left:0;top:1px;width:20px;height:20px;
  border-radius:50%;background:var(--b);color:#fff;font-size:11px;font-weight:800;
  display:flex;align-items:center;justify-content:center}
.c26-fiche .fiche-rte a{color:var(--b);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.c26-fiche .fiche-rte img{max-width:100%;height:auto;border-radius:8px}
.c26-fiche .fiche-rte table{max-width:100%}
.c26-fiche .fiche-video{position:relative;margin-top:18px;border-radius:12px;overflow:hidden;aspect-ratio:16/9}
.c26-fiche .fiche-video iframe,.c26-fiche .fiche-video video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Alert LMS (réutilise .alert Bootstrap déjà rendu, on adoucit) */
.c26-fiche .alert{border-radius:12px;font-size:13.5px}

/* ---- Sessions ---- */
.c26-fiche .fiche-sess-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.c26-fiche .fiche-sess-hd .fiche-sec-ttl{margin-bottom:0}
.c26-fiche .fiche-sess-cnt{font-size:12.5px;color:var(--txt3)}
.c26-fiche .fiche-sess-cnt strong{color:var(--txt);font-weight:700}
.c26-fiche .fiche-sess-list{display:flex;flex-direction:column;gap:10px}
.c26-fiche .fiche-sess{border:1.5px solid var(--bdr);border-radius:12px;padding:14px 16px;
  display:flex;align-items:center;gap:16px;transition:border-color .15s,box-shadow .15s}
.c26-fiche .fiche-sess:hover{border-color:#ccc;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.c26-fiche .fiche-sess.is-full{opacity:.62}
.c26-fiche .fiche-sess-date{flex-shrink:0;text-align:center;width:54px}
.c26-fiche .fiche-sess-day{font-family:'Outfit',sans-serif;font-size:23px;font-weight:800;line-height:1;color:var(--b)}
.c26-fiche .fiche-sess-mon{font-size:11px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.c26-fiche .fiche-sess-info{flex:1;min-width:0}
.c26-fiche .fiche-sess-city{font-size:15px;font-weight:700;color:var(--txt)}
.c26-fiche .fiche-sess-hour{font-size:12.5px;color:var(--o);font-weight:700;margin-top:3px}
.c26-fiche .fiche-sess-trainer{font-size:12.5px;color:var(--txt2);margin-top:4px;display:flex;align-items:center;gap:5px}
.c26-fiche .fiche-sess-trainer svg{width:13px;height:13px;stroke:var(--txt3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.c26-fiche .fiche-sess-more{margin-top:7px;display:flex;flex-direction:column;gap:3px}
.c26-fiche .fiche-sess-more-row{font-size:11.5px;color:var(--txt2);display:flex;align-items:center;gap:7px}
.c26-fiche .fiche-sess-more-badge{background:#eceff5;color:var(--b);border-radius:20px;font-size:10px;font-weight:800;padding:1px 8px;flex-shrink:0}
.c26-fiche .fiche-sess-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.c26-fiche .fmt-badge{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:5px;white-space:nowrap}
.c26-fiche .fmt-p{background:#EEF2FF;color:#3730a3}
.c26-fiche .fmt-w{background:rgba(139,92,246,.12);color:#7c3aed}
.c26-fiche .fiche-spots{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.c26-fiche .spots-full{background:#F3F4F6;color:#9b9b9b;border:1px solid var(--bdr)}

/* Bouton inscription (ancre cta-insc / modal-subscription-btn) */
.c26-fiche .cta-insc{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-width:44px;height:42px;padding:0 18px;background:var(--o);color:#fff !important;border:none;
  border-radius:50px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}
.c26-fiche .cta-insc:hover{background:var(--oh)}
.c26-fiche .cta-insc i{font-size:15px}
.c26-fiche .cta-insc .cta-insc-txt{font-size:13px;font-weight:700}

/* Etat "non programmée" + liste d'attente */
.c26-fiche .fiche-empty{text-align:center;padding:26px 20px;background:#fafafa;border:1.5px dashed var(--bdr);border-radius:12px}
.c26-fiche .fiche-empty p{font-size:14px;color:var(--txt2);margin:0 0 14px}
.c26-fiche .fiche-empty .modal-subscription-btn{display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 22px;background:var(--b);color:#fff !important;border:none;border-radius:50px;
  font-size:13.5px;font-weight:700;cursor:pointer;transition:background .15s}
.c26-fiche .fiche-empty .modal-subscription-btn:hover{background:var(--bh)}

/* Encart webinaire */
.c26-fiche .fiche-webinfo{margin-top:14px;padding:14px 16px;background:linear-gradient(135deg,#f0f4ff,#e8eeff);
  border:1.5px solid #c7d4ff;border-radius:10px;display:flex;align-items:flex-start;gap:10px}
.c26-fiche .fiche-webinfo svg{width:16px;height:16px;stroke:var(--b);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;margin-top:2px}
.c26-fiche .fiche-webinfo b{color:#1e3a8a;display:block;font-size:13px;margin-bottom:3px}
.c26-fiche .fiche-webinfo span{font-size:12.5px;color:#1e3a8a;line-height:1.5}

/* ---- Packs "inclus dans le pack" ---- */
.c26-fiche .fiche-pack{border:1.5px solid var(--bdr);border-radius:14px;padding:18px 20px;margin-bottom:16px;background:#fff}
.c26-fiche .fiche-pack-hd{display:flex;align-items:flex-start;gap:12px}
.c26-fiche .fiche-pack-ico{width:34px;height:34px;border-radius:9px;background:#FFF3E6;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c26-fiche .fiche-pack-ico i{color:var(--o);font-size:16px}
.c26-fiche .fiche-pack-kicker{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--txt3)}
.c26-fiche .fiche-pack-name{font-family:'Outfit',sans-serif;font-size:15.5px;font-weight:800;letter-spacing:-.2px;margin-top:2px}
.c26-fiche .fiche-pack .accordion{margin-top:12px}
.c26-fiche .fiche-pack .accordion-button{border-radius:8px !important;font-size:13.5px}
.c26-fiche .fiche-pack .btn.btn-primary{margin-top:12px}
.c26-fiche .fiche-pack ul{margin:0;padding-left:18px}
.c26-fiche .fiche-pack ul li{margin-bottom:5px}
.c26-fiche .fiche-pack ul li a{color:var(--b);font-weight:600}

/* Boutons Bootstrap dans la fiche : on aligne sur le style 2026 */
.c26-fiche .btn-primary,.c26-fiche .btn.btn-primary{background:var(--o);border-color:var(--o);border-radius:50px;
  font-weight:700;font-size:13.5px;padding:9px 20px}
.c26-fiche .btn-primary:hover,.c26-fiche .btn.btn-primary:hover{background:var(--oh);border-color:var(--oh)}
.c26-fiche .btn-outline-primary{border-radius:50px;font-weight:700}

/* ---- Federia bloc ---- */
.c26-fiche .fiche-federia{background:linear-gradient(135deg,#f0f4ff,#e8eeff);border:1.5px solid #c7d4ff;
  border-radius:14px;padding:20px 22px;margin-bottom:20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.c26-fiche .fiche-federia img{flex-shrink:0}
.c26-fiche .fiche-federia .fed-txt{flex:1;min-width:220px;font-size:13.5px;color:#26386e;line-height:1.6}
.c26-fiche .fiche-federia .fed-txt a{color:var(--b);font-weight:700}

/* ---- SIDEBAR ---- */
.c26-fiche .fiche-side{min-width:0}
.c26-fiche .fiche-sticky{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}

.c26-fiche .sdb-card{background:#fff;border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden}
.c26-fiche .sdb-pad{padding:18px}
.c26-fiche .sdb-ttl{font-family:'Outfit',sans-serif;font-size:15px;font-weight:800;letter-spacing:-.2px;margin:0 0 12px;
  display:flex;align-items:center;justify-content:space-between;gap:10px}
.c26-fiche .sdb-ttl img{flex-shrink:0}

/* Ligne info (durée / niveau / public) */
.c26-fiche .sdb-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #f4f4f4;font-size:13.5px}
.c26-fiche .sdb-row:last-child{border-bottom:none}
.c26-fiche .sdb-row-ico{width:22px;flex-shrink:0;color:var(--txt3);display:flex;justify-content:center;padding-top:1px}
.c26-fiche .sdb-row-ico i{font-size:14px}
.c26-fiche .sdb-row-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--txt3);margin-bottom:2px}
.c26-fiche .sdb-row-val{color:var(--txt);font-weight:600}
.c26-fiche .sdb-row-val ul{margin:0;padding:0;list-style:none;font-weight:600}
.c26-fiche .sdb-row-val li{margin-bottom:2px}

/* Badge IPI agréé */
.c26-fiche .ipi-badge{display:flex;align-items:center;gap:10px;background:#FFF7ED;border:1.5px solid #FCD34D;
  border-radius:10px;padding:10px 12px;margin-bottom:14px}
.c26-fiche .ipi-badge-ico{width:30px;height:30px;border-radius:7px;background:var(--o);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c26-fiche .ipi-badge-ico i{color:#fff;font-size:15px}
.c26-fiche .ipi-badge-lbl{font-size:12.5px;font-weight:800;color:#B45309;line-height:1.2}
.c26-fiche .ipi-badge-sub{font-size:11px;color:#C05A00;margin-top:1px}
.c26-fiche .ipi-label-img{display:block}

/* Fonds 323 badge (maquette) */
.c26-fiche .f323-bdg{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);
  border:1.5px solid #86efac;border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .15s;
  width:100%;text-align:left;margin-bottom:14px}
.c26-fiche .f323-bdg:hover{border-color:#4ade80;box-shadow:0 4px 14px rgba(22,163,74,.15)}
.c26-fiche .f323-bdg-ico{width:30px;height:30px;border-radius:7px;background:#16A34A;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c26-fiche .f323-bdg-body{flex:1;min-width:0}
.c26-fiche .f323-bdg-lbl{font-size:12.5px;font-weight:800;color:#15803d;line-height:1.2}
.c26-fiche .f323-bdg-sub{font-size:11px;color:#16A34A;margin-top:1px}

/* Tarifs */
.c26-fiche .tarifs-ttl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3);margin-bottom:8px}
.c26-fiche .tarif-row{padding:9px 0;border-bottom:1px solid #f5f5f5}
.c26-fiche .tarif-row:last-child{border-bottom:none}
.c26-fiche .tarif-name{font-size:12.5px;font-weight:700;color:var(--txt);margin-bottom:3px;display:flex;align-items:center;gap:6px}
.c26-fiche .tarif-chip{font-size:10px;font-weight:700;background:#EEF2FF;color:var(--b);border-radius:10px;padding:1px 7px}
.c26-fiche .tarif-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.c26-fiche .tp-htva{font-size:18px;font-weight:800;color:var(--txt)}
.c26-fiche .tp-htva.is-b{color:var(--b)}
.c26-fiche .tp-htva.is-g{color:#16A34A}
.c26-fiche .tp-unit{font-size:11px;color:var(--txt3)}
.c26-fiche .tp-tvac{font-size:11.5px;color:var(--txt3)}
.c26-fiche .tarifs-note{font-size:10.5px;color:var(--txt3);margin-top:8px}

/* CTA principal */
.c26-fiche .cta-block{padding:16px 18px;border-top:1.5px solid var(--bdr)}
.c26-fiche .btn-main-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:14px 16px;background:var(--o);border:none;border-radius:50px;font-size:15px;font-weight:800;
  color:#fff !important;cursor:pointer;letter-spacing:-.1px;transition:background .15s;text-align:center}
.c26-fiche .btn-main-cta:hover{background:var(--oh)}
.c26-fiche .btn-main-cta.is-blue{background:var(--b)}
.c26-fiche .btn-main-cta.is-blue:hover{background:var(--bh)}

/* Phone CTA animé */
.c26-fiche .phone-cta{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:10px;
  padding:10px 14px;cursor:pointer;transition:background .15s;margin-bottom:14px}
.c26-fiche .phone-cta:hover{background:#fef3e8}
.c26-fiche .phone-ico{width:30px;height:30px;background:var(--o);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:c26PulseRing 2.2s ease-out infinite}
.c26-fiche .phone-ico svg{width:13px;height:13px;animation:c26PhoneRing 3.5s ease-in-out infinite}
.c26-fiche .phone-lbl{font-size:11.5px;font-weight:700;color:var(--txt);margin-bottom:1px}
.c26-fiche .phone-num{font-size:12.5px;font-weight:700;color:var(--o)}
@keyframes c26PhoneRing{0%,50%,100%{transform:rotate(0)}10%{transform:rotate(-14deg)}20%{transform:rotate(14deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}}
@keyframes c26PulseRing{0%{box-shadow:0 0 0 0 rgba(235,129,17,.5)}70%{box-shadow:0 0 0 8px rgba(235,129,17,0)}100%{box-shadow:0 0 0 0 rgba(235,129,17,0)}}

/* Intra */
.c26-fiche .intra-block{background:var(--bg);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.c26-fiche .intra-ttl{font-size:12.5px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.c26-fiche .intra-ttl svg{width:13px;height:13px;stroke:var(--txt2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c26-fiche .intra-price{font-size:12.5px;color:var(--b);font-weight:800;margin-bottom:4px}
.c26-fiche .intra-txt{font-size:11.5px;color:var(--txt2);line-height:1.5;margin-bottom:8px}
.c26-fiche .btn-intra{display:block;width:100%;padding:9px 0;text-align:center;background:#fff;border:1.5px solid var(--bdr);
  border-radius:var(--r);font-size:12.5px;font-weight:700;color:var(--txt) !important;cursor:pointer;transition:border-color .15s}
.c26-fiche .btn-intra:hover{border-color:#ccc}

/* CLL promo card */
.c26-fiche .cll-card .sdb-ttl{color:var(--b)}
.c26-fiche .cll-card p{font-size:13px;color:var(--txt2);line-height:1.55;margin:0 0 10px}

/* Video sidebar */
.c26-fiche .side-video{border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden}
.c26-fiche .side-video video{display:block;width:100%}

/* ---- Modal Fonds 323 (autonome) ---- */
.c26-fiche-f323-ovl{display:none;position:fixed;inset:0;z-index:9900;background:rgba(15,25,60,.72);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px}
.c26-fiche-f323-ovl.open{display:flex}
.c26-fiche-f323-mod{background:#fff;border-radius:18px;width:100%;max-width:520px;padding:28px;position:relative;
  font-family:'DM Sans',system-ui,sans-serif;box-shadow:0 32px 100px rgba(0,0,0,.25)}
.c26-fiche-f323-x{position:absolute;top:14px;right:16px;width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--c26-bdr,#EBEBEB);background:#fff;cursor:pointer;font-size:16px;color:#6b6b6b;
  display:flex;align-items:center;justify-content:center}
.c26-fiche-f323-x:hover{border-color:#ccc}
.c26-fiche-f323-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.c26-fiche-f323-head-ico{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#16A34A,#22c55e);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c26-fiche-f323-ttl{font-family:'Outfit',sans-serif;font-size:18px;font-weight:800;color:#111;line-height:1.2}
.c26-fiche-f323-stl{font-size:12px;color:#16A34A;font-weight:700;margin-top:2px}
.c26-fiche-f323-body{font-size:13.5px;color:#6b6b6b;line-height:1.65;margin-bottom:16px}
.c26-fiche-f323-contacts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.c26-fiche-f323-cnt{display:flex;align-items:center;gap:7px;padding:9px 14px;background:#f8faff;
  border:1.5px solid var(--c26-bdr,#EBEBEB);border-radius:10px;color:#111;font-size:13px;font-weight:700;flex:1;justify-content:center}
.c26-fiche-f323-cnt:hover{border-color:var(--c26-b,#1B4A96);color:var(--c26-b,#1B4A96)}
.c26-fiche-f323-link{display:block;text-align:center;padding:12px 20px;background:var(--c26-b,#1B4A96);
  color:#fff !important;border-radius:10px;font-size:13.5px;font-weight:700}
.c26-fiche-f323-link:hover{background:var(--c26-b-h,#0930B8)}

/* ---- Responsive ---- */
@media(max-width:900px){
  .c26-fiche .fiche-body{grid-template-columns:1fr}
  .c26-fiche .fiche-sticky{position:static}
}
@media(max-width:560px){
  .c26-fiche .fiche-wrap{padding:18px 16px 8px}
  .c26-fiche .fiche-sec{padding:18px}
  .c26-fiche .fiche-sess{flex-wrap:wrap}
  .c26-fiche .fiche-sess-right{align-items:stretch;width:100%}
  .c26-fiche .cta-insc{width:100%}
}
