/* Pages de texte du site (ecoles, tarifs, contact, mentions, confidentialite, conditions, connexion, 404).
   Sur les jetons de lecon.css : nude, rose poudre, creme, or. Mobile d'abord, cibles de 44 px. */
.page.texte{max-width:720px}
.nav-page{display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:6px}
.nav-page a{display:inline-flex; align-items:center; min-height:44px; color:var(--encre-2); text-decoration:none; font-weight:700; font-size:1rem; border-bottom:2px solid transparent}
.nav-page a[aria-current="page"]{color:var(--rose-texte); border-bottom-color:var(--rose)}
.nav-page a:hover{color:var(--encre)}
.texte main{margin-top:18px}
.texte h1{font-size:2rem; line-height:1.12; margin-top:6px}
.texte h2{font-size:1.3rem; margin-top:34px}
.texte h3{font-size:1.05rem; margin-top:22px}
.texte .etiq{display:block}
.texte .chapo{font-size:1.1rem; line-height:1.55; color:var(--encre-2); margin-top:12px}
.texte p{line-height:1.6; margin-top:12px}
.texte ul, .texte ol{margin-top:10px; padding-left:22px; line-height:1.6}
.texte li{margin-top:6px}
.texte .encart{background:var(--or-fond); border-radius:var(--r-s); padding:16px 18px; margin-top:20px; line-height:1.55}
.texte .encart b{display:block; font-family:var(--display); margin-bottom:4px}
.texte .boutons{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
.texte .boutons .btn, .texte .boutons .btn-2{flex:0 1 auto; padding:0 22px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center}
.texte .cartes{display:grid; gap:12px; margin-top:16px}
.texte .carte{background:var(--feuille); border:1px solid var(--filet); border-radius:var(--r); padding:16px 18px}
.texte .carte b{font-family:var(--display); display:block; margin-bottom:4px}
.texte table{width:100%; border-collapse:collapse; margin-top:14px; font-size:1rem}
.texte th, .texte td{text-align:left; padding:10px 8px; border-bottom:1px solid var(--filet); vertical-align:top; line-height:1.45}
.texte th{font-family:var(--display); font-weight:700; font-size:1rem}
.texte dl{margin-top:12px} .texte dt{font-weight:700; margin-top:12px} .texte dd{margin:4px 0 0; line-height:1.55; color:var(--encre-2)}
/* formulaire */
.texte form{margin-top:18px}
.texte label{display:block; font-weight:700; margin-top:16px; font-size:1rem}
.texte input, .texte select, .texte textarea{display:block; width:100%; min-height:48px; margin-top:6px; padding:10px 14px; border:1px solid var(--filet-2); border-radius:12px; background:var(--feuille); color:var(--encre); font:inherit; font-size:1rem}
.texte textarea{min-height:140px; resize:vertical}
.texte .aide{font-size:1rem; color:var(--encre-2); margin-top:6px}
.texte .miel{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.texte form .btn{margin-top:20px; width:100%}
.pied-page{margin-top:48px; padding-top:18px; border-top:1px solid var(--filet); font-size:1rem; color:var(--encre-2)}
.pied-page nav{display:flex; flex-wrap:wrap; gap:2px 16px; margin-top:6px}
.pied-page a{display:inline-flex; align-items:center; min-height:44px; color:var(--encre-2)}
@media (min-width:900px){
  .texte .cartes{grid-template-columns:1fr 1fr}
  .texte form .btn{width:auto; padding:0 28px}
}

/* Des pages de service aussi soignees que le parcours d'apprentissage. */
.page.texte{max-width:880px;padding-bottom:48px}
.nav-page{padding:12px 0 18px;margin:0;border-bottom:1px solid var(--filet-2);gap:4px 18px}
.nav-page a{font-size:1rem;min-height:48px}
.texte main{position:relative;isolation:isolate;margin-top:36px}
.texte main::before{content:"";position:absolute;z-index:-1;inset:-12px -20px auto;height:350px;background:radial-gradient(ellipse at 90% 0,var(--rose-clair),transparent 72%);pointer-events:none;opacity:.55}
.texte main>.etiq{color:var(--rose-texte);font-size:1rem;letter-spacing:.065em;max-width:34ch}
.texte h1{font-size:clamp(2.6rem,5.5vw,4.25rem);letter-spacing:-.045em;line-height:1.08;margin-top:16px;max-width:22ch}
.texte .chapo{font-size:1.25rem;line-height:1.7;margin-top:24px;padding-bottom:32px;border-bottom:1px solid var(--filet-2)}
.texte h2{font-size:1.85rem;line-height:1.2;margin-top:44px}
.texte h3{font-size:1.35rem;margin-top:28px}
.texte p,.texte li{font-size:1.125rem;line-height:1.75}
.texte li{margin-top:12px}.texte main a{overflow-wrap:anywhere}
.texte .encart{padding:24px;border:1px solid var(--or);border-radius:24px;box-shadow:var(--ombre);margin-top:28px;line-height:1.65}
.texte .encart b{font-size:1.3rem;margin-bottom:10px}
.texte .cartes{gap:20px;margin-top:24px}
.texte .carte{padding:28px 24px;border-radius:26px;box-shadow:var(--ombre);line-height:1.65}
.texte .carte:nth-child(even){background:var(--feuille-2)}
.texte .carte b{font-size:1.4rem;line-height:1.25;margin-bottom:16px}
.texte .carte:last-child:nth-child(odd){background:var(--or-fond);border-color:var(--or)}
.texte th{font-size:1rem;background:var(--rose-clair);color:var(--rose-texte)}
.texte td,.texte th{padding:16px 12px}.texte table{font-size:1.125rem;overflow-wrap:anywhere}
.texte form{margin-top:32px;padding:24px 20px;border:1px solid var(--filet-2);border-radius:28px;background:var(--feuille);box-shadow:var(--relief)}
.texte label{font-size:1.125rem;line-height:1.4;margin-top:24px}
.texte form>label:first-child{margin-top:0}
.texte input,.texte select,.texte textarea{min-height:56px;border-color:var(--filet-3);background:var(--creme);border-radius:16px;font-size:1.125rem;margin-top:10px;padding:14px;max-width:100%}
.texte select{font-size:1rem;padding-right:28px;text-overflow:ellipsis}
.texte textarea{min-height:180px}
.texte :is(input,select,textarea):focus-visible{outline:3px solid var(--or);outline-offset:3px;border-color:var(--encre-2);background:var(--feuille)}
.texte .aide{font-size:1rem;line-height:1.6;margin-top:12px}
.texte form .btn{width:100%;min-height:56px;background:var(--rose-texte);color:var(--sur-accent);box-shadow:0 4px 0 var(--rose-clair);margin-top:28px}
.texte .boutons{gap:14px;margin-top:28px}.texte .boutons a{min-height:56px;padding:16px 24px}
.pied-page{margin-top:64px;padding:32px 0 0;border-top-color:var(--filet-2);font-size:1rem}
.pied-page p{font-size:1rem}.pied-page b{display:block;font-family:var(--display);font-size:2rem;letter-spacing:-.055em;color:var(--encre);margin-bottom:10px}
.pied-page nav{gap:4px 24px;margin-top:20px}.pied-page a{min-height:48px;text-decoration:none}.pied-page a:hover{text-decoration:underline;color:var(--encre)}
@media(min-width:900px){
 .texte main{margin-top:52px}
 .texte .cartes{grid-template-columns:1.1fr 1fr;gap:24px}
 .texte .carte:nth-child(even){transform:translateY(12px)}
 .texte .carte:last-child:nth-child(odd){grid-column:1 / -1}
 .texte form{padding:36px 40px}
}
@media(prefers-reduced-motion:no-preference){.texte :is(input,select,textarea){transition:background var(--duree),border-color var(--duree),box-shadow var(--duree)}}

/* ---------- pages de compte et tableau de bord (lot D) ---------- */
.texte .case{display:flex; align-items:center; gap:10px; min-height:44px; font-weight:700; margin-top:16px}
.texte .case input{width:22px; height:22px; min-height:22px; margin:0; flex:none}
.texte .code{display:inline-block; font-family:var(--display); font-size:1.8rem; letter-spacing:.22em;
  background:var(--feuille-2); border:1px solid var(--filet); border-radius:12px; padding:10px 18px}
/* ☠️ la grille élève × chapitre déborde sur un téléphone : elle défile, elle ne rétrécit pas */
.texte .defile{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:14px}
.texte .defile table{margin-top:0; min-width:520px}
.texte td, .texte th{white-space:nowrap}
.texte th[scope="row"]{white-space:normal}
.texte .d{color:var(--encre-3); font-weight:400; font-size:.92rem; display:block}
.lien-action{min-height:44px; padding:0 12px; border:1px solid var(--filet-2); border-radius:10px;
  background:var(--feuille); color:var(--rose-texte); font:inherit; font-weight:700; cursor:pointer}
.lien-action:hover{background:var(--feuille-2)}
.texte .revs{list-style:none; padding:0; margin-top:12px}
.texte .revs li{margin-top:8px}
.texte .rev{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px;
  padding:10px 14px; background:var(--feuille); border:1px solid var(--filet); border-radius:var(--r-s);
  text-decoration:none; color:var(--encre)}
.texte .rev:hover{background:var(--feuille-2)}
.texte .rev .go{color:var(--rose-texte); font-weight:700; white-space:nowrap}
