/* En-tête : ☰ à gauche + logo, et tous les liens (Accueil, Cours & exercices, Niveaux, Ressources…) rangés dans un menu vertical qui s'ouvre au clic */
.header .nav{gap:12px}
.header .menu-toggle{display:block!important;order:-1;flex:none;margin:0!important;width:46px;height:46px;border:0;border-radius:12px;background:transparent;color:#17224a;font-size:0;cursor:pointer;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;background-size:26px 3px;background-position:center 13px,center 21px,center 29px;border-radius:12px;transition:background-color .2s}
.header .menu-toggle:hover,.header .menu-toggle[aria-expanded="true"]{background-color:#eef3ff}
.header .menu-toggle:focus-visible{outline:2px solid var(--blue,#1456f0)}
.header .logo{margin-right:auto}
.header nav#navMenu{display:none!important;position:absolute;top:calc(100% + 10px);left:0;right:auto;width:min(320px,92vw);margin:0;padding:10px;flex-direction:column;align-items:stretch;gap:2px;
  background:#fff;border:1px solid var(--line,#e3e8f4);border-radius:18px;box-shadow:0 18px 44px rgba(20,60,160,.22);z-index:70}
.header nav#navMenu.open{display:flex!important}
.header nav#navMenu a{padding:14px 16px;font-size:16px;border-radius:12px;white-space:normal}
.header nav#navMenu a:hover{background:#eef3ff}
.header nav#navMenu a.active{background:#eef3ff;color:var(--blue,#1456f0)}
.header nav#navMenu a.active:after{display:none}
.header nav#navMenu .user-pill{margin-top:6px}
body.dark .header .menu-toggle{color:#e6edff}
body.dark .header .menu-toggle:hover,body.dark .header .menu-toggle[aria-expanded="true"]{background-color:#1d2a44}
body.dark .header nav#navMenu{background:#131d30;border-color:#283750}
body.dark .header nav#navMenu a:hover,body.dark .header nav#navMenu a.active{background:#1d2a44}
html[dir=rtl] .header nav#navMenu{left:auto;right:0}
html[dir=rtl] .header .logo{margin-right:0;margin-left:auto}

/* Niveaux : les cartes sont rangées verticalement (une sous l'autre) */
.level-grid{grid-template-columns:1fr!important;max-width:760px;margin-left:auto;margin-right:auto}
.cycle-head{max-width:760px;margin-left:auto;margin-right:auto}

/* Étapes « niveau / filière / semestre / matière » : cartes les unes sous les autres */
.subj-grid{grid-template-columns:1fr!important;max-width:640px}
.subj-card{width:100%}

/* Fil d'Ariane (nav.c-trail) : la règle générique « nav{position:absolute…} » du mobile le faisait passer par-dessus les cartes */
nav.c-trail{position:static!important;display:flex;flex-direction:row!important;flex-wrap:wrap;align-items:center;top:auto!important;left:auto!important;right:auto!important;width:auto;margin:6px 0 14px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
nav.c-trail[hidden]{display:none}
nav.c-trail button,nav.c-trail b{padding:4px 2px;white-space:normal}

/* Pied de page : la colonne « Navigation » à droite */
.footer{grid-template-columns:1fr auto!important}
.footer>div:last-child{justify-self:end;min-width:200px}
@media(max-width:820px){.footer{grid-template-columns:1fr!important}.footer>div:last-child{justify-self:start}}

/* À propos : photo de l'enseignant */
.about-photo{aspect-ratio:4/5;max-width:380px}
.about-photo img{object-position:27% 25%}
.about-photo .avatar-initials{z-index:0}
