/* GoMathy V67 — SVT : densité utile et rendu interactif optimisé
   - les outils intégrés occupent toute la largeur du cours ;
   - aucune carte de cours n'est étirée pour égaler la hauteur d'un outil ;
   - atlas/planche : contrôles compacts et surface scientifique mieux exploitée ;
   - mission guidée plus courte sur desktop ;
   - fallback tablette/mobile sans écrasement. */

/* ===== Cours : supprimer les énormes zones vides liées au stretch CSS Grid ===== */
.svt-course-main{align-items:start!important;grid-auto-flow:row!important}
.svt-course-main>.svt-course-section{align-self:start!important;min-height:0!important;height:auto!important}
.svt-course-main>.gm58-course-tool-card{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
  align-self:start!important;
  margin:2px 0 18px!important;
}

/* ===== Outil intégré : une hiérarchie plus dense, sans doubles bandeaux ===== */
.gm58-course-tool-card{border-radius:20px!important;box-shadow:0 10px 26px rgba(11,105,82,.075)!important}
.gm58-course-tool-card>header{
  padding:13px 17px!important;
  gap:14px!important;
  align-items:center!important;
}
.gm58-course-tool-card>header small{font-size:.61rem!important;letter-spacing:.115em!important}
.gm58-course-tool-card>header h3{margin:3px 0 2px!important;font-size:1.08rem!important;line-height:1.18!important}
.gm58-course-tool-card>header p{font-size:.79rem!important;line-height:1.38!important;max-width:980px!important}
.gm58-course-tool-card>header>span{padding:5px 9px!important;font-size:.69rem!important}
.gm58-course-tool-host{padding:10px 14px 14px!important}
.gm58-course-tool-card .gm61-tool-banner{display:none!important}
.gm58-svt-embedded .gm58-embedded-tool-head{
  margin:0 0 8px!important;
  padding:8px 11px!important;
  border-radius:12px!important;
}
.gm58-svt-embedded .gm58-embedded-tool-head small{font-size:.56rem!important;letter-spacing:.11em!important}
.gm58-svt-embedded .gm58-embedded-tool-head h3{margin-top:1px!important;font-size:.9rem!important}
.gm58-svt-embedded .gm58-embedded-tool-head>span{padding:4px 8px!important;font-size:.62rem!important}

/* Mission : sur grand écran, les trois étapes sont à gauche et les résultats à droite. */
@media (min-width:1100px){
  .gm59-mission{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr)!important;
    grid-template-rows:auto auto auto!important;
    margin:10px 14px 0!important;
    border-radius:15px!important;
  }
  .gm59-mission>header{grid-column:1/-1!important;padding:9px 12px!important}
  .gm59-mission>header small{font-size:.57rem!important}
  .gm59-mission>header h4{margin-top:2px!important;font-size:.87rem!important}
  .gm59-mission-grid{
    grid-column:1!important;
    grid-row:2/4!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    padding:8px!important;
  }
  .gm59-mission-grid article{gap:7px!important;padding:8px 9px!important;border-radius:11px!important}
  .gm59-mission-grid article>span{width:22px!important;height:22px!important;flex-basis:22px!important;font-size:.7rem!important}
  .gm59-mission-grid b{font-size:.69rem!important}
  .gm59-mission-grid p{margin-top:2px!important;font-size:.68rem!important;line-height:1.34!important}
  .gm59-live{
    grid-column:2!important;
    grid-row:2!important;
    margin:8px 8px 4px 0!important;
    padding:8px 9px!important;
    border-radius:10px!important;
  }
  .gm59-live b{font-size:.67rem!important}
  .gm59-live span{font-size:.68rem!important;line-height:1.32!important}
  .gm59-conclusion{
    grid-column:2!important;
    grid-row:3!important;
    margin:4px 8px 8px 0!important;
    padding:7px 9px!important;
    border-radius:10px!important;
  }
  .gm59-conclusion summary{font-size:.68rem!important}
  .gm59-conclusion p{font-size:.7rem!important;line-height:1.38!important}
}

/* Le laboratoire embarqué exploite réellement la largeur retrouvée. */
@media (min-width:1050px){
  .gm58-svt-embedded .g82-svt-stage{
    grid-template-columns:285px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:390px!important;
  }
  .gm58-svt-embedded .g82-svt-controls,
  .gm58-svt-embedded .g82-svt-visual{min-height:380px!important}
  .gm58-svt-embedded .g82-geo-main{min-height:0!important}
  .gm58-svt-embedded .g82-geo-main svg{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:490px!important;
    margin:auto!important;
  }
}

