/* =====================================================================
   MedA Conseils – site public : styles des sections, sortis des anciens
   fichiers partials/*.php (styles écrits dans la page) sans changement de
   rendu, plus quelques ajouts du nouveau site (en fin de fichier).
   Le design général reste dans style.css.
   ===================================================================== */

/* --- Références (partenaires) — repris de partials/partners.php --- */
.partners-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.partners-tabs{display:flex;gap:.5rem}
.partners-tab{border:1px solid #e5eaf3;background:#fff;color:#0d56b3;font-weight:800;border-radius:.5rem;padding:.45rem .8rem;cursor:pointer}
.partners-tab.is-active{background:#0d56b3;color:#fff}
.partners-pane{display:none}
.partners-pane.is-active{display:block}
.partners-track{display:flex;gap:1rem;overflow:hidden;mask-image:linear-gradient(to right,transparent 0, #000 8%, #000 92%, transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0, #000 8%, #000 92%, transparent 100%);padding:.5rem 0}
.partner-card{flex:0 0 auto;width:150px;height:90px;display:grid;place-items:center;border:1px solid #e9edf3;border-radius:.7rem;background:#fff}
.partner-card img{max-width:100%;max-height:90%;object-fit:contain;aspect-ratio:3/2}
@media (min-width:768px){.partner-card{width:170px;height:100px}}
.partners-note{opacity:.65;font-size:.9rem;margin-top:.5rem}
  

/* --- Pause Café Média — repris de partials/pausecafemedia.php --- */
.pcm{ background:#f8f9fc; }
.pcm-head{ text-align:center; margin-bottom:2.4rem; }
.pcm-eyebrow{
  display:inline-block; font-weight:800; font-size:.8rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--mc-accent,#f77500); margin-bottom:.5rem;
}
.pcm-title{ color:var(--mc-primary,#0d56b3); margin:0 0 .6rem 0; line-height:1.1; }
.pcm-sub{ max-width:60ch; margin:0 auto; color:#444; line-height:1.55; }

/* Liste de cartes verticales */
.pcm-grid{ display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; }
.pcm-card{
  flex:0 0 auto; width:230px; border:0; padding:0; cursor:pointer; background:transparent; text-align:left;
}
.pcm-card-media{
  position:relative; display:block; aspect-ratio:9/16; border-radius:18px; overflow:hidden;
  background:#0b2a52; box-shadow:0 10px 26px rgba(11,42,82,.22);
  transition:transform .25s ease, box-shadow .25s ease;
}
.pcm-card:hover .pcm-card-media{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(13,86,179,.32); }
.pcm-card-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pcm-card-shade{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,42,82,0) 38%,rgba(7,24,48,.86) 100%); }
.pcm-card-badge{
  position:absolute; top:12px; left:12px; background:var(--mc-accent,#f77500); color:#fff;
  font-weight:800; font-size:.62rem; letter-spacing:.07em; text-transform:uppercase;
  padding:.28rem .5rem; border-radius:.4rem;
}
.pcm-card-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; border-radius:999px; background:rgba(255,255,255,.92);
  display:grid; place-items:center; box-shadow:0 6px 18px rgba(0,0,0,.3);
  transition:transform .2s ease;
}
.pcm-card:hover .pcm-card-play{ transform:translate(-50%,-50%) scale(1.08); }
.pcm-card-play .pcm-tri{
  width:0; height:0; border-style:solid; border-width:10px 0 10px 17px;
  border-color:transparent transparent transparent var(--mc-primary,#0d56b3); margin-left:4px;
}
.pcm-card-cap{ position:absolute; left:14px; right:14px; bottom:14px; display:block; }
.pcm-card-title{ display:block; color:#fff; font-weight:800; font-size:1rem; line-height:1.25; margin-bottom:.25rem; }
.pcm-card-meta{ display:block; color:#f9b97a; font-size:.74rem; font-weight:600; }

/* Pop-up */
.pcm-modal{ position:fixed; inset:0; z-index:2000; display:grid; place-items:center; padding:24px; }
.pcm-modal[hidden]{ display:none; }
.pcm-modal-backdrop{
  position:absolute; inset:0; background:rgba(6,18,38,.78);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  animation:pcmFade .25s ease;
}
.pcm-dialog{
  position:relative; display:flex; flex-wrap:wrap; max-width:900px; width:100%;
  background:#0b2a52; border-radius:20px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.5); animation:pcmPop .3s cubic-bezier(.2,.8,.2,1);
}
.pcm-close{
  position:absolute; top:12px; right:12px; z-index:3; width:38px; height:38px; border:0;
  border-radius:999px; background:rgba(0,0,0,.45); color:#fff; font-size:1.5rem; line-height:1;
  cursor:pointer; transition:background .2s ease;
}
.pcm-close:hover{ background:rgba(0,0,0,.7); }
.pcm-dialog-player{ flex:0 0 auto; width:min(330px,100%); margin:0 auto; background:#000; }
.pcm-dialog-player video{ display:block; width:100%; aspect-ratio:9/16; object-fit:contain; background:#000; }
.pcm-dialog-info{
  flex:1 1 280px; min-width:260px; padding:2rem 1.8rem; color:#fff;
  display:flex; flex-direction:column; justify-content:center;
}
.pcm-dialog-flag{
  align-self:flex-start; background:var(--mc-accent,#f77500); color:#fff; font-weight:800;
  font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; padding:.3rem .55rem;
  border-radius:.4rem; margin-bottom:.9rem;
}
.pcm-dialog-title{ margin:0 0 .6rem 0; font-size:1.4rem; font-weight:800; line-height:1.2; }
.pcm-dialog-desc{ margin:0 0 1rem 0; color:#cdd9ec; font-size:.98rem; line-height:1.6; }
.pcm-dialog-meta{ color:#f9b97a; font-size:.85rem; font-weight:600; }

@keyframes pcmFade{ from{opacity:0} to{opacity:1} }
@keyframes pcmPop{ from{opacity:0; transform:translateY(18px) scale(.96)} to{opacity:1; transform:translateY(0) scale(1)} }

@media (max-width:560px){
  .pcm-card{ width:46%; }
  .pcm-card-title{ font-size:.9rem; }
}
  

/* --- Revue de presse — repris de partials/press.php --- */
.press-section{ background:#f8f9fc; }
.press-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:1.5rem; }
.press-rule{ flex:0 0 auto; width:32px; height:4px; border-radius:2px; background:var(--mc-accent,#f77500); }
.press-title{ margin:0; color:var(--mc-primary,#0d56b3); font-size:clamp(1.3rem,2.6vw,1.8rem); font-weight:900; }
.press-list{ display:flex; flex-direction:column; gap:1.25rem; }
.press-article{ background:#fff; border-radius:16px; box-shadow:0 8px 24px rgba(13,86,179,.08); overflow:hidden; display:flex; flex-wrap:wrap; align-items:stretch; }
.press-media{ flex:0 0 auto; width:280px; max-width:100%; min-height:190px; display:block; background:#0b2a52 center/cover no-repeat; }
.press-body{ flex:1 1 360px; min-width:280px; padding:clamp(1.2rem,2.5vw,1.8rem); display:flex; flex-direction:column; justify-content:center; }
.press-top{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.7rem; }
.press-source{ background:#c0182b; color:#fff; font-weight:800; font-size:.66rem; letter-spacing:.05em; text-transform:uppercase; padding:.3rem .55rem; border-radius:.4rem; }
.press-cat{ color:#8a93a3; font-weight:700; font-size:.78rem; letter-spacing:.03em; text-transform:uppercase; }
.press-date{ margin-left:auto; color:var(--mc-primary,#0d56b3); font-weight:700; font-size:.82rem; white-space:nowrap; }
.press-article-title{ margin:0 0 .5rem 0; color:#1b355f; font-size:clamp(1.1rem,2.2vw,1.35rem); font-weight:800; line-height:1.25; }
.press-excerpt{ margin:0 0 1.1rem 0; color:#3a3a3a; font-size:.98rem; line-height:1.55; }
.press-actions{ display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; }
.press-btn{ background:var(--mc-primary,#0d56b3); color:#fff; font-weight:800; font-size:.9rem; text-decoration:none; padding:.65rem 1.2rem; border-radius:.55rem; }
.press-btn:hover{ filter:brightness(1.05); }
.press-views{ display:inline-flex; align-items:center; gap:.45rem; color:#5a6577; font-weight:600; font-size:.9rem; }
.press-views-dot{ width:9px; height:9px; border-radius:999px; background:#1f8a4d; }
.press-views strong{ color:#1b355f; font-weight:800; }
.press-more{ margin-left:auto; color:var(--mc-primary,#0d56b3); font-weight:800; font-size:.9rem; text-decoration:none; border:2px solid #d5e0f1; padding:.55rem 1rem; border-radius:.55rem; white-space:nowrap; }
.press-more:hover{ background:#f0f5fc; }
.press-audio{ width:100%; max-width:440px; margin-top:.2rem; }
@media (max-width:720px){ .press-media{ width:100%; min-height:210px; } .press-more{ margin-left:0; } }
  

/* --- Pied de page — repris de partials/footer.php --- */
.f-contact{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.4rem}
.f-ico-row{display:inline-flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none}
.f-ico-row:hover{opacity:.9}
  

/* --- Ajouts du nouveau site --- */
/* Image de la revue de presse (remplace l'image de fond en ligne) */
.press-media{position:relative;overflow:hidden}
.press-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Section vidéos vide */
.pcm-empty{opacity:.7;text-align:center}
/* Champ piège anti-robots : invisible pour les visiteurs */
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* Message après inscription à la newsletter */
.news-msg{padding:.5rem .75rem;border-radius:.5rem;margin:.5rem 0}
.news-msg--ok{background:rgba(255,255,255,.14)}
.news-msg--ko{background:rgba(247,117,0,.35)}
/* Bandeau « site en maintenance » pour l'équipe connectée */
.team-banner{position:sticky;top:0;z-index:9999;background:#f77500;color:#fff;font:600 14px/1.4 system-ui,sans-serif;text-align:center;padding:6px 12px}
.team-banner a{color:#fff;text-decoration:underline}

/* --- Formations : encart « aucune formation » — repris de pages/fr/formations.php --- */
.formations-notice{
background:#fff; border:2px dashed #c4d4ec; border-radius:18px;
padding:clamp(2rem,5vw,3rem); text-align:center; max-width:760px; margin:1.5rem auto 0;
}
.formations-notice-ico{
width:46px; height:46px; border-radius:999px; background:#eaf1fb;
display:grid; place-items:center; margin:0 auto 1rem;
color:#0d56b3; font-size:1.5rem; font-weight:800; font-style:italic;
}
.formations-notice h3{ margin:0 0 .5rem; color:#1b355f; font-size:1.2rem; font-weight:800; }
.formations-notice p{ max-width:54ch; margin:0 auto 1.4rem; color:#5a6577; line-height:1.6; }
.formations-notice-btn{ background:#f77500; color:#fff; display:inline-block; padding:.8rem 1.5rem; border-radius:.55rem; text-decoration:none; font-weight:800; }
.formations-notice-btn:hover{ filter:brightness(1.05); }

/* --- Formations passées — repris de partials/formations-passees.php --- */
.fpast{ background:#f8f9fc; }
.fpast-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:1.5rem; }
.fpast-rule{ flex:0 0 auto; width:32px; height:4px; border-radius:2px; background:var(--mc-accent,#f77500); }
.fpast-title{ margin:0; color:var(--mc-primary,#0d56b3); font-size:clamp(1.3rem,2.6vw,1.8rem); font-weight:900; }
.fpast-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.fpast-card{ background:#fff; border-radius:16px; box-shadow:0 10px 28px rgba(13,86,179,.10); overflow:hidden; display:flex; flex-direction:column; }
.fpast-media-wrap{ position:relative; }
.fpast-media{ display:block; width:100%; aspect-ratio:16/10; background:#0b2a52 center/cover no-repeat; }
.fpast-chip{ position:absolute; top:12px; left:12px; color:#fff; font-weight:800; font-size:.66rem; letter-spacing:.05em; text-transform:uppercase; padding:.3rem .55rem; border-radius:.4rem; }
.fpast-body{ padding:1.4rem 1.5rem; display:flex; flex-direction:column; flex:1 1 auto; }
.fpast-meta{ color:var(--mc-primary,#0d56b3); font-weight:700; font-size:.85rem; margin-bottom:.4rem; }
.fpast-name{ margin:0 0 .5rem 0; color:#1b355f; font-size:1.18rem; font-weight:800; line-height:1.25; }
.fpast-theme{ margin:0 0 1.2rem 0; color:#3a3a3a; font-size:.96rem; line-height:1.55; flex:1 1 auto; }
.fpast-docs{ display:flex; gap:.6rem; flex-wrap:wrap; }
.fpast-doc{ display:inline-flex; align-items:center; gap:.35rem; color:var(--mc-primary,#0d56b3); font-weight:700; font-size:.86rem; text-decoration:none; padding:.5rem .9rem; border-radius:.5rem; border:2px solid #d5e0f1; }
.fpast-doc:hover{ background:#f0f5fc; }


/* --- Formations : ajouts du nouveau site --- */
.fpast-media{position:relative;overflow:hidden}
.fpast-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.formations .page-title{font-size:2em;margin:.67em 0}
/* Page d'inscription à une formation */
.register-page .contact-section{max-width:760px}
.register-back{margin:0 0 1rem}
.register-back a{color:#0d56b3;font-weight:700;text-decoration:none}
.register-title{margin:0 0 .35rem;color:#0d56b3;font-size:clamp(1.4rem,3vw,1.9rem)}
.register-training{margin:0 0 1.25rem;color:#1b355f}
.register-note{font-size:.85rem;color:#5a6577;margin:.25rem 0 0}

/* --- Contact : carte (remplace le style en ligne de l'ancienne page) --- */
.contact-map{border:0;border-radius:10px;display:block}

/* --- Inscription : événement partenaire --- */
.register-event{margin:-.75rem 0 1.25rem;color:#f77500;font-weight:700}
.formation-card .details a{color:#0d56b3;font-weight:600}

/* --- Formations à venir : carte « certificat » (panneau affiche + informations) --- */
.fc-list{display:grid;gap:28px;margin-top:1.5rem}
.fc{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(15,37,71,.14);text-align:left}
.fc__art{position:relative;background:#0f2547;min-height:420px;display:flex;align-items:center;justify-content:center;padding:26px;overflow:hidden}
.fc__art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 22px,rgba(255,255,255,.05) 22px 23px)}
.fc__art img{position:relative;display:block;max-width:100%;max-height:440px;height:auto;border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.fc__badge{position:absolute;left:18px;top:18px;z-index:1;background:#f77500;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.fc__badge--soon{background:#5d6b80}
.fc__body{padding:38px 44px 32px;display:flex;flex-direction:column;min-width:0}
.fc__event{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;align-self:flex-start;margin:0 0 18px;font-size:.84rem;font-weight:600;color:#0f2547;background:#fff1e5;border-radius:999px;padding:6px 14px 6px 12px}
.fc__event::before{content:"";width:8px;height:8px;border-radius:50%;background:#f77500}
.fc__event a,.fc__event strong{color:#0f2547;font-weight:800;text-decoration:none}
.fc__event a:hover{text-decoration:underline}
.fc__kind{margin:0 0 10px;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#f77500}
.fc__title{margin:0 0 14px;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;font-weight:800;color:#0f2547}
.fc__bar{display:block;width:64px;height:4px;background:#e0a526;border-radius:3px;margin:0 0 18px}
.fc__text{color:#5d6b80;line-height:1.6;font-size:.98rem;margin-bottom:22px}
.fc__text p{margin:0 0 .6rem}
.fc__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 0 24px;border-top:1px solid #e3e8f0;border-bottom:1px solid #e3e8f0}
.fc__facts div{padding:14px 16px 14px 0}
.fc__facts div+div{border-left:1px solid #e3e8f0;padding-left:16px}
.fc__facts dt{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c0392b;margin-bottom:4px}
.fc__facts dd{margin:0;font-weight:700;color:#1b2a44}
.fc__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:18px 24px;flex-wrap:wrap}
.fc__sign{margin:0;min-width:240px;max-width:440px}
.fc__sign small{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5d6b80;margin-bottom:6px}
.fc__sign strong{display:block;font-size:1.02rem;color:#1b2a44;padding-top:8px;border-top:1px solid #1b2a44}
.fc__sign em{display:block;font-style:normal;font-size:.88rem;color:#5d6b80;margin-top:2px}
.fc__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fc__doc{font-size:.85rem;font-weight:700;color:#0d56b3;text-decoration:none;border:1px solid #e3e8f0;border-radius:10px;padding:9px 13px}
.fc__doc:hover{border-color:#0d56b3}
.fc__cta{display:inline-flex;align-items:center;gap:8px;background:#0d56b3;color:#fff;font-weight:700;text-decoration:none;border-radius:10px;padding:13px 22px;box-shadow:0 8px 20px rgba(13,86,179,.28)}
.fc__cta:hover{background:#0a4590}
.fc__cta--ghost{background:#fff;color:#0d56b3;border:1px solid #0d56b3;box-shadow:none}
.fc__cta--ghost:hover{background:#e8f0fb}
@media (max-width:860px){
  .fc{grid-template-columns:minmax(0,1fr)}
  .fc__art{min-height:0;padding:22px}
  .fc__art img{max-height:360px}
  .fc__body{padding:24px 20px}
  .fc__facts{grid-template-columns:minmax(0,1fr)}
  .fc__facts div+div{border-left:0;border-top:1px solid #e3e8f0;padding-left:0}
  .fc__sign{min-width:0;flex:1 1 100%}
}

/* --- Page Équipe : cartes plus larges, sur toute la largeur du contenu --- */
.team-org .org-chart{align-items:stretch}
.team-org .org-level{display:grid;gap:24px;justify-content:center}
.team-org .org-level.ceo{grid-template-columns:minmax(0,300px)}
.team-org .org-level.managers{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.team-org .org-level.others{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.team-org .person{width:auto;padding:1.6rem 1.2rem 1.4rem;border-radius:14px}
.team-org .person img{width:150px;height:150px}
.team-org .person.small img{width:110px;height:110px}
.team-org .person h3{font-size:1.15rem}
.team-org .person p{font-size:.95rem;line-height:1.45}

/* --- Formations passées : frise chronologique sur une ligne, défilement automatique --- */
.ftl{--ftl-line:110px;position:relative;overflow-x:auto;overflow-y:hidden;padding:4px 0 18px;scrollbar-width:thin;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
.ftl.is-auto{overflow-x:hidden}
.ftl.is-static{-webkit-mask-image:none;mask-image:none}
.ftl.is-static .ftl__track{margin:0 auto}
.ftl__track{position:relative;display:flex;gap:28px;list-style:none;margin:0;padding:0 40px;width:max-content}
.ftl__track::before{content:"";position:absolute;left:0;right:0;top:var(--ftl-line);height:2px;background:linear-gradient(90deg,#0d56b3,#f77500,#0d56b3);opacity:.6}
.ftl.is-auto .ftl__track{animation:ftl-scroll var(--ftl-duration,40s) linear infinite}
.ftl.is-auto:hover .ftl__track,.ftl.is-auto:focus-within .ftl__track,.ftl.is-paused .ftl__track{animation-play-state:paused}
@keyframes ftl-scroll{from{transform:translateX(0)}to{transform:translateX(var(--ftl-shift,-50%))}}
.ftl__item{position:relative;width:320px;flex:none;display:flex;flex-direction:column;align-items:flex-start}
.ftl__date{background:#0f2547;color:#fff;border-radius:12px;padding:12px 16px;min-width:96px;text-align:center;height:86px;display:flex;flex-direction:column;justify-content:center}
.ftl__date b{display:block;font-size:1.9rem;line-height:1;font-weight:800}
.ftl__date span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:4px}
.ftl__dot{position:relative;z-index:1;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #0d56b3;margin:17px 0 0 40px}
.ftl__card{margin-top:18px;width:100%;flex:1;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(15,37,71,.09);display:flex;flex-direction:column;text-align:left}
.ftl__thumb{position:relative;height:190px;background:#0f2547;display:flex;align-items:center;justify-content:center;padding:14px}
.ftl__thumb img{display:block;max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.ftl__chip{position:absolute;left:12px;top:12px;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px}
.ftl__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.ftl__when{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f77500}
.ftl__title{margin:0;font-size:1.05rem;line-height:1.3;font-weight:800;color:#0f2547}
.ftl__meta{margin:0;font-size:.88rem;color:#5d6b80}
.ftl__docs{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.ftl__doc{font-size:.82rem;font-weight:700;color:#0d56b3;text-decoration:none;border:1px solid #d5e0f1;border-radius:9px;padding:7px 11px;background:#fff}
.ftl__doc:hover{border-color:#0d56b3;background:#f0f5fc}
@media (max-width:560px){.ftl__item{width:270px}.ftl__track{gap:20px;padding:0 24px}}
@media (prefers-reduced-motion:reduce){.ftl.is-auto .ftl__track{animation:none}.ftl.is-auto{overflow-x:auto}}

/* ====== Hero de l'accueil : diapositives des actualités ====== */
.hero-slide-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;opacity:0;transition:opacity .8s ease-in-out}
.hero-slide-bg.is-active{opacity:1}
.hero-slides.is-js{display:grid}
.hero-slides.is-js>.hero-slide{grid-area:1/1;display:block;transition:opacity .6s ease,visibility .6s}
.hero-slides.is-js>.hero-slide[hidden]{visibility:hidden;opacity:0}
.hero-badge--news{background:rgba(247,117,0,.92)}
.hero-slide--news .hero-sub{max-width:720px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-controls{display:flex;align-items:center;gap:.55rem;margin-top:1.4rem}
.hero-controls[hidden]{display:none}
.hero-dot{width:12px;height:12px;padding:0;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.hero-dot:hover{transform:scale(1.15)}
.hero-dot.is-active{background:var(--mc-accent);border-color:var(--mc-accent)}
.hero-pause{width:32px;height:32px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(0,0,0,.25);cursor:pointer;display:grid;place-items:center;margin-right:.3rem}
.hero-pause__icon{width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff}
.hero-pause.is-paused .hero-pause__icon{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff;margin-left:3px}
.hero-dot:focus-visible,.hero-pause:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* ====== Actualités ====== */
.news{padding-top:1.5rem;padding-bottom:3rem}
.news .page-title{font-size:2em;margin:.67em 0 .3em;color:var(--mc-primary)}
.news .intro{max-width:760px;color:#444;margin:0 0 1.8rem}
.news-empty{padding:2rem;background:#f4f6fa;border-radius:.6rem;text-align:center;color:#555}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem}
.news-card{display:flex;flex-direction:column;background:#fff;border-radius:.8rem;overflow:hidden;box-shadow:0 2px 14px rgba(13,86,179,.09);border:1px solid #e6eaf1;transition:transform .2s,box-shadow .2s}
.news-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(13,86,179,.15)}
.news-card__media{display:block;aspect-ratio:16/9;background:#eef2f8;overflow:hidden}
.news-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.news-card__placeholder{display:grid;place-items:center;width:100%;height:100%}
.news-card__placeholder img{width:38%;height:auto;object-fit:contain;opacity:.55}
.news-card__body{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.news-card__meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.85rem;color:#666}
.news-card__cat{background:rgba(247,117,0,.12);color:#b35400;font-weight:700;padding:.15rem .5rem;border-radius:.3rem}
.news-card__title{margin:0;font-size:1.15rem;line-height:1.3}
.news-card__title a{color:var(--mc-dark);text-decoration:none}
.news-card__title a:hover{color:var(--mc-primary)}
.news-card__summary{margin:0;color:#444;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card__more{margin-top:auto;font-weight:700;color:var(--mc-primary);text-decoration:none}
.news-card__more:hover{text-decoration:underline}
.news-pager{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.btn-outline-dark{border:2px solid var(--mc-primary);color:var(--mc-primary);background:#fff}
.btn-outline-dark:hover{background:var(--mc-primary);color:#fff}
.news-pager .btn + .btn{margin-left:0}
.news-article{padding-bottom:2rem}
.news-article__head{max-width:820px;padding-top:1.5rem}
.news-article__back{margin:0 0 1rem}
.news-article__back a{color:var(--mc-primary);text-decoration:none;font-weight:600}
.news-article__title{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.2;margin:.6rem 0;color:var(--mc-dark);text-wrap:balance}
.news-article__lead{font-size:1.15rem;color:#444;line-height:1.55;margin:0}
.news-article__figure{max-width:980px;margin:1.5rem auto}
.news-article__figure img{width:100%;max-height:540px;object-fit:cover;border-radius:.8rem;display:block}
.news-article__body{max-width:820px;font-size:1.05rem;line-height:1.75;color:#2a2a2a}
.news-article__body h2{font-size:1.5rem;color:var(--mc-primary);margin:1.8rem 0 .6rem}
.news-article__body h3{font-size:1.22rem;margin:1.5rem 0 .5rem}
.news-article__body img{max-width:100%;height:auto;border-radius:.6rem;display:block;margin:1rem auto}
.news-article__body blockquote{margin:1.4rem 0;padding:.8rem 1.2rem;border-left:4px solid var(--mc-accent);background:#fff7ef;color:#333}
.news-article__body a{color:var(--mc-primary)}
.news--more{border-top:1px solid #e6eaf1}
.news-more__title{font-size:1.4rem;color:var(--mc-primary);margin:.5rem 0 1.2rem}

/* ====== Hero : formations du mois et revue de presse ====== */
.hero-inner--wide{max-width:1100px}
.hero-slide--media{grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:2.5rem;align-items:center}
.hero-slides.is-js>.hero-slide--media{display:grid}
.hero-slide__text{min-width:0}
/* Titres des diapositives (souvent longs) : plus petits que le slogan, 3 lignes au plus */
.hero-slide:not([data-slide="0"]) .hero-title{font-size:clamp(1.5rem,2.8vw,2.35rem);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero-badge--training{background:rgba(27,122,60,.92)}
.hero-badge--press{background:rgba(192,24,43,.92)}
.hero-media{justify-self:end;width:100%}
.hero-media img{display:block;width:100%;border-radius:.8rem;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.hero-media--poster img{max-height:52vh;object-fit:contain;width:auto;max-width:100%;margin-left:auto;background:#fff}
.hero-media--photo img{aspect-ratio:4/3;object-fit:cover}
.hero-slide-bg--video{background:#0b1a33}
.hero-slide-bg--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Carte « émission en cours » : barres animées comme un égaliseur */
.hero-audio{position:relative;display:grid;gap:.8rem;padding:1.3rem;border-radius:1rem;background:rgba(10,20,40,.72);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 40px rgba(0,0,0,.45);backdrop-filter:blur(6px)}
.hero-media .hero-audio__cover{width:72px;height:72px;object-fit:cover;border-radius:.6rem;box-shadow:none;background:#fff}
.hero-audio__source{display:inline-block;justify-self:start;background:var(--source,#c0182b);color:#fff;font-weight:800;padding:.3rem .65rem;border-radius:.4rem;font-size:.95rem}
.hero-audio__onair{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffd7b0}
.hero-audio__dot{width:10px;height:10px;border-radius:50%;background:var(--mc-accent);animation:hero-onair 1.4s ease-in-out infinite}
.hero-audio__bars{display:flex;align-items:flex-end;gap:4px;height:70px}
.hero-audio__bars i{flex:1;min-width:3px;height:18%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--mc-accent),#ffb066);transform-origin:bottom}
.hero-slide.is-active .hero-audio__bars i{animation:hero-eq 1.1s ease-in-out infinite alternate;animation-delay:calc(var(--d) * -1)}
.hero-slide.is-listening .hero-audio__bars i{animation-duration:.45s}
.hero-slide.is-listening .hero-audio__onair{color:#fff}
@keyframes hero-eq{0%{height:12%}30%{height:65%}60%{height:35%}100%{height:92%}}
@keyframes hero-onair{50%{opacity:.25}}
/* Boutons Écouter / Activer le son */
.hero-action{display:inline-flex;align-items:center;gap:.5rem;border:0;cursor:pointer;font:inherit;font-weight:700}
.hero-action__icon{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.hero-action.is-on .hero-action__icon{width:10px;height:12px;border-width:0 3px;border-color:currentColor}
.hero--still .hero-audio__bars i,.hero--still .hero-audio__dot{animation:none!important}
.hero--still .hero-audio__bars i:nth-child(odd){height:55%}
@media (prefers-reduced-motion: reduce){.hero-audio__bars i,.hero-audio__dot{animation:none!important}}
@media (max-width: 860px){
  .hero-slides.is-js>.hero-slide--media{display:flex;flex-direction:column}
  .hero-media--poster,.hero-media--photo{display:none}
  .hero-media--audio{order:-1;margin-bottom:1rem}
  .hero-audio{padding:.9rem;grid-template-columns:auto 1fr;align-items:center}
  .hero-audio__cover{display:none}
  .hero-audio__bars{grid-column:1/-1;height:42px}
}

/* ====== Menu principal regroupé (Qui sommes-nous, Nos activités, Médias) ====== */
.nav{max-height:calc(100vh - 64px);overflow:auto}
.nav-group__btn{width:100%;line-height:inherit;display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid #f2f2f2;font:inherit;color:#1a1a1a;cursor:pointer;text-align:left}
.nav-group__btn:hover{background:#f8fafc}
.nav-group__btn:focus-visible,.nav-sub__link:focus-visible{outline:2px solid var(--mc-primary);outline-offset:-2px}
.nav-caret{display:inline-block;width:7px;height:7px;margin-left:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.nav-group.is-open>.nav-group__btn .nav-caret{transform:translateY(1px) rotate(-135deg)}
.nav-sub{list-style:none;margin:0;padding:0;display:none;background:#f8fafc}
.nav-group.is-open>.nav-sub{display:block}
.nav-sub__link{padding-left:2.25rem}
@media (min-width: 992px){
  .nav{max-height:none;overflow:visible}
  .nav-list{align-items:center}
  .nav-group{position:relative}
  .nav-group__btn{width:auto;border:0;border-radius:.4rem;padding:.75rem .9rem}
  .nav-group__btn:hover{background:#f5f7fa}
  .nav-sub{position:absolute;top:100%;left:0;min-width:220px;padding:.4rem;background:#fff;border:1px solid #e6eaf1;border-radius:.6rem;box-shadow:0 12px 30px rgba(13,86,179,.15);z-index:1001}
  .nav-sub__link{padding:.6rem .8rem;border-radius:.4rem;white-space:nowrap}
  .nav-sub__link:hover{background:#eef4fc;color:var(--mc-primary)}
  .nav-sub__link.is-active{background:#eef4fc}
}
@media (min-width: 992px) and (hover: hover){
  .nav-group:not(.is-closed):hover>.nav-sub{display:block}
  .nav-group:not(.is-closed):hover>.nav-group__btn .nav-caret{transform:translateY(1px) rotate(-135deg)}
}

/* ====== Pied de page : coordonnées avec pictogrammes ====== */
.f-crow{display:flex;align-items:center;gap:.55rem;margin:.35rem 0}
.f-address{font-style:normal}
.f-cbtn .f-cico{width:17px;height:17px}
.f-cbtn{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;transition:background .2s,transform .2s}
.f-cbtn--wa{background:#25d366}
a.f-cbtn:hover,.f-ico-row:hover .f-cbtn{transform:scale(1.08);background:rgba(255,255,255,.26)}
a.f-cbtn--wa:hover{background:#1ebe5b}
.f-cbtn:focus-visible,.f-ico-row:focus-visible{outline:2px solid #fff;outline-offset:2px}
.f-ico-row{gap:.55rem}
.f-address p,.f-addresses p{margin:.35rem 0}

/* ====== Politique de confidentialité ====== */
.legal{max-width:820px;padding-top:1.5rem;padding-bottom:3rem;line-height:1.7;color:#2a2a2a}
.legal__title{font-size:clamp(1.8rem,3.4vw,2.4rem);color:var(--mc-primary);margin:.6rem 0 .2rem}
.legal__updated{color:#666;font-size:.92rem;margin:0 0 1.2rem}
.legal__head{border-bottom:1px solid #e6eaf1;padding-bottom:1rem;margin-bottom:.5rem}
.legal__section h2{font-size:1.3rem;color:var(--mc-primary);margin:1.8rem 0 .5rem}
.legal p{margin:.45rem 0}
.legal ul{margin:.4rem 0 .6rem;padding-left:1.3rem}
.legal li{margin:.25rem 0}
.legal li::marker{color:var(--mc-accent)}
/* Liens vers la politique (pied de page, formulaires) */
.footer-legal{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-legal:hover{opacity:.85}
.f-news-note{margin:.45rem 0 0;font-size:.82rem;opacity:.9}
.f-news-note a{color:#fff;text-decoration:underline}
.register-note a{color:var(--mc-primary)}
