/* ssc-niveaux.css : complement du lot niveaux et matieres.
   Toutes les classes sont prefixees .niv- et portent toujours une classe dans le selecteur
   (le global.css du CMS est charge apres et ecrase les selecteurs d'element nus). */

/* ---------- blocs de fiches Pass Education, un par matiere ou par niveau ---------- */
.niv-mats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.1rem}
.niv-mat{background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:1.1rem 1.2rem 1rem;position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.niv-mat::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--acc)}
.niv-mat__h{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin:.25rem 0 .1rem}
.niv-mat__h h3{margin:0;font-size:1.08rem;color:var(--c-navy)}
.niv-mat__n{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--acc-ink);white-space:nowrap}
.niv-mat__d{margin:.15rem 0 .7rem;color:var(--c-muted);font-size:.92rem;line-height:1.5}
.niv-mat__more{margin-top:auto;padding-top:.7rem;font-weight:700;font-size:.9rem;color:var(--acc-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;min-height:44px}
.niv-mat__more:hover{text-decoration:underline;color:var(--acc-ink)}

.niv-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.niv-list li{margin:0;padding:0}
.niv-list a{display:flex;align-items:flex-start;gap:.5rem;min-height:44px;padding:.45rem .5rem .45rem 0;color:var(--c-ink);text-decoration:none;font-size:.94rem;line-height:1.4;border-radius:var(--r-xs)}
.niv-list a::before{content:"›";flex:0 0 auto;color:var(--acc-ink);font-weight:800;line-height:1.35}
.niv-list a:hover{color:var(--acc-ink);text-decoration:underline}
.niv-list a[target]::after{content:"↗";font-size:.72em;opacity:.55;margin-left:.15rem}

/* ---------- trois colonnes par cycle (page matiere) ---------- */
.niv-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.1rem;margin:1.4rem 0}
.niv-col{background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:1.1rem 1.2rem}
.niv-col h3{margin:0 0 .1rem;font-size:1.05rem;color:var(--c-navy)}
.niv-col__k{display:block;font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--acc-ink);margin-bottom:.35rem}
.niv-col ul{margin:.5rem 0 0;padding-left:1.1rem}
.niv-col li{margin:.3rem 0;font-size:.94rem;color:var(--c-ink);line-height:1.5}

/* ---------- regroupement par cycle sur l'index des niveaux ---------- */
.niv-group{margin:0 0 2.6rem}
.niv-group__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.6rem;border-top:3px solid var(--acc);padding-top:.8rem;margin:0 0 1.1rem}
.niv-group__h h2{margin:0}
.niv-group__h p{margin:0;color:var(--c-muted);font-size:.95rem;max-width:58ch}
.niv-group__more{font-weight:700;color:var(--acc-ink);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.niv-group__more:hover{text-decoration:underline;color:var(--acc-ink)}

/* ---------- barre de navigation entre niveaux ou matieres ---------- */
.niv-nav{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0}
.niv-nav__l{flex:0 0 100%;font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--c-muted);margin:0 0 .1rem}
.niv-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.35rem .9rem;border-radius:999px;background:#fff;border:1px solid var(--c-line);color:var(--c-navy);text-decoration:none;font-weight:700;font-size:.92rem;line-height:1.2}
.niv-chip:hover{border-color:var(--acc);color:var(--acc-ink);box-shadow:var(--sh-1)}
.niv-chip.is-here{background:var(--acc-soft);border-color:transparent;color:var(--acc-ink);pointer-events:none}

/* ---------- encart professeurs mesure ---------- */
.niv-prof{background:var(--c-tint);border:1px solid var(--c-line);border-radius:var(--r);padding:1.2rem 1.3rem;margin:1.6rem 0}
.niv-prof__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin:.2rem 0 1rem}
.niv-prof__n{display:block;font-family:var(--serif);font-size:1.9rem;font-weight:700;color:var(--c-navy);line-height:1.1}
.niv-prof__n small{font-size:.5em;font-weight:700;margin-left:.1em}
.niv-prof__l{display:block;font-size:.84rem;color:var(--c-muted);margin-top:.2rem;line-height:1.35}
.niv-prof__s{margin:.6rem 0 0;font-size:.84rem;color:var(--c-muted)}

/* ---------- semaine type ---------- */
.niv-week td.niv-week__d{font-weight:700;color:var(--c-navy);white-space:nowrap}
.niv-week td.niv-week__t{color:var(--acc-ink);font-weight:600;white-space:nowrap}

/* ---------- cartes illustrees des index ---------- */
.niv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.2rem}
.niv-tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color .2s;min-width:0}
.niv-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:transparent;color:inherit}
.niv-tile__img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--acc-soft)}
.niv-tile__b{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;flex:1 1 auto}
.niv-tile__e{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc-ink)}
.niv-tile__b h3{margin:.2rem 0 .35rem;font-size:1.15rem;color:var(--c-navy)}
.niv-tile__b p{margin:0;color:var(--c-muted);font-size:.93rem;line-height:1.5}
.niv-tile__go{margin-top:auto;padding-top:.8rem;font-weight:700;font-size:.92rem;color:var(--acc-ink)}
.niv-tile__ph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;background:var(--acc-soft);color:var(--acc-ink);font-family:var(--serif);font-size:2rem;font-weight:700}

@media (max-width:700px){
  .niv-mats,.niv-tiles,.niv-cols{grid-template-columns:1fr}
  .niv-prof__g{grid-template-columns:1fr 1fr}
}

/* filet : un libelle de bouton trop long ne doit pas elargir la page en mobile */
.niv-prof .ssc-btn{white-space:normal;text-align:center}