/* ===== Atlas : header et navigation plus compacts et réellement alignés ===== */
.svt-v125-atlas{margin-bottom:14px!important;border-radius:20px!important}
.svt-v125-atlas>header{padding:11px 14px 9px!important;gap:12px!important}
.svt-v125-atlas>header>div:first-child{min-width:0!important}
.svt-v125-atlas header p{font-size:.55rem!important;letter-spacing:.13em!important}
.svt-v125-atlas h3{margin:2px 0!important;font-size:1.08rem!important;line-height:1.12!important}
.svt-v125-atlas header span{font-size:.67rem!important;line-height:1.3!important}
.svt-v125-pane{padding:9px 11px 11px!important}
.svt-v125-plate{padding:4px!important;border-radius:15px!important}
.svt-v125-caption{margin-top:5px!important;padding:6px 8px!important;font-size:.66rem!important}

@media (min-width:1200px){
  .svt-v125-atlas>header{
    display:grid!important;
    grid-template-columns:minmax(330px,405px) minmax(0,1fr)!important;
    align-items:center!important;
  }
  .svt-v125-tabs{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:5px!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }
  .svt-v125-tabs button{
    min-width:0!important;
    width:100%!important;
    padding:6px 4px!important;
    min-height:38px!important;
    border-radius:999px!important;
    font-size:.61rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
}

/* ===== Planche V126 : contrôles compacts + vraie utilisation de la largeur ===== */
.svt126-pro-wrap{gap:6px!important}
.svt126-pro-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
}
.svt126-pro-toolbar b{font-size:.68rem!important}
.svt126-pro-toolbar span{font-size:.62rem!important;max-width:none!important}
.svt126-pro-toolbar small{font-size:.53rem!important;line-height:1.25!important}
.svt126-pro-toolbar>button{padding:6px 8px!important;border-radius:9px!important;font-size:.62rem!important}
.svt126-zoom{margin-left:0!important;gap:5px!important}
.svt126-zoom button{width:27px!important;height:27px!important;font-size:15px!important;border-radius:8px!important}
.svt126-zoom label{gap:5px!important;font-size:.55rem!important}
.svt126-zoom input{width:88px!important;height:20px!important}
.svt126-diagram-viewport{
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  padding:5px 8px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#f8fcfd 0%,#f2f8f7 55%,#f8fafc 100%)!important;
}
.svt126-diagram-stage{
  width:min(100%,1180px)!important;
  min-width:0!important;
  margin:0 auto!important;
  transform-origin:50% 50%!important;
}
.svt126-svg{display:block!important;width:100%!important;height:auto!important}
.svt126-hotspot span{width:27px!important;height:27px!important;border-width:2px!important}
.svt126-hotspot i{font-size:.59rem!important;padding:4px 7px!important}
.svt126-spot-card{
  min-height:0!important;
  padding:6px 9px!important;
  border-radius:10px!important;
  grid-template-columns:auto minmax(0,1fr)!important;
}
.svt126-spot-card b,.svt126-spot-card p{font-size:.62rem!important;line-height:1.3!important}

/* La coupe tectonique V67 est panoramique : on laisse sa largeur faire le travail. */
.svt126-pro-wrap[data-svt126-mode="tectonics"] .svt126-diagram-stage{width:min(100%,1240px)!important}
.svt126-pro-wrap[data-svt126-mode="tectonics"] .svt126-diagram-viewport{overflow:hidden!important}

/* ===== Tablette et mobile : pas de grille forcée, pas de texte minuscule ===== */
@media (max-width:1099px){
  .gm58-course-tool-card>header{align-items:flex-start!important;flex-direction:column!important}
  .gm59-mission{display:block!important}
  .gm58-svt-embedded .g82-svt-stage{min-height:0!important}
  .svt126-pro-toolbar{grid-template-columns:1fr auto!important}
  .svt126-zoom{grid-column:1/-1!important;justify-content:flex-start!important}
}
@media (max-width:760px){
  .svt-course-main{grid-template-columns:1fr!important}
  .svt-course-main>.gm58-course-tool-card{grid-column:1!important}
  .gm58-course-tool-host{padding:8px!important}
  .gm58-svt-embedded .gm58-embedded-tool-head{align-items:flex-start!important;flex-direction:column!important}
  .svt-v125-tabs{display:flex!important;overflow-x:auto!important;justify-content:flex-start!important}
  .svt-v125-tabs button{flex:0 0 auto!important;min-height:36px!important;font-size:.64rem!important}
  .svt126-pro-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important}
  .svt126-zoom{width:100%!important}
  .svt126-diagram-viewport{justify-content:flex-start!important;overflow:auto!important}
  .svt126-diagram-stage{width:760px!important;min-width:760px!important}
}

@media print{
  .gm59-mission,.gm58-course-tool-card,.svt126-pro-toolbar{display:none!important}
}
