/* =============================================================
   Espace étudiant — coquille, tableau de bord, cours, épreuves,
   examen, alternance, progression, compte
   ============================================================= */

body.app{background:var(--grey)}

.shell{display:grid;grid-template-columns:262px minmax(0,1fr);min-height:100vh}

/* ---------- barre latérale ---------- */
.side{
  background:var(--navy);color:rgba(255,255,255,.72);display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow-y:auto;padding:16px 14px 20px
}
.side .brand{padding:6px 8px 18px}
.side .brand b{color:#fff;font-size:17px}
.side .brand .m{background:var(--red)}
.side .brand .m::after{background:#fff}

.agence-btn{
  display:flex;align-items:center;gap:11px;background:var(--red);color:#fff;
  border:0;border-radius:var(--r);padding:14px 16px;width:100%;cursor:pointer;
  font-family:var(--f-disp);font-size:15px;font-weight:700;text-align:left;
  box-shadow:var(--sh-red);margin-bottom:18px;text-decoration:none;
  transition:transform .12s ease, background .16s ease
}
.agence-btn:hover{background:var(--red-h);transform:translateY(-1px);text-decoration:none;color:#fff}
.agence-btn .ic{font-size:19px;line-height:1}
.agence-btn span small{display:block;font-size:11.5px;font-weight:500;opacity:.85;letter-spacing:.02em}

.side nav{display:flex;flex-direction:column;gap:2px}
.side .grp{
  font-family:var(--f-disp);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.4);padding:16px 10px 7px
}
.side a.n{
  display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.76);
  font-family:var(--f-disp);font-size:14.5px;font-weight:500;padding:10px 12px;
  border-radius:var(--r-s);text-decoration:none;border-left:3px solid transparent
}
.side a.n .ic{width:20px;text-align:center;font-size:15px;flex:0 0 auto}
.side a.n:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.side a.n.on{background:rgba(255,255,255,.13);color:#fff;font-weight:600;border-left-color:var(--red)}
.side a.n .cnt{margin-left:auto;background:var(--red);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px}

.side-foot{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.side-user{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r-s);text-decoration:none}
.side-user:hover{background:rgba(255,255,255,.08);text-decoration:none}
.side-user .av{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;font-size:14px;flex:0 0 auto
}
.side-user b{display:block;color:#fff;font-family:var(--f-disp);font-size:14px}
.side-user span{font-size:12px;color:rgba(255,255,255,.55)}

/* ---------- barre supérieure ---------- */
.main{min-width:0;display:flex;flex-direction:column}
.top{
  background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;
  padding:0 26px;height:var(--head-h);display:flex;align-items:center;gap:14px
}
.top .burg{display:none;background:none;border:1.5px solid var(--line);border-radius:var(--r-s);padding:7px 10px;cursor:pointer}
.search{
  flex:1;max-width:460px;position:relative
}
.search input{
  width:100%;font-family:inherit;font-size:14.5px;padding:10px 14px 10px 38px;
  border:1.5px solid var(--line);border-radius:999px;background:var(--grey)
}
.search input:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px var(--red-soft)}
.search::before{content:"⌕";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:17px;color:var(--mute)}
.top .sp{margin-left:auto;display:flex;align-items:center;gap:10px}
.icobtn{
  position:relative;background:none;border:1.5px solid var(--line);border-radius:var(--r-s);
  width:40px;height:40px;cursor:pointer;font-size:16px;display:grid;place-items:center
}
.icobtn:hover{border-color:var(--navy);background:var(--grey)}
.icobtn .dot{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:1px 5px}

.content{padding:28px 26px 70px;flex:1}
.page-h{margin-bottom:24px}
.page-h h1{font-size:clamp(24px,3vw,32px);margin:8px 0 6px}
.page-h p{color:var(--mute);margin:0;font-size:16px}
.page-h .top-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

@media(max-width:980px){
  .shell{grid-template-columns:1fr}
  .side{
    position:fixed;inset:0 auto 0 0;width:274px;z-index:120;transform:translateX(-102%);
    transition:transform .24s ease;height:100dvh
  }
  .side.open{transform:none}
  .top .burg{display:block}
  .scrim{position:fixed;inset:0;background:rgba(13,36,64,.5);z-index:110;display:none}
  .scrim.on{display:block}
  .content{padding:20px 16px 60px}
  .top{padding:0 16px}
}

/* ---------- tableau de bord ---------- */
.grid{display:grid;gap:18px}
.g-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g-side{grid-template-columns:minmax(0,1.6fr) minmax(0,.95fr)}
@media(max-width:1040px){.g-side{grid-template-columns:1fr}}

.box{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px 24px;box-shadow:var(--sh-s)}
.box > h2{font-size:18px;margin-bottom:4px}
.box > .sub{color:var(--mute);font-size:14.5px;margin-bottom:16px}
.box-h{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.box-h h2{font-size:18px;flex:1}

.kpi{display:flex;flex-direction:column;gap:6px}
.kpi .lab{font-family:var(--f-disp);font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mute)}
.kpi .val{font-family:var(--f-disp);font-size:34px;font-weight:700;color:var(--ink);letter-spacing:-.03em;line-height:1}
.kpi .val small{font-size:15px;font-weight:500;color:var(--mute)}
.kpi .cmp{font-size:13.5px;color:var(--mute)}

.hello{
  background:var(--navy);color:#fff;border-radius:var(--r-xl);padding:30px 32px;position:relative;overflow:hidden
}
.hello::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 320px at 88% 10%, rgba(214,40,57,.36), transparent 62%)}
.hello > *{position:relative}
.hello h1{color:#fff;font-size:clamp(24px,3vw,32px);margin-bottom:8px}
.hello p{color:rgba(255,255,255,.8);margin:0;font-size:16px}
.hello .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hello .meta span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px;font-size:13.5px}

/* recommandations */
.reco{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.reco a{
  display:flex;flex-direction:column;gap:7px;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--r);padding:18px 20px;text-decoration:none;transition:.16s
}
.reco a:hover{border-color:var(--red);box-shadow:var(--sh);transform:translateY(-2px);text-decoration:none}
.reco .ic{font-size:22px}
.reco b{font-family:var(--f-disp);color:var(--ink);font-size:15.5px}
.reco span{font-size:13.5px;color:var(--mute)}

