/* France Collège — Passerelle CM2 → 6e (pages/eleve/passerelle.html). S'appuie sur inner-manga.css, eleve-app.css et revexos.css. */
.pv-page{overflow-x:hidden}
.pv-section{scroll-margin-top:84px}
.pv-head{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:center}
.pv-head-txt{position:relative;z-index:1;min-width:0}
.pv-head .section-title{font-size:44px;overflow-wrap:anywhere}
.pv-head-img{width:100%;height:auto;border-radius:22px;border:2px solid #10234f;box-shadow:0 6px 0 #10234f;position:relative;z-index:1}
.pv-head-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pv-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.pv-toc a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:999px;background:#fff;border:2px solid #10234f;color:#10234f;font-weight:900;text-decoration:none;box-shadow:0 3px 0 #10234f}
.pv-toc a:hover{background:#fff8ec}
.pv-toc a:focus-visible{outline:3px solid #ff7a24;outline-offset:2px}
.pv-lead{margin:0 0 14px;color:#3b4863;font-size:17px;line-height:1.55;max-width:900px}
.pv-small{font-size:14px;color:#56627a;font-weight:700;line-height:1.5}
.pv-small a,.pv-lead a,.pv-more a{color:#1452b0;text-decoration:underline}

/* ---------- test */
.pv-intro{padding:18px 20px}
.pv-intro p{margin:0 0 10px;line-height:1.55}
.pv-parts{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:8px}
.pv-parts li{padding:10px 12px;border-radius:14px;background:#f5f8ff;border:1px solid #dbe4f3;line-height:1.45}
.pv-start{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.pv-start .ev-btn{font-size:17px;padding:12px 22px}
.pv-part{border:0;margin:0 0 6px;padding:0;min-width:0;display:flex;flex-direction:column;gap:12px}
.pv-part legend{font-size:24px;font-weight:1000;letter-spacing:-.5px;color:#10234f;padding:8px 0 4px}
.pv-part legend small{font-size:14px;font-weight:800;color:#1452b0;background:#eef4ff;border-radius:999px;padding:4px 10px;margin-left:6px;letter-spacing:0;vertical-align:middle}
.pv-comp{padding:3px 10px;border-radius:999px;background:#fff1e6;color:#a8520a}
.pv-submit{gap:12px;align-items:center}
.pv-count{background:#10234f;color:#fff;font-weight:1000;border-radius:999px;padding:8px 14px;box-shadow:0 10px 24px rgba(16,35,79,.25)}
.pv-form .rx-q{scroll-margin-top:84px}

/* ---------- résultat */
.pv-result{display:flex;gap:18px;align-items:center;margin:18px 0 12px;padding:18px;border-radius:22px;background:#fff;border:2px solid #10234f;box-shadow:0 5px 0 #10234f}
.pv-score{flex:0 0 auto;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;color:#fff;text-align:center;line-height:1.05}
.pv-score span{font-size:32px;font-weight:1000}
.pv-score small{font-size:12px;font-weight:800}
.pv-score.ok{background:#14874f}.pv-score.mid{background:#b56b00}.pv-score.ko{background:#c0294f}
.pv-result-txt h3{margin:0 0 6px;font-size:22px}
.pv-result-txt p{margin:0;color:#3b4863;line-height:1.5}
.pv-diag{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:0 0 12px}
.pv-area{background:#fff;border:1px solid #dbe4f3;border-radius:18px;padding:14px 16px}
.pv-area h4{margin:0 0 10px;font-size:18px}
.pv-bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pv-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name val badge" "track track track";gap:4px 8px;align-items:center}
.pv-bar-name{grid-area:name;font-weight:800;font-size:15px;min-width:0;overflow-wrap:anywhere}
.pv-bar-val{grid-area:val;font-weight:900;font-size:14px;color:#26324d}
.pv-bar .pv-badge{grid-area:badge}
.pv-bar-track{grid-area:track;height:12px;border-radius:999px;background:#eef1f7;overflow:hidden}
.pv-bar-track span{display:block;height:100%;border-radius:999px}
.pv-bar.ok .pv-bar-track span{background:#2fb36d}.pv-bar.mid .pv-bar-track span{background:#e9a23b}.pv-bar.ko .pv-bar-track span{background:#e46a6a}
.pv-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:1000;white-space:nowrap}
.pv-badge.ok{background:#e3f6ea;color:#11703f}.pv-badge.mid{background:#fff1d6;color:#8a5200}.pv-badge.ko{background:#fde7e9;color:#a1172f}
.pv-lockline{margin:4px 0 12px}

/* ---------- parcours */
.pv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pv-step{background:#fff;border:2px solid #dbe4f3;border-left-width:8px;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pv-step.ko{border-left-color:#e46a6a}.pv-step.mid{border-left-color:#e9a23b}
.pv-step-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pv-step-h strong{font-size:17px;flex:1 1 auto;min-width:0}
.pv-step-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#10234f;color:#fff;font-weight:1000;font-size:14px}
.pv-links{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pv-links a{display:block;padding:8px 10px;border-radius:12px;background:#f5f8ff;color:#1452b0;font-weight:800;text-decoration:none;line-height:1.35}
.pv-links a:hover{background:#eaf2ff;text-decoration:underline}
.pv-step .ev-btn{align-self:flex-start}

/* ---------- fiches */
.pv-fiches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pv-fiche{background:#fff;border:2px solid #10234f;border-radius:22px;overflow:hidden;box-shadow:0 5px 0 #10234f;display:flex;flex-direction:column;scroll-margin-top:84px}
.pv-fiche > img{width:100%;height:190px;object-fit:cover;border-bottom:2px solid #10234f;background:#eef4ff}
.pv-fiche-body{padding:14px 18px 18px;line-height:1.55;font-size:16px}
.pv-fiche-body h3{margin:4px 0 10px;font-size:22px;letter-spacing:-.4px;color:#10234f}
.pv-fiche-body ul,.pv-fiche-body ol{margin:0 0 10px;padding-left:20px;display:grid;gap:6px}
.pv-fiche-body p{margin:0 0 10px}
.pv-fiche-body a{color:#1452b0;text-decoration:underline;font-weight:800}
.pv-num{display:inline-block;padding:3px 10px;border-radius:999px;background:#eef0ff;color:#4048b8;font-weight:1000;font-size:13px}
.pv-bubble{position:relative;padding:10px 14px;border-radius:16px;background:#fff8ec;border:2px solid #10234f;font-weight:700;color:#26324d}
.pv-bubble b{color:#b4540a}
.pv-tip{padding:8px 12px;border-radius:12px;background:#eaf3ff;color:#1a4e9e;font-weight:800}
.pv-table-wrap{overflow-x:auto;margin:0 0 6px}
.pv-table{width:100%;border-collapse:collapse;font-size:14px;min-width:300px}
.pv-table caption{text-align:left;font-weight:900;margin-bottom:6px;color:#10234f}
.pv-table th,.pv-table td{border:1px solid #d6dff0;padding:6px 8px;text-align:left;vertical-align:top}
.pv-table thead th{background:#eef4ff}

/* ---------- programme */
.pv-prio-legend{display:inline-block;font-size:14px;font-weight:900;color:#8a5200;background:#fff1d6;border-radius:999px;padding:2px 10px}
.pv-prog-bar{height:14px;border-radius:999px;background:#eef1f7;overflow:hidden;border:1px solid #d6dff0;max-width:640px}
.pv-prog-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#14874f,#1769d7);transition:width .3s}
.pv-prog-txt{margin:6px 0 14px;font-weight:900;color:#10234f}
.pv-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pv-week{background:#fff;border:1px solid #dbe4f3;border-radius:18px;padding:14px 16px}
.pv-week h3{margin:0 0 10px;font-size:18px;color:#10234f}
.pv-days{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pv-days li{border:1px solid #e2e8f3;border-radius:14px;background:#fbfcff;transition:background .2s,border-color .2s}
.pv-days label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;cursor:pointer;line-height:1.45;min-height:44px}
.pv-days input{width:22px;height:22px;flex:0 0 auto;margin-top:1px;accent-color:#14874f}
.pv-days a{color:#1452b0;font-weight:800;text-decoration:underline}
.pv-days li.done{background:#f1fbf5;border-color:#bfe8d0}
.pv-days li.done span{color:#4c5a74}
.pv-days li.prio{border-color:#e9a23b;box-shadow:inset 4px 0 0 #e9a23b}
.pv-days li.prio b::after{content:" ⭐";}
.pv-actions{margin:12px 0 0}

/* ---------- parents */
.pv-parents-grid{display:grid;grid-template-columns:260px minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.pv-parents-grid > img{width:100%;height:auto;border-radius:18px;border:2px solid #10234f}
.pv-card{background:#fff;border:1px solid #dbe4f3;border-radius:18px;padding:14px 18px;line-height:1.55}
.pv-card h3{margin:0 0 8px;font-size:19px}
.pv-card ul{margin:0 0 8px;padding-left:20px;display:grid;gap:6px}
.pv-card p{margin:0}
.pv-warn{background:#fffaf0;border-color:#f0dc9d}
.pv-more{margin:14px 0 0;color:#3b4863;line-height:1.55}

@media(max-width:1000px){
  .pv-parents-grid{grid-template-columns:1fr 1fr}
  .pv-parents-grid > img{grid-column:1 / -1;max-width:380px}
}
@media(max-width:820px){
  .pv-head{grid-template-columns:1fr}
  .pv-head-img{max-width:360px}
  .pv-fiches,.pv-weeks,.pv-parents-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .pv-head .section-title{font-size:32px}
  .pv-head-cta .ev-btn{flex:1 1 auto}
  .pv-toc a{padding:6px 11px;font-size:14px;min-height:38px}
  .pv-result{flex-direction:column;text-align:center}
  .pv-diag,.pv-steps{grid-template-columns:1fr}
  .pv-fiche > img{height:150px}
  .pv-fiche-body{padding:12px 14px 16px;font-size:15px}
  .pv-part legend{font-size:20px}
  .rx-in.hole{width:7.5em}
}
