/* ============================================================
   EchoFirst — page Formations V3
   1 · transition héros navy → zone catalogue (moins de blanc)
   2 · barre de filtres redessinée + sélecteur de niveau
   3 · sessions complètes grisées, « Complet » en rouge
   4 · fiche détaillée : contraste renforcé (accents teal)
   À charger APRÈS pages.css + v6.css + refonte-v2.css.
   ============================================================ */

/* ---------- 1 · transition héros → catalogue ---------- */
.fhero--slim .fhero__grid{padding-bottom:112px;}
body[data-page="formations"] #calendrier{
  padding-top:0;
  background:linear-gradient(180deg,#E7EDF6 0%,#F4F8FC 340px,#fff 720px);}
body[data-page="formations"] .formations-bar{margin-top:-64px;}
@media(max-width:760px){
  .fhero--slim .fhero__grid{padding-bottom:84px;}
  body[data-page="formations"] .formations-bar{margin-top:-44px;position:static;}
}

/* ---------- 2 · barre de filtres ---------- */
.fbar-shell{flex-direction:column;align-items:stretch;gap:12px;padding:14px;border-radius:26px;
  background:#fff;border:1px solid rgba(16,57,110,.08);
  box-shadow:0 34px 74px rgba(8,24,48,.16),0 2px 8px rgba(8,24,48,.05);}
.fbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fbar-row--foot{padding-top:12px;border-top:1px solid rgba(16,57,110,.07);}

/* champs select : boîtes teintées, label + icône intégrés */
.fbar .fbar-group{flex:1 1 190px;min-width:0;gap:3px;padding:9px 13px 10px;border-radius:16px;
  background:#F2F6FB;border:1px solid rgba(16,57,110,.07);
  transition:border-color .2s,background .2s,box-shadow .2s;}
.fbar .fbar-group:hover{border-color:rgba(16,57,110,.2);}
.fbar .fbar-group:focus-within{background:#fff;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,162,181,.13);}
.fbar .fbar-group > label{display:inline-flex;align-items:center;gap:6px;padding-left:1px;
  font-size:10px;color:var(--teal-ink);}
.fbar .fbar-group > label svg{width:11px;height:11px;flex:none;}
.fbar select{min-width:0;width:100%;border:none;background-color:transparent;box-shadow:none;
  padding:2px 24px 0 0;font-size:14.5px;font-weight:600;cursor:pointer;background-position:right 2px center;}
.fbar select:hover,.fbar select:focus{border:none;box-shadow:none;}
.fbar-reset{align-self:center;flex:none;}

/* niveau : contrôle segmenté Initiation / Perfectionnement */
.lvl-toggle{display:flex;gap:4px;padding:4px;border-radius:16px;background:#F2F6FB;border:1px solid rgba(16,57,110,.07);}
.lvl-toggle button{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:13px;font-weight:600;
  color:var(--grey);background:none;border:none;cursor:pointer;padding:9px 15px;border-radius:12px;
  transition:background .2s,color .2s,box-shadow .2s;}
.lvl-toggle button i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;background:rgba(16,57,110,.09);color:var(--grey);transition:background .2s,color .2s;}
.lvl-toggle button:hover{color:var(--navy);}
.lvl-toggle button.on{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(16,57,110,.28);}
.lvl-toggle button.on i{background:rgba(255,255,255,.18);color:#fff;}
@media(max-width:760px){
  /* selects : un par ligne, tronqués proprement (évite le débordement des options longues) */
  .fbar .fbar-group{flex:1 1 100%;}
  /* niveau : autoriser le retour à la ligne (4-5 niveaux ne tiennent pas sur une ligne) */
  .lvl-toggle{width:100%;flex-wrap:wrap;}
  .lvl-toggle button{flex:1 1 auto;min-width:0;justify-content:center;padding:9px 8px;}
  /* pied de barre : empiler niveau puis bascule de vue */
  .fbar-row--foot{flex-direction:column;align-items:stretch;gap:10px;}
  .fbar-spacer{display:none;}
  .view-toggle{width:100%;}
  .view-toggle button{flex:1;justify-content:center;}
}

/* bascule de vue : même famille visuelle que les boîtes */
.view-toggle{border-radius:16px;background:#F2F6FB;border:1px solid rgba(16,57,110,.07);}

/* ---------- 3 · sessions complètes ---------- */
.fsess-places.full{background:rgba(214,69,69,.1);color:#C93B3B;}
.fsess.is-full{background:#F3F5F8;border-color:#E4E9F0;box-shadow:none;}
.fsess.is-full:hover{transform:none;box-shadow:none;border-color:#E4E9F0;}
.fsess.is-full .fsess-date{background:#93A1B4;}
.fsess.is-full .fsess-date i{color:#E2E8F0;}
.fsess.is-full h3{color:#7C8A9C;}
.fsess.is-full .fsess-spec{color:#93A1B4;}
.fsess.is-full .fsess-spec .dot{background:#B4BFCD!important;}
.fsess.is-full .fsess-meta{color:#9AA7B7;}
.fsess.is-full .fsess-meta .mi{background:#B4BFCD;}
.fsess.is-full .fsess-digi{color:#9AA7B7;}
.cal-row.is-full{background:#F3F5F8;}
.cal-row.is-full:hover{background:#EEF1F6;}
.cal-row.is-full .cal-day,.cal-row.is-full .cal-name{opacity:.52;}

/* ---------- 4 · fiche détaillée : accents teal ---------- */
#ficheModal .modal-hd{border-bottom:3px solid var(--teal);}
#ficheModal .modal-facts{border-bottom-color:rgba(0,162,181,.18);}
#ficheModal .mfact{background:#F1F9FA;}
#ficheModal .mfact .k{color:var(--teal-ink);}
#ficheModal .mfact .v.teal{color:var(--teal-ink);}
#ficheModal .modal-bd{background:linear-gradient(180deg,#FAFDFE,#fff 460px);}
#ficheModal .modal-bd h3{display:flex;align-items:center;gap:10px;color:var(--teal-ink);}
#ficheModal .modal-bd h3::before{content:'';width:22px;height:2.5px;border-radius:2px;background:var(--teal);flex:none;}
#ficheModal .obj .ck{background:var(--teal);color:#fff;}
#ficheModal .pday{background:linear-gradient(170deg,#E9F6F8,#F7FCFD);border-color:rgba(0,162,181,.2);}
#ficheModal .pday h4{color:var(--teal-ink);}
#ficheModal .pday li{color:var(--ink);}
#ficheModal .mtr{background:#F1F9FA;border-color:rgba(0,162,181,.18);}
#ficheModal .mtr .av{background:var(--teal);}
#ficheModal .api-note{background:#F1F9FA;color:var(--teal-ink);}

/* Bloc sémantique des landings par spécialité (/formations/?spec=…) — miroir de
   .evt-sem (event.css, non chargé sur le catalogue), filet + titre navy */
.cat-sem{margin:10px 0 0;padding-top:30px;border-top:1px solid rgba(16,57,110,.12);}
.cat-sem h2{color:var(--navy);font-size:21px;font-weight:700;line-height:1.3;margin:0 0 12px;}
.cat-sem p{color:var(--ink);font-size:15.5px;line-height:1.75;margin:0;}

/* H2 de section au-dessus de la liste des sessions (structure Hn, audit SEO) */
.cat-h2{color:var(--navy);font-size:24px;font-weight:700;letter-spacing:-.3px;margin:30px 0 4px;}