/* listes de progression */
.plist{display:flex;flex-direction:column;gap:14px}
.pitem{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}
.pitem b{font-family:var(--f-disp);font-size:14.5px;color:var(--ink);font-weight:600}
.pitem .v{font-family:var(--f-disp);font-size:14px;color:var(--mute);font-variant-numeric:tabular-nums}
.pitem .bar{grid-column:1/-1}

/* chapitres */
.chap{
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;
  text-decoration:none;transition:.16s;margin-bottom:10px
}
.chap:hover{border-color:var(--navy);box-shadow:var(--sh);text-decoration:none}
.chap .n{
  width:42px;height:42px;border-radius:12px;background:var(--grey-2);color:var(--ink);
  display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;font-size:14px;flex:0 0 auto
}
.chap.done .n{background:var(--ok-soft);color:var(--ok)}
.chap.cur .n{background:var(--red);color:#fff}
.chap h3{font-size:16px;margin-bottom:3px}
.chap .m{font-size:13.5px;color:var(--mute);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.chap .r{text-align:right;min-width:92px}
.chap .r .bar{width:92px;margin-top:5px}
.chap.lock{opacity:.72}

/* leçon */
.lesson{max-width:800px}
.lesson h2{font-size:23px;margin:34px 0 12px}
.lesson h2:first-child{margin-top:0}
.lesson p{font-size:16.5px}
.lesson ul,.lesson ol{margin:0 0 16px;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.lesson-nav{display:flex;gap:10px;justify-content:space-between;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}

/* quiz */
.q{padding:18px 0;border-bottom:1px solid var(--line-2)}
.q:last-of-type{border-bottom:0}
.q .head{display:flex;gap:12px;margin-bottom:12px}
.q .head b{font-family:var(--f-disp);font-size:12.5px;color:var(--red);flex:0 0 auto;padding-top:3px}
.q .head span{font-family:var(--f-disp);font-weight:600;color:var(--ink);font-size:16.5px}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{
  display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;background:#fff;
  border:1.5px solid var(--line);border-radius:var(--r-s);padding:12px 15px;cursor:pointer;
  font-family:inherit;font-size:15px;color:var(--ink);transition:.14s
}
.opt:hover:not(:disabled){border-color:var(--red);background:var(--red-soft)}
.opt:disabled{cursor:default}
.opt i{font-style:normal;font-family:var(--f-disp);font-size:12.5px;font-weight:700;color:var(--mute);padding-top:2px}
.opt.good{background:var(--ok-soft);border-color:var(--ok)}
.opt.good i{color:var(--ok)}
.opt.bad{background:#FDECEC;border-color:#D9534F}
.opt.bad i{color:#B02A27}
.fb{margin-top:12px;padding:13px 16px;border-radius:var(--r-s);background:var(--grey);border-left:3px solid var(--red);font-size:14.5px}
.fb.good{border-left-color:var(--ok);background:var(--ok-soft)}

/* ---------- mode examen ---------- */
body.exam{background:#0B1B2E}
.exam-bar{
  position:sticky;top:0;z-index:80;background:var(--navy);color:#fff;
  padding:12px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12)
}
.exam-bar .id b{display:block;font-family:var(--f-disp);font-size:15px;color:#fff}
.exam-bar .id span{font-size:12.5px;color:rgba(255,255,255,.62)}
.chrono{
  margin-left:auto;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 18px
}
.chrono b{font-family:var(--f-disp);font-size:21px;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.chrono span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.chrono.low{background:rgba(214,40,57,.24);border-color:var(--red)}
.exam-wrap{max-width:1180px;margin:0 auto;padding:24px 24px 90px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
@media(max-width:940px){.exam-wrap{grid-template-columns:1fr}}
.exam-card{background:#fff;border-radius:var(--r-l);padding:26px 28px;box-shadow:var(--sh-l)}
.exam-side{background:#fff;border-radius:var(--r-l);padding:20px;box-shadow:var(--sh-l);position:sticky;top:86px}
.qnav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:16px}
.qnav button{
  aspect-ratio:1;border:1.5px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;
  font-family:var(--f-disp);font-weight:700;font-size:13.5px;color:var(--mute)
}
.qnav button.fill{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.qnav button.on{border-color:var(--red);color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.save-state{font-size:13px;color:var(--mute);display:flex;align-items:center;gap:7px}
.save-state i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:block}

/* restitution */
.res-top{background:#fff;border-radius:var(--r-xl);padding:32px;text-align:center;box-shadow:var(--sh)}
.res-top .big{font-family:var(--f-disp);font-size:58px;font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1}
.res-top .lab{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:8px}

/* ---------- alternance ---------- */
.steps-v{display:flex;flex-direction:column;gap:2px;margin:0 0 20px}
.stp{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:12px 0;align-items:start}
.stp .n{width:30px;height:30px;border-radius:50%;background:var(--grey-2);color:var(--mute);display:grid;place-items:center;font-family:var(--f-disp);font-weight:700;font-size:13px}
.stp.on .n{background:var(--red);color:#fff}
.stp.ok .n{background:var(--ok);color:#fff}
.stp b{font-family:var(--f-disp);color:var(--ink);font-size:15px}
.stp p{margin:2px 0 0;font-size:14px;color:var(--mute)}

/* ---------- compte ---------- */
.dev{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2)}
.dev:last-child{border-bottom:0}
.dev .ic{width:40px;height:40px;border-radius:10px;background:var(--grey-2);display:grid;place-items:center;font-size:17px}
.dev b{font-family:var(--f-disp);font-size:14.5px;color:var(--ink);display:block}
.dev span{font-size:13px;color:var(--mute)}

/* ---------- recherche ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.res-item{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line-2);align-items:start}
.res-item:last-child{border-bottom:0}
.res-item .ic{width:38px;height:38px;border-radius:10px;background:var(--grey-2);display:grid;place-items:center;font-size:16px}
.res-item b{font-family:var(--f-disp);font-size:15.5px;color:var(--ink)}
.res-item p{margin:3px 0 0;font-size:14px;color:var(--mute)}

/* ---------- panneau notifications ---------- */
.panel{
  position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);background:#fff;z-index:150;
  box-shadow:-20px 0 50px -30px rgba(13,36,64,.7);transform:translateX(102%);transition:transform .24s ease;
  display:flex;flex-direction:column
}
.panel.on{transform:none}
.panel-h{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.panel-h h3{font-size:18px;flex:1}
.panel-b{padding:10px 14px 20px;overflow-y:auto;flex:1}
.nitem{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:14px 10px;border-radius:var(--r-s);align-items:start}
.nitem:hover{background:var(--grey)}
.nitem.new{background:var(--red-soft)}
.nitem .ic{font-size:19px}
.nitem b{font-family:var(--f-disp);font-size:14.5px;color:var(--ink);display:block}
.nitem p{margin:2px 0 0;font-size:13.5px;color:var(--mute)}
.nitem time{font-size:12px;color:var(--mute)}

/* =============================================================
   V4.3 — Navigation pédagogique par cartes visuelles
   ============================================================= */
.course-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;background:#fff;border:1px solid #ebe7f4;border-radius:20px;padding:18px 20px;margin:0 0 22px;box-shadow:0 10px 34px -30px rgba(64,38,120,.38)}
.course-toolbar.compact{margin-top:24px}
.course-toolbar b{display:block;font-family:var(--f-disp);font-size:16px;color:var(--ink)}
.course-toolbar span{display:block;color:var(--mute);font-size:13.5px;margin-top:3px}
.course-search{position:relative;width:min(340px,100%);flex:0 1 340px}
.course-search>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;color:#8d84a2;font-size:18px;z-index:2}
.course-search input{width:100%;border:1.5px solid #e7e1f1;border-radius:999px;padding:11px 15px 11px 39px;font:inherit;background:#fbfaff;outline:none}
.course-search input:focus{border-color:#8057ed;box-shadow:0 0 0 4px rgba(128,87,237,.09);background:#fff}
.course-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.course-subject-card{background:#fff;border:1px solid #ece7f5;border-radius:24px;overflow:hidden;text-decoration:none;box-shadow:0 16px 42px -34px rgba(61,37,117,.45);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;min-width:0}
.course-subject-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(61,37,117,.42);border-color:#d7c9f5;text-decoration:none}
.course-subject-media{height:168px;position:relative;overflow:hidden;background:#eee}
.course-subject-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,40,.02),rgba(20,18,40,.34))}
.course-subject-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.course-subject-card:hover .course-subject-media img{transform:scale(1.045)}
.course-subject-icon{position:absolute;z-index:2;left:16px;bottom:14px;width:46px;height:46px;display:grid;place-items:center;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:14px;font-size:23px;box-shadow:0 12px 28px -14px rgba(0,0,0,.4)}
.course-subject-unit{position:absolute;z-index:2;top:14px;right:14px;background:rgba(255,255,255,.93);color:#3f3854;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.02em}
.course-subject-body{padding:19px 20px 20px}
.course-subject-count{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7c60d7;margin-bottom:7px}
.course-subject-card.coral .course-subject-count{color:#ef735e}.course-subject-card.teal .course-subject-count{color:#159f92}.course-subject-card.blue .course-subject-count{color:#477bd7}.course-subject-card.pink .course-subject-count{color:#dd5a9c}.course-subject-card.amber .course-subject-count{color:#cb842d}.course-subject-card.green .course-subject-count{color:#30956f}
.course-subject-body h2{font-size:19px;line-height:1.2;margin:0 0 8px;color:var(--ink)}
.course-subject-body p{font-size:13.8px;color:var(--mute);line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.course-open{font-family:var(--f-disp);font-size:13.5px;font-weight:750;color:#6f4be8}.course-open b{display:inline;color:inherit;font-size:inherit}
.course-quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.course-quick a{background:#fff;border:1px solid #ece7f5;border-radius:999px;padding:10px 14px;color:#544d67;font-size:13.5px;text-decoration:none}.course-quick a:hover{border-color:#cbbbf4;color:#6f4be8;text-decoration:none}
.course-back{margin:-8px 0 12px}.course-back a{font-size:13.5px;color:#6e6682;text-decoration:none}.course-back a:hover{color:#6f4be8}
.subject-hero{height:250px;position:relative;overflow:hidden;border-radius:28px;background:#222;box-shadow:0 24px 54px -34px rgba(40,27,78,.5)}
.subject-hero>img{width:100%;height:100%;object-fit:cover;display:block}
.subject-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,45,.82) 0%,rgba(23,21,45,.54) 52%,rgba(23,21,45,.12) 100%)}
.subject-hero-copy{position:absolute;left:28px;right:28px;bottom:26px;color:#fff;max-width:680px}.subject-hero-copy .tag{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.24);color:#fff}.subject-hero-copy h2{color:#fff;font-size:clamp(26px,3.5vw,40px);margin:12px 0 7px;line-height:1.07}.subject-hero-copy p{margin:0;color:rgba(255,255,255,.78);font-size:14.5px}
.chapter-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.chapter-card{background:#fff;border:1px solid #ece7f5;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 12px 36px -30px rgba(56,35,106,.4);transition:.2s;min-width:0}.chapter-card:hover{transform:translateY(-5px);border-color:#d6c9f4;box-shadow:0 24px 46px -30px rgba(56,35,106,.42);text-decoration:none}
.chapter-media{height:118px;position:relative;overflow:hidden;background:#eee}.chapter-media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(81,49,158,.12),rgba(255,107,98,.22))}.chapter-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88)}
.chapter-index{position:absolute;z-index:2;left:13px;top:12px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.94);display:grid;place-items:center;font-family:var(--f-disp);font-weight:800;color:#5b3bc0;box-shadow:0 9px 20px -12px rgba(0,0,0,.4)}
.chapter-time{position:absolute;z-index:2;right:12px;bottom:10px;background:rgba(25,22,47,.78);color:#fff;border-radius:999px;padding:5px 9px;font-size:10.5px;font-weight:700;backdrop-filter:blur(6px)}
.chapter-body{padding:16px 17px 17px}.chapter-kicker{font-size:10.5px;line-height:1.2;text-transform:uppercase;letter-spacing:.075em;color:#887fa0;font-weight:800;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-body h3{font-size:16px;line-height:1.25;margin:0 0 12px;color:var(--ink);min-height:40px}.chapter-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}.chapter-meta span{font-size:10.5px;background:#f6f3fb;color:#736987;border-radius:999px;padding:5px 8px}.chapter-open{font-family:var(--f-disp);font-size:12.8px;font-weight:750;color:#6f4be8}
@media(max-width:1120px){.course-subject-grid,.chapter-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.course-toolbar{align-items:stretch;flex-direction:column}.course-search{width:100%;flex-basis:auto}.course-subject-grid,.chapter-card-grid{grid-template-columns:1fr}.subject-hero{height:220px}.subject-hero-copy{left:20px;right:20px;bottom:20px}}


/* =============================================================
   V4.4 — Agence 360° multi-environnements + cartes simulations
   ============================================================= */
.sim-page-head{margin-bottom:22px}.sim-env-block,.sim-missions,.sim-live{margin-top:22px}.sim-section-title{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:18px}.sim-section-title h2{font-size:25px;margin:6px 0 5px}.sim-section-title p{margin:0;color:var(--mute);font-size:14.5px}.sim-detected{background:#efe9ff;color:#6f4be8;border:1px solid #ded2fb;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap}.sim-env-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sim-env-card{background:#fff;border:1px solid #ebe6f4;border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:0 14px 40px -34px rgba(58,36,105,.48);transition:.2s}.sim-env-card:hover,.sim-env-card.on{transform:translateY(-4px);border-color:#b9a4f4;box-shadow:0 26px 52px -34px rgba(76,47,145,.42);text-decoration:none}.sim-env-card.on{box-shadow:0 0 0 3px rgba(112,71,235,.09),0 26px 52px -34px rgba(76,47,145,.42)}.sim-env-media{height:132px;position:relative;overflow:hidden;background:#eee}.sim-env-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(19,17,39,.36))}.sim-env-media img{width:100%;height:100%;object-fit:cover;display:block}.sim-env-icon{position:absolute;z-index:2;left:12px;bottom:10px;width:39px;height:39px;border-radius:12px;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:20px}.sim-env-auto{position:absolute;z-index:2;right:10px;top:10px;background:#fff;color:#6f4be8;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:850;letter-spacing:.02em}.sim-env-body{padding:14px 15px 16px}.sim-env-body h3{font-size:16px;margin:0 0 6px}.sim-env-body p{font-size:12.5px;color:var(--mute);line-height:1.45;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sim-env-body>span{font-family:var(--f-disp);font-size:12px;font-weight:750;color:#6f4be8}.sim-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin-top:24px}.sim-scene-card{min-height:360px;position:relative;overflow:hidden;border-radius:26px;background:#222;box-shadow:0 24px 58px -38px rgba(34,22,72,.55)}.sim-scene-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sim-scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,39,.76) 0%,rgba(18,15,39,.40) 48%,rgba(18,15,39,.08) 100%)}.sim-scene-copy{position:absolute;left:28px;right:28px;bottom:26px;color:#fff;max-width:650px}.sim-scene-copy .tag{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.22);color:#fff}.sim-scene-copy h2{font-size:34px;color:#fff;margin:12px 0 7px}.sim-scene-copy p{color:rgba(255,255,255,.82);font-size:14.5px;margin:0 0 16px}.sim-scene-zones{display:flex;flex-wrap:wrap;gap:8px}.sim-scene-zones button{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);backdrop-filter:blur(7px);color:#fff;border-radius:999px;padding:8px 10px;font-size:11.5px;cursor:pointer}.sim-scene-zones button:hover{background:#fff;color:#33274f}.sim-context{background:#fff;border:1px solid #ece7f5;border-radius:24px;padding:22px;box-shadow:0 16px 42px -34px rgba(61,37,117,.45)}.sim-context h3{font-size:19px;margin:9px 0}.sim-context p{font-size:13.5px;color:var(--mute)}.sim-context-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}.sim-context-list span{font-size:12.5px;color:#5b556b}.sim-live{background:#fff;border:1px solid #ece7f5;border-radius:26px;padding:18px}.sim-live-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}.sim-live-head h2{font-size:22px;margin:5px 0 0}.sim-search{position:relative;width:min(330px,100%)}.sim-search>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#817897}.sim-search input{width:100%;border:1.5px solid #e7e1f1;border-radius:999px;padding:10px 14px 10px 36px;background:#fff;font:inherit;outline:none}.sim-search input:focus{border-color:#8057ed;box-shadow:0 0 0 4px rgba(128,87,237,.09)}.sim-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.sim-filter{border:1px solid #e6e0f0;background:#fff;color:#625b73;border-radius:999px;padding:8px 12px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.sim-filter.on,.sim-filter:hover{background:#6f4be8;border-color:#6f4be8;color:#fff}.sim-mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sim-mission-card{padding:0;text-align:left;border:1px solid #ece7f5;border-radius:20px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 12px 36px -30px rgba(56,35,106,.42);transition:.2s;min-width:0}.sim-mission-card:hover{transform:translateY(-5px);border-color:#d5c7f3;box-shadow:0 24px 50px -30px rgba(56,35,106,.46)}.sim-mission-media{height:118px;position:relative;overflow:hidden}.sim-mission-media:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(38,24,74,.08),rgba(248,79,155,.24))}.sim-mission-media img{width:100%;height:100%;object-fit:cover;display:block}.sim-mission-num{position:absolute;z-index:2;left:11px;top:10px;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.95);display:grid;place-items:center;font-family:var(--f-disp);font-size:12px;font-weight:850;color:#6f4be8}.sim-mission-level{position:absolute;z-index:2;right:10px;bottom:9px;background:rgba(26,21,48,.82);color:#fff;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:750}.sim-mission-body{padding:14px 15px 15px}.sim-mission-top,.sim-mission-foot{display:flex;justify-content:space-between;gap:10px;align-items:center}.sim-mission-top span{font-size:10.5px;color:#8a829a}.sim-mission-body h3{font-size:15.5px;line-height:1.24;margin:8px 0 7px;color:var(--ink)}.sim-mission-body p{font-size:12.3px;line-height:1.45;color:var(--mute);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sim-mission-foot span{font-size:10.5px;color:#8b8498}.sim-mission-foot b{font-family:var(--f-disp);font-size:11.5px;color:#6f4be8}.sim-modal-context{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.sim-modal-lead{font-size:14.5px;line-height:1.55}.sim-objectives{background:#f8f6fc;border:1px solid #ece6f5;border-radius:15px;padding:14px 15px;margin:14px 0}.sim-objectives h4{font-size:13px;margin:0 0 8px}.sim-objectives span{display:block;font-size:12.5px;color:#645d74;margin:5px 0}.sim-step-progress{font-size:10.5px;color:#7c60d7;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-top:14px}.sim-step-title{font-size:18px;margin:7px 0 8px}.sim-choice-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.sim-choice{width:100%;text-align:left;border:1px solid #e5dfef;background:#fff;border-radius:13px;padding:11px 12px;font:inherit;font-size:13px;cursor:pointer}.sim-choice:hover:not(:disabled){border-color:#9274e7;background:#faf8ff}.sim-choice:disabled{cursor:default;opacity:.72}.sim-result{text-align:center;padding:8px 0 15px}.sim-result-score{font-family:var(--f-disp);font-size:48px;font-weight:850;color:var(--ink);line-height:1}.sim-result span{font-size:12px;color:var(--mute)}
@media(max-width:1120px){.sim-env-grid,.sim-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-workspace{grid-template-columns:1fr}.sim-context{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.sim-context .btn{grid-column:1/-1}}
@media(max-width:720px){.sim-section-title{align-items:stretch;flex-direction:column}.sim-env-grid,.sim-mission-grid{grid-template-columns:1fr}.sim-workspace{grid-template-columns:1fr}.sim-context{display:block}.sim-scene-card{min-height:430px}.sim-scene-shade{background:linear-gradient(0deg,rgba(18,15,39,.78),rgba(18,15,39,.10))}.sim-scene-copy{left:20px;right:20px;bottom:18px}.sim-scene-copy h2{font-size:27px}.sim-search{width:100%}}

/* =============================================================
   V4.5 — Agence 360° 2D haute définition pour chaque environnement
   ============================================================= */
.sim-env-media{height:158px;background:linear-gradient(135deg,#f8f6ff,#fff);}
.sim-env-media img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;filter:none;transform:translateZ(0)}
.sim-env-card.on .sim-env-media{box-shadow:inset 0 0 0 3px rgba(112,71,235,.12)}

.sim-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
.sim-scene2d{background:#fff;border:1px solid #eae4f4;border-radius:28px;overflow:hidden;box-shadow:0 28px 66px -42px rgba(55,32,109,.46)}
.sim-scene2d-top{height:64px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee9f7;background:linear-gradient(90deg,#fff,#fbf9ff)}
.sim-scene2d-top span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.sim-scene2d-top small{font-size:9.5px;font-weight:850;letter-spacing:.13em;color:#8b7ea6}.sim-scene2d-top b{font-family:var(--f-disp);font-size:16px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-scene2d-status{font-size:11px;font-weight:800;color:#159b75;background:#e9f9f3;border-radius:999px;padding:7px 10px;white-space:nowrap}
.sim-scene2d-canvas{position:relative;background:linear-gradient(135deg,#f7f5ff,#fff8f5);aspect-ratio:16/9;overflow:hidden}
.sim-scene2d-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;image-rendering:auto;filter:none}
.sim-hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.88);background:rgba(24,20,49,.82);color:#fff;border-radius:999px;padding:8px 12px;box-shadow:0 12px 24px -14px rgba(22,17,53,.78);font:700 11px var(--f-disp);cursor:pointer;backdrop-filter:blur(8px);transition:.18s;white-space:nowrap}
.sim-hotspot::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#b49aff;margin-right:7px;box-shadow:0 0 0 4px rgba(180,154,255,.18)}
.sim-hotspot:hover,.sim-hotspot:focus-visible{background:#fff;color:#2f2548;border-color:#aa8cf4;transform:translate(-50%,-54%) scale(1.025);outline:none}
.sim-event-pin{position:absolute;z-index:5;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.86);color:#fff;border-radius:999px;padding:9px 14px;box-shadow:0 14px 28px -14px rgba(58,31,121,.7);font:800 11px var(--f-disp);cursor:pointer;white-space:nowrap;animation:simPinFloat 3.8s ease-in-out infinite}
.sim-event-pin.violet{background:linear-gradient(135deg,#7047eb,#9c58f5)}.sim-event-pin.coral{background:linear-gradient(135deg,#ff647c,#ff805e)}.sim-event-pin.teal{background:linear-gradient(135deg,#20bda9,#24c7ca)}
.sim-event-pin::after{content:"";position:absolute;inset:-5px;border:1.5px solid currentColor;border-radius:999px;opacity:.28;animation:simPinRing 2.5s ease-out infinite}
.sim-event-pin:hover,.sim-event-pin:focus-visible{transform:translate(-50%,-54%) scale(1.03);outline:none}
.sim-scene2d-tip{position:absolute;left:14px;bottom:14px;z-index:6;background:rgba(27,23,52,.82);color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 13px;font-size:11px;backdrop-filter:blur(8px)}
.sim-scene2d-tip i{width:8px;height:8px;border-radius:50%;display:inline-block;background:#38d49c;margin-right:7px}
@keyframes simPinFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-58%)}}@keyframes simPinRing{0%{transform:scale(.95);opacity:.34}100%{transform:scale(1.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.sim-event-pin,.sim-event-pin::after{animation:none}}

.sim-mission-media{height:126px;background:#f8f6ff}.sim-mission-media img{filter:none;object-fit:cover;object-position:center;image-rendering:auto}
@media(max-width:1120px){.sim-workspace{grid-template-columns:1fr}.sim-context{display:block}.sim-scene2d{max-width:none}.sim-hotspot{font-size:10px;padding:7px 10px}.sim-event-pin{font-size:10px;padding:8px 11px}}
@media(max-width:720px){.sim-scene2d-top{height:auto;padding:14px 16px;gap:12px}.sim-scene2d-canvas{aspect-ratio:4/3;overflow:auto}.sim-scene2d-img{position:relative;min-width:760px;width:760px;height:auto;object-fit:contain}.sim-hotspot,.sim-event-pin{display:none}.sim-scene2d-tip{position:sticky;left:10px;bottom:10px;width:max-content;max-width:90%;font-size:10.5px}.sim-env-media{height:145px}}

/* ---------- V4.7 : missions NDRC approfondies ---------- */
.sim-dossier{margin:16px 0;border:1px solid #e8e1f3;border-radius:16px;background:#fbfaff;overflow:hidden}
.sim-dossier summary{cursor:pointer;padding:13px 15px;font-family:var(--f-disp);font-size:13px;font-weight:800;color:var(--ink);background:#f5f1fc}
.sim-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
.sim-doc{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;background:#fff;border:1px solid #ece6f5;border-radius:13px;padding:11px}
.sim-doc-ico{width:34px;height:34px;border-radius:10px;background:#f1ebff;display:grid;place-items:center;font-size:16px}
.sim-doc b{font-family:var(--f-disp);font-size:12.5px;color:var(--ink)}
.sim-doc p{margin:3px 0 0!important;font-size:11.5px!important;line-height:1.45!important;color:var(--mute)!important}
.sim-step-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-top:16px}
.sim-skill{max-width:260px;background:#eefbf8;border:1px solid #cceee6;color:#147663;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:800;text-align:right}
.sim-annexe-ref{background:#fff8e9;border:1px solid #f2dfae;border-radius:11px;padding:8px 10px;margin:8px 0 10px;font-size:11.5px;color:#725b22}
.sim-question{font-size:14.5px!important;line-height:1.55!important;color:var(--ink)!important}
.sim-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px!important}
.sim-choice small{flex:0 0 auto;color:#8b82a0;font-size:10px;font-weight:700}
.sim-choice:hover:not(:disabled) small{color:#6f4be8}
.fb.mid{border-color:#f3d39b;background:#fff8e9}.fb.mid strong{color:#9b6500}
.sim-consequence{margin:14px 0;background:#fff1f0;border:1px solid #f0c7c3;border-left:4px solid #e56358;border-radius:13px;padding:11px 13px}
.sim-consequence b{display:block;font-size:12.5px;color:#9b3d36}.sim-consequence p{margin:4px 0 0!important;font-size:12px!important;color:#72504c!important}
.sim-production{width:100%;resize:vertical;border:1.5px solid #ddd4ee;border-radius:14px;padding:13px 14px;font:inherit;font-size:13.5px;line-height:1.55;color:var(--ink);outline:none;background:#fff}
.sim-production:focus{border-color:#8057ed;box-shadow:0 0 0 4px rgba(128,87,237,.09)}
.sim-breakdown{margin:14px 0;background:#fff;border:1px solid #ece6f5;border-radius:15px;padding:14px 15px}
.sim-breakdown h4{font-size:13px;margin:0 0 11px}.sim-skill-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:9px 0;align-items:center}.sim-skill-row span{font-size:11.5px;color:#625b73}.sim-skill-row b{font-size:11.5px;color:var(--ink)}.sim-skill-row i{grid-column:1/-1;height:6px;background:#eee9f6;border-radius:99px;overflow:hidden}.sim-skill-row em{display:block;height:100%;background:linear-gradient(90deg,#6f4be8,#f84f9b);border-radius:99px}
.sim-history{margin-top:12px;border:1px solid #ece6f5;border-radius:13px;background:#fff}.sim-history summary{cursor:pointer;padding:11px 13px;font-size:12px;font-weight:800;color:var(--ink)}.sim-history ol,.sim-history p{margin:0;padding:0 28px 13px}.sim-history li{margin:7px 0;font-size:11.5px;color:#625b73}.sim-history li b{display:block;color:var(--ink);font-size:11.5px}.sim-history li span{display:block;margin-top:2px}
@media(max-width:700px){.sim-doc-grid{grid-template-columns:1fr}.sim-step-head{display:block}.sim-skill{display:inline-block;margin-top:8px;max-width:100%;text-align:left}.sim-choice{align-items:flex-start;flex-direction:column}.sim-choice small{display:none}}

/* V5 — NDRC E5 riche, infographies et laboratoire E5b */
.lesson-visual{margin:0 0 20px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 45px -34px rgba(47,29,90,.35)}
.lesson-visual img{display:block;width:100%;height:auto}
.e5-highlight{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin:18px 0 24px;border:1px solid #E8DFFD;border-radius:22px;background:linear-gradient(120deg,#F7F3FF,#FFF5FA)}
.e5-highlight h3{font-size:20px;margin:5px 0;color:var(--ink)}.e5-highlight p{margin:0;color:var(--muted)}
.e5b-version{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 20px;margin-bottom:20px;border-radius:18px;background:linear-gradient(120deg,#F1ECFF,#FFF0F7);border:1px solid #E5DAFF}.e5b-version span{color:#675F7A}
.e5b-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.e5b-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 16px 38px -34px rgba(45,28,88,.32)}.e5b-card h2{font-size:19px;margin:16px 0 8px}.e5b-card p{color:var(--muted);line-height:1.55}.e5b-card ol{padding-left:20px;color:#4F4961}.e5b-card li{margin:7px 0}.e5b-num{position:absolute;right:18px;top:18px;font-family:var(--f-disp);font-weight:800;color:#6F45FF;font-size:22px}.e5b-proof{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:#F7FAFF;margin-top:14px}.e5b-proof b{font-size:13px}.e5b-proof span{font-size:13px;color:var(--muted)}
.chapter-card .chapter-media img{object-fit:cover;background:#FBFAFF}
@media(max-width:820px){.e5b-grid{grid-template-columns:1fr}.e5-highlight,.e5b-version{flex-direction:column;align-items:flex-start}}

/* ===== V5.2 COURS RICHES ===== */

.claude-rich{
  margin-top:32px;
  display:grid;
  gap:24px;
}

.claude-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
}

.claude-section>h2{
  margin:0 0 20px;
  font-size:24px;
}

.rich-course-block{
  margin-bottom:24px;
}

.rich-course-block:last-child{margin-bottom:0}

.rich-course-block h3{
  margin:0 0 10px;
  font-size:19px;
}

.rich-prose{
  line-height:1.75;
  font-size:16px;
}

.claude-infographie{
  overflow:auto;
  text-align:center;
}

.claude-infographie svg{
  width:100%;
  max-width:1000px;
  height:auto;
}

.vocab-grid,
.formula-grid,
.indicator-grid,
.sector-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.vocab-card,
.formula-card,
.indicator-card,
.sector-card,
.data-card,
.practice-card,
.exercise-card,
.exam-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  background:#fafbfe;
}

.method-steps{
  display:grid;
  gap:14px;
}

.method-step{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:15px;
  align-items:start;
}

.step-num{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e32636;
  color:#fff;
  font-weight:800;
}

.formula{
  margin-top:10px;
  padding:12px;
  background:#fff;
  border-radius:10px;
  font-weight:700;
}

.attention{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff3d8;
}

.correction-details{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}

.correction-details summary{
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
}

.correction-details .rich-prose{
  padding:0 18px 18px;
}

.remember-section{
  border-left:5px solid #e32636;
}

@media(max-width:800px){
  .vocab-grid,
  .formula-grid,
  .indicator-grid,
  .sector-grid{
    grid-template-columns:1fr;
  }
  .claude-section{padding:20px}
}

/* V5.2.1 — données structurées Claude */
.structured-list{display:grid;gap:14px}
.structured-item,.structured-object{
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  background:#fafbfe;
}
.structured-object h3{margin:0 0 14px;font-size:18px}
.structured-field{
  display:grid;
  grid-template-columns:minmax(150px,220px) 1fr;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.structured-field:last-child{border-bottom:0}
.field-label{
  font-weight:800;
  font-size:13px;
  text-transform:none;
}
.field-value .structured-object{background:#fff}
.true-course{display:grid;gap:18px}
.correction-content{padding:18px}
.warning-section{border-left:5px solid #e32636}
.exam-section{border-left:5px solid #132f4c}
.missions-section{border-left:5px solid #e32636}

@media(max-width:760px){
 .structured-field{grid-template-columns:1fr;gap:5px}
}

/* ===== V5.2.2 TABLEAUX PEDAGOGIQUES ===== */
.course-table-card{
  margin-bottom:22px;
}
.course-table-card:last-child{margin-bottom:0}

.course-table-card h3{
  margin:0 0 14px;
  font-size:19px;
}

.course-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:14px;
}

.course-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.course-table th{
  text-align:left;
  padding:14px 16px;
  background:#f2f5f9;
  font-size:14px;
  font-weight:800;
  border-bottom:1px solid var(--line);
}

.course-table td{
  padding:14px 16px;
  vertical-align:top;
  line-height:1.55;
  border-bottom:1px solid var(--line);
}

.course-table tbody tr:last-child td{
  border-bottom:0;
}

.table-note{
  margin-top:12px;
  padding:12px 15px;
  background:#fff4f5;
  border-left:4px solid #e32636;
  border-radius:8px;
  line-height:1.55;
}
.sector-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.sector-clean-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fafbfe;
}
.sector-clean-card h3{
  margin:0 0 14px;
  font-size:19px;
}
.sector-example{
  margin-top:14px;
  padding:14px;
  background:#fff;
  border-radius:12px;
}
@media(max-width:850px){
  .sector-cards{grid-template-columns:1fr}
}
.missions-clean-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:16px;
}
.mission-clean-card{
 border:1px solid var(--line);
 border-radius:16px;
 padding:18px;
 background:#fafbfe;
 display:flex;
 flex-direction:column;
 gap:12px;
}
.mission-clean-card h3{
 margin:0;
 font-size:17px;
 line-height:1.35;
}
.mission-clean-top{
 display:flex;
 align-items:center;
 justify-content:space-between;
}
.mission-icon{font-size:22px}
.mission-clean-card .btn{margin-top:auto}
@media(max-width:1000px){
 .missions-clean-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .missions-clean-grid{grid-template-columns:1fr}
}

.e5b-platforms{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:20px;
 margin-top:22px;
}

.e5b-platform-card{
 background:#fff;
 border:1px solid var(--line);
 border-radius:18px;
 padding:26px;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:12px;
}

.e5b-platform-icon{font-size:34px}

.e5b-platform-card h2{
 margin:0;
 font-size:24px;
}

.e5b-platform-card p{
 margin:0;
 line-height:1.6;
}

.e5b-tech{
 padding:10px 12px;
 border-radius:10px;
 background:#f5f7fa;
 font-size:13px;
 width:100%;
}

.e5b-platform-card .btn{
 margin-top:auto;
}

.e5b-workspace-title{
 margin:28px 0 18px;
}

.e5b-workspace-title h2{
 margin:5px 0;
}

@media(max-width:800px){
 .e5b-platforms{grid-template-columns:1fr}
}

/* =========================================================
   AGENCE 360 — HOME PREMIUM
   ========================================================= */

.ag360-premium-hero{
  position:relative;
  min-height:330px;
  margin:0 0 28px;
  border-radius:0 0 26px 26px;
  overflow:hidden;
  background:#f7f4ef;
  isolation:isolate;
}

.ag360-premium-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}

.ag360-premium-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.93) 25%,
      rgba(255,255,255,.42) 52%,
      rgba(255,255,255,.02) 78%
    );
}

.ag360-premium-content{
  position:relative;
  z-index:2;
  width:min(470px,47%);
  padding:42px 0 38px 42px;
}

.ag360-eyebrow{
  display:block;
  margin-bottom:10px;
  color:#b52231;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
}

.ag360-premium-content h1{
  margin:0;
  color:#14233f;
  font-size:55px;
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:900;
}

.ag360-premium-content h1 strong{
  position:relative;
  color:#f05a3e;
  font-weight:900;
}

.ag360-premium-content h1 strong:after{
  content:"";
  position:absolute;
  left:5%;
  right:0;
  bottom:-8px;
  height:4px;
  border-radius:50%;
  background:#e53244;
  transform:rotate(-2deg);
}

.ag360-premium-content p{
  max-width:390px;
  margin:24px 0 19px;
  color:#64728a;
  font-size:14px;
  line-height:1.5;
}

.ag360-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.ag360-benefits span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 12px;
  border:1px solid #e4e7ed;
  border-radius:11px;
  background:rgba(255,255,255,.92);
  box-shadow:0 5px 15px rgba(25,35,60,.05);
  color:#25324b;
  font-size:11px;
}

/* Les cartes environnement restent en 3 x 2 */
.sim-env-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.sim-env-card{
  overflow:hidden;
  border-radius:18px !important;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,35,60,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}

.sim-env-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(25,35,60,.13);
}

.sim-env-card img{
  width:100%;
  aspect-ratio:16/6.7;
  object-fit:cover;
}

/* Responsive */
@media(max-width:1000px){
  .ag360-premium-content{
    width:58%;
  }

  .ag360-premium-content h1{
    font-size:46px;
  }

  .sim-env-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:680px){
  .ag360-premium-hero{
    min-height:420px;
  }

  .ag360-premium-shade{
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.98),
      rgba(255,255,255,.88) 62%,
      rgba(255,255,255,.20)
    );
  }

  .ag360-premium-content{
    width:auto;
    padding:32px 25px;
  }

  .ag360-premium-content h1{
    font-size:42px;
  }

  .sim-env-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== AGENCE 360 HOME — VERSION VALIDEE ===== */

.ag360-premium-hero{
  width:100% !important;
  min-height:360px !important;
  margin:0 0 20px !important;
  border-radius:0 0 24px 24px !important;
}

.ag360-premium-bg{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/*
 L'image contient déjà son identité visuelle.
 On retire la deuxième copie HTML du titre,
 texte et badges qui se superposait à l'image.
*/
.ag360-premium-content{
  display:none !important;
}

.ag360-premium-shade{
  display:none !important;
}

/* Sélecteur immédiatement sous le hero */
.ag360-premium-hero + .sim-env-block{
  margin-top:0 !important;
}

.sim-env-block{
  padding-top:4px !important;
}

.sim-section-title{
  margin-bottom:18px !important;
}

/* Grande grille 3 x 2 de la maquette */
.sim-env-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.sim-env-card{
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 8px 25px rgba(20,32,55,.08) !important;
}

.sim-env-media{
  position:relative !important;
  height:185px !important;
  overflow:hidden !important;
}

.sim-env-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.sim-env-body{
  padding:16px 18px 18px !important;
}

/* environnement détecté : discret */
.sim-detected{
  border-radius:999px !important;
  padding:9px 15px !important;
}

/* responsive */
@media(max-width:1050px){
  .sim-env-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:680px){
  .ag360-premium-hero{
    min-height:260px !important;
  }

  .sim-env-grid{
    grid-template-columns:1fr !important;
  }

  .sim-env-media{
    height:190px !important;
  }
}

/* Accueil Agence 360 : aucun résumé d'environnement avant le sélecteur */
body:not(.x) .sim-env-detail-head{
  display:none;
}

/* Il sera réactivé par JS uniquement dans un environnement */
body.ag360-env-detail .sim-env-detail-head{
  display:block;
}

/* ============================================================
   AGENCE 360 — IDENTITES SECTORIELLES
   ============================================================ */

.sim-env-card{
  --sector:#7657ff;
  --sector-soft:#f4f0ff;
  --sector-dark:#322768;
  border:1px solid rgba(25,35,60,.08)!important;
  position:relative;
}

/* Automobile */
.sim-env-card[href*="env=automobile"]{
  --sector:#ef6a35;
  --sector-soft:#fff1e9;
  --sector-dark:#492315;
}

/* Banque */
.sim-env-card[href*="env=banque"]{
  --sector:#078b9d;
  --sector-soft:#e7f8f8;
  --sector-dark:#083d50;
}

/* Distribution */
.sim-env-card[href*="env=distribution"]{
  --sector:#d59a00;
  --sector-soft:#fff7d9;
  --sector-dark:#4c3a05;
}

/* Restauration */
.sim-env-card[href*="env=restauration"]{
  --sector:#b95f3b;
  --sector-soft:#fff0e8;
  --sector-dark:#54271c;
}

/* Marketing */
.sim-env-card[href*="env=marketing"]{
  --sector:#7b45df;
  --sector-soft:#f3ecff;
  --sector-dark:#38205f;
}

/* Textile */
.sim-env-card[href*="env=textile"]{
  --sector:#dc477c;
  --sector-soft:#fff0f5;
  --sector-dark:#641d39;
}

.sim-env-card{
  border-bottom:4px solid var(--sector)!important;
}

.sim-env-card .sim-env-icon{
  color:var(--sector)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 7px 20px rgba(20,30,50,.14)!important;
}

.sim-env-card .sim-env-body > span:last-child{
  color:var(--sector)!important;
  font-weight:800!important;
}

.sim-env-card.on{
  border-color:var(--sector)!important;
  box-shadow:
    0 12px 32px rgba(25,35,60,.10),
    0 0 0 2px var(--sector-soft)!important;
}

.sim-env-card .sim-env-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    transparent 55%,
    color-mix(in srgb,var(--sector) 20%,transparent)
  );
}


/* ============================================================
   MISSIONS — IDENTITE AUTOMOBILE
   ============================================================ */

body.ag360-automobile{
  --mission-accent:#ef6a35;
  --mission-soft:#fff2ea;
  --mission-dark:#17243b;
}

body.ag360-automobile .sim-missions{
  border-radius:24px;
}

body.ag360-automobile .sim-mission-card{
  overflow:hidden;
  border:1px solid #e8e9ee!important;
  border-radius:20px!important;
  background:#fff!important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

body.ag360-automobile .sim-mission-card:hover{
  transform:translateY(-4px);
  border-color:#f2b396!important;
  box-shadow:0 17px 35px rgba(45,35,30,.13)!important;
}

body.ag360-automobile .sim-mission-media{
  position:relative;
  height:175px!important;
  overflow:hidden;
  background:#f3f4f6;
}

body.ag360-automobile .sim-mission-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .35s ease;
}

body.ag360-automobile .sim-mission-card:hover .sim-mission-media img{
  transform:scale(1.035);
}

body.ag360-automobile .sim-mission-num{
  background:#ef6a35!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 5px 15px rgba(239,106,53,.30)!important;
}

/* couleurs par type de mission */

body.ag360-automobile .sim-mission-card[data-visual="prospection"]{
  --card-accent:#e65c2e;
}

body.ag360-automobile .sim-mission-card[data-visual="accueil"]{
  --card-accent:#ca8730;
}

body.ag360-automobile .sim-mission-card[data-visual="essai"]{
  --card-accent:#287ea8;
}

body.ag360-automobile .sim-mission-card[data-visual="negociation"]{
  --card-accent:#7750c7;
}

body.ag360-automobile .sim-mission-card[data-visual="crm"]{
  --card-accent:#168b86;
}

body.ag360-automobile .sim-mission-card[data-visual="livraison"]{
  --card-accent:#b54155;
}

body.ag360-automobile .sim-mission-card[data-visual]{
  border-top:3px solid var(--card-accent)!important;
}

body.ag360-automobile .sim-mission-card[data-visual] .sim-mission-foot span{
  color:var(--card-accent)!important;
  font-weight:700!important;
}

body.ag360-automobile .sim-mission-card[data-visual] .sim-mission-foot b{
  color:var(--card-accent)!important;
}


/* responsive */
@media(max-width:760px){
  body.ag360-automobile .sim-mission-media{
    height:155px!important;
  }
}

