/* =====================================================================
   Académie Elprofessor : espace de l'apprenant (espace.html)
   Complète assets/css/ep-oskool.css (chargé avant) sans redéfinir ses
   classes ep-. Toutes les classes d'ici commencent par ac-.
   Couleurs : celles de la bannière (--ep-indigo-0/1/2, --ep-lavande, --ep-vif).
   Téléphone d'abord : la barre latérale devient un tiroir sous 1024 px.
   ===================================================================== */

:root{
  --ac-side-w:276px;
  --ac-mono:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --ac-ok:#05603a;--ac-ok-bg:#ecfdf3;--ac-ok-line:#a6e3c3;--ac-ok-ink:#067647;
  --ac-ko:#b42318;--ac-ko-bg:#fff1f0;--ac-ko-line:#f4b7b1;
  --ac-warn:#93370d;--ac-warn-bg:#fffaeb;--ac-warn-line:#fbd38d;
  --ac-info:#3c25c0;--ac-info-bg:#f1eeff;--ac-info-line:#d9d2ff;
  --ac-night:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/96px 96px,
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/96px 96px,
    radial-gradient(60% 80% at 12% 0%,rgba(91,63,244,.42),transparent 65%),
    radial-gradient(45% 60% at 95% 20%,rgba(157,143,255,.14),transparent 70%),
    linear-gradient(120deg,var(--ep-indigo-2) 0%,var(--ep-indigo-1) 48%,var(--ep-indigo-0) 100%);
  /* barre latérale : même violet, sans la grille (ses lignes y passaient pour des séparateurs) */
  --ac-night-plain:
    radial-gradient(90% 40% at 0% 0%,rgba(91,63,244,.38),transparent 70%),
    radial-gradient(80% 30% at 100% 100%,rgba(157,143,255,.12),transparent 70%),
    linear-gradient(180deg,var(--ep-indigo-1) 0%,var(--ep-indigo-0) 100%);
}
[hidden]{display:none!important}

/* ---------- les deux modes de la page ---------- */
#acApp{display:none}
body.ac-app #acApp{display:block}
body.ac-app .ep-nav,body.ac-app .ep-footer,body.ac-app .ep-wa,body.ac-app #acPublic{display:none}
html.ac-jeton #acPublic{visibility:hidden}
body.ac-tiroir{overflow:hidden}

