/* Une page, une intention. Les panneaux partagés servent aux aperçus PDF. */
main > [data-page-section],main > .seo-explore{display:none!important}
body[data-view="home"] main > [data-page-section="home"],body[data-view="catalogue"] main > [data-page-section="catalogue"],body[data-view="generateur"] main > [data-page-section="generateur"],body[data-view="methodes"] main > [data-page-section="methodes"],body[data-view="programme"] main > [data-page-section="programme"],body[data-view="mon-espace"] main > [data-page-section="mon-espace"],body[data-view="progression"] main > [data-page-section="progression"],body[data-view="parcours"] main > [data-page-section="parcours"]{display:block!important}
body[data-view="home"] main > .hero,body[data-view="home"] main > .levels-section,body[data-view="home"] main > .about,body[data-view="home"] main > .home-parent,body[data-view="generateur"] main > .generator{display:grid!important}
main > [hidden],main > [data-page-section][hidden]{display:none!important}
header nav{gap:22px;flex-wrap:wrap}header{position:relative;z-index:20}header nav a[aria-current="page"]{color:#ad4b35;text-decoration:underline;text-underline-offset:7px}
.learn-menu{position:relative;font-size:14px}.learn-menu summary{cursor:pointer;list-style:none;font-weight:600}.learn-menu summary:after{content:'⌄';margin-left:8px}.learn-menu>div{position:absolute;z-index:30;top:30px;left:-20px;min-width:230px;padding:15px;background:#fff;border:1px solid #eadfce;border-radius:18px;box-shadow:0 12px 25px #29475618;display:grid;gap:14px}.learn-menu a{white-space:nowrap}.learn-menu summary:focus-visible{outline:3px solid #377f98;outline-offset:5px}
.page-intro{max-width:1160px;margin:32px auto 0;padding:0 28px}.page-intro h1{font-size:clamp(30px,4vw,49px);line-height:1.15;margin:25px 0 10px;letter-spacing:-1px}.page-intro>p{max-width:750px}.page-intro>a,.page-intro>span{font-size:13px}.page-intro[hidden]{display:none!important}body:not([data-view="home"]) main>section{padding-top:35px}body:not([data-view="home"]) .sectionhead h2{font-size:28px}body:not([data-view="home"]) .sectionhead .eyebrow{display:none}body:not([data-view="home"]) .generator-intro h2{font-size:32px}
.home-families,.home-preview,.home-parent{max-width:1160px;margin:0 auto;padding:45px 28px}.home-family-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-family-grid>a{border-radius:24px;padding:22px;color:#254859;text-decoration:none;border:1px solid #e6ddce;transition:transform .2s,box-shadow .2s}.home-family-grid>a:hover,.home-sample-grid>a:hover{transform:translateY(-4px);box-shadow:0 8px 20px #29475614}.home-family-grid .coral{background:#fcebe5}.home-family-grid .blue{background:#e7f0fa}.home-family-grid .mint{background:#e6f3eb}.home-family-grid .gold{background:#fff2cc}.home-family-grid img{object-fit:contain}.home-family-grid h3{font-size:20px;margin:12px 0}.home-family-grid p{font-size:14px;line-height:1.6;min-height:45px}.home-family-grid span{font-size:13px;font-weight:700}.home-sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-sample-grid>a{padding:24px;border-radius:24px;background:#fff;border:1px solid #e8dfd0;text-decoration:none;color:#254859;transition:transform .2s}.home-sample-grid img{display:block;object-fit:contain;margin:0 auto 16px}.home-sample-grid span{font-size:12px;color:#62737c}.home-sample-grid h3{font-size:21px;margin:12px 0}.home-sample-grid p{font-size:14px}.home-sample-grid b{font-size:13px}.home-parent{grid-template-columns:190px 1fr;gap:24px;align-items:center;background:#e8f3ee;border-radius:28px;margin:25px auto 55px}.home-parent h2{font-size:32px}.home-parent p{max-width:650px;line-height:1.65}.home-parent img{object-fit:contain}.home-preview .sectionhead{align-items:center}.home-intro h1{font-size:clamp(36px,5vw,65px)}.home-intro .hero-copy>p{max-width:520px}.home-intro{padding-top:45px;padding-bottom:45px}
@media(max-width:900px){header{gap:18px;align-items:flex-start}header nav{gap:14px}.home-family-grid{grid-template-columns:repeat(2,1fr)}.home-sample-grid{grid-template-columns:1fr}.home-sample-grid>a{display:grid;grid-template-columns:130px 1fr;column-gap:18px}.home-sample-grid img{grid-row:1/5;width:125px;height:110px}.home-parent{margin:24px 20px 45px}.home-preview .sectionhead{align-items:flex-start;gap:12px}}
@media(max-width:600px){header{padding:20px;display:flex;flex-direction:column}header nav{font-size:12px;gap:13px;width:100%;justify-content:flex-start}.learn-menu{font-size:12px}.learn-menu>div{left:-100px}.home-families,.home-preview{padding:30px 20px}.home-family-grid{gap:10px}.home-family-grid>a{padding:15px}.home-family-grid h3{font-size:17px}.home-family-grid p{font-size:13px}.home-family-grid img{width:80px;height:60px}.home-parent{grid-template-columns:1fr;text-align:center;padding:24px}.home-parent img{margin:auto;height:90px}.home-parent h2{font-size:27px}.page-intro{padding:0 20px}.home-preview .sectionhead{display:block}.home-sample-grid>a{grid-template-columns:95px 1fr;padding:18px}.home-sample-grid img{width:90px;height:100px}.home-sample-grid h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.home-family-grid>a,.home-sample-grid>a{transition:none}}

/* Téléphones et tablettes : annuler explicitement les colonnes desktop. */
@media(max-width:900px){
 body[data-view="home"] main>.hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:30px;align-items:start;padding:28px 22px 38px}
 .hero-copy,.home-demo{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 .home-demo{transform:none;max-width:540px;justify-self:center;box-shadow:5px 6px 0 #badfd2}
 body[data-view="home"] main>.levels-section{grid-template-columns:1fr;gap:18px}
 body[data-view="home"] main>.about{grid-template-columns:1fr;gap:25px}
 body[data-view="generateur"] main>.generator{grid-template-columns:1fr;gap:25px}
 .levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:10px}.level{width:100%;min-width:0;height:66px}
 .hero .actions{flex-wrap:wrap;gap:16px}.hero-copy h1{font-size:clamp(34px,6vw,48px);letter-spacing:-1.8px;margin:20px 0}.hero-copy>p{font-size:16px;line-height:1.65}
}
@media(max-width:600px){
 header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;align-items:center;font-size:13px}
 header nav>a,header nav summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 5px;box-sizing:border-box;border-radius:10px;background:#f7f1e8;font-size:12px;text-align:center}
 header nav .learn-menu{grid-row:1;grid-column:3}header nav>a[href="/mon-espace/"]{grid-column:1/3}header nav .navlabel{display:inline}.learn-menu>div{right:0;left:auto;top:48px;min-width:220px;max-width:calc(100vw - 40px)}
 .hero-copy h1{font-size:36px;line-height:1.12}.home-intro .hero-copy>h1>.content-illustration{width:76px;height:51px;margin-bottom:10px}.home-intro .hero-copy>p>.content-illustration{width:54px;height:40px;margin-right:10px}
 .hero .actions{display:grid;grid-template-columns:1fr;margin:22px 0}.hero .actions>.btn{width:100%;min-height:48px;box-sizing:border-box;font-size:15px}.hero .actions>.textlink{display:block;padding:10px 0;font-size:14px}.home-promises{gap:8px;flex-wrap:wrap}.home-promises>span{font-size:12px;padding:10px 12px}.trust{flex-wrap:wrap;gap:8px;font-size:10px}
 .demo-top{padding:14px 12px;flex-wrap:wrap;font-size:10px;gap:8px}.demo-top strong{font-size:11px;white-space:nowrap;padding:7px 9px}.demo-stage{min-height:350px;padding:18px 16px}.demo-scene h2{font-size:22px;line-height:1.25;overflow-wrap:normal}.demo-scene p{font-size:14px;line-height:1.6}.demo-illustration{height:170px;max-width:100%;box-sizing:border-box}.demo-levels{padding:20px 12px 12px;gap:7px}.demo-levels>span{font-size:13px;padding:9px 3px}.demo-subjects{font-size:10px;line-height:1.5}.home-demo #heroCompanion{width:60px;height:60px;right:5px;top:0}.demo-controls{padding:10px 12px;flex-wrap:wrap;gap:10px}.demo-controls button{min-height:40px}.demo-caption{padding:0 12px;font-size:12px}
 .toolbar{flex-wrap:wrap}.toolbar .search{width:100%;flex-basis:100%;min-width:0}.toolbar select{width:100%;min-width:0;max-width:100%;min-height:44px}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.formgrid select{width:100%;min-height:46px}.generator form{min-width:0;padding:22px 18px}
 .page-intro h1{font-size:30px;line-height:1.2;letter-spacing:-.6px}.family-button{min-height:76px}.chip{min-height:40px}.category-strip{gap:8px}.catalogue .resultline{align-items:flex-start;gap:10px;flex-wrap:wrap}.home-parent h2{line-height:1.25}.home-family-grid>a{min-width:0}.home-family-grid h3{overflow-wrap:normal}.home-family-grid p{min-height:0}.home-sample-grid>a{min-width:0}.home-sample-grid h3{line-height:1.3}
 dialog .modalbody{grid-template-columns:1fr;display:grid}dialog .modalbody aside{min-width:0}.modalbody .preview{min-width:0;max-width:100%;overflow:auto}.modalbody .preview canvas{max-width:100%;height:auto}dialog .btn{min-height:44px}input,select,textarea{font-size:16px!important}
}
@media(max-width:360px){.hero-copy h1{font-size:32px}.home-family-grid{grid-template-columns:1fr}.home-family-grid>a{display:block}.home-family-grid img{float:right}.home-sample-grid>a{grid-template-columns:1fr}.home-sample-grid img{grid-row:auto;width:120px;height:90px}.demo-top{display:grid}.demo-top strong{justify-self:start}.demo-levels{gap:5px}.demo-stage{padding:16px 12px}}

/* Consultation d’une fiche dans une page complète, sans fenêtre superposée. */
.worksheet-page{display:block;max-width:1160px;margin:25px auto;padding:0!important;background:white;border:1px solid #e4dfd4;border-radius:20px;overflow:hidden}.worksheet-page .modalbody{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.worksheet-page .modalbody aside{min-width:0}.worksheet-page .preview{min-width:0;flex-direction:column;align-items:center}.worksheet-page .preview canvas{max-width:560px;width:100%;height:auto}.worksheet-advice{max-width:970px;margin:35px auto;padding:28px!important;background:#eaf4ee;border-radius:20px;line-height:1.75}.worksheet-advice h2{font-size:26px}.worksheet-advice a{display:inline-block;padding:12px 0;font-weight:600}@media(max-width:700px){.worksheet-page{margin:20px 12px}.worksheet-page .modalbody{grid-template-columns:minmax(0,1fr)}.worksheet-page .modalbody aside{padding:22px}.worksheet-page .preview{padding:18px}.worksheet-advice{margin:30px 16px;padding:22px!important}.worksheet-page .modalhead{padding:14px 20px}}@media print{.worksheet-page .modalhead,.worksheet-page aside,.worksheet-advice{display:none!important}}
