/* GoMathy V71 — SVT Finition visuelle premium
   Objectif : une expérience de manuel numérique haut de gamme, plus lisible,
   moins “empilement de cartes”, avec un schéma maître réellement central. */

.svt-course-shell.gm70-reference{
  --gm71-ink:#122f28;
  --gm71-ink-2:#24473d;
  --gm71-muted:#63756f;
  --gm71-green:#08715b;
  --gm71-green-2:#159171;
  --gm71-mint:#e9f6f1;
  --gm71-paper:#ffffff;
  --gm71-soft:#f6faf8;
  --gm71-line:#d8e6e1;
  --gm71-blue:#3f708e;
  --gm71-shadow:0 18px 48px rgba(20,66,55,.075);
  --gm71-shadow-soft:0 9px 28px rgba(20,66,55,.055);
  color:var(--gm71-ink);
}

/* ===================== Ouverture de chapitre ===================== */
.gm70-reference .svt-course-hero{
  border:1px solid #bddbd0!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 94% 7%,rgba(22,150,113,.115),transparent 27%),
    radial-gradient(circle at 73% 110%,rgba(66,111,143,.055),transparent 35%),
    linear-gradient(135deg,#f1faf6 0%,#ffffff 54%,#f7fafc 100%)!important;
  box-shadow:0 20px 54px rgba(17,72,58,.085)!important;
}
.gm70-reference .svt-course-title{letter-spacing:-.024em!important;color:#102d25!important}
.gm70-reference .svt-course-summary{font-size:.86rem!important;line-height:1.62!important;color:#3f5a52!important;max-width:1120px!important}
.gm70-reference .svt-course-kicker,.gm70-reference .svt-course-meta{letter-spacing:.08em!important}

.gm70-reference .gm68-dashboard{
  margin:16px 0 18px!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:var(--gm71-shadow-soft)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
}
.gm70-reference .gm68-dashboard-head{padding:15px 18px!important;background:linear-gradient(90deg,#f2f9f6 0%,#fff 72%)!important}
.gm70-reference .gm68-dashboard-head small{font-size:.62rem!important;letter-spacing:.115em!important}
.gm70-reference .gm68-dashboard-head h3{font-size:1.06rem!important;letter-spacing:-.012em!important}
.gm70-reference .gm68-dashboard-grid{gap:12px!important;padding:12px!important}
.gm70-reference .gm68-focus-card,.gm70-reference .gm68-core-card{
  border:1px solid #e0ebe7!important;
  border-radius:18px!important;
  padding:16px 17px!important;
  box-shadow:none!important;
}
.gm70-reference .gm68-focus-card{background:linear-gradient(140deg,#edf8f3 0%,#fff 72%)!important;border-color:#c7e2d8!important}
.gm70-reference .gm68-focus-card h4{font-size:1.08rem!important;letter-spacing:-.012em!important}
.gm70-reference .gm68-focus-card>p{font-size:.82rem!important;line-height:1.56!important}
.gm70-reference .gm68-core-list p{font-size:.78rem!important;line-height:1.48!important}
.gm70-reference .gm68-dashboard-foot{padding:10px 14px!important;background:#fbfdfc!important}

/* ===================== Schéma maître ===================== */
.gm70-master{
  position:relative;
  margin:18px 0 26px!important;
  border:0!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 24px 68px rgba(18,66,54,.105)!important;
  overflow:hidden!important;
}
.gm70-master:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#08715b 0%,#39aa88 48%,#5a84a3 100%);
  z-index:3;
}
.gm70-master>header{
  position:relative;
  padding:20px 22px 18px!important;
  gap:22px!important;
  border-bottom:1px solid #e3ece8!important;
  background:
    radial-gradient(circle at 86% 0,rgba(17,137,104,.09),transparent 32%),
    linear-gradient(115deg,#f0f9f5 0%,#fff 68%)!important;
}
.gm70-master>header small{font-size:.63rem!important;letter-spacing:.12em!important;color:#08715b!important}
.gm70-master>header h3{margin-top:6px!important;font-size:1.28rem!important;line-height:1.18!important;letter-spacing:-.026em!important;color:#112f27!important}
.gm70-master>header p{margin-top:7px!important;max-width:900px!important;font-size:.79rem!important;line-height:1.56!important;color:#566d65!important}

.gm70-master-controls{
  gap:3px!important;
  padding:3px;
  border:1px solid #d4e4de;
  border-radius:999px;
  background:rgba(244,249,247,.95);
  align-self:flex-start;
}
.gm70-master-controls button{
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  padding:8px 11px!important;
  font-size:.66rem!important;
  color:#426259!important;
  box-shadow:none!important;
}
.gm70-master-controls button:hover{background:#fff!important;color:#0b6d57!important;transform:none!important}
.gm70-master-controls button[aria-pressed="true"]{background:#fff!important;color:#086b55!important;box-shadow:0 3px 10px rgba(17,80,63,.08)!important}

.gm70-figure-shell{
  margin:14px 14px 0!important;
  border:1px solid #d9e8e3!important;
  border-radius:23px!important;
  background:
    radial-gradient(circle at 50% -12%,rgba(255,255,255,.98),rgba(248,252,250,.98) 50%,#f1f7f5 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.gm70-figure-top{padding:10px 14px!important;background:rgba(255,255,255,.84)!important}
.gm70-figure-top span{font-size:.66rem!important;letter-spacing:.085em!important}
.gm70-figure-top em{font-size:.59rem!important;color:#7c8d87!important}
.gm70-master svg{
  max-height:560px!important;
  filter:drop-shadow(0 16px 28px rgba(22,62,52,.045))!important;
}
.gm70-master[data-focus]:not([data-focus="0"]) [data-gm70-svg-step]{opacity:.10!important}
.gm70-master[data-focus="1"] [data-gm70-svg-step="1"],
.gm70-master[data-focus="2"] [data-gm70-svg-step="2"],
.gm70-master[data-focus="3"] [data-gm70-svg-step="3"],
.gm70-master[data-focus="4"] [data-gm70-svg-step="4"]{
  opacity:1!important;
  filter:drop-shadow(0 10px 14px rgba(8,113,91,.18))!important;
}

/* Rail : davantage éditorial, moins “4 cartes identiques”. */
.gm70-steprail{gap:10px!important;padding:13px 14px 12px!important;background:#fff!important}
.gm70-steprail>button{
  position:relative;
  min-height:96px!important;
  padding:12px 12px 12px 13px!important;
  border:1px solid #e0ebe7!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#fff,#fbfdfc)!important;
  box-shadow:0 5px 16px rgba(20,67,55,.035)!important;
}
.gm70-steprail>button:before{
  content:"";
  position:absolute;
  left:0;top:13px;bottom:13px;
  width:3px;border-radius:0 3px 3px 0;
  background:#cfe5dd;
  transition:background .18s ease;
}
.gm70-steprail>button:hover{transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(20,67,55,.065)!important}
.gm70-steprail>button[aria-pressed="true"]{
  border-color:#9fcfbe!important;
  background:linear-gradient(145deg,#eff9f5,#fff)!important;
  box-shadow:0 12px 26px rgba(9,106,83,.09)!important;
}
.gm70-steprail>button[aria-pressed="true"]:before{background:#0b7a60}
.gm70-steprail>button>span{width:31px!important;height:31px!important;border-radius:10px!important;font-size:.71rem!important}
.gm70-steprail small{font-size:.61rem!important;letter-spacing:.075em!important;color:#28584c!important}
.gm70-steprail p{margin-top:5px!important;font-size:.70rem!important;line-height:1.48!important;color:#5b7069!important}

/* Chaîne de preuve : un bandeau cohérent, sans sensation de trois petites boîtes flottantes. */
.gm70-evidence{
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)!important;
  gap:8px!important;
  padding:12px 14px 15px!important;
  border-top:1px solid #e6efeb;
  background:linear-gradient(180deg,#f8fbfa,#f3f8f6)!important;
}
.gm70-evidence article{
  padding:12px 13px!important;
  border:0!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 4px 13px rgba(21,64,54,.045)!important;
}
.gm70-evidence article>span{width:27px!important;height:27px!important;border-radius:9px!important;font-size:.66rem!important}
.gm70-evidence small{font-size:.56rem!important;letter-spacing:.075em!important}
.gm70-evidence p{font-size:.69rem!important;line-height:1.48!important;color:#425d55!important}
.gm70-evidence>i{color:#6ea897!important;font-size:1rem!important}

/* ===================== Navigation et sections ===================== */
.gm70-reference .svt-course-outline{
  margin:12px 0 18px!important;
  padding:6px!important;
  border:1px solid #dce8e4!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 22px rgba(20,69,57,.045)!important;
}
.gm70-reference .svt-course-outline a{padding:8px 9px!important;font-size:.73rem!important}
.gm70-reference .svt-course-outline a:hover{background:#edf7f3!important}

.gm70-reference .svt-course-main{gap:18px!important}
.gm70-reference .svt-course-section{
  position:relative;
  align-self:start!important;
  padding:19px 19px 17px!important;
  border:0!important;
  border-radius:23px!important;
  background:linear-gradient(180deg,#fff 0%,#fcfefd 100%)!important;
  box-shadow:0 14px 38px rgba(20,64,53,.065)!important;
  overflow:hidden;
}
.gm70-reference .svt-course-section:before{
  width:5px!important;
  background:linear-gradient(180deg,#08715b 0%,#59aa92 58%,#c8e2d8 100%)!important;
}
.gm70-reference .svt-course-section:after{
  content:"";
  position:absolute;
  top:0;right:0;
  width:150px;height:90px;
  background:radial-gradient(circle at 100% 0,rgba(11,121,94,.055),transparent 65%);
  pointer-events:none;
}
.gm70-reference .svt-section-heading{
  grid-template-columns:auto auto minmax(0,1fr) auto!important;
  gap:11px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #e6efeb!important;
}
.gm70-reference .svt-section-heading>span{width:37px!important;height:37px!important;flex-basis:37px!important;border-radius:12px!important;background:#f6faf8!important}
.gm70-reference .gm68-section-index span{font-size:1.10rem!important}
.gm70-reference .svt-section-heading h3{font-size:1.03rem!important;line-height:1.24!important;letter-spacing:-.012em!important;color:#18372f!important}
.gm70-reference .svt-section-heading p{font-size:.59rem!important;color:#7c8d87!important}
.gm70-section-link{
  padding:5px 9px!important;
  border-color:#d7e6e1!important;
  background:#f8fbfa!important;
  color:#46665d!important;
  font-size:.59rem!important;
}
.gm70-section-link:hover{background:#eef8f4!important;border-color:#aad1c4!important;color:#0b6b56!important}

.gm70-reference .gm61-section .svt-course-points{
  gap:10px!important;
  margin-top:13px!important;
}
.gm70-reference .gm61-section .svt-course-points>li{
  padding:12px 13px!important;
  border-radius:13px!important;
  border:1px solid #e0ebe7!important;
  background:#fbfdfc!important;
  font-size:.84rem!important;
  line-height:1.60!important;
  color:#29483f!important;
}
.gm70-reference .gm61-section .svt-course-points>li.gm61-key{
  padding:13px 14px!important;
  border-color:#b9ddd0!important;
  background:linear-gradient(100deg,#edf8f4,#fff)!important;
  font-size:.87rem!important;
  color:#173f34!important;
}
.gm70-reference .gm61-section .svt-course-points>li.gm61-precision{background:#fafcfb!important;color:#526861!important}
.gm70-reference .gm61-point-label{margin-bottom:5px!important;font-size:.56rem!important;letter-spacing:.105em!important}
.gm70-reference .gm61-selfcheck{
  margin-top:10px!important;
  border:1px solid #dde9e5!important;
  border-radius:12px!important;
  background:#f8fbfa!important;
}
.gm70-reference .gm61-selfcheck summary{padding:8px 10px!important;font-size:.67rem!important}
.gm70-reference .gm61-selfcheck>div{padding:9px 11px!important;font-size:.72rem!important;line-height:1.5!important}

/* ===================== Blocs transversaux ===================== */
.gm70-reference .gm68-proofline,
.gm70-reference .svt-vocabulary-card,
.gm70-reference .svt-method-card,
.gm70-reference .svt-example-card,
.gm70-reference .svt-activity-card,
.gm70-reference .svt-takeaway-card,
.gm70-reference .svt-pitfall-card{
  border:0!important;
  border-radius:23px!important;
  box-shadow:0 12px 34px rgba(20,64,53,.055)!important;
}
.gm70-reference .gm68-proofline{padding:18px!important;background:linear-gradient(135deg,#f7fbf9,#fff)!important}
.gm70-reference .gm68-proofline h3{font-size:1.07rem!important}
.gm70-reference .gm68-proofline>header p{font-size:.73rem!important;line-height:1.45!important}
.gm70-reference .gm68-proofgrid article{padding:13px 13px 12px 43px!important;border-radius:15px!important}
.gm70-reference .gm68-proofgrid article>p{font-size:.74rem!important;line-height:1.5!important}
.gm70-reference .gm68-proofgrid article>small{font-size:.56rem!important}

.gm70-reference .svt-vocabulary-card,.gm70-reference .svt-method-card{padding:20px!important;gap:18px!important}
.gm70-reference .svt-definition-grid h4{font-size:.79rem!important}
.gm70-reference .svt-definition-grid p,.gm70-reference .svt-method-steps p{font-size:.72rem!important;line-height:1.5!important}
.gm70-reference .svt-example-card,.gm70-reference .svt-activity-card{padding:19px!important}
.gm70-reference .svt-example-situation,.gm70-reference .svt-activity-objective,.gm70-reference .svt-example-reasoning,.gm70-reference .svt-example-conclusion,.gm70-reference .svt-activity-expected{font-size:.73rem!important;line-height:1.52!important}

/* ===================== Parcours média ===================== */
.gm70-media{
  margin:22px 0 16px!important;
  border:0!important;
  border-radius:26px!important;
  box-shadow:0 16px 42px rgba(20,64,53,.065)!important;
}
.gm70-media>header{padding:17px 19px!important;background:linear-gradient(90deg,#f3faf7,#fff)!important}
.gm70-media>header small{font-size:.60rem!important;letter-spacing:.11em!important}
.gm70-media>header h3{font-size:1.08rem!important;letter-spacing:-.014em!important}
.gm70-media>header p{font-size:.72rem!important;line-height:1.5!important}
.gm70-media>header>span{font-size:.59rem!important;padding:6px 9px!important}
.gm70-media-grid{grid-template-columns:1.10fr 1fr 1fr!important;gap:10px!important;padding:12px!important}
.gm70-media-card{
  min-height:126px!important;
  padding:13px!important;
  border:1px solid #e0ebe7!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fbfdfc)!important;
  box-shadow:0 4px 14px rgba(17,69,56,.035)!important;
}
.gm70-media-card:first-child{border-color:#c7e2d8!important;background:linear-gradient(145deg,#f2faf7,#fff)!important}
.gm70-media-card:hover{transform:translateY(-2px)!important;box-shadow:0 12px 27px rgba(17,69,56,.08)!important}
.gm70-media-icon{width:42px!important;height:42px!important;border-radius:13px!important;font-size:1rem!important}
.gm70-media-rank{width:26px!important;height:26px!important;font-size:.63rem!important}
.gm70-media-copy small{font-size:.55rem!important}
.gm70-media-copy b{font-size:.76rem!important;line-height:1.34!important}
.gm70-media-copy p{font-size:.64rem!important;line-height:1.42!important}
.gm70-media-copy em{font-size:.58rem!important}
.gm70-media-card>span{font-size:.57rem!important}
.gm70-media>footer{padding:0 15px 13px!important;font-size:.59rem!important;line-height:1.45!important}

/* ===================== Outils / atlas ===================== */
.gm70-reference .gm58-course-tool-card{
  border:0!important;
  border-radius:24px!important;
  box-shadow:0 16px 42px rgba(13,77,60,.075)!important;
  overflow:hidden!important;
}
.gm70-reference .gm58-course-tool-card>header{padding:15px 18px!important;background:linear-gradient(90deg,#f2faf6,#fff)!important}
.gm70-reference .gm58-course-tool-card>header h3{font-size:1.12rem!important;letter-spacing:-.014em!important}
.gm70-reference .gm58-course-tool-card>header p{font-size:.80rem!important;line-height:1.5!important}
.gm70-reference .gm58-course-tool-host{padding:12px 15px 16px!important;background:#fbfdfc!important}
.gm70-reference .gm59-mission{border-radius:17px!important;border-color:#d6e7e1!important;box-shadow:none!important;background:#fff!important}
.gm70-reference .gm59-mission-grid article{background:#fbfdfc!important}
.gm70-reference .g82-svt-visual{border-radius:18px!important;background:linear-gradient(145deg,#f8fcfb,#eef6f3)!important;box-shadow:inset 0 0 0 1px #dce9e4!important}

.gm70-reference .svt-v125-atlas,
.gm70-reference .gm69-atlas{
  border:0!important;
  border-radius:25px!important;
  box-shadow:0 18px 48px rgba(20,64,53,.07)!important;
  overflow:hidden!important;
}
.gm70-reference .svt126-diagram-viewport{
  background:
    radial-gradient(circle at 50% 0,#fff 0%,#f4f9f7 58%,#edf5f2 100%)!important;
  box-shadow:inset 0 0 0 1px #d9e7e2!important;
}
.gm70-reference .svt126-pro-toolbar{background:rgba(255,255,255,.95)!important;border-color:#dbe9e4!important}

/* Focus clavier et ancrages */
.gm70-reference [data-gm70-master],
.gm70-reference .svt-course-section,
.gm70-reference .gm58-course-tool-card{scroll-margin-top:104px}
.gm70-reference button:focus-visible,.gm70-reference a:focus-visible{outline:3px solid rgba(8,113,91,.34)!important;outline-offset:3px!important}

/* ===================== Responsive ===================== */
@media(min-width:1500px){
  .gm70-master>header{padding:22px 25px 20px!important}
  .gm70-master svg{max-height:610px!important}
  .gm70-reference .svt-course-section{padding:21px 21px 19px!important}
  .gm70-reference .gm61-section .svt-course-points>li{font-size:.87rem!important}
}
@media(max-width:1180px){
  .gm70-media-grid{grid-template-columns:1fr!important}
  .gm70-media-card{min-height:0!important}
  .gm70-evidence{grid-template-columns:1fr!important}
  .gm70-evidence>i{height:15px!important;transform:rotate(90deg)!important}
}
@media(max-width:760px){
  .gm70-master{border-radius:22px!important;margin-bottom:18px!important}
  .gm70-master>header{padding:16px!important}
  .gm70-master>header h3{font-size:1.12rem!important}
  .gm70-master>header p{font-size:.76rem!important}
  .gm70-master-controls{width:100%!important;border-radius:15px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .gm70-master-controls button{padding:8px 6px!important;font-size:.60rem!important}
  .gm70-figure-shell{margin:9px 9px 0!important;border-radius:17px!important}
  .gm70-steprail{padding:9px!important}
  .gm70-steprail>button{min-height:0!important}
  .gm70-reference .svt-course-section{padding:15px!important;border-radius:18px!important}
  .gm70-reference .svt-section-heading{grid-template-columns:auto auto minmax(0,1fr)!important}
  .gm70-section-link{grid-column:3!important;justify-self:start!important;margin-top:3px!important}
  .gm70-reference .gm61-section .svt-course-points>li{font-size:.81rem!important;line-height:1.55!important}
  .gm70-media{border-radius:20px!important}
  .gm70-media>header{padding:14px!important}
  .gm70-media-grid{padding:9px!important}
  .gm70-reference .gm58-course-tool-card{border-radius:19px!important}
}
@media(prefers-reduced-motion:reduce){
  .gm70-steprail>button,.gm70-media-card,.gm70-master-controls button{transition:none!important}
}
@media print{
  .gm70-master,.gm70-reference .svt-course-section,.gm70-reference .gm68-proofline{box-shadow:none!important}
}