/* ---------- écran déconnecté : héros clair + carte de connexion ---------- */
.ac-hero{padding:140px 0 72px;border:1px solid var(--ep-line-2);background:
  linear-gradient(rgba(91,63,244,.045) 1px,transparent 1px) 0 0/120px 120px,
  linear-gradient(90deg,rgba(91,63,244,.045) 1px,transparent 1px) 0 0/120px 120px,
  radial-gradient(55% 60% at 0% 0%,rgba(157,143,255,.2),transparent 62%),
  radial-gradient(45% 55% at 100% 0%,rgba(91,63,244,.1),transparent 60%),
  linear-gradient(180deg,#f0eeff 0%,#f6f8fb 58%,#fff 100%)}
.ac-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;grid-template-areas:"text auth" "plus auth";gap:28px 72px;align-items:center}
.ac-hero__text{grid-area:text;align-self:end}
.ac-hero__plus{grid-area:plus;align-self:start}
.ac-hero__auth{grid-area:auth}
.ac-hero .ep-pill{margin-bottom:20px}
.ac-hero__title{font-size:clamp(36px,4.4vw,58px);font-weight:700;letter-spacing:-.04em;line-height:1.05}
.ac-hero__desc{margin-top:18px;max-width:560px;color:var(--ep-muted);font-size:17px;line-height:1.65}
.ac-hero .ep-check{max-width:540px}
.ac-hero__chiffres{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ac-hero__chiffres span{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:var(--ep-r-pill);background:#fff;border:1px solid var(--ep-line-2);font-size:13.5px;color:var(--ep-muted)}
.ac-hero__chiffres b{font-size:16px;color:var(--ep-ink);font-weight:700}
.ac-auth{width:100%;max-width:460px;box-shadow:0 30px 70px -40px rgba(17,12,41,.35)}
.ac-auth .ep-auth__logo{box-shadow:0 0 0 4px #ebe7ff}
.ac-auth__form{display:none}
.ac-auth__form.is-active{display:block}
.ac-auth__note{margin:-8px 0 20px;padding:12px 14px;border-radius:var(--ep-r-sm);background:var(--ac-info-bg);border:1px solid var(--ac-info-line);color:var(--ac-info);font-size:14px;line-height:1.5}
.ac-auth .ep-auth__row{justify-content:flex-end}
.ac-auth .ep-auth__row a,.ac-auth .ep-auth__foot button{display:inline-flex;align-items:center;min-height:40px}
.ac-auth .ep-pass__eye[aria-pressed="true"]{color:var(--ep-vif)}
.ac-auth .ep-turnstile:not(.is-on){margin:0}
.ac-auth .ep-turnstile.is-on{margin-inline:min(0px,calc((100% - 300px) / 2))}
.ac-retour-site{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-bottom:14px;font-size:14px;font-weight:500;color:var(--ep-muted);transition:color .2s}
.ac-retour-site:hover{color:var(--ep-ink)}
.ac-retour-site svg{width:16px;height:16px}
.ac-auth__commun{margin-top:14px;text-align:center;font-size:12.5px;color:var(--ep-muted)}

/* ---------- coquille de l'application ---------- */
.ac-shell{display:grid;grid-template-columns:var(--ac-side-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}
.ac-main{min-width:0;display:flex;flex-direction:column}
.ac-page{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 40px 72px}
.ac-page:focus{outline:0}
/* titres qui reçoivent le focus après un changement de vue (pour les lecteurs d'écran) : pas de cadre */
#acPage [tabindex="-1"]:focus{outline:0}

/* barre latérale sombre (façon bannière) */
.ac-side{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:20px 14px 16px;color:#fff;background:var(--ac-night-plain);border-right:1px solid rgba(157,143,255,.16);scrollbar-width:thin;scrollbar-color:rgba(157,143,255,.35) transparent}
.ac-side a,.ac-side button{color:inherit}
.ac-side :focus-visible{outline:2px solid var(--ep-lavande-clair);outline-offset:2px}
.ac-side__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px 14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}
.ac-side__logo{display:flex;align-items:center;gap:10px;min-height:44px}
.ac-side__logo img{width:36px;height:36px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(195,185,255,.35)}
.ac-side__logo b{display:block;font-size:17px;font-weight:800;letter-spacing:-.04em;line-height:1.1}
.ac-side__logo b span{color:var(--ep-lavande-clair)}
.ac-side__logo small{display:block;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.02em}
.ac-side__close{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);place-items:center;cursor:pointer}
.ac-side__close svg{width:20px;height:20px}
.ac-side__label{margin:16px 12px 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ac-side__nav{display:grid;gap:2px}
.ac-side__link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 12px 0 16px;border-radius:12px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.8);transition:background .15s,color .15s}
.ac-side__link:hover{background:rgba(255,255,255,.06);color:#fff}
.ac-side__link.is-active{background:rgba(157,143,255,.16);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(157,143,255,.22)}
.ac-side__link.is-active::before{content:"";position:absolute;left:6px;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--ep-lavande)}
.ac-side__link em{font-style:normal;min-width:22px;height:22px;padding:0 7px;border-radius:11px;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:rgba(157,143,255,.2);color:var(--ep-lavande-clair)}
.ac-side__site{color:rgba(255,255,255,.72)}
.ac-side__foot{margin-top:auto;padding-top:16px}
.ac-member{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.ac-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--ep-vif);color:#fff;font-weight:700;font-size:16px;letter-spacing:.02em;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.ac-member__info{min-width:0}
.ac-member__name,.ac-member__mail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-member__name{font-weight:700;font-size:14.5px;line-height:1.3}
.ac-member__mail{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.35}
.ac-member__role{display:inline-flex;margin-top:6px;padding:3px 9px;border-radius:var(--ep-r-pill);border:1px solid var(--ep-lavande-line);color:var(--ep-lavande-clair);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ac-logout{display:flex;align-items:center;width:100%;min-height:44px;margin-top:8px;padding:0 16px;border:0;border-radius:12px;background:transparent;font:600 14px var(--ep-font);color:rgba(255,255,255,.72)!important;cursor:pointer;text-align:left}
.ac-logout:hover{background:rgba(255,255,255,.06);color:#fff!important}

/* barre du haut */
.ac-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 40px;background:rgba(244,246,250,.86);border-bottom:1px solid var(--ep-line-2);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.ac-top__menu{display:none;align-items:center;gap:8px;height:44px;padding:0 14px 0 12px;border-radius:var(--ep-r-pill);border:1px solid var(--ep-line);background:#fff;color:var(--ep-ink);font:600 14px var(--ep-font);cursor:pointer}
.ac-top__menu svg{width:20px;height:20px}
.ac-top__logo{display:none;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:800;letter-spacing:-.04em;color:var(--ep-ink)}
.ac-top__logo img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.ac-top__logo b{font-weight:800}
.ac-top__logo b span{color:var(--ep-vif)}
.ac-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ep-muted);white-space:nowrap;overflow:hidden}
.ac-crumbs a{color:var(--ep-blue-ink);font-weight:600;display:inline-flex;align-items:center;min-height:40px}
.ac-crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.ac-crumbs b{color:var(--ep-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ac-crumbs i{font-style:normal;color:var(--ep-muted-2)}
.ac-top__aide{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--ep-r-pill);border:1px solid var(--ep-line);background:#fff;font-size:13.5px;font-weight:600;color:var(--ep-ink);white-space:nowrap}
.ac-top__aide:hover{border-color:#d6d8dd;background:var(--ep-surface-2)}
.ac-veil{position:fixed;inset:0;z-index:89;background:rgba(17,12,41,.5);opacity:0;pointer-events:none;transition:opacity .25s}

/* ---------- éléments communs des vues ---------- */
.ac-h1{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.15}
.ac-h1:focus{outline:0}
.ac-sub{margin-top:8px;color:var(--ep-muted);font-size:15.5px;line-height:1.6;max-width:760px}
.ac-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:26px}
.ac-h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:36px 0 14px}
.ac-h2:first-child{margin-top:0}
.ac-h2 small{font-size:14px;font-weight:500;color:var(--ep-muted);margin-left:8px;letter-spacing:0}
.ac-card{background:#fff;border:1px solid var(--ep-line-2);border-radius:var(--ep-r-lg);padding:24px}
.ac-card + .ac-card{margin-top:16px}
/* dans une grille, l'écart de la grille suffit */
:where(.ac-profile,.ac-brief,.ac-grid,.ac-cours-aside,.ac-lesson__side,.ac-duo) > .ac-card + .ac-card{margin-top:0}
.ac-card h3{font-size:17px;font-weight:700;letter-spacing:-.015em;margin-bottom:8px}
.ac-card p{color:var(--ep-muted);font-size:15px;line-height:1.65}
.ac-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ac-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ac-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start;margin-top:8px}
.ac-empty{text-align:center;padding:40px 24px}
.ac-empty h3{font-size:19px}
.ac-empty p{margin:8px auto 18px;max-width:460px}
.ac-error{padding:18px 20px;border-radius:var(--ep-r-md);background:var(--ac-ko-bg);border:1px solid var(--ac-ko-line);color:var(--ac-ko);font-size:15px}
.ac-error .ep-btn{margin-top:12px}
.ac-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}
.ac-mono{font-family:var(--ac-mono)}
.ac-link{color:var(--ep-blue-ink);font-weight:600}
.ac-link:hover{text-decoration:underline;text-underline-offset:3px}
.ac-btn-text{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 4px;border:0;background:none;font:600 14px var(--ep-font);color:var(--ep-blue-ink);cursor:pointer}
.ac-btn-text svg{width:16px;height:16px}
.ac-nowrap{white-space:nowrap}

/* pastilles de statut */
.ac-statut{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--ep-r-pill);font-size:12.5px;font-weight:700;white-space:nowrap;border:1px solid var(--ep-line);background:var(--ep-surface-2);color:var(--ep-muted)}
.ac-statut--ok{background:var(--ac-ok-bg);border-color:var(--ac-ok-line);color:var(--ac-ok)}
.ac-statut--warn{background:var(--ac-warn-bg);border-color:var(--ac-warn-line);color:var(--ac-warn)}
.ac-statut--info{background:var(--ac-info-bg);border-color:var(--ac-info-line);color:var(--ac-info)}
.ac-statut--ko{background:var(--ac-ko-bg);border-color:var(--ac-ko-line);color:var(--ac-ko)}

/* étiquettes façon SecureVoices (thème en police mono, niveau en lavande) */
.ac-tags{display:flex;flex-wrap:wrap;gap:8px}
.ac-tag{display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:7px;font:500 13px/1 var(--ac-mono);background:#eaf2fe;color:#1455c0}
.ac-tag--niveau{background:#f1eeff;color:#4a30df}
.ac-tag--neutre{background:#eef1f6;color:#3d4354}

/* barre de progression « 1/N » */
.ac-bar{display:flex;align-items:center;gap:14px}
.ac-bar__track{flex:1;height:8px;border-radius:8px;background:#e3e7f0;overflow:hidden}
.ac-bar__fill{height:100%;border-radius:8px;background:linear-gradient(90deg,#8b74ff,var(--ep-vif));transition:width .45s var(--ep-ease)}
.ac-bar__count{font-size:14px;font-weight:600;color:var(--ep-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ac-bar--light .ac-bar__track{background:rgba(255,255,255,.14)}
.ac-bar--light .ac-bar__fill{background:linear-gradient(90deg,var(--ep-lavande-clair),var(--ep-lavande))}
.ac-bar--light .ac-bar__count{color:rgba(255,255,255,.82)}

/* anneau de progression */
.ac-ring{position:relative;width:var(--ac-ring,64px);height:var(--ac-ring,64px);flex-shrink:0}
.ac-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ac-ring circle{fill:none;stroke-width:6}
.ac-ring .ac-ring__bg{stroke:#e8e5fb}
.ac-ring .ac-ring__fg{stroke:var(--ep-vif);stroke-linecap:round;transition:stroke-dashoffset .6s var(--ep-ease)}
.ac-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--ac-ring,64px) * .205);font-weight:700;color:var(--ep-ink);letter-spacing:-.03em}
.ac-ring--light .ac-ring__bg{stroke:rgba(255,255,255,.14)}
.ac-ring--light .ac-ring__fg{stroke:var(--ep-lavande)}
.ac-ring--light b{color:#fff}

/* chargement */
.ac-skel{border-radius:16px;background:linear-gradient(90deg,#eceff5 0%,#f6f7fb 50%,#eceff5 100%) 0 0/200% 100%;animation:ac-skel 1.3s linear infinite}
@keyframes ac-skel{to{background-position:-200% 0}}
.ac-skel--banner{height:180px;border-radius:24px}
.ac-skel--line{height:18px;margin-top:14px;max-width:60%}
.ac-skel--card{height:120px;margin-top:16px}
.ac-chargement{display:flex;align-items:center;gap:10px;color:var(--ep-muted);font-size:14px}

/* message éphémère */
.ac-toast{position:fixed;left:0;right:0;bottom:24px;z-index:120;margin:0 auto;width:fit-content;transform:translateY(20px);max-width:min(520px,calc(100% - 32px));text-align:center;padding:13px 18px;border-radius:14px;background:var(--ep-indigo-0);color:#fff;font-size:14.5px;font-weight:600;border:1px solid rgba(157,143,255,.5);box-shadow:0 18px 40px -12px rgba(17,12,41,.55);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ep-ease)}
.ac-toast.is-show{opacity:1;transform:none}

/* ---------- tableau de bord ---------- */
.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.ac-stat{background:#fff;border:1px solid var(--ep-line-2);border-radius:20px;padding:18px 20px}
.ac-stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--ep-ink);line-height:1.1}
.ac-stat span{display:block;margin-top:4px;font-size:13.5px;line-height:1.35;color:var(--ep-muted)}
.ac-resume{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 28px;align-items:center;padding:28px;border-radius:24px;color:#fff;background:var(--ac-night);overflow:hidden}
.ac-resume__eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ep-lavande-clair)}
.ac-resume h2{margin-top:8px;color:#fff;font-size:clamp(21px,2.4vw,27px);letter-spacing:-.025em;line-height:1.2}
.ac-resume p{margin-top:8px;color:rgba(255,255,255,.76);font-size:15px}
.ac-resume .ac-bar{margin-top:18px;max-width:520px}
.ac-resume__cta{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.ac-pcard{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--ep-line-2);border-radius:22px;padding:20px;transition:transform .25s var(--ep-ease),box-shadow .25s var(--ep-ease)}
.ac-pcard:hover{transform:translateY(-2px);box-shadow:var(--ep-shadow-card)}
.ac-pcard__top{display:flex;align-items:center;gap:16px}
.ac-pcard__num{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-vif)}
.ac-pcard h3{font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin-top:4px}
.ac-pcard__next{padding:12px 14px;border-radius:14px;background:var(--ep-surface-2);font-size:14px;color:var(--ep-text)}
.ac-pcard__next span{display:block;font-size:12px;font-weight:600;color:var(--ep-muted);margin-bottom:2px}
.ac-pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
/* carte d'un parcours commencé, avec la photo du parcours en bandeau (voile indigo, textes blancs) */
.ac-pcard--photo .ac-pcard__top{position:relative;isolation:isolate;overflow:hidden;align-items:flex-end;min-height:148px;margin:-20px -20px 0;padding:44px 20px 18px;border-radius:21px 21px 0 0;background:var(--ep-indigo-0)}
.ac-pcard__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ep-ease)}
.ac-pcard--photo:hover .ac-pcard__img{transform:scale(1.04)}
.ac-pcard--photo .ac-pcard__top::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(0deg,rgba(17,12,41,.92) 0%,rgba(17,12,41,.84) 42%,rgba(17,12,41,.56) 70%,rgba(17,12,41,.16) 100%),
  linear-gradient(90deg,rgba(43,30,110,.6) 0%,rgba(43,30,110,.2) 60%,rgba(43,30,110,0) 100%)}
.ac-pcard--photo .ac-pcard__num{color:#d9d2ff}
.ac-pcard--photo h3,.ac-pcard--photo h3 a{color:#fff}
.ac-certrow{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--ep-line-2);border-radius:18px}
.ac-certrow + .ac-certrow{margin-top:10px}
.ac-certrow__seal{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;background:var(--ac-night);color:var(--ep-lavande-clair);font-size:12px;font-weight:800;letter-spacing:.02em}
.ac-certrow__info{flex:1;min-width:0}
.ac-certrow__info b{display:block;font-size:15px;color:var(--ep-ink);line-height:1.35}
.ac-certrow__info span{font-size:13px;color:var(--ep-muted)}

/* ---------- couverture : même composition que les cartes du catalogue (formations.html) ---------- */
.ac-cover{position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate;container-type:inline-size;color:#fff;background:
  radial-gradient(75% 95% at 0% 0%,rgba(91,63,244,.5),transparent 62%),
  radial-gradient(55% 70% at 100% 100%,rgba(157,143,255,.16),transparent 70%),
  linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/30px 30px,
  linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/30px 30px,
  linear-gradient(120deg,var(--ep-indigo-2) 0%,var(--ep-indigo-1) 52%,var(--ep-indigo-0) 100%)}
.ac-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ac-cover__num{position:absolute;right:5%;top:-.1em;z-index:-1;font-size:130px;font-size:46cqw;font-weight:800;line-height:1;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1.5px rgba(195,185,255,.62);background:linear-gradient(180deg,rgba(157,143,255,.5) 0%,rgba(91,63,244,.05) 78%);-webkit-background-clip:text;background-clip:text;pointer-events:none;-webkit-user-select:none;user-select:none}
.ac-cover__motif{position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 66%);mask-image:linear-gradient(90deg,transparent 30%,#000 66%);transition:transform .7s var(--ep-ease)}
.ep-course:hover .ac-cover__motif{transform:scale(1.05)}
.ac-cover--points .ac-cover__motif{background:radial-gradient(circle,rgba(195,185,255,.42) 1.2px,transparent 1.9px) 0 0/14px 14px}
.ac-cover--ondes .ac-cover__motif{background:
  radial-gradient(circle at 84% 24%,var(--ep-vif) 0 1.6cqw,transparent 1.7cqw),
  repeating-radial-gradient(circle at 84% 24%,rgba(195,185,255,.36) 0 .35cqw,transparent .45cqw 6.5cqw)}
.ac-cover--lignes .ac-cover__motif{--l:linear-gradient(rgba(195,185,255,.3),rgba(195,185,255,.3));background:
  var(--l) 50cqw 7cqw/34cqw 2.2cqw no-repeat,var(--l) 50cqw 12.5cqw/24cqw 2.2cqw no-repeat,var(--l) 50cqw 18cqw/40cqw 2.2cqw no-repeat,
  var(--l) 50cqw 23.5cqw/20cqw 2.2cqw no-repeat,var(--l) 50cqw 31cqw/36cqw 2.2cqw no-repeat,var(--l) 50cqw 36.5cqw/28cqw 2.2cqw no-repeat,
  linear-gradient(var(--ep-vif),var(--ep-vif)) 80cqw 35.5cqw/.9cqw 4.4cqw no-repeat}
.ac-cover--colonnes .ac-cover__motif{--c:repeating-linear-gradient(180deg,rgba(195,185,255,.3) 0 .9cqw,transparent .9cqw 2.6cqw);background:
  linear-gradient(rgba(91,63,244,.45),rgba(91,63,244,.45)) 69cqw 9cqw/11cqw 7cqw no-repeat,
  linear-gradient(rgba(195,185,255,.55),rgba(195,185,255,.55)) 56cqw 4cqw/30cqw 1.8cqw no-repeat,
  var(--c) 56cqw 9cqw/11cqw 40cqw no-repeat,var(--c) 69cqw 18cqw/11cqw 31cqw no-repeat,var(--c) 82cqw 9cqw/11cqw 40cqw no-repeat}
.ac-cover--marches .ac-cover__motif{--m:linear-gradient(rgba(195,185,255,.24),rgba(195,185,255,.24));background:
  var(--m) 52cqw 44cqw/5cqw 6cqw no-repeat,var(--m) 59cqw 39cqw/5cqw 11cqw no-repeat,var(--m) 66cqw 34cqw/5cqw 16cqw no-repeat,
  var(--m) 73cqw 28cqw/5cqw 22cqw no-repeat,var(--m) 80cqw 21cqw/5cqw 29cqw no-repeat,
  linear-gradient(var(--ep-vif),var(--ep-vif)) 87cqw 13cqw/5cqw 37cqw no-repeat}
.ac-cover--bulles .ac-cover__motif{--b:radial-gradient(closest-side,rgba(255,255,255,.12) 96%,transparent);--v:radial-gradient(closest-side,rgba(91,63,244,.55) 96%,transparent);background:
  var(--b) 46cqw 5cqw/32cqw 8cqw no-repeat,var(--v) 64cqw 15.5cqw/30cqw 8cqw no-repeat,
  var(--b) 46cqw 26cqw/36cqw 8cqw no-repeat,var(--v) 66cqw 36.5cqw/28cqw 8cqw no-repeat}
.ac-cover__top{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;gap:10px}
.ac-etat{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--ep-r-pill);background:rgba(255,255,255,.94);color:var(--ep-ink);font-size:11.5px;font-weight:700;letter-spacing:.01em}
.ac-etat::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ep-vif)}
.ac-etat.is-ok{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-etat.is-ok::before{background:#12925a}
.ac-cover__text{position:absolute;left:16px;right:16px;bottom:14px}
.ac-cover__kicker{display:inline-flex;margin-bottom:8px;padding:3px 9px;border-radius:var(--ep-r-pill);background:rgba(17,12,41,.45);border:1px solid var(--ep-lavande-line);color:var(--ep-lavande-clair);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ac-cover__title{display:block;max-width:80%;font-size:20px;font-size:clamp(15px,6.6cqw,27px);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:#fff;text-wrap:balance;text-shadow:0 2px 18px rgba(17,12,41,.55);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* couverture photo : mêmes textes, la photo à la place du numéro et du motif, sous un voile aux
   couleurs de la bannière (du bas et de la gauche) qui garde le titre blanc lisible sur toute photo */
.ac-cover--photo{background:var(--ep-indigo-0)}
.ac-cover--photo img{z-index:-2}
.ac-cover--photo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(0deg,rgba(17,12,41,.9) 0%,rgba(17,12,41,.8) 24%,rgba(17,12,41,.6) 46%,rgba(17,12,41,.26) 66%,rgba(17,12,41,0) 84%),
  linear-gradient(90deg,rgba(43,30,110,.72) 0%,rgba(43,30,110,.38) 40%,rgba(43,30,110,0) 70%),
  linear-gradient(180deg,rgba(17,12,41,.42) 0%,rgba(17,12,41,0) 30%)}
.ac-cover--photo .ac-cover__kicker{background:rgba(17,12,41,.66)}

/* cartes du catalogue : .ep-course, comme les cartes de formations.html */
.ac-cc{border:1px solid var(--ep-line-2)}
.ac-cc .ep-course__media{background:var(--ep-indigo-0)}
.ac-cc__niv{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:-2px 0 8px;font-size:13px;font-weight:600;color:var(--ep-muted)}
.ac-niv{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--ep-r-pill);font-size:12px;font-weight:700;background:rgba(91,63,244,.08);color:#4a30df;border:1px solid rgba(91,63,244,.2)}
.ac-cc__prix{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:14px;font-size:14px;color:var(--ep-muted)}
.ac-cc__prix b{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ep-ink);white-space:nowrap}
.ac-cc__acces{font-size:13.5px;font-weight:600;color:var(--ac-ok)}
/* Modules offerts (21/10/2026) : « Gratuit pour commencer » en titre de prix, la suite en dessous. */
.ac-cc .ac-cc__prix b{font-size:19px}
.ac-cc__suite{margin-top:6px;font-size:13.5px;color:var(--ep-muted)}
.ac-cc__suite b{color:var(--ep-ink);font-weight:700;white-space:nowrap}
.ac-cc__counts{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ep-muted)}
.ac-cc__counts b{color:var(--ep-ink);font-weight:600}
.ac-cc__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 20px 0;margin-top:auto;padding:14px 0 18px;border-top:1px solid rgba(230,230,232,.8);font-size:14px;color:var(--ep-muted)}
.ac-cc .ep-course__body{padding-bottom:16px}
.ac-cc__foot b{color:var(--ep-ink)}
.ac-cc__foot .ep-btn svg{width:16px;height:16px}
.ac-filtres{margin-bottom:22px}
/* Choix du domaine de « Mes parcours » (lot 3, 29/10/2026) : au-dessus des niveaux, pleine largeur au téléphone. */
.ac-filtre-dom{max-width:440px;margin-bottom:14px}
/* Choix du domaine : la liste fermée n'écrit qu'une ligne et coupait les longs libellés au téléphone. Elle est
   posée, transparente, sur une case (.ac-dom-vu, même style) qui reprend son choix et passe à la ligne. */
.ac-dom-boite{position:relative}
.ac-dom-boite select{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ac-dom-boite .ac-dom-vu{display:block;height:auto;min-height:48px;padding-top:12px;padding-bottom:12px;line-height:1.4;overflow-wrap:anywhere}
.ac-dom-boite select:focus+.ac-dom-vu{border-color:var(--ep-blue);box-shadow:0 0 0 4px rgba(29,111,232,.14)}
.ac-cat-vide{margin-top:4px}
.ac-raison{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--ac-info-bg);color:var(--ac-info);font-size:13.5px;font-weight:600;line-height:1.45}

/* ---------- bandeau du parcours (haut de page parcours et activités) ---------- */
.ac-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;align-items:end;padding:30px 32px;border-radius:24px;color:#fff;background:var(--ac-night);overflow:hidden}
.ac-banner__brand{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.ac-pastille{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:8px;background:var(--ep-vif);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px -10px rgba(91,63,244,.9)}
.ac-banner .ep-chip{height:28px}
.ac-banner h1,.ac-banner h2{color:#fff;font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;line-height:1.12}
.ac-banner p{margin-top:10px;color:rgba(255,255,255,.76);font-size:15.5px;line-height:1.6;max-width:720px}
.ac-banner__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:13.5px;color:rgba(255,255,255,.78)}
.ac-banner__meta b{color:#fff}
.ac-banner__side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.ac-banner .ac-bar{margin-top:20px;max-width:560px}
.ac-banner--mini{display:block;padding:22px 26px}
.ac-banner--mini h2{font-size:clamp(19px,2vw,23px)}
.ac-banner--mini p{margin-top:6px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-banner--mini .ac-banner__brand{margin-bottom:10px}

/* rangée « Retour au parcours » + titre du module */
.ac-retour{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:20px 0 18px}
.ac-back{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border-radius:12px;border:1px solid var(--ep-line);background:#fff;font:600 14px var(--ep-font);color:var(--ep-ink);cursor:pointer;flex-shrink:0}
.ac-back:hover{background:var(--ep-surface-2);border-color:#d6d8dd}
.ac-back svg{width:16px;height:16px}
.ac-retour__module{min-width:0;padding-left:16px;border-left:1px solid var(--ep-line)}
.ac-retour__module small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-vif)}
.ac-retour__module b{display:block;font-size:clamp(17px,1.8vw,22px);font-weight:700;letter-spacing:-.02em;color:var(--ep-ink);line-height:1.25}
.ac-act-head .ac-tags{margin-bottom:14px}
.ac-act-head h1{font-size:clamp(24px,2.8vw,32px);letter-spacing:-.03em;line-height:1.15}
.ac-act-head h1:focus{outline:0}
.ac-act-head > p{margin-top:8px;color:var(--ep-muted);font-size:16px;line-height:1.6}
.ac-act-head .ac-bar{margin-top:20px}
.ac-act-body{margin-top:22px}

/* ---------- page parcours : modules et activités ---------- */
.ac-cours-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin-top:28px}
.ac-cours-aside{position:sticky;top:88px;display:grid;gap:16px}
.ac-cours-aside.is-libre,.ac-lesson__side.is-libre{position:static}
.ac-modules{display:grid;gap:14px}
.ac-module{background:#fff;border:1px solid var(--ep-line-2);border-radius:20px;overflow:hidden}
.ac-module > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 20px}
.ac-module > summary::-webkit-details-marker{display:none}
.ac-module > summary:focus-visible{outline:2px solid var(--ep-vif);outline-offset:-2px;border-radius:20px}
.ac-module__num{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;background:#f1eeff;color:var(--ep-vif);font-weight:800;font-size:15px;letter-spacing:-.02em}
.ac-module.is-done .ac-module__num{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-module__txt{flex:1;min-width:0}
.ac-module__txt small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-muted)}
.ac-module__txt b{display:block;font-size:16.5px;font-weight:700;color:var(--ep-ink);line-height:1.3;letter-spacing:-.015em}
.ac-module__count{font-size:13px;font-weight:600;color:var(--ep-muted);white-space:nowrap}
.ac-module__chev{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--ep-surface-2);transition:transform .25s var(--ep-ease)}
.ac-module__chev svg{width:16px;height:16px}
.ac-module[open] .ac-module__chev{transform:rotate(180deg)}
.ac-module__body{padding:0 12px 14px}
.ac-module__obj{margin:0 8px 12px;padding:12px 14px;border-radius:12px;background:var(--ep-surface-2);font-size:14px;color:var(--ep-text)}
.ac-module__obj span{font-weight:700;color:var(--ep-ink)}
.ac-acts{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ac-act{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 12px;border-radius:14px;color:var(--ep-text);transition:background .15s}
.ac-act:hover{background:#f6f5ff}
.ac-act.is-next{background:#f3f0ff;box-shadow:inset 0 0 0 1px #ddd6ff}
.ac-act__dot{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;border:2px solid #d5d9e3;background:#fff;color:#fff}
.ac-act__dot svg{width:13px;height:13px}
.ac-act.is-done .ac-act__dot{border-color:var(--ac-ok-ink);background:var(--ac-ok-ink)}
.ac-act.is-warn .ac-act__dot{border-color:#dc6803;background:#fff}
.ac-act__txt{flex:1;min-width:0}
.ac-act__type{display:block;font:500 12px/1.4 var(--ac-mono);color:var(--ep-muted)}
.ac-act__titre{display:block;font-size:15px;font-weight:600;line-height:1.35;color:var(--ep-ink)}
.ac-act__meta{font-size:13px;color:var(--ep-muted);white-space:nowrap}
.ac-final{margin-top:14px}
.ac-final .ac-module__num{background:var(--ac-night);color:var(--ep-lavande-clair)}
.ac-cert-card{border-radius:22px;padding:22px;color:#fff;background:var(--ac-night)}
.ac-cert-card h3{color:#fff;font-size:18px;letter-spacing:-.02em}
.ac-cert-card p{margin-top:6px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.6}
.ac-cert-card ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.ac-cert-card li{display:flex;gap:10px;font-size:14px;color:rgba(255,255,255,.86);line-height:1.45}
.ac-cert-card li::before{content:"";width:16px;height:16px;margin-top:2px;flex-shrink:0;border-radius:50%;border:1.5px solid rgba(195,185,255,.6)}
.ac-cert-card li.is-ok::before{border-color:var(--ep-lavande);background:var(--ep-lavande) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23110c29' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.ac-cert-card .ep-btn{margin-top:18px;width:100%}
.ac-cert-card .ep-btn[disabled]{opacity:.55}
.ac-cert-card__reste{margin-top:12px;font-size:13px;color:rgba(255,255,255,.66)}
.ac-inscrire{margin-top:16px;padding:14px 18px;border-radius:16px;background:var(--ac-info-bg);border:1px solid var(--ac-info-line);color:var(--ac-info);font-size:14.5px;font-weight:500;line-height:1.55}

/* ---------- leçon : diaporama ---------- */
.ac-lesson{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.ac-slides{container-type:inline-size;border-radius:20px}
.ac-slides:focus{outline:0}
.ac-slides:focus-visible{outline:2px solid var(--ep-vif);outline-offset:6px}
.ac-slide{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;padding:5.5cqw 7cqw 9cqw;background:
  radial-gradient(60% 55% at 100% 0%,rgba(91,63,244,.08),transparent 70%),
  radial-gradient(50% 45% at 0% 100%,rgba(157,143,255,.1),transparent 70%),#fbfbfe;color:var(--ep-text);border:1px solid var(--ep-line-2)}
.ac-slide--sombre{color:#fff;border-color:transparent;background:
  linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/6.25cqw 6.25cqw,
  linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/6.25cqw 6.25cqw,
  radial-gradient(50% 60% at 50% 18%,rgba(91,63,244,.42),transparent 70%),
  radial-gradient(40% 50% at 8% 0%,rgba(157,143,255,.16),transparent 70%),
  linear-gradient(120deg,var(--ep-indigo-2) 0%,var(--ep-indigo-1) 50%,var(--ep-indigo-0) 100%)}
.ac-slide__tag{align-self:flex-start;display:inline-flex;align-items:center;gap:.7em;padding:.5em 1.1em;border-radius:200px;font-size:clamp(11px,1.35cqw,16px);font-weight:700;background:#efecff;color:var(--ep-vif);border:1px solid #d9d2ff}
.ac-slide__tag::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}
.ac-slide--sombre .ac-slide__tag{background:rgba(157,143,255,.12);color:var(--ep-lavande-clair);border-color:var(--ep-lavande-line)}
.ac-slide h2{margin-top:2.2cqw;font-size:clamp(19px,4cqw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--ep-ink);text-wrap:balance}
.ac-slide--sombre h2{color:#fff}
.ac-slide ul{list-style:none;margin:auto 0;padding:2.4cqw 0 0;display:grid;gap:1.6cqw}
.ac-slide li{position:relative;padding-left:2.6cqw;font-size:clamp(14px,2.05cqw,24px);line-height:1.42;font-weight:500}
.ac-slide li::before{content:"";position:absolute;left:0;top:.55em;width:.5em;height:.5em;border-radius:50%;background:var(--ep-vif)}
.ac-slide--sombre li::before{background:var(--ep-lavande)}
.ac-slide em{font-style:normal;color:var(--ep-vif);font-weight:700}
.ac-slide--sombre em{color:var(--ep-lavande)}
.ac-slide__foot{position:absolute;left:7cqw;right:7cqw;bottom:0;height:6.4cqw;display:flex;align-items:center;gap:2cqw;border-top:1px solid var(--ep-line);font-size:clamp(10px,1.3cqw,15px);font-weight:600;color:var(--ep-muted)}
.ac-slide--sombre .ac-slide__foot{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.62)}
.ac-slide__foot b{font-weight:800;letter-spacing:-.04em;color:var(--ep-ink);font-size:1.25em}
.ac-slide__foot b span{color:var(--ep-vif)}
.ac-slide--sombre .ac-slide__foot b{color:#fff}
.ac-slide--sombre .ac-slide__foot b span{color:var(--ep-lavande-clair)}
.ac-slide__foot span.ac-slide__cours{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-slide__foot i{font-style:normal;font-variant-numeric:tabular-nums;color:inherit}
.ac-ctrl{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.ac-ctrl__btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--ep-line);background:#fff;color:var(--ep-ink);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}
.ac-ctrl__btn:hover{background:var(--ep-surface-2)}
.ac-ctrl__btn--next{background:var(--ep-vif);border-color:var(--ep-vif);color:#fff}
.ac-ctrl__btn--next:hover{background:var(--ep-vif-hover);border-color:var(--ep-vif-hover)}
.ac-ctrl__btn[disabled]{opacity:.4;cursor:default}
.ac-ctrl__btn svg{width:20px;height:20px}
.ac-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;min-width:0}
.ac-dot{width:28px;height:40px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.ac-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#d5d9e3;transition:background .2s,width .2s}
.ac-dot.is-active::before{width:22px;border-radius:5px;background:var(--ep-vif)}
.ac-dot.is-seen::before{background:#b9adff}
.ac-dot.is-active.is-seen::before{background:var(--ep-vif)}
.ac-note{margin-top:16px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-note__label{font:500 12.5px/1.4 var(--ac-mono);color:var(--ep-muted);margin-bottom:6px}
.ac-note p{font-size:16px;line-height:1.75;color:var(--ep-text)}
.ac-video{position:relative;border-radius:18px;overflow:hidden;background:var(--ep-indigo-0);aspect-ratio:16/9}
.ac-video video{width:100%;height:100%;object-fit:contain;background:#000}
.ac-video__cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:0;width:100%;color:#fff;background:var(--ac-night);cursor:pointer;font:600 15px var(--ep-font);padding:20px;text-align:center}
.ac-video__cover span.ac-video__play{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--ep-vif);box-shadow:0 14px 34px -12px rgba(91,63,244,.9)}
.ac-video__cover svg{width:28px;height:28px;margin-left:4px}
.ac-video__cover small{font-size:13px;font-weight:500;color:rgba(255,255,255,.7)}
.ac-support{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--ep-line-2);font-size:14.5px}
.ac-lesson__side{display:grid;gap:16px;position:sticky;top:88px}
.ac-lesson__side .ep-check li{font-size:14.5px}
.ac-done{padding:20px;border-radius:20px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-done p{margin-top:10px;font-size:13.5px;color:var(--ep-muted);line-height:1.55}
.ac-done .ep-btn{width:100%}
.ac-done.is-ok{border-color:var(--ac-ok-line);background:var(--ac-ok-bg)}
.ac-done.is-ok p{color:var(--ac-ok)}
.ac-diapos-texte{margin-top:16px}

/* ---------- scénario (simulation) façon étape SecureVoices ---------- */
.ac-step{background:#fff;border:1px solid var(--ep-line-2);border-radius:22px;overflow:hidden}
.ac-step__head{display:flex;align-items:center;gap:14px;padding:24px 26px 0}
.ac-step__num{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;border:2px solid var(--ep-vif);color:var(--ep-vif);font-weight:800;font-size:15px;box-shadow:0 0 0 4px #efecff}
.ac-step__head h2{font-size:clamp(18px,2vw,22px);letter-spacing:-.02em;line-height:1.3}
.ac-step__text{padding:14px 26px 24px;font-size:16.5px;line-height:1.75;color:var(--ep-text)}
.ac-step__ask{padding:22px 26px 26px;border-top:1px solid var(--ep-line-2);background:#fbfbfe}
.ac-ask{margin:0 0 16px;font:500 15px/1.4 var(--ac-mono);color:#4a5163}
.ac-choices{display:grid;gap:12px}
.ac-choice{display:block;width:100%;text-align:left;padding:18px 20px;border-radius:14px;border:1.5px solid var(--ep-line);background:#fff;font:600 15.5px/1.55 var(--ep-font);color:var(--ep-ink);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.ac-choice:hover:not([disabled]){border-color:#a99bff;background:#faf9ff}
.ac-choice:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(91,63,244,.25);border-color:var(--ep-vif)}
.ac-choice[disabled]{cursor:default}
.ac-choice__verdict{display:flex;gap:10px;margin-top:10px;font-size:14.5px;font-weight:500;line-height:1.6}
.ac-choice__verdict b{display:block;font-weight:700}
.ac-ico{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;margin-top:1px;color:#fff}
.ac-ico svg{width:13px;height:13px}
.ac-ico--ok{background:#12925a}
.ac-ico--ko{background:#d92d20}
.ac-ico--neutre{background:#9aa1b1}
.ac-quiz__best{margin-bottom:14px}
.ac-sim__deja{margin:0 0 12px}
.ac-verdict:focus{outline:0}
.ac-choice.is-faux{border-color:#e5484d;background:var(--ac-ko-bg);color:var(--ac-ko);box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.ac-choice.is-faux .ac-ico{background:#d92d20}
.ac-choice.is-juste{border-color:#17a660;background:var(--ac-ok-bg);color:var(--ac-ok);box-shadow:0 0 0 3px rgba(23,166,96,.12)}
.ac-choice.is-juste .ac-ico{background:#12925a}
.ac-choice.is-autre{border-color:var(--ep-line-2);background:#fafbfd;color:#3d4354}
.ac-choice.is-autre .ac-choice__verdict{color:var(--ep-muted)}
.ac-choice.is-autre .ac-ico{background:#9aa1b1}
.ac-choice__option{display:block}
.ac-step__after{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.ac-verdict{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;font-weight:700;font-size:15px}
.ac-verdict.is-ok{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-verdict.is-ko{background:var(--ac-ko-bg);color:var(--ac-ko)}

/* ---------- quiz ---------- */
.ac-quiz{background:#fff;border:1px solid var(--ep-line-2);border-radius:22px;padding:26px}
.ac-quiz fieldset{border:0;margin:0;padding:0;min-width:0}
.ac-quiz legend{padding:0;font-size:clamp(18px,2vw,21px);font-weight:700;letter-spacing:-.02em;line-height:1.4;color:var(--ep-ink);margin-bottom:18px}
.ac-quiz legend small{display:block;margin-bottom:6px;font:500 13px/1.4 var(--ac-mono);color:var(--ep-muted);letter-spacing:0}
.ac-opts{display:grid;gap:10px}
.ac-opt{position:relative;display:flex;align-items:flex-start;gap:14px;padding:15px 16px;border-radius:14px;border:1.5px solid var(--ep-line);background:#fff;cursor:pointer;font-size:15.5px;line-height:1.5;color:var(--ep-ink);transition:border-color .15s,background .15s}
.ac-opt:hover{border-color:#a99bff;background:#faf9ff}
.ac-opt input{position:absolute;opacity:0;width:1px;height:1px}
.ac-opt__key{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid #d5d9e3;font:700 13px var(--ac-mono);color:var(--ep-muted);background:#fff}
.ac-opt:has(input:checked){border-color:var(--ep-vif);background:#f5f3ff}
.ac-opt.is-checked{border-color:var(--ep-vif);background:#f5f3ff}
.ac-opt input:checked + .ac-opt__key{background:var(--ep-vif);border-color:var(--ep-vif);color:#fff}
.ac-opt input:focus-visible + .ac-opt__key{box-shadow:0 0 0 4px rgba(91,63,244,.3)}
.ac-quiz__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
.ac-quiz__hint{font-size:13.5px;color:var(--ep-muted)}
.ac-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:26px;border-radius:22px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-result.is-ok{border-color:var(--ac-ok-line);background:linear-gradient(180deg,#f3fcf7,#fff)}
.ac-result.is-ko{border-color:var(--ac-warn-line);background:linear-gradient(180deg,#fffcf3,#fff)}
.ac-result h2{font-size:clamp(20px,2.2vw,25px);letter-spacing:-.025em}
.ac-result p{margin-top:6px;color:var(--ep-muted);font-size:15px;line-height:1.6}
.ac-result .ac-ring{--ac-ring:112px}
.ac-result .ac-ring b{font-size:23px}
.ac-result.is-ok .ac-ring__fg{stroke:#12925a}
.ac-result.is-ko .ac-ring__fg{stroke:#dc6803}
.ac-corr{margin-top:16px;display:grid;gap:14px}
.ac-corr__item{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-corr__q{display:flex;gap:12px;align-items:flex-start;font-weight:700;font-size:16px;line-height:1.45;color:var(--ep-ink)}
.ac-corr__ans{display:grid;gap:8px;margin-top:12px;padding-left:34px}
.ac-corr__ans div{padding:10px 12px;border-radius:12px;font-size:14.5px;line-height:1.5}
.ac-corr__ans .is-juste{background:var(--ac-ok-bg);color:var(--ac-ok)}
.ac-corr__ans .is-faux{background:var(--ac-ko-bg);color:var(--ac-ko)}
.ac-corr__ans span{display:block;font:500 12px/1.4 var(--ac-mono);opacity:.85}
.ac-corr__exp{margin-top:10px;padding-left:34px;font-size:14.5px;line-height:1.65;color:var(--ep-muted)}
.ac-corr__exp b{color:var(--ep-ink)}

/* ---------- serious game : écran terminal aux couleurs de la marque ---------- */
.ac-term{border-radius:22px;overflow:hidden;color:#e7e3ff;font-family:var(--ac-mono);background:
  linear-gradient(rgba(157,143,255,.05) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(90deg,rgba(157,143,255,.05) 1px,transparent 1px) 0 0/28px 28px,
  radial-gradient(70% 60% at 100% 0%,rgba(91,63,244,.35),transparent 70%),
  linear-gradient(160deg,var(--ep-indigo-1) 0%,var(--ep-indigo-0) 70%);border:1px solid rgba(157,143,255,.28);box-shadow:var(--ep-shadow-float)}
.ac-term__bar{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(157,143,255,.2);background:rgba(17,12,41,.55);font-size:13px;color:rgba(231,227,255,.72)}
.ac-term__dots{display:flex;gap:6px}
.ac-term__dots i{width:10px;height:10px;border-radius:50%;background:rgba(195,185,255,.35)}
.ac-term__dots i:first-child{background:var(--ep-vif)}
.ac-term__path{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-term__clock{font-variant-numeric:tabular-nums;color:var(--ep-lavande-clair);white-space:nowrap}
.ac-term__body{padding:26px 26px 28px}
.ac-term__line{font-size:14px;line-height:1.7;color:rgba(231,227,255,.66)}
.ac-term__line b{color:var(--ep-lavande-clair);font-weight:700}
.ac-term__title{margin:8px 0 14px;font-family:var(--ep-font);font-size:clamp(21px,2.5vw,28px);font-weight:700;letter-spacing:-.025em;color:#fff;line-height:1.2}
.ac-term__text{font-size:15.5px;line-height:1.75;color:#ece9ff}
.ac-term__sit{margin-top:14px;padding:16px 18px;border-left:3px solid var(--ep-lavande);background:rgba(157,143,255,.08);border-radius:0 12px 12px 0;font-size:15.5px;line-height:1.75;color:#fff}
.ac-term__prompt{margin:22px 0 12px;font-size:14px;color:var(--ep-lavande-clair)}
.ac-term__opts{display:grid;gap:10px}
.ac-term__opt{display:flex;gap:16px;align-items:flex-start;width:100%;text-align:left;padding:15px 16px;border-radius:12px;border:1px solid rgba(157,143,255,.26);background:rgba(17,12,41,.35);color:#f2f0ff;font:500 15px/1.6 var(--ac-mono);cursor:pointer;transition:background .15s,border-color .15s}
.ac-term__opt:hover{background:rgba(157,143,255,.14);border-color:var(--ep-lavande)}
.ac-term__opt:focus-visible{outline:2px solid var(--ep-lavande-clair);outline-offset:2px}
.ac-term__opt b{color:var(--ep-lavande);font-weight:700;flex-shrink:0}
.ac-term__opt.is-juste{border-color:#3ccf8e;background:rgba(60,207,142,.12)}
.ac-term__opt.is-faux{border-color:#ff7a7a;background:rgba(255,122,122,.1)}
.ac-term__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;font-size:13px;color:rgba(231,227,255,.6)}
.ac-term .ac-bar{margin-top:14px}
.ac-term .ep-btn--lavande{color:#fff}
.ac-term__score{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:6px 0 18px}
.ac-term__score b{font-family:var(--ep-font);font-size:56px;font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1}
.ac-term__corr{display:grid;gap:12px;margin-top:8px}
.ac-term__corr > div{padding:16px;border-radius:12px;border:1px solid rgba(157,143,255,.2);background:rgba(17,12,41,.35)}
.ac-term__corr p{font-size:14px;line-height:1.7;color:#ece9ff}
.ac-term__corr p + p{margin-top:8px}
.ac-term__ok{color:#6ee7b7}
.ac-term__ko{color:#ffb4b4}
.ac-term__why{color:rgba(231,227,255,.78)}

/* ---------- lab et projet ---------- */
.ac-brief{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ac-brief .ac-card h3{font:500 12.5px/1.4 var(--ac-mono);color:var(--ep-muted);margin-bottom:8px;letter-spacing:0}
.ac-brief .ac-card p{color:var(--ep-text);font-size:15.5px;line-height:1.75}
.ac-brief__full{grid-column:1/-1}
.ac-rendu{margin-top:16px}
.ac-rendu .ep-textarea{min-height:200px}
.ac-rendu__count{text-align:right}
.ac-rendu__prev{margin-top:16px;padding:16px 18px;border-radius:16px;background:var(--ac-ok-bg);border:1px solid var(--ac-ok-line);color:var(--ac-ok);font-size:14.5px}
.ac-rendu__prev pre{margin:10px 0 0;white-space:pre-wrap;word-break:break-word;font:500 14px/1.6 var(--ep-font);color:var(--ep-text);max-height:220px;overflow:auto;background:#fff;border-radius:10px;padding:12px}
.ac-rendu__prev a{color:var(--ep-blue-ink);font-weight:600;word-break:break-all}

/* ---------- certificats ---------- */
.ac-certs{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ac-certcard{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:22px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-certcard__top{display:flex;align-items:center;gap:14px}
.ac-certcard h3{font-size:17px;line-height:1.3;letter-spacing:-.015em}
.ac-certcard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}
.ac-certcard dt{color:var(--ep-muted)}
.ac-certcard dd{margin:0;color:var(--ep-ink);font-weight:600}
.ac-certcard .ac-actions{margin-top:auto}
.ac-cert-wrap{max-width:1040px;margin:0 auto}
.ac-cert-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}

/* le certificat lui-même : modèle « Certificat de formation » choisi par Siba (20/10/2026,
   cours/_reference/modele-certificat-siba.webp), A4 paysage sur fond blanc. Toutes les mesures
   sont en cqw (1 cqw = 1 % de la largeur de la feuille, conteneur .ac-cert) et toutes les positions
   partent du haut : écran, téléphone et impression (297 mm de large) donnent le même dessin. */
.ac-cert-sheet{width:100%}
.ac-cert{--cert-nuit:#1a1630;--cert-violet:#5b3ff4;--cert-gris:#6b6880;--cert-filet:#e4e2ec;--cert-ligne:#cbc8db;
  position:relative;container-type:inline-size;width:100%;aspect-ratio:297/210;overflow:hidden;margin:0;
  background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(26,22,48,.07),0 30px 70px -40px rgba(17,12,41,.45);
  color:var(--cert-nuit);font-family:var(--ep-font);font-weight:400;line-height:1.2;text-align:center;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.ac-cert > *{position:absolute;margin:0}
/* cadre bleu nuit arrondi, filet gris à l'intérieur */
.ac-cert__cadre{inset:4cqw;border:max(1.5px,.17cqw) solid var(--cert-nuit);border-radius:2cqw}
.ac-cert__cadre-in{inset:4.85cqw;border:max(1px,.07cqw) solid var(--cert-filet);border-radius:1.25cqw}
/* coins en équerre violets, avec un point à l'angle */
.ac-cert__coin{--b:max(1px,.16cqw);width:2.15cqw;height:2.15cqw;border:0 solid var(--cert-violet)}
.ac-cert__coin::after{content:"";position:absolute;width:max(3px,.62cqw);aspect-ratio:1;border-radius:50%;background:var(--cert-violet);transform:translate(-50%,-50%)}
.ac-cert__coin--hg{top:6.4cqw;left:6.4cqw;border-top-width:var(--b);border-left-width:var(--b)}
.ac-cert__coin--hg::after{top:calc(var(--b) / -2);left:calc(var(--b) / -2)}
.ac-cert__coin--hd{top:6.4cqw;right:6.4cqw;border-top-width:var(--b);border-right-width:var(--b)}
.ac-cert__coin--hd::after{top:calc(var(--b) / -2);left:calc(100% + var(--b) / 2)}
.ac-cert__coin--bg{top:62.1cqw;left:6.4cqw;border-bottom-width:var(--b);border-left-width:var(--b)}
.ac-cert__coin--bg::after{top:calc(100% + var(--b) / 2);left:calc(var(--b) / -2)}
.ac-cert__coin--bd{top:62.1cqw;right:6.4cqw;border-bottom-width:var(--b);border-right-width:var(--b)}
.ac-cert__coin--bd::after{top:calc(100% + var(--b) / 2);left:calc(100% + var(--b) / 2)}
/* en-tête : logo à gauche, académie à droite, filet gris dessous */
.ac-cert__logo{top:7.52cqw;left:8.1cqw;font-size:2.75cqw;font-weight:800;letter-spacing:-.04em;line-height:1;text-align:left;color:var(--cert-nuit)}
.ac-cert__logo span{color:var(--cert-violet)}
.ac-cert__acad{top:8.3cqw;right:8.1cqw;font-size:1cqw;font-weight:500;letter-spacing:.045em;line-height:1;text-transform:uppercase;color:var(--cert-gris)}
.ac-cert__filet{top:12cqw;left:8.1cqw;right:8.1cqw;height:max(1px,.1cqw);background:var(--cert-filet)}
/* centre : une ligne chacune, centrée sur sa hauteur */
.ac-cert__c{left:0;right:0;transform:translateY(-50%);white-space:nowrap}
.ac-cert__sur{top:15.55cqw;font-size:1cqw;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--cert-violet)}
.ac-cert__point{position:relative;top:-.06cqw;display:inline-block;width:.34cqw;height:.34cqw;margin:0 .85cqw;border-radius:50%;background:currentColor;vertical-align:middle}
.ac-cert__titre{top:19.15cqw;font-size:3.4cqw;font-weight:800;letter-spacing:.004em;line-height:1;text-transform:uppercase;color:var(--cert-nuit)}
.ac-cert__trait{top:21.7cqw;left:46.9cqw;width:6.2cqw;height:max(2px,.2cqw);border-radius:1px;background:var(--cert-violet)}
.ac-cert__decerne{top:24.15cqw;font-size:1.32cqw;color:var(--cert-gris)}
/* nom et intitulé : posés sur leur ligne (le bas de la boîte), qui s'allonge si le texte est plus large */
.ac-cert__nom,.ac-cert__formation{left:0;right:0;margin-inline:auto;width:fit-content;transform:translateY(-100%);text-wrap:balance;overflow-wrap:anywhere}
.ac-cert__nom{top:29.55cqw;min-width:63.9cqw;max-width:74cqw;padding:0 1cqw .5cqw;border-bottom:max(1px,.11cqw) solid var(--cert-ligne);font-size:3cqw;font-weight:700;letter-spacing:-.015em;line-height:1.12;color:var(--cert-nuit)}
.ac-cert__nom--long{font-size:2.3cqw}
.ac-cert__nom--tres-long{font-size:1.7cqw}
.ac-cert__legende{top:31cqw;font-size:.95cqw;letter-spacing:.04em;text-transform:uppercase;color:var(--cert-gris)}
.ac-cert__pour{top:35.65cqw;font-size:1.42cqw;color:#2b2843}
.ac-cert__formation{top:42.05cqw;min-width:52cqw;max-width:68cqw;padding:0 1cqw 1.1cqw;border-bottom:max(1px,.1cqw) solid var(--cert-filet);font-size:2.45cqw;font-weight:800;letter-spacing:.004em;line-height:1.12;text-transform:uppercase;color:var(--cert-violet)}
.ac-cert__formation--m{font-size:2.15cqw}
.ac-cert__formation--l{font-size:1.85cqw}
.ac-cert__formation--xl{font-size:1.6cqw}
.ac-cert__org{top:43.75cqw;font-size:1.1cqw;color:var(--cert-gris)}
/* bas : date et durée sur leur ligne à légende, signature de Siba à droite */
.ac-cert__fait{top:53.3cqw;width:17.1cqw;padding-top:.8cqw;border-top:max(1px,.11cqw) solid var(--cert-ligne);font-size:.95cqw;letter-spacing:.04em;line-height:1.2;text-transform:uppercase;color:var(--cert-gris)}
.ac-cert__fait b{position:absolute;left:-2cqw;right:-2cqw;bottom:100%;padding-bottom:.55cqw;font-size:1.5cqw;font-weight:700;letter-spacing:-.005em;line-height:1.15;text-transform:none;color:var(--cert-nuit)}
.ac-cert__fait--date{left:28.45cqw}
.ac-cert__fait--duree{left:54.45cqw}
.ac-cert__sign{top:54.4cqw;left:70.35cqw;width:17.3cqw}
.ac-cert__sign img{display:block;width:14cqw;height:auto;margin:0 0 0 1.65cqw}
.ac-cert__sign-nom{padding-top:.55cqw;border-top:max(1px,.11cqw) solid var(--cert-ligne);font-size:1.05cqw;font-weight:700;color:var(--cert-nuit)}
.ac-cert__sign-role{margin-top:.3cqw;font-size:.85cqw;letter-spacing:.04em;text-transform:uppercase;color:var(--cert-gris)}
/* ajouts discrets en bas à gauche : QR code, code et adresse de vérification */
.ac-cert__verif{top:56.4cqw;left:7.6cqw;display:flex;align-items:center;gap:.9cqw;text-align:left}
.ac-cert__qr{width:6.8cqw;flex-shrink:0}
.ac-cert__qr svg{display:block;width:100%;height:auto}
.ac-cert__verif p{margin:0;font-size:.84cqw;line-height:1.5;color:var(--cert-gris)}
.ac-cert__verif b{display:block;margin-bottom:.15cqw;font:700 1.02cqw/1.3 var(--ac-mono);letter-spacing:.04em;color:var(--cert-nuit)}
.ac-cert__verif span{display:block;white-space:nowrap}
/* pastille posée sur le bord du bas */
.ac-cert__pastille{top:65.1cqw;left:43.25cqw;width:13.5cqw;height:2cqw;display:flex;align-items:center;justify-content:center;border-radius:1cqw;background:#e9e7f7;font-size:.95cqw;font-weight:800;letter-spacing:.04em;line-height:1;text-transform:uppercase;color:var(--cert-nuit)}
/* téléphone et tablette : « Agrandir » (au-dessus de la feuille, donc toujours à portée) passe le
   certificat en grand dans un cadre qui défile */
.ac-cert-zoom{display:none}
@media (max-width:899px){
  .ac-cert-zoom{display:inline-flex;margin:0 0 12px}
  .ac-cert-sheet.is-zoom{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 10px}
  .ac-cert-sheet.is-zoom .ac-cert{width:980px;max-width:none}
}

/* ---------- historique ---------- */
.ac-day + .ac-day{margin-top:24px}
.ac-day__h{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-muted);margin-bottom:10px}
.ac-tl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ac-tl li{position:relative;display:grid;grid-template-columns:56px 118px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--ep-line-2);transition:border-color .15s,background .15s}
.ac-tl li:hover{border-color:#d9d2ff;background:#fcfbff}
.ac-tl li .ac-statut{justify-self:start}
.ac-tl__go{display:inline-flex;align-items:center;min-height:40px}
.ac-tl__go::after{content:"";position:absolute;inset:0;border-radius:16px}
.ac-tl__go:focus-visible{outline:0}
.ac-tl__go:focus-visible::after{box-shadow:0 0 0 3px rgba(91,63,244,.35)}
/* version compacte (colonne du tableau de bord) : heure et type en haut, titre dessous */
.ac-duo .ac-tl li{grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;padding:10px 16px 14px}
.ac-duo .ac-tl__time{grid-column:1;grid-row:1}
.ac-duo .ac-tl li .ac-statut{grid-column:2;grid-row:1}
.ac-duo .ac-tl__go{grid-column:3;grid-row:1}
.ac-duo .ac-tl__txt{grid-column:1/-1;grid-row:2}
.ac-tl__time{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ep-muted);white-space:nowrap}
.ac-tl__txt{min-width:0}
.ac-tl__txt b{display:block;font-size:15px;color:var(--ep-ink);line-height:1.4}
.ac-tl__txt span{display:block;font-size:13px;color:var(--ep-muted);line-height:1.4}

/* ---------- bibliothèque et profil ---------- */
.ac-libbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:22px}
.ac-libbar .ep-field{margin:0;flex:1;min-width:220px}
.ac-search{position:relative}
.ac-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ep-muted);pointer-events:none}
.ac-search .ep-input{padding-left:42px}
.ac-libitem{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:20px;background:#fff;border:1px solid var(--ep-line-2);transition:transform .25s var(--ep-ease),box-shadow .25s var(--ep-ease)}
.ac-libitem:hover{transform:translateY(-2px);box-shadow:var(--ep-shadow-card)}
.ac-libitem small{font:500 12px/1.4 var(--ac-mono);color:var(--ep-muted)}
.ac-libitem__cours{display:flex;align-items:center;gap:10px;min-width:0}
.ac-libitem__cours img{flex-shrink:0;width:64px;height:36px;border-radius:8px;object-fit:cover;background:var(--ep-indigo-0)}
.ac-libitem h3{font-size:16.5px;font-weight:700;line-height:1.35;letter-spacing:-.015em}
.ac-libitem p{font-size:14px;line-height:1.6;color:var(--ep-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ac-libitem__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;font-size:13px;color:var(--ep-muted)}
.ac-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ac-profile__id{display:flex;align-items:center;gap:18px}
.ac-profile__id .ac-avatar{width:72px;height:72px;font-size:26px;box-shadow:0 0 0 4px #ebe7ff}
.ac-profile__id b{display:block;font-size:21px;color:var(--ep-ink);letter-spacing:-.02em}
.ac-profile__id > div{min-width:0}
.ac-profile__id > div > span:not(.ac-statut){display:block;font-size:14.5px;color:var(--ep-muted);word-break:break-all}
.ac-profile__id .ac-statut{margin-top:8px}
.ac-kv{display:grid;gap:10px;margin-top:14px;font-size:14.5px}
.ac-kv div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--ep-line-2)}
.ac-kv div:last-child{border-bottom:0;padding-bottom:0}
.ac-kv span{color:var(--ep-muted)}
.ac-kv b{color:var(--ep-ink);text-align:right}

/* ---------- ordinateur moyen ---------- */
@media (max-width:1279px){
  .ac-page{padding:24px 28px 64px}
  .ac-top{padding:10px 28px}
  .ac-lesson{grid-template-columns:minmax(0,1fr)}
  .ac-lesson__side{position:static;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ac-cours-grid{grid-template-columns:minmax(0,1fr) 300px}
  .ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-duo{grid-template-columns:minmax(0,1fr)}
}

/* ---------- tablette et téléphone : barre du haut + tiroir ---------- */
@media (max-width:1023px){
  .ac-shell{display:block}
  .ac-side{position:fixed;left:0;top:0;bottom:0;z-index:90;width:min(320px,86vw);height:auto;transform:translateX(-104%);transition:transform .3s var(--ep-ease),visibility 0s linear .3s;visibility:hidden;box-shadow:0 0 60px rgba(17,12,41,.45)}
  .ac-side.is-open{transform:none;visibility:visible;transition:transform .3s var(--ep-ease),visibility 0s}
  .ac-side.is-open ~ .ac-veil,.ac-veil.is-on{opacity:1;pointer-events:auto}
  .ac-side__close{display:grid}
  .ac-top{padding:8px 16px;min-height:60px}
  .ac-top__menu,.ac-top__logo{display:inline-flex}
  .ac-crumbs{display:none}
  .ac-top__aide{margin-left:auto}
  .ac-cours-grid{grid-template-columns:minmax(0,1fr)}
  .ac-cours-aside{position:static}
  .ac-hero__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "auth" "plus";gap:28px}
  .ac-hero__auth .ac-auth{margin:0 auto}
  .ac-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .ac-page{padding:20px 16px 56px}
  .ac-hero{padding:112px 0 44px}
  .ac-hero__title{font-size:clamp(32px,9vw,40px)}
  .ac-hero__desc{font-size:16px}
  .ac-top__aide{padding:0 12px;font-size:13px}
  .ac-stats{gap:10px}
  .ac-stat{padding:14px 16px}
  .ac-stat b{font-size:24px}
  .ac-resume{grid-template-columns:minmax(0,1fr);padding:22px}
  .ac-resume__cta{align-items:stretch}
  .ac-resume .ac-ring{display:none}
  .ac-resume__cta .ep-btn{width:100%}
  .ac-grid,.ac-grid--3,.ac-certs{grid-template-columns:minmax(0,1fr)}
  .ac-banner{grid-template-columns:minmax(0,1fr);padding:22px 20px;border-radius:20px}
  .ac-banner__side{align-items:stretch}
  .ac-banner__side .ep-btn{width:100%}
  .ac-banner--mini{padding:18px 18px}
  .ac-retour{gap:10px 12px}
  .ac-retour__module{padding-left:0;border-left:0;flex-basis:100%}
  .ac-module > summary{padding:16px;gap:12px}
  .ac-module__num{width:40px;height:40px;font-size:14px}
  .ac-module__count{display:none}
  .ac-module__body{padding:0 6px 10px}
  .ac-act{gap:12px;padding:10px}
  .ac-act__meta{display:none}
  .ac-lesson__side{grid-template-columns:minmax(0,1fr)}
  .ac-slide{aspect-ratio:auto;min-height:56vw;padding:20px 18px 52px;border-radius:16px}
  .ac-slide h2{margin-top:12px;font-size:21px}
  .ac-slide ul{padding-top:14px;gap:10px;margin:0}
  .ac-slide li{padding-left:16px;font-size:15px}
  .ac-slide__tag{font-size:11.5px}
  .ac-slide__foot{left:18px;right:18px;height:40px;font-size:11px}
  .ac-dot{width:22px}
  .ac-step__head{padding:20px 18px 0}
  .ac-step__text{padding:12px 18px 20px;font-size:16px}
  .ac-step__ask{padding:18px 16px 20px}
  .ac-choice{padding:16px}
  .ac-quiz{padding:20px 16px}
  .ac-result{grid-template-columns:minmax(0,1fr);justify-items:start;padding:20px}
  .ac-result .ac-ring{--ac-ring:96px}
  .ac-result .ac-ring b{font-size:19px}
  .ac-quiz__nav{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
  .ac-quiz__nav .ac-quiz__hint{grid-column:1/-1;order:-1;text-align:center}
  .ac-quiz__nav .ep-btn{justify-content:center}
  .ac-corr__ans,.ac-corr__exp{padding-left:0}
  .ac-term__body{padding:20px 16px 22px}
  .ac-term__bar{padding:10px 14px;font-size:12px}
  .ac-term__opt{padding:13px 12px;gap:12px;font-size:14px}
  .ac-term__sit,.ac-term__text{font-size:14.5px}
  .ac-term__corr p{font-size:13.5px}
  .ac-term__score b{font-size:44px}
  .ac-brief{grid-template-columns:minmax(0,1fr)}
  .ac-profile{grid-template-columns:minmax(0,1fr)}
  .ac-tl li{grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;padding:10px 14px 14px}
  .ac-tl__time{grid-column:1;grid-row:1}
  .ac-tl li .ac-statut{grid-column:2;grid-row:1}
  .ac-tl__go{grid-column:3;grid-row:1}
  .ac-tl__txt{grid-column:1/-1;grid-row:2}
  .ac-certrow{flex-wrap:wrap}
  .ac-certrow .ep-btn{width:100%}
  .ac-pcard__foot .ep-btn{flex:1}
  .ac-cert-tools .ep-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .ac-skel{animation:none}
  .ac-side{transition:none!important}
}

/* ---------- revue design du 18/10 : alignements, filtres, actions au téléphone ---------- */
/* tableau de bord : « Derniers certificats » respirait trop peu sous les cartes de parcours */
.ac-duo{margin-top:36px}
/* ligne de certificat : la seconde ligne reprenait la hauteur de ligne du titre */
.ac-certrow__info span{display:block;margin-top:2px;line-height:1.45}
/* la note d'orateur s'aligne sur les cartes voisines (même marge intérieure) */
.ac-note{padding:20px 24px}
/* cartes de certificat : deux boutons côte à côte, ou chacun sur toute la ligne s'ils passent à la ligne */
.ac-certcard .ac-actions > .ep-btn{flex:1 1 auto}
/* filtre de niveau : violet de la bannière, comme le catalogue de formations.html */
.ac-filtres .ep-tab.is-active{background:var(--ep-vif)}
@media (max-width:767px){
  /* bandeau du parcours : anneau compact à côté du bouton, au lieu d'un anneau seul sur sa ligne */
  .ac-banner__side{flex-direction:row;align-items:center;gap:14px}
  .ac-banner__side .ac-ring{width:60px!important;height:60px!important}
  .ac-banner__side .ac-ring b{font-size:13.5px}
  .ac-banner__side .ep-btn{flex:1 1 auto;width:auto;min-width:0}
  /* après une simulation : verdict puis boutons sur toute la largeur, l'action principale en premier */
  .ac-step__after{flex-direction:column;align-items:stretch}
  .ac-step__after .ac-actions{flex-direction:column;align-items:stretch}
  .ac-step__after .ac-actions > .ep-btn{width:100%}
  .ac-step__after .ac-actions > .ep-btn--vif{order:-1}
  /* filtres de niveau en 2 × 2 (comme .ep-tabs--grid) : tous visibles sans faire défiler */
  .ac-filtres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:22px;width:100%}
  .ac-filtres .ep-tab:first-child:nth-last-child(odd){grid-column:1/-1}
}

/* ---------- impression du certificat (A4 paysage, une page) ---------- */
/* ---------- COMEDIA : encarts de liens (nouvel onglet, aucune fenêtre surgissante) ---------- */
.ac-cm{position:relative;padding:22px;border-radius:var(--ep-r-lg);color:#fff;background:var(--ac-night);border:1px solid rgba(157,143,255,.28)}
.ac-cm__marque{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--ep-lavande-clair)}
.ac-cm h3{margin-top:6px;color:#fff;font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.3}
.ac-cm__intro{margin-top:8px;color:rgba(255,255,255,.84);font-size:14px;line-height:1.6;max-width:640px}
.ac-cm__liens{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.ac-cm__liens a{position:relative;display:flex;flex-direction:column;gap:3px;height:100%;padding:12px 42px 12px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(157,143,255,.26);color:#fff;transition:background-color .2s ease,border-color .2s ease}
.ac-cm__liens a:hover{background:rgba(255,255,255,.11);border-color:rgba(195,185,255,.55)}
.ac-cm__liens a:focus-visible{outline:3px solid var(--ep-lavande);outline-offset:2px}
.ac-cm__type{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-lavande-clair)}
.ac-cm__liens b{font-size:15px;font-weight:700;line-height:1.35}
.ac-cm__txt{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.78)}
.ac-cm__ico{position:absolute;right:14px;top:14px;width:16px;height:16px;color:var(--ep-lavande-clair)}
.ac-cm__pour{margin-top:auto;padding-top:6px;font-size:12.5px;font-weight:600;line-height:1.4;color:var(--ep-lavande-clair)}
/* discret : colonne d'un parcours en cours, fin d'une leçon importante */
.ac-cm--discret{padding:20px;background:#fff;color:var(--ep-text);border-color:var(--ep-line-2)}
.ac-cm--discret .ac-cm__marque{color:var(--ep-vif)}
.ac-cm--discret h3{color:var(--ep-ink);font-size:16px}
.ac-cm--discret .ac-cm__intro{color:var(--ep-muted);font-size:13.5px}
.ac-cm--discret .ac-cm__liens a{background:var(--ep-surface-2);border-color:var(--ep-line-2);color:var(--ep-ink)}
.ac-cm--discret .ac-cm__liens a:hover{background:#fff;border-color:rgba(91,63,244,.3)}
.ac-cm--discret .ac-cm__type{color:var(--ep-vif-active)}
.ac-cm--discret .ac-cm__txt{color:var(--ep-muted)}
.ac-cm--discret .ac-cm__ico{color:var(--ep-vif)}
.ac-cm--discret .ac-cm__liens b{font-size:14.5px}
/* carte des recommandations et page du certificat : liens en colonnes */
.ac-cm--carte .ac-cm__liens,.ac-cm--cert .ac-cm__liens{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ac-cm--cert{margin-top:24px}

@media print{
  @page{size:A4 landscape;margin:0}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body.ac-impression > *:not(#acApp){display:none!important}
  body.ac-impression .ac-side,body.ac-impression .ac-top,body.ac-impression .ac-veil,body.ac-impression .ac-cert-tools,body.ac-impression .ac-toast,body.ac-impression .ac-cert-note,body.ac-impression .ac-cm{display:none!important}
  body.ac-impression .ac-shell{display:block;min-height:0}
  body.ac-impression .ac-page{padding:0!important;max-width:none}
  body.ac-impression .ac-cert-wrap{max-width:none;margin:0}
  body.ac-impression .ac-cert-zoom{display:none!important}
  body.ac-impression .ac-cert-sheet,body.ac-impression .ac-cert-sheet.is-zoom{width:297mm;overflow:visible;padding:0}
  body.ac-impression .ac-cert,body.ac-impression .ac-cert-sheet.is-zoom .ac-cert{width:297mm;max-width:none;height:210mm;aspect-ratio:auto;border-radius:0;box-shadow:none;break-inside:avoid}
}

/* ---------- tuteur : bouton flottant et panneau de questions (activités seulement) ---------- */
.ac-tut-fab{position:fixed;right:24px;bottom:24px;z-index:85;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border:0;border-radius:var(--ep-r-pill);background:var(--ep-vif);color:#fff;font:700 15px var(--ep-font);letter-spacing:-.01em;cursor:pointer;box-shadow:0 18px 40px -14px rgba(59,37,192,.75),inset 0 0 0 1px rgba(255,255,255,.14);transition:background-color .2s,transform .2s var(--ep-ease)}
.ac-tut-fab:hover{background:var(--ep-vif-hover);transform:translateY(-1px)}
.ac-tut-fab:active{background:var(--ep-vif-active)}
.ac-tut-fab:focus-visible{outline:3px solid var(--ep-lavande);outline-offset:3px}
.ac-tut-fab svg{width:22px;height:22px;flex-shrink:0}
/* le bas de la page reste lisible au-dessus du bouton */
body.ac-tut-dispo .ac-page{padding-bottom:112px}

.ac-tut{position:fixed;top:0;right:0;bottom:0;z-index:95;width:min(420px,100%);display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--ep-line);box-shadow:-24px 0 60px -30px rgba(17,12,41,.45);opacity:0;transform:translateX(18px);transition:opacity .2s,transform .25s var(--ep-ease)}
.ac-tut.is-on{opacity:1;transform:none}
.ac-tut__head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 20px;color:#fff;background:var(--ac-night-plain);border-bottom:1px solid rgba(157,143,255,.2)}
.ac-tut__ava{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px rgba(195,185,255,.55)}
.ac-tut__id{flex:1;min-width:0}
.ac-tut__id h2{font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:#fff}
.ac-tut__id p{margin-top:2px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.74);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-tut__fermer{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background-color .2s}
.ac-tut__fermer:hover{background:rgba(255,255,255,.16)}
.ac-tut__fermer:focus-visible{outline:2px solid var(--ep-lavande-clair);outline-offset:2px}
.ac-tut__fermer svg{width:20px;height:20px}

.ac-tut__fil{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:18px 16px 14px;background:var(--ep-bg);scrollbar-width:thin}
.ac-tut__fil:focus-visible{outline:2px solid var(--ep-vif);outline-offset:-2px}
.ac-tut__msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}
.ac-tut__msg--moi{align-self:flex-end;background:var(--ep-vif);color:#fff;border-bottom-right-radius:6px;white-space:pre-wrap}
.ac-tut__msg--tuteur{align-self:flex-start;background:#fff;color:var(--ep-text);border:1px solid var(--ep-line-2);border-bottom-left-radius:6px}
.ac-tut__msg--refus{background:var(--ac-warn-bg);border-color:var(--ac-warn-line);color:var(--ac-warn)}
.ac-tut__corps p + p,.ac-tut__corps p + ul,.ac-tut__corps ul + p,.ac-tut__corps ul + ul{margin-top:8px}
.ac-tut__corps ul{margin:0;padding-left:20px;list-style:disc}
.ac-tut__corps li + li{margin-top:4px}
.ac-tut__corps li::marker{color:var(--ep-vif)}
.ac-tut__note{margin-top:10px;padding-top:8px;border-top:1px dashed var(--ep-line);font-size:12.5px;line-height:1.5;color:var(--ep-muted)}
.ac-tut__intro{border-color:var(--ac-info-line);background:var(--ac-info-bg);color:#2a1d8f}
.ac-tut__intro small{display:block;margin-top:8px;font-size:12.5px;line-height:1.5;color:#4b4180}
.ac-tut__suggs{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:2px}
.ac-tut__suggs > p{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-muted)}
.ac-tut__sugg{display:inline-flex;align-items:center;min-height:40px;max-width:100%;padding:9px 14px;border-radius:14px;border:1px solid #d9d2ff;background:#fff;color:var(--ep-vif-active);font:600 13.5px/1.45 var(--ep-font);text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s}
.ac-tut__sugg:hover{background:var(--ac-info-bg);border-color:#b9adff}
.ac-tut__sugg:focus-visible{outline:2px solid var(--ep-vif);outline-offset:2px}
.ac-tut__sugg:disabled{opacity:.55;cursor:default}
.ac-tut__points{display:inline-flex;gap:5px;padding:6px 2px}
.ac-tut__points i{width:7px;height:7px;border-radius:50%;background:var(--ep-lavande);animation:ac-tut-point 1s infinite ease-in-out}
.ac-tut__points i:nth-child(2){animation-delay:.15s}
.ac-tut__points i:nth-child(3){animation-delay:.3s}
@keyframes ac-tut-point{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-3px)}}

.ac-tut__form{padding:12px 16px 14px;border-top:1px solid var(--ep-line-2);background:#fff}
.ac-tut__alerte{margin-bottom:10px;padding:10px 12px;border-radius:12px;background:var(--ac-ko-bg);border:1px solid var(--ac-ko-line);color:var(--ac-ko);font-size:13.5px;line-height:1.5}
.ac-tut__alerte.is-info{background:var(--ac-info-bg);border-color:var(--ac-info-line);color:var(--ac-info)}
.ac-tut__saisie{display:flex;align-items:flex-end;gap:8px;padding:5px 5px 5px 14px;border:1px solid var(--ep-line);border-radius:18px;background:#fff;transition:border-color .2s,box-shadow .2s}
.ac-tut__saisie:focus-within{border-color:var(--ep-vif);box-shadow:0 0 0 3px rgba(91,63,244,.16)}
.ac-tut__saisie textarea{flex:1;min-width:0;height:44px;min-height:44px;max-height:150px;padding:11px 0;border:0;outline:0;resize:none;background:transparent;font:15px/1.45 var(--ep-font);color:var(--ep-ink)}
.ac-tut__saisie textarea::placeholder{color:var(--ep-muted);opacity:1}
.ac-tut__saisie textarea:disabled{cursor:not-allowed}
.ac-tut__saisie:has(textarea:disabled){background:var(--ep-surface-2)}
.ac-tut__envoyer{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:14px;background:var(--ep-vif);color:#fff;cursor:pointer;transition:background-color .2s}
.ac-tut__envoyer:hover{background:var(--ep-vif-hover)}
.ac-tut__envoyer:disabled{background:#c9c2f2;cursor:default}
.ac-tut__envoyer:focus-visible{outline:3px solid var(--ep-lavande);outline-offset:2px}
.ac-tut__envoyer svg{width:20px;height:20px}
.ac-tut__meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:12.5px;color:var(--ep-muted)}
.ac-tut__meta b{color:var(--ep-ink);font-weight:700}
.ac-tut__meta .is-trop{color:var(--ac-ko);font-weight:700}

/* grand écran : le panneau prend sa place à droite, la page se resserre à côté */
@media (min-width:1280px){
  body.ac-tut-ouvert .ac-main{padding-right:420px}
  body.ac-tut-ouvert .ac-lesson{grid-template-columns:minmax(0,1fr)}
  body.ac-tut-ouvert .ac-lesson__side{position:static;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* téléphone : plein écran, le reste de la page ne défile plus */
@media (max-width:767px){
  .ac-tut-fab{right:16px;bottom:16px;min-height:50px;padding:0 18px 0 14px;font-size:14.5px}
  body.ac-tut-dispo .ac-toast{bottom:84px}
  body.ac-tut-plein{overflow:hidden}
  .ac-tut{width:100%;border-left:0;transform:translateY(18px)}
  .ac-tut__head{padding:10px 10px 10px 16px}
  .ac-tut__fil{padding:16px 12px 12px}
  .ac-tut__msg{max-width:92%}
  .ac-tut__form{padding:10px 12px 12px}
  /* 16 px : sous cette taille, Safari agrandit la page quand on touche le champ */
  .ac-tut__saisie textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .ac-tut,.ac-tut-fab{transition:none}
  .ac-tut__points i{animation:none;opacity:.7}
}
@media print{
  .ac-tut,.ac-tut-fab{display:none!important}
}

/* =====================================================================
   Accès payant (20/10/2026) : prix, leçon offerte, cadenas, achat par WhatsApp
   ===================================================================== */
.ac-wa-ico{flex-shrink:0}
/* étiquette verte « 1re leçon offerte » / « Offerte » */
.ac-offerte-tag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--ep-r-pill);background:var(--ac-ok-bg);border:1px solid var(--ac-ok-line);color:var(--ac-ok);font-size:12.5px;font-weight:700;white-space:nowrap}
.ac-offerte-tag svg{width:14px;height:14px}
.ac-statut--offerte{background:var(--ac-ok-bg);border-color:var(--ac-ok-line);color:var(--ac-ok)}
.ac-statut--lock{background:#f4f5f8;border-color:#e2e5ec;color:#4a5163}
.ac-statut svg{width:13px;height:13px;flex-shrink:0}
/* activité d'un parcours pas encore débloqué */
.ac-act.is-locked .ac-act__dot{border-color:#e2e5ec;background:#f4f5f8;color:#7a8194}
.ac-act.is-locked .ac-act__dot svg{width:12px;height:12px}
.ac-act.is-locked .ac-act__titre{color:#4a5163}
.ac-act .ac-offerte-tag{flex-shrink:0}
/* bandeau et cartes du tableau de bord */
.ac-chip-ok{background:rgba(18,146,90,.18)!important;border-color:rgba(166,227,195,.5)!important;color:#d2f5e3!important}
.ac-banner__side .ep-btn--lavande{height:44px}
.ac-pcard__next.is-bloque{background:#f6f5ff;border:1px solid #e4defe}
.ac-pcard__next.is-bloque span{display:flex;align-items:center;gap:6px;color:#4a30df}
.ac-pcard__next.is-bloque svg{width:13px;height:13px;flex-shrink:0}
.ac-inscrire--ok{background:var(--ac-ok-bg);border-color:var(--ac-ok-line);color:var(--ac-ok)}
.ac-done__tag{margin-bottom:12px}
/* carte « Débloque tout le parcours » (colonne de la page parcours) */
.ac-offre{padding:22px;border-radius:22px;background:#fff;border:1px solid #ddd6ff;box-shadow:0 18px 40px -28px rgba(59,37,192,.45)}
.ac-offre__eyebrow{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ep-vif)}
.ac-offre__eyebrow svg{width:14px;height:14px}
.ac-offre h3{margin-top:6px;font-size:18px;font-weight:700;letter-spacing:-.02em}
.ac-offre__prix{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:10px}
.ac-offre__prix b{font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ep-ink);white-space:nowrap}
.ac-offre__prix span{font-size:13.5px;color:var(--ep-muted)}
.ac-offre .ep-check{margin:14px 0 18px}
.ac-offre .ep-check li{font-size:14px}
.ac-offre__note{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--ep-muted)}
/* écran « Débloque ce parcours » */
.ac-paywall{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start;margin-top:4px}
.ac-paywall__main{position:relative;padding:32px;border-radius:24px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-paywall__lock{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:16px;background:#f1eeff;color:var(--ep-vif)}
.ac-paywall__lock svg{width:24px;height:24px}
/* Écran de fin (parcours terminé, certificat à régler) : coche verte au lieu du cadenas. */
.ac-paywall__lock.ac-fin__ok{background:var(--ep-green-bg);color:#047857}
.ac-paywall__lock.ac-fin__ok svg{width:22px;height:22px}
.ac-paywall h1{font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;line-height:1.15}
.ac-paywall h1:focus{outline:0}
.ac-paywall__intro{margin-top:10px;max-width:640px;color:var(--ep-text);font-size:16px;line-height:1.65}
.ac-paywall__prix{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:20px;padding:16px 18px;border-radius:16px;background:var(--ep-surface-2)}
.ac-paywall__prix b{font-size:32px;font-weight:700;letter-spacing:-.035em;line-height:1.1;color:var(--ep-ink);white-space:nowrap}
.ac-paywall__prix span{font-size:14.5px;color:var(--ep-muted)}
.ac-paywall__h2{margin:24px 0 12px;font-size:17px;font-weight:700;letter-spacing:-.015em}
.ac-paywall .ep-check li{font-size:15px}
.ac-paywall .ac-actions{margin-top:24px}
.ac-paywall__pay{margin-top:14px;max-width:620px;font-size:13.5px;line-height:1.6;color:var(--ep-muted)}
.ac-paywall__deja{padding:24px;border-radius:24px;color:#fff;background:var(--ac-night)}
.ac-paywall__deja h2{color:#fff;font-size:19px;letter-spacing:-.02em}
.ac-paywall__deja p{margin-top:8px;color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.6}
.ac-paywall__deja .ep-btn{margin-top:16px}
.ac-verif-msg{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(195,185,255,.3);color:#efecff;font-size:13.5px;line-height:1.5}
.ac-verif-msg:empty{display:none}
/* profil : parcours débloqués */
.ac-acces{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.ac-acces li{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--ep-line-2)}
.ac-acces li:last-child{padding-bottom:0;border-bottom:0}
.ac-acces a{font-weight:700;color:var(--ep-ink)}
.ac-acces a:hover{color:var(--ep-vif)}
.ac-acces span{font-size:13.5px;color:var(--ac-ok)}
@media (max-width:1023px){
  .ac-paywall{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .ac-paywall__main{padding:22px 18px}
  .ac-paywall__prix b{font-size:28px}
  .ac-paywall .ac-actions .ep-btn{width:100%}
  .ac-paywall__deja{padding:20px 18px}
  .ac-statut--lock{padding:0 8px}
  /* bandeau d'un parcours pas débloqué : « Débloquer le parcours » passe sous le premier bouton */
  .ac-banner__side{flex-wrap:wrap}
  .ac-banner__side .ep-btn--lavande{flex:1 1 100%}
}
/* Prix du certificat, réglé à part (section 6 quater) : ligne sous le prix de la suite */
.ac-cc__suite+.ac-cc__cert{margin-top:2px}
.ac-offre__cert{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:-4px 0 16px;padding:10px 12px;border-radius:12px;background:var(--ep-surface-2);font-size:13.5px;color:var(--ep-muted)}
.ac-offre__cert b{color:var(--ep-ink);font-weight:700;white-space:nowrap}
.ac-offre__cert span{flex:1 1 100%;font-size:12.5px;line-height:1.45}
/* Bandeau d'avertissement des parcours à relecture requise (page du parcours et chaque leçon) */
.ac-avert{margin:18px 0 0;padding:14px 18px 15px;border-radius:16px;background:var(--ac-warn-bg);border:1px solid var(--ac-warn-line);border-left:4px solid #f59e0b}
.ac-avert__t{display:block;margin-bottom:4px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac-warn)}
.ac-avert p{color:var(--ep-text);font-size:14.5px;line-height:1.6}
.ac-avert p:first-of-type{color:var(--ep-ink);font-weight:600}
.ac-avert p+p{margin-top:6px}
@media (max-width:767px){
  .ac-avert{padding:12px 14px 13px}
  .ac-avert p{font-size:14px}
}
/* Offre établissements (ACADEMIE-ETABLISSEMENTS-PUB.md, section 3) */
/* « En partenariat avec <nom> » sous « Organisée par EP/Siba » (même échelle en cqw que la feuille) */
.ac-cert__partenaire{top:46.6cqw;left:0;right:0;margin-inline:auto;width:fit-content;max-width:64cqw;transform:translateY(-50%);font-size:1.22cqw;line-height:1.3;text-align:center;text-wrap:balance;overflow-wrap:anywhere;color:var(--cert-gris)}
.ac-cert__partenaire b{font-weight:700;color:var(--cert-nuit)}
.ac-cert__partenaire--long{font-size:1cqw}
/* Écran « J'ai un code d'établissement » */
.ac-code{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:22px}
.ac-code .ac-card + .ac-card{margin-top:0}
.ac-code__t{font-size:18px;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}
.ac-code__ligne{display:flex;gap:10px;align-items:stretch;margin-top:6px}
.ac-code__in{flex:1;min-width:0;height:52px;font:700 17px/1 var(--ac-mono);letter-spacing:.08em;text-transform:uppercase}
.ac-code__in::placeholder{letter-spacing:.08em;color:#8a90a0}
.ac-code__ligne .ep-btn{flex-shrink:0;height:52px}
.ac-code .ep-hint{margin-top:10px;line-height:1.5}
.ac-code .ep-msg{margin-top:12px}
.ac-code .ep-msg:empty{display:none}
.ac-code__conf{margin-top:20px;padding-top:20px;border-top:1px solid var(--ep-line-2)}
.ac-code__eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac-ok)}
.ac-code__parcours{margin-top:4px;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--ep-ink);overflow-wrap:anywhere}
.ac-code__conf > p{margin-top:8px;color:var(--ep-text);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.ac-code__conf > p b{color:var(--ep-ink)}
.ac-code__partage p{overflow-wrap:anywhere}
.ac-code__accord{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin-top:16px;padding:10px 12px;border-radius:12px;background:var(--ep-surface-2);font-size:14.5px;line-height:1.5;color:var(--ep-ink);cursor:pointer}
.ac-code__accord input{width:20px;height:20px;margin:1px 0 0;flex-shrink:0;accent-color:var(--ep-vif)}
.ac-code__accord span{overflow-wrap:anywhere}
.ac-code__conf .ac-actions{margin-top:16px}
.ac-code__aide .ep-check{margin-top:4px}
.ac-paywall__code{font-size:13.5px}
.ac-paywall__deja .ac-paywall__code{margin-top:16px;padding-top:14px;border-top:1px solid rgba(195,185,255,.25)}
.ac-paywall__deja .ac-paywall__code a{color:var(--ep-lavande-clair,#c3b9ff)}
.ac-profil__code{margin-top:12px;font-size:14px}
@media (max-width:1023px){
  .ac-code{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .ac-code__ligne{flex-direction:column}
  .ac-code__ligne .ep-btn{width:100%}
  .ac-code__in{flex:none;width:100%;font-size:16px}
  .ac-code__conf .ac-actions .ep-btn{flex:1 1 100%}
}

/* =====================================================================
   Formations premium (cours/FORMATIONS-PREMIUM.md) : le lecteur intégré de Google Drive
   (vidéo, PDF, diaporama, image), la liste « Mes formations » et la page d'une formation.
   ===================================================================== */
.ac-lecteur{position:relative;border-radius:18px;overflow:hidden;background:var(--ep-indigo-0);aspect-ratio:16/9;box-shadow:0 18px 40px -28px rgba(17,12,41,.6)}
.ac-lecteur iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#fff}
.ac-lecteur--video iframe{background:#000}
.ac-lecteur--pdf,.ac-lecteur--image{aspect-ratio:auto;height:min(78vh,880px);min-height:420px;background:#fff;border:1px solid var(--ep-line-2)}
.ac-lecteur--diaporama{aspect-ratio:16/10;background:#fff;border:1px solid var(--ep-line-2)}
.ac-lecteur__note{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ep-muted)}
.ac-lecteur__note .ac-link{font-weight:600}
.ac-pm-equiv{margin-top:6px;font-size:13px;line-height:1.5;color:var(--ep-muted)}
.ac-pm-chariow{margin-top:26px;padding:14px 16px;border-radius:14px;background:#fff;border:1px dashed #cfc7ff;font-size:14px;line-height:1.6;color:var(--ep-text)}
.ac-pm-carte .ep-course__media .ac-cover{position:absolute;inset:0}
.ac-pm-module ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.ac-pm-module a{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center;padding:8px 12px;border-radius:12px;background:var(--ep-surface-2);color:var(--ep-ink);font-size:14px;font-weight:600;line-height:1.4}
.ac-pm-module a small{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ep-muted)}
.ac-pm-module a:hover{color:var(--ep-vif-active)}
.ac-pm-module a[aria-current="page"]{background:rgba(91,63,244,.08);color:var(--ep-vif-active);box-shadow:inset 3px 0 0 var(--ep-vif)}
@media (max-width:767px){
  .ac-lecteur{border-radius:14px}
  .ac-lecteur--pdf,.ac-lecteur--image{height:72vh;min-height:360px}
}
