/* ============================================================
   INGEFORMA — Catalogue tout public  ·  IFM-CATALOGUE-TP-v1
   Styles des fiches formation, du calendrier et du devis.
   ============================================================ */

/* ---------- Fil d'Ariane ---------- */
.bc{font-size:.8rem;color:var(--muted);padding:16px 0 0}
.bc a{color:var(--cyan-2);text-decoration:none}
.bc a:hover{text-decoration:underline}
.bc span{opacity:.55;margin:0 6px}

/* ---------- Pastilles ---------- */
.tag{display:inline-flex;align-items:center;gap:7px;background:var(--cyan-soft);color:var(--cyan-2);font-weight:700;font-size:.76rem;padding:6px 13px;border-radius:999px}
.tag svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tag-l{background:rgba(255,255,255,.12);color:#CDE8F8;border:1px solid rgba(255,255,255,.24)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* ---------- Selecteur de duree ---------- */
.dur-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.dur-card{text-align:left;background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:24px 22px;cursor:pointer;transition:border-color .24s,transform .24s,box-shadow .24s;font:inherit;color:inherit;position:relative;display:block;width:100%}
.dur-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#BFDFF2}
.dur-card[aria-selected="true"]{border-color:var(--cyan);box-shadow:0 14px 34px rgba(41,171,226,.22)}
.dur-card[aria-selected="true"]::after{content:"";position:absolute;top:16px;right:16px;width:20px;height:20px;border-radius:50%;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.dur-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px;margin-bottom:6px}
.dur-h b{font-family:'Poppins';font-size:2rem;font-weight:800;color:var(--navy);line-height:1}
.dur-h span{font-size:.9rem;color:var(--muted);font-weight:600}
.dur-nom{display:block;font-family:'Poppins';font-weight:700;color:var(--cyan-2);font-size:.95rem;margin-bottom:8px}
.dur-p{display:block;font-size:.87rem;color:var(--muted);line-height:1.55}
.dur-meta{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:.78rem;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}
.dur-meta b{color:var(--navy)}

/* ---------- Programme ---------- */
.dur-panel[hidden]{display:none}
.prog-bloc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;margin-bottom:18px}
.prog-bloc.add{border-left:4px solid var(--cyan)}
.prog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.prog-head h3{font-size:1.12rem}
.prog-badge{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-2);background:var(--cyan-soft);padding:5px 11px;border-radius:999px;white-space:nowrap}
.prog-badge.base{color:var(--muted);background:#EEF4F9}
.prog-prom{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.prog-mods{list-style:none;display:grid;gap:2px}
.prog-mods li{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:.93rem}
.prog-mods li:first-child{border-top:0}
.prog-n{width:26px;height:26px;border-radius:8px;background:var(--cyan-soft);color:var(--cyan-2);font-weight:800;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.prog-h{margin-left:auto;font-weight:700;color:var(--navy);font-size:.85rem;white-space:nowrap;padding-left:12px}
.prog-total{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--navy-3);color:#fff;border-radius:var(--r);padding:20px 28px;margin-top:6px}
.prog-total b{font-family:'Poppins';font-size:1.4rem;color:#7FD0F5}
.prog-total span{color:#B9D2E6;font-size:.9rem}

/* ---------- Encadre l'essentiel ---------- */
.fiche-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:34px;align-items:start}
.bloc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;margin-bottom:20px}
.bloc h3{font-size:1.08rem;display:flex;align-items:center;gap:11px;margin-bottom:14px}
.bloc h3 .ib{width:34px;height:34px;border-radius:11px;background:var(--cyan-soft);display:inline-flex;align-items:center;justify-content:center;flex:none}
.bloc h3 .ib svg{width:18px;height:18px;fill:none;stroke:var(--cyan-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bloc p{font-size:.94rem;color:var(--ink)}
.li-check{list-style:none;display:grid;gap:10px}
.li-check li{position:relative;padding-left:28px;font-size:.94rem;line-height:1.6}
.li-check li::before{content:"";position:absolute;left:0;top:6px;width:17px;height:17px;border-radius:50%;background:var(--cyan-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8FC4' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.side{position:sticky;top:94px}
.info-line{display:flex;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:.88rem}
.info-line:first-of-type{border-top:0}
.info-line b{flex:none;width:112px;color:var(--navy)}
.info-line span{color:var(--muted)}

/* ---------- Modalites ---------- */
.mod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mod-c{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:20px}
.mod-c h4{font-size:.98rem;margin-bottom:7px}
.mod-c p{font-size:.85rem;color:var(--muted);line-height:1.55}

/* ---------- Calendrier des sessions ---------- */
.sess-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;align-items:center}
.sess-bar select,.sess-bar input{font:inherit;font-size:.9rem;padding:11px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.sess-bar select:focus,.sess-bar input:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.sess-list{display:grid;gap:14px}
.sess-row{display:grid;grid-template-columns:120px 1fr auto auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 20px;transition:border-color .2s,transform .2s}
.sess-row:hover{border-color:var(--cyan);transform:translateX(3px)}
.sess-d{text-align:center;background:var(--cyan-soft);border-radius:12px;padding:9px 6px;line-height:1.15}
.sess-d b{display:block;font-family:'Poppins';font-size:1.35rem;color:var(--navy)}
.sess-d span{font-size:.72rem;color:var(--cyan-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.sess-i h4{font-size:.98rem;margin-bottom:3px}
.sess-i p{font-size:.83rem;color:var(--muted)}
.sess-s{font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap}
.sess-s.ouvert{background:#E4F7EF;color:#137B58}
.sess-s.tension{background:#FDF0DC;color:#A2661B}
.sess-s.urgent{background:#FCE9E9;color:#B23636}
.sess-empty{background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:34px;text-align:center;color:var(--muted)}
.sess-empty b{display:block;color:var(--navy);font-family:'Poppins';margin-bottom:8px;font-size:1.05rem}

/* ---------- Etapes du devis ---------- */
.dv-wrap{max-width:860px;margin:0 auto}
.dv-steps{display:flex;gap:6px;margin-bottom:30px;flex-wrap:wrap}
.dv-steps div{flex:1;min-width:78px;height:5px;border-radius:99px;background:var(--line);transition:background .35s}
.dv-steps div.on{background:var(--cyan)}
.dv-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 36px;box-shadow:var(--shadow)}
.dv-step[hidden]{display:none}
.dv-q{font-family:'Poppins';font-size:1.28rem;color:var(--navy);margin-bottom:6px}
.dv-sub{color:var(--muted);font-size:.93rem;margin-bottom:24px}
.dv-opts{display:grid;gap:12px}
.dv-opts.two{grid-template-columns:1fr 1fr}
.dv-opt{display:flex;align-items:flex-start;gap:14px;border:2px solid var(--line);border-radius:16px;padding:16px 18px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit;transition:border-color .2s,background .2s;width:100%}
.dv-opt:hover{border-color:#BFDFF2;background:#FAFDFF}
.dv-opt.sel{border-color:var(--cyan);background:var(--cyan-soft)}
.dv-opt .dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none;margin-top:2px;transition:.2s}
.dv-opt.sel .dot{border-color:var(--cyan);background:var(--cyan);box-shadow:inset 0 0 0 3.5px #fff}
.dv-opt b{display:block;font-family:'Poppins';font-size:.98rem;color:var(--navy);margin-bottom:3px}
.dv-opt small{color:var(--muted);font-size:.83rem;line-height:1.5;display:block}
.dv-nav{display:flex;justify-content:space-between;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.dv-field{margin-bottom:16px}
.dv-field label{display:block;font-weight:600;font-size:.88rem;color:var(--navy);margin-bottom:6px}
.dv-field input,.dv-field select,.dv-field textarea{width:100%;font:inherit;font-size:.94rem;padding:12px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.dv-field input:focus,.dv-field select:focus,.dv-field textarea:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.dv-field textarea{min-height:100px;resize:vertical}
.dv-field .err{color:var(--err);font-size:.8rem;margin-top:5px;display:none}
.dv-field.bad input,.dv-field.bad select{border-color:var(--err)}
.dv-field.bad .err{display:block}
.dv-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dv-reco{background:linear-gradient(150deg,#F2FAFE,#E3F4FC);border:1px solid #BFE4F6;border-radius:18px;padding:20px 22px;margin-bottom:22px}
.dv-reco b{font-family:'Poppins';color:var(--navy);display:block;margin-bottom:5px}
.dv-reco p{font-size:.88rem;color:var(--muted);line-height:1.55}
.dv-recap{background:#F7FBFE;border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:22px}
.dv-recap .info-line b{width:150px}
.dv-ok{text-align:center;padding:20px 0}
.dv-ok .ok-ic{width:74px;height:74px;border-radius:50%;background:#E4F7EF;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}
.dv-ok .ok-ic svg{width:36px;height:36px;fill:none;stroke:#1FA97C;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.dv-consent{display:flex;gap:11px;align-items:flex-start;font-size:.83rem;color:var(--muted);line-height:1.55;margin-top:6px}
.dv-consent input{width:17px;height:17px;flex:none;margin-top:2px}

@media(max-width:960px){
  .dur-tabs{grid-template-columns:1fr}
  .fiche-grid{grid-template-columns:1fr}
  .side{position:static}
  .mod-grid{grid-template-columns:1fr 1fr}
  .sess-row{grid-template-columns:74px 1fr;gap:14px}
  .sess-row .sess-s,.sess-row .btn{grid-column:2}
  .dv-card{padding:26px 20px}
  .dv-two,.dv-opts.two{grid-template-columns:1fr}
}
@media(max-width:600px){.mod-grid{grid-template-columns:1fr}}
@media print{
  .topbar,header.nav,footer,.dv-nav,#rgpd-pop,.sess-bar,.btn{display:none!important}
  .dur-panel[hidden]{display:block!important}
  body{background:#fff}
  .bloc,.prog-bloc{break-inside:avoid;box-shadow:none}
}

/* ---------- Complements page hub ---------- */
.steps.five{grid-template-columns:repeat(5,1fr)}
.card-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-weight:700;font-size:.88rem;color:var(--cyan-2);text-decoration:none}
.card-link::after{content:"";width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8FC4' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .22s}
.card-link:hover::after{transform:translateX(4px)}
.card .icon-b svg{width:26px;height:26px;stroke:var(--cyan-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1080px){.steps.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){.steps.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.steps.five{grid-template-columns:1fr}}

/* ============================================================
   GUIDE INTERACTIF  ·  IFM-CATALOGUE-TP-v1
   ============================================================ */
.gd-layout{display:grid;grid-template-columns:262px 1fr;gap:44px;align-items:start}
.gd-nav{position:sticky;top:94px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;box-shadow:var(--shadow)}
.gd-nav h4{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan-2);margin-bottom:14px}
.gd-nav ol{list-style:none;counter-reset:g}
.gd-nav li{counter-increment:g}
.gd-nav ol a{display:flex;gap:11px;align-items:flex-start;padding:8px 10px;margin:0 -10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.85rem;font-weight:600;line-height:1.4;transition:background .18s,color .18s}
.gd-nav ol a::before{content:counter(g,decimal-leading-zero);font-family:'Poppins';font-weight:800;font-size:.74rem;color:var(--cyan-2);background:var(--cyan-soft);width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px;transition:.18s}
.gd-nav ol a:hover{background:var(--cyan-soft)}
.gd-nav ol a.on{background:var(--cyan-soft);color:var(--navy)}
.gd-nav ol a.on::before{background:var(--cyan);color:#fff}
.gd-nav ol a.done::before{background:var(--ok);color:#fff;content:"\2713"}
.gd-prog{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:16px}
.gd-prog i{display:block;height:100%;width:0;background:var(--grad);border-radius:99px;transition:width .5s}
.gd-prog-t{font-size:.75rem;color:var(--muted);margin-bottom:14px;display:block}

.gd-step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 34px;margin-bottom:26px;scroll-margin-top:96px}
.gd-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:6px}
.gd-num{font-family:'Poppins';font-weight:800;font-size:.82rem;color:#fff;background:var(--grad);width:34px;height:34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:2px}
.gd-head h2{font-size:1.28rem}
.gd-head p{color:var(--muted);font-size:.9rem;margin-top:4px}
.gd-body{margin-top:20px}
.gd-body p{font-size:.95rem;margin-bottom:12px}
.gd-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;margin:22px 0}
.gd-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.gd-check{display:inline-flex;align-items:center;gap:9px;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;margin-left:auto}
.gd-check input{width:18px;height:18px;accent-color:var(--cyan)}
.gd-tip{background:linear-gradient(150deg,#F2FAFE,#E3F4FC);border:1px solid #BFE4F6;border-left:4px solid var(--cyan);border-radius:14px;padding:16px 18px;margin:18px 0;font-size:.89rem}
.gd-tip b{color:var(--navy);font-family:'Poppins';display:block;margin-bottom:4px}
.gd-warn{background:#FFF8EC;border:1px solid #F3DEB8;border-left:4px solid var(--warn);border-radius:14px;padding:16px 18px;margin:18px 0;font-size:.89rem}
.gd-warn b{color:#8A5B14;font-family:'Poppins';display:block;margin-bottom:4px}

/* --- maquettes animees --- */
.mk{width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow);background:#fff;border:1px solid var(--line);display:block}
.mk .bar{fill:#EEF4F9}
.mk .dot1{fill:#E8817B}.mk .dot2{fill:#EFC069}.mk .dot3{fill:#7FC79E}
.mk .url{fill:#fff;stroke:#DFE9F2}
.mk .txt{fill:#C6D7E5}
.mk .txt-d{fill:#9BB6CC}
.mk .navy{fill:#1B3A5B}
.mk .cy{fill:#29ABE2}
.mk .cys{fill:#E3F4FC}
.mk .wht{fill:#fff}
.mk .ln{stroke:#DFE9F2;stroke-width:1}
@keyframes mkPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes mkSlide{0%{transform:translateY(6px);opacity:0}18%,82%{transform:none;opacity:1}100%{transform:translateY(-6px);opacity:0}}
@keyframes mkGrow{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes mkCursor{0%,12%{transform:translate(0,0)}45%,58%{transform:translate(var(--cx,60px),var(--cy,40px))}92%,100%{transform:translate(0,0)}}
@keyframes mkTick{0%,55%{stroke-dashoffset:30}75%,100%{stroke-dashoffset:0}}
@keyframes mkFade{0%,40%{opacity:0}60%,100%{opacity:1}}
.mk .a-pulse{animation:mkPulse 2.6s ease-in-out infinite}
.mk .a-slide{animation:mkSlide 5s ease-in-out infinite}
.mk .a-grow{transform-origin:left center;animation:mkGrow 3.4s ease-in-out infinite}
.mk .a-cursor{animation:mkCursor 4.6s ease-in-out infinite}
.mk .a-tick{stroke-dasharray:30;animation:mkTick 3.6s ease-in-out infinite}
.mk .a-fade{animation:mkFade 3.6s ease-in-out infinite}
.mk .d1{animation-delay:.35s}.mk .d2{animation-delay:.7s}.mk .d3{animation-delay:1.05s}.mk .d4{animation-delay:1.4s}

/* --- echeancier de paiement --- */
.pay-tl{display:grid;gap:0;margin:24px 0}
.pay-tl>div{display:grid;grid-template-columns:132px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line);align-items:start}
.pay-tl>div:first-child{border-top:0}
.pay-when{font-family:'Poppins';font-weight:700;color:var(--cyan-2);font-size:.92rem}
.pay-when small{display:block;color:var(--muted);font-weight:500;font-size:.78rem;margin-top:2px}
.pay-w h4{font-size:1rem;margin-bottom:5px}
.pay-w p{font-size:.89rem;color:var(--muted)}
.pay-amt{display:inline-block;background:var(--navy-3);color:#7FD0F5;font-family:'Poppins';font-weight:700;font-size:.82rem;padding:5px 13px;border-radius:999px;margin-top:8px}

/* --- FAQ --- */
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:10px;overflow:hidden}
.faq summary{padding:16px 20px;font-weight:600;font-size:.94rem;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Poppins';font-size:1.3rem;color:var(--cyan-2);flex:none;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 20px 18px;font-size:.9rem;color:var(--muted);line-height:1.65}

@media(max-width:960px){
  .gd-layout{grid-template-columns:1fr;gap:24px}
  .gd-nav{position:static}
  .gd-cols{grid-template-columns:1fr}
  .gd-step{padding:24px 20px}
  .pay-tl>div{grid-template-columns:1fr;gap:8px}
}

/* ============================================================
   ANALYSE DES BESOINS  ·  IFM-CATALOGUE-TP-v1
   ============================================================ */
.ab-h{font-family:'Poppins';font-size:1.02rem;color:var(--navy);margin:30px 0 4px;padding-top:22px;border-top:1px solid var(--line)}
#abGlobal .ab-h:first-of-type,#abIndiv .ab-h:first-of-type{border-top:0;padding-top:6px;margin-top:18px}
.ab-sub{font-size:.86rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.ab-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ab-chk{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font-size:.87rem;cursor:pointer;background:#fff;transition:border-color .18s,background .18s;line-height:1.45}
.ab-chk:hover{border-color:#BFDFF2;background:#FAFDFF}
.ab-chk input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--cyan)}
.ab-chk:has(input:checked){border-color:var(--cyan);background:var(--cyan-soft)}
.ab-poswrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.ab-pos{display:grid;grid-template-columns:1fr 350px;gap:18px;align-items:center;padding:13px 18px;border-top:1px solid var(--line)}
.ab-pos:first-child{border-top:0}
.ab-pos:nth-child(even){background:#FAFDFF}
.ab-pos-l{font-size:.9rem;line-height:1.45}
.ab-pos-l b{color:var(--cyan-2);margin-right:5px}
.ab-pos-r{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.ab-pos-r label{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.68rem;color:var(--muted);text-align:center;line-height:1.25;cursor:pointer;padding:7px 3px;border-radius:9px;border:1.5px solid transparent;transition:.18s}
.ab-pos-r label:hover{background:var(--cyan-soft);border-color:#BFDFF2}
.ab-pos-r input{width:16px;height:16px;accent-color:var(--cyan);margin:0}
.ab-pos-r label:has(input:checked){background:var(--cyan-soft);border-color:var(--cyan);color:var(--navy);font-weight:600}
@media(max-width:820px){
  .ab-checks{grid-template-columns:1fr}
  .ab-pos{grid-template-columns:1fr;gap:10px}
  .ab-pos-r{grid-template-columns:repeat(4,1fr)}
}

/* correctif : les selects du calendrier ne doivent jamais deborder */
.sess-bar{max-width:100%}
.sess-bar select,.sess-bar input{max-width:100%;min-width:0;text-overflow:ellipsis}
@media(max-width:760px){
  .sess-bar{display:grid;grid-template-columns:1fr;gap:6px}
  .sess-bar label{margin-top:6px}
  .sess-bar select{width:100%}
}

/* positionnement : en-tete des niveaux sur grand ecran, libelles repetes sur mobile */
.ab-pos-head{background:#EEF4F9!important;padding:10px 18px}
.ab-pos-head .ab-pos-l{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ab-pos-head .ab-pos-r span{font-size:.7rem;font-weight:700;color:var(--navy);text-align:center;line-height:1.2}
@media(min-width:821px){
  .ab-pos-r label>span{display:none}
  .ab-pos-r label{padding:11px 3px}
  .ab-pos-head .ab-pos-r span{display:block}
}
@media(max-width:820px){.ab-pos-head{display:none}}

/* correctif : les icones des badges du hero sont dessinees en trait, pas en aplat */
.hero-badges svg{fill:none;stroke:#7FD0F5;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
