*{box-sizing:border-box} :root{--y:#b9ef00;--bg:#030506;--p:#0b1013;--p2:#171d21;--l:#30383e;--t:#f4f5f5;--m:#c1c5c8} html,body{margin:0;background:#020304;color:var(--t);font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif}button{font:inherit}.pages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:7px;min-height:100vh}.screen{height:calc(100vh - 14px);border:1px solid #5a6064;border-radius:22px;overflow:hidden;background:linear-gradient(#05080a,#091014);position:relative}.home header{height:80px;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid #161b1f}.logo{width:210px;height:60px;object-fit:contain;object-position:left}.current{text-align:right;font-size:26px}.current span{display:block;color:var(--y);font-size:11px;font-weight:900}.current b{font-size:22px}.home main{padding:15px 18px 72px;height:calc(100% - 80px);overflow:auto}.program{display:flex;justify-content:space-between;align-items:center}.program small{font-weight:bold}.program h1{font-size:28px;margin:5px 0 12px}.program button,.launch button,.animate{background:var(--y);border:0;border-radius:9px;padding:13px 18px;font-weight:1000}.summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}.summary>div{background:var(--p2);border:1px solid var(--l);border-radius:10px;padding:13px;display:flex;gap:14px;align-items:center;font-size:28px}.summary span{font-size:11px}.summary b{display:block;font-size:17px;margin-top:5px}.green{color:#78d83f}.exercise{display:grid;grid-template-columns:34px 1fr 112px 24px;gap:9px;align-items:center;background:var(--p);border:1px solid var(--l);border-radius:10px;padding:8px;margin-bottom:8px;min-height:94px}.exercise.active{border:2px solid var(--y)}.n{background:#eee;color:#111;border-radius:6px;text-align:center;padding:6px;font-weight:1000;font-size:18px}.active .n{background:var(--y)}.exercise strong{font-size:15px}.exercise small{display:block;font-size:12px;line-height:1.5;color:#ddd;margin-top:4px}.exercise img{width:112px;height:75px;object-fit:cover;border-radius:7px}.check{font-size:25px;color:var(--y)}.launch{display:grid;grid-template-columns:1fr 64px;gap:12px;margin-top:12px}.launch .gear{background:#1b2227;color:white;font-size:22px}.home nav{position:absolute;bottom:0;left:0;right:0;height:60px;background:#080c0f;border-top:1px solid #22282d;display:grid;grid-template-columns:repeat(5,1fr)}nav b{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;font-size:18px}nav b:first-child{color:var(--y)}nav small{font-size:9px;margin-top:3px}.top{height:55px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid #1d2226;padding:0 12px}.top button{background:none;border:0;color:white;font-size:27px}.top>b{text-align:center;color:var(--y);font-size:17px}.top span{font-size:29px;color:var(--y)}.detail main{height:calc(100% - 55px);overflow:auto;padding:8px 14px 14px}.detail main>h1{font-size:27px;margin:4px 0 8px}.tags{font-size:12px;border-bottom:1px solid #283036;padding-bottom:7px}.tags em{float:right;color:#75d63f;border:1px solid #315c22;border-radius:6px;padding:6px;font-style:normal}.poly{font-size:11px;color:#bbb;margin:7px 0}.card{border:1px solid var(--l);border-radius:10px;background:#091013;padding:9px;margin-top:10px}.card h2{color:var(--y);font-size:13px;margin:0 0 8px}.positions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.positions article{background:linear-gradient(#24292c,#171c1f);border-radius:8px;overflow:hidden}.positions h3{font-size:10px;margin:0;padding:7px}.positions h3 i{font-style:normal;background:var(--y);color:#111;padding:5px 7px;border-radius:5px}.positions img{width:100%;height:205px;object-fit:cover}.positions p{font-size:10px;line-height:1.45;padding:0 8px 8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.steps article{background:#0b1013;border:1px solid #272f34;border-radius:7px;overflow:hidden}.steps img{width:100%;height:82px;object-fit:cover}.steps b{display:block;color:white;font-size:9px;padding:3px 5px}.steps b:first-letter{color:var(--y)}.steps p{font-size:8.5px;line-height:1.35;padding:0 5px 5px;margin:2px 0}.advice{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:7px;margin-top:8px}.advice article{padding:8px;border-radius:7px;font-size:9px;line-height:1.4}.advice p{margin:5px 0}.ok{border:1px solid #32702e;background:#08150a}.ok b{color:#75d63f}.bad{border:1px solid #7b302c;background:#180a0a}.bad b{color:#ff5048}.tip{border:1px solid #2e6786;background:#07131a}.tip b{color:#48a9ff}.musclebar{display:grid;grid-template-columns:70px 1.3fr repeat(3,1fr);align-items:center;border:1px solid #725800;border-radius:8px;margin-top:8px;padding:5px}.musclebar img{width:65px;height:60px;object-fit:cover}.musclebar strong{color:var(--y);font-size:11px}.musclebar span{font-size:10px}.musclebar span b{display:block;color:var(--y)}.musclebar small{display:block}.dots{text-align:center;color:var(--y);letter-spacing:7px;margin:8px}.practical>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.practical span{font-size:22px;color:var(--y)}.practical small,.practical b{display:block;color:white;font-size:9px;margin-top:4px}.muscles>div{display:grid;grid-template-columns:45% 1fr;align-items:center}.muscles img{width:100%;height:205px;object-fit:cover}.muscles p{font-size:12px;line-height:1.35}.muscles small{color:#bbb}.equipment{font-size:13px;line-height:1.7}.execution p{font-size:10px;line-height:1.8}.yellowtip{background:linear-gradient(90deg,#a77900,var(--y));color:#111;border-radius:9px;padding:13px;display:grid;grid-template-columns:42px 1fr;align-items:center;margin-top:10px;font-size:27px}.yellowtip b{display:block;font-size:12px}.yellowtip small{display:block;font-size:9px;line-height:1.5}.animate{width:100%;margin-top:12px;font-size:15px}.modal{position:fixed;inset:0;background:#000d;display:grid;place-items:center;z-index:99}.modal.hide{display:none}.modal>div{width:min(420px,90vw);background:#0b1115;border:1px solid #555;border-radius:15px;padding:20px}.modal #x{float:right;background:none;border:0;color:white;font-size:25px}.modal label{display:block;color:#aaa;font-size:10px;margin-top:10px}.modal input{width:100%;padding:12px;background:#050708;border:1px solid #333;border-radius:8px;color:white;font-size:25px;text-align:center}.modal #done{width:100%;background:#287735;color:white;border:0;border-radius:9px;padding:14px;margin-top:12px;font-weight:bold}
@media(max-width:900px){body{overflow:hidden}.pages{display:flex;gap:0;padding:0;height:100dvh;transition:transform .25s}.screen{min-width:100vw;height:100dvh;border:0;border-radius:0}.pages.p1{transform:translateX(-100vw)}.pages.p2{transform:translateX(-200vw)}.logo{width:195px}.positions img{height:190px}.detail main>h1{font-size:25px}}
.app-hidden{display:none!important}
.day-choice{min-height:100dvh;background:radial-gradient(circle at 50% 18%,#11181c 0,#05080a 38%,#020304 78%);display:grid;place-items:center;padding:20px;color:#f5f5f5}
.choice-shell{width:min(520px,100%);border:1px solid #4a5258;border-radius:22px;background:linear-gradient(180deg,#070b0d,#0a1013);padding:24px;box-shadow:0 20px 70px #000;text-align:center}
.choice-logo{width:230px;max-width:72%;height:auto;object-fit:contain;margin:0 auto 25px}
.choice-kicker{color:#b9ef00;font-size:12px;font-weight:1000;letter-spacing:1.4px}
.choice-shell h1{font-size:36px;line-height:1.05;margin:8px 0 10px}
.choice-shell>p{color:#aeb5ba;font-size:13px;margin:0 auto 22px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.day-card{min-height:260px;border:1px solid #30383e;border-radius:15px;background:linear-gradient(155deg,#171e22,#090d10);color:white;padding:22px 14px;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.day-card:hover,.day-card:focus{border:2px solid #b9ef00;outline:none;transform:translateY(-1px)}
.day-icon{font-size:42px;margin-bottom:15px}.day-card small{font-size:11px;color:#c9cdd0;font-weight:900}.day-card strong{font-size:27px;color:#b9ef00;margin:3px 0 12px}.day-card em{font-style:normal;color:#aeb5ba;font-size:11px;line-height:1.4;min-height:48px}.day-card b{margin-top:auto;background:#b9ef00;color:#101010;border-radius:8px;width:100%;padding:12px;font-size:12px}
@media(max-width:520px){.choice-shell{padding:19px 14px}.choice-shell h1{font-size:31px}.choice-grid{grid-template-columns:1fr}.day-card{min-height:185px}.day-card em{min-height:auto;margin-bottom:14px}}

.positions img,.steps img{image-rendering:auto;background:#151a1e}
.positions img{object-fit:contain!important}
.steps img{object-fit:cover!important}

.positions img{height:235px!important;object-fit:contain!important}
.steps img{height:105px!important;object-fit:cover!important}
@media(max-width:430px){.positions img{height:190px!important}.steps img{height:85px!important}}

/* Fiches premium validées : rendu photographique net, sans étirement */
.positions img,.steps img{object-fit:cover!important;image-rendering:auto!important}
.positions img{height:250px!important}
.steps img{height:125px!important}
@media(max-width:520px){.positions img{height:210px!important}.steps img{height:105px!important}}

.dynamic-muscle-map{width:58%!important;max-width:300px!important;height:auto!important;object-fit:contain!important;border-radius:12px;background:#0b0f11;margin-right:18px}
#muscleInfo{display:flex!important;align-items:center!important;gap:8px;flex-wrap:wrap}
#muscleInfo .muscle-line{display:block;width:35%;min-width:150px;line-height:1.35}
.musclebar>img{width:92px!important;height:76px!important;object-fit:cover!important;object-position:center!important;border-radius:8px}
@media(max-width:520px){.dynamic-muscle-map{width:100%!important;max-width:none!important;margin:0 0 12px}.muscles>div{align-items:flex-start!important}#muscleInfo .muscle-line{width:100%}}

/* Anatomie premium : réutilise le buste détaillé FERVEX déjà présent */
.anatomy-premium{object-fit:cover!important;object-position:center!important;background:#080b0d!important;border:1px solid #333b40!important}
#muscleInfo .muscle-line{padding:9px 10px;border-radius:8px;background:#10161a;border:1px solid #293137}
#muscleInfo .muscle-line i{font-style:normal;margin-right:7px}
#muscleInfo .muscle-line.primary i,#muscleInfo .muscle-line.primary b{color:#ff4b3e}
#muscleInfo .muscle-line.secondary i,#muscleInfo .muscle-line.secondary b{color:#b9ef00}
#muscleInfo .muscle-line small{display:block;margin-left:21px;color:#aeb5ba;font-size:9px}
.musclebar .primary b{color:#ff4b3e!important}.musclebar .secondary b{color:#b9ef00!important}

/* Dernière validation : anatomie détaillée + couleurs cohérentes par exercice */
.dynamic-muscle-map.anatomy-premium{
  width:100%!important;max-width:430px!important;height:auto!important;
  object-fit:contain!important;object-position:center!important;
  border-radius:12px!important;background:#090c0e!important;
}

/* FORMAT FICHE TECHNIQUE VALIDÉ — A + B
   Une fiche technique ne répète pas séries / répétitions / chrono.
   Priorité à la décomposition du mouvement et aux points clés. */
#tech .summary,
#tech .series-summary,
#tech .exercise-summary,
#tech .work-summary,
#tech [class*="series-stats"],
#tech [class*="tech-stats"]{
  display:none!important;
}
#tech .positions{
  margin-top:12px!important;
}
#tech .steps{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
#tech .step-card,
#tech .positions>div{
  overflow:hidden!important;
}
#tech .step-card img,
#tech .positions img{
  width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#tech .advice-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#tech .musclebar{display:none!important}

/* Mobile : conserver les 4 étapes dans une bande horizontale lisible,
   comme le format validé, sans tasser les textes. */
@media(max-width:700px){
  #tech .steps{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:10px!important;
    padding-bottom:6px!important;
  }
  #tech .step-card{
    flex:0 0 78%!important;
    scroll-snap-align:start!important;
  }
  #tech .advice-grid{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
  }
  #tech .advice-grid>*{
    flex:0 0 84%!important;
    scroll-snap-align:start!important;
  }
}

/* FIX RÉEL PAGE 3 — basé sur la structure effectivement rendue */
#tech.tech-clean .positions{
  display:none!important;
}
#tech.tech-clean .musclebar{
  display:none!important;
}
#tech.tech-clean .steps{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:10px!important;
}
#tech.tech-clean .step-card{
  min-width:0!important;
  background:#0a1014!important;
  border:1px solid #30383d!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
#tech.tech-clean .step-card img{
  width:100%!important;
  height:210px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
#tech.tech-clean .step-card p,
#tech.tech-clean .step-card small{
  font-size:12px!important;
  line-height:1.35!important;
}
#tech.tech-clean .advice-grid,
#tech.tech-clean .advice-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
#tech.tech-clean .advice,
#tech.tech-clean .tip,
#tech.tech-clean .warning{
  min-height:90px!important;
}

/* Élimine les informations d'entraînement sur la fiche technique, quelle que
   soit la classe utilisée dans le HTML actuel. */
#tech.tech-clean [class*="stat"],
#tech.tech-clean [class*="metric"],
#tech.tech-clean [class*="work-info"]{
  display:none!important;
}

@media(max-width:700px){
  #tech.tech-clean .steps{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:10px!important;
  }
  #tech.tech-clean .step-card{
    flex:0 0 82%!important;
    scroll-snap-align:center!important;
  }
  #tech.tech-clean .step-card img{
    height:300px!important;
  }
  #tech.tech-clean .advice-grid,
  #tech.tech-clean .advice-row{
    display:flex!important;
    overflow-x:auto!important;
  }
  #tech.tech-clean .advice-grid>*,
  #tech.tech-clean .advice-row>*{
    flex:0 0 84%!important;
  }
}

/* FICHE TECHNIQUE — UTILISATION MAXIMALE DE L'ÉCRAN */
#tech.tech-clean{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box!important;
}
#tech.tech-clean .content,
#tech.tech-clean .detail-content,
#tech.tech-clean .sheet,
#tech.tech-clean .technical-sheet{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
#tech.tech-clean .steps{
  width:100%!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:10px!important;
}
#tech.tech-clean .step-card{
  width:100%!important;
}
#tech.tech-clean .step-card img{
  height:clamp(230px,42vh,520px)!important;
}
#tech.tech-clean .advice-grid,
#tech.tech-clean .advice-row{
  width:100%!important;
  grid-template-columns:repeat(3,1fr)!important;
}

/* Téléphone : toute la largeur disponible, marges minimales.
   Les étapes restent grandes et swipables plutôt que miniaturisées. */
@media(max-width:700px){
  #tech.tech-clean{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  #tech.tech-clean .steps{
    width:calc(100vw - 12px)!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #tech.tech-clean .step-card{
    flex:0 0 calc(100vw - 24px)!important;
  }
  #tech.tech-clean .step-card img{
    height:48vh!important;
    min-height:300px!important;
  }
  #tech.tech-clean .advice-grid,
  #tech.tech-clean .advice-row{
    width:calc(100vw - 12px)!important;
  }
  #tech.tech-clean .advice-grid>*,
  #tech.tech-clean .advice-row>*{
    flex:0 0 calc(100vw - 24px)!important;
  }
}

/* TEST FICHE TECHNIQUE MOBILE — 1 ÉTAPE = 1 ÉCRAN */
@media(max-width:700px){
  #tech.tech-clean{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    padding:6px!important;
  }

  /* Le carrousel devient l'élément principal */
  #tech.tech-clean .steps{
    display:flex!important;
    width:calc(100vw - 12px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    gap:8px!important;
    padding:0 0 8px!important;
    margin:8px 0!important;
    scrollbar-width:none;
  }
  #tech.tech-clean .steps::-webkit-scrollbar{display:none}

  #tech.tech-clean .step-card{
    flex:0 0 calc(100vw - 20px)!important;
    width:calc(100vw - 20px)!important;
    min-height:calc(100dvh - 245px)!important;
    scroll-snap-align:center!important;
    border-radius:14px!important;
    display:flex!important;
    flex-direction:column!important;
    background:#080e12!important;
    border:1px solid #384249!important;
  }

  /* L'image est grande, le texte incrusté dans les anciennes planches
     n'est plus censé être lu : on privilégie le mouvement. */
  #tech.tech-clean .step-card img{
    width:100%!important;
    height:clamp(320px,58dvh,560px)!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:13px 13px 0 0!important;
  }

  #tech.tech-clean .step-card h3,
  #tech.tech-clean .step-card h4,
  #tech.tech-clean .step-card strong{
    font-size:18px!important;
    line-height:1.15!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  #tech.tech-clean .step-card p,
  #tech.tech-clean .step-card small{
    font-size:15px!important;
    line-height:1.45!important;
    padding:0 12px 12px!important;
    color:#eef1f2!important;
  }

  /* Les conseils viennent après le carrousel et deviennent eux aussi
     de vraies grandes cartes lisibles. */
  #tech.tech-clean .advice-grid,
  #tech.tech-clean .advice-row{
    display:flex!important;
    width:calc(100vw - 12px)!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:8px!important;
    scrollbar-width:none;
  }
  #tech.tech-clean .advice-grid::-webkit-scrollbar,
  #tech.tech-clean .advice-row::-webkit-scrollbar{display:none}

  #tech.tech-clean .advice-grid>*,
  #tech.tech-clean .advice-row>*{
    flex:0 0 calc(100vw - 20px)!important;
    min-height:145px!important;
    scroll-snap-align:center!important;
    font-size:15px!important;
    line-height:1.45!important;
    padding:16px!important;
  }

  /* Indication visuelle de navigation */
  #tech.tech-clean .steps::after{
    content:"GLISSE →";
    flex:0 0 1px;
    color:#b9ef00;
  }
}

/* PAGE 3 — NOUVELLE STRUCTURE RÉELLE
   Une phase = un écran. Aucun texte technique incrusté dans une petite planche. */
#tech.tech-v2{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;background:linear-gradient(#05080a,#091014)!important}
#tech.tech-v2 .tech-v2-main{height:calc(100dvh - 55px)!important;overflow:hidden!important;padding:8px 8px 12px!important;display:flex!important;flex-direction:column!important}
.tech-v2-title small{color:#b9ef00;font-size:10px;font-weight:1000;letter-spacing:1px}
.tech-v2-title h1{margin:3px 0 6px!important;font-size:clamp(22px,6vw,32px)!important;line-height:1.02!important}
.tech-v2-tags{font-size:11px;color:#d6dade;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tech-v2-dots{text-align:center;margin:7px 0 5px}
.tech-v2-dots i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5c666d;margin:0 4px}
.tech-v2-dots i.on{background:#b9ef00;width:20px;border-radius:10px}
.tech-v2-carousel{flex:1;min-height:0;display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;gap:8px!important;scrollbar-width:none!important}
.tech-v2-carousel::-webkit-scrollbar{display:none}
.tech-v2-slide{flex:0 0 100%!important;width:100%!important;scroll-snap-align:start!important;background:#091014!important;border:1px solid #303a40!important;border-radius:15px!important;overflow:auto!important;padding:9px!important;display:flex!important;flex-direction:column!important;min-width:0!important}
.phase-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.phase-head span{background:#b9ef00;color:#111;padding:6px 9px;border-radius:7px;font-size:11px;font-weight:1000}
.phase-head b{font-size:13px;color:#f5f6f7}
.tech-v2-slide>img{width:100%!important;flex:1 1 auto!important;min-height:0!important;max-height:58dvh!important;object-fit:contain!important;object-position:center!important;background:#13191d!important;border-radius:12px!important;border:1px solid #313a40!important}
.tech-v2-slide h2{font-size:20px!important;margin:9px 4px 4px!important;color:#b9ef00!important}
.tech-v2-slide>p{font-size:16px!important;line-height:1.42!important;margin:0 4px 5px!important;color:#f0f2f3!important}
.tech-v2-keyslide{justify-content:flex-start!important;gap:9px!important;padding:11px!important}
.key-card{border-radius:11px;padding:13px 14px;border:1px solid #323a3f;background:#10161a}
.key-card h3{font-size:12px;margin:0 0 6px}.key-card p{font-size:15px!important;line-height:1.42!important;margin:0!important}
.key-placement{border-color:#327338}.key-placement h3{color:#72d64f}
.key-breath{border-color:#296285}.key-breath h3{color:#55aff0}
.key-errors{border-color:#783630}.key-errors h3{color:#ff5a4d}
.key-tip{border-color:#806300;background:linear-gradient(100deg,#2b2408,#171609)}.key-tip h3{color:#b9ef00}
.tech-v2-hint{text-align:center;color:#b9ef00;font-size:9px;font-weight:900;margin-top:6px;letter-spacing:.7px}

/* Desktop/tablette : même logique, mais plus large et toujours lisible */
@media(min-width:701px){
 #tech.tech-v2 .tech-v2-main{max-width:900px!important;margin:auto!important;width:100%!important}
 .tech-v2-slide>img{max-height:54dvh!important}
 .tech-v2-slide>p{font-size:17px!important}
}

/* TEST HD DIRECT — aucun agrandissement destructif du visuel */
#tech.tech-v2 .tech-v2-slide>img{
  image-rendering:auto!important;
  object-fit:contain!important;
  background:#05080a!important;
}

/* TOUTES LES FICHES — PHOTO TECHNIQUE GRAND FORMAT */
#tech.tech-v2 .tech-v2-slide>img{
  width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  background:#05080a!important;
}

/* AUTO-CORRECTION GLOBALE DES FICHES TECHNIQUES A/B */
#tech.tech-v2{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
#tech.tech-v2 .tech-v2-main{
  height:calc(100dvh - 55px)!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:8px!important;
}
#tech.tech-v2 .tech-v2-carousel{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-snap-type:y mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-y:contain!important;
  scrollbar-width:none!important;
  touch-action:pan-y!important;
}
#tech.tech-v2 .tech-v2-carousel::-webkit-scrollbar{display:none!important}

#tech.tech-v2 .tech-v2-slide{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  box-sizing:border-box!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  margin:0!important;
  border-radius:14px!important;
  overflow:auto!important;
}

#tech.tech-v2 .tech-v2-slide>img{
  width:100%!important;
  max-width:100%!important;
  max-height:58dvh!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  background:#05080a!important;
}

#tech.tech-v2 .tech-v2-slide>p{
  font-size:16px!important;
  line-height:1.45!important;
}

#tech.tech-v2 .tech-v2-hint{
  position:static!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  text-align:center!important;
  margin-top:5px!important;
}

/* Page 4 : blocs mieux séparés et lisibles sur téléphone */
@media(max-width:700px){
  #info main{
    scroll-snap-type:y proximity!important;
  }
  #info .card,
  #info .yellowtip{
    scroll-snap-align:start!important;
  }
  #tech.tech-v2 .tech-v2-title h1{
    font-size:clamp(22px,7vw,31px)!important;
  }
  #tech.tech-v2 .tech-v2-slide>img{
    max-height:55dvh!important;
  }
  #tech.tech-v2 .key-card p{
    font-size:15px!important;
    line-height:1.45!important;
  }
}

#tech.tech-cards{height:100dvh!important;overflow:hidden!important;background:#05090c!important}
.tech-cards-main{height:calc(100dvh - 55px);overflow-y:auto;padding:10px 12px 18px;box-sizing:border-box}
.tech-cards-title small,.tech-cards-main>h2{color:#b9ef00;font-weight:1000}
.tech-cards-title h1{font-size:clamp(23px,6vw,34px);margin:4px 0}.tech-cards-title #techTags{font-size:12px;color:#d8dde0;margin-bottom:12px}
.tech-cards-main>h2{font-size:14px;margin:8px 0}.movement-cards{display:flex;flex-direction:column;gap:9px}
.movement-card{display:grid;grid-template-columns:42px minmax(110px,28%) 1fr 24px;align-items:center;gap:10px;min-height:112px;background:linear-gradient(100deg,#0b1115,#11191e);border:1px solid #313a40;border-radius:12px;padding:7px 9px;box-sizing:border-box;overflow:hidden}
.movement-card .num{width:34px;height:34px;border-radius:7px;background:#b9ef00;color:#111;display:grid;place-items:center;font-weight:1000;font-size:18px}
.movement-card img{width:100%;height:96px;object-fit:cover;object-position:center;border-radius:8px;background:#050708}.movement-card h3{font-size:15px;margin:0 0 5px}.movement-card p{font-size:13px;line-height:1.35;margin:0;color:#dce1e4}.movement-card .arrow{font-size:26px;color:#b9ef00;text-align:center}
.tech-key-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.tech-key-row>div{border:1px solid #30383d;border-radius:10px;padding:10px;background:#0b1115}.tech-key-row b{font-size:11px;color:#b9ef00}.tech-key-row p{font-size:12px;line-height:1.35;margin:5px 0 0}
@media(max-width:700px){.tech-cards-main{padding:8px}.movement-card{grid-template-columns:34px 112px 1fr 18px;gap:7px;min-height:102px;padding:6px}.movement-card .num{width:29px;height:29px;font-size:15px}.movement-card img{height:88px}.movement-card h3{font-size:13px}.movement-card p{font-size:11px;line-height:1.3}.movement-card .arrow{font-size:20px}.tech-key-row{display:flex;overflow-x:auto}.tech-key-row>div{flex:0 0 78%}}

/* STANDARD FERVEX VALIDÉ — FICHE TECHNIQUE PREMIUM */
#tech.tech-cards .movement-card{
  grid-template-columns:44px minmax(180px,38%) 1fr 28px!important;
  min-height:150px!important;
  background:linear-gradient(100deg,#080d10,#10171b)!important;
  border:1px solid #39434a!important;
  border-radius:14px!important;
  padding:8px 10px!important;
}
#tech.tech-cards .movement-card .num{
  width:36px!important;height:36px!important;border-radius:50%!important;
  background:#b9f000!important;color:#071005!important;
}
#tech.tech-cards .movement-card img{
  width:100%!important;height:134px!important;object-fit:cover!important;
  border-radius:9px!important;background:#050708!important;
}
#tech.tech-cards .movement-card h3{
  font-size:17px!important;letter-spacing:.2px!important;margin-bottom:7px!important;
}
#tech.tech-cards .movement-card p{
  font-size:14px!important;line-height:1.45!important;color:#edf0f1!important;
}
#tech.tech-cards .movement-card .arrow{color:#b9f000!important;font-size:30px!important}
#tech.tech-cards .tech-key-row>div{min-height:105px!important}
#tech.tech-cards .tech-key-row b{color:#b9f000!important}

@media(max-width:700px){
 #tech.tech-cards .tech-cards-main{padding:7px!important}
 #tech.tech-cards .movement-cards{gap:7px!important}
 #tech.tech-cards .movement-card{
   grid-template-columns:32px 42% 1fr 16px!important;
   min-height:118px!important;padding:6px!important;gap:6px!important;
 }
 #tech.tech-cards .movement-card .num{width:28px!important;height:28px!important;font-size:14px!important}
 #tech.tech-cards .movement-card img{height:106px!important}
 #tech.tech-cards .movement-card h3{font-size:13px!important;margin-bottom:4px!important}
 #tech.tech-cards .movement-card p{font-size:11px!important;line-height:1.32!important}
}

/* TEST MOUVEMENT COMPLET — chaque carte montre une phase différente */
#tech.tech-cards .movement-card img{
  object-fit:cover!important;
  object-position:center!important;
  image-rendering:auto!important;
}

/* PAGE 3 — VISUEL PUR : respiration / erreurs / conseils retirés */
#tech.tech-cards .tech-key-row{display:none!important}
#tech.tech-cards .movement-cards{
  height:calc(100% - 105px)!important;
  justify-content:space-evenly!important;
}
#tech.tech-cards .movement-card{
  flex:1 1 0!important;
  min-height:0!important;
}
@media(max-width:700px){
 #tech.tech-cards .movement-card{
   min-height:105px!important;
 }
}

/* PAGE 3 — IMAGES AU RATIO FINAL, VISUELLES ET SANS TEXTE PARASITE */
#tech.tech-cards .tech-cards-main{
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
#tech.tech-cards .tech-cards-main>h2{
  margin:5px 0 7px!important;
}
#tech.tech-cards .movement-cards{
  flex:1!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  height:auto!important;
}
#tech.tech-cards .movement-card.visual-phase{
  display:block!important;
  position:relative!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:13px!important;
  background:#05080a!important;
}
#tech.tech-cards .phase-visual{
  position:absolute!important;
  inset:0!important;
}
#tech.tech-cards .phase-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
#tech.tech-cards .phase-label{
  position:absolute!important;
  left:9px!important;
  right:9px!important;
  bottom:8px!important;
  padding:7px 9px!important;
  border-radius:7px!important;
  background:rgba(3,7,9,.82)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.35px!important;
  backdrop-filter:blur(5px)!important;
}
#tech.tech-cards .movement-card.visual-phase .num{
  position:absolute!important;
  z-index:3!important;
  top:8px!important;
  left:8px!important;
  width:31px!important;
  height:31px!important;
  border-radius:50%!important;
  background:#b9ef00!important;
  color:#111!important;
  font-size:15px!important;
}
@media(max-width:700px){
 #tech.tech-cards .tech-cards-title h1{font-size:21px!important;margin:2px 0!important}
 #tech.tech-cards .tech-cards-title #techTags{margin-bottom:3px!important;font-size:10px!important}
 #tech.tech-cards .movement-cards{
   grid-template-columns:1fr!important;
   grid-template-rows:repeat(4,minmax(0,1fr))!important;
   gap:5px!important;
 }
 #tech.tech-cards .phase-label{
   left:45px!important;right:auto!important;bottom:7px!important;
   font-size:11px!important;padding:5px 8px!important;
 }
}

/* BUILD TÉLÉPHONE — page 3 maximisée */
#tech #techCount{display:none!important}
@media(max-width:700px){
 #tech.tech-cards .top{grid-template-columns:42px 1fr 42px!important}
 #tech.tech-cards .tech-cards-main{height:calc(100dvh - 48px)!important;padding:5px!important}
 #tech.tech-cards .tech-cards-title small{font-size:10px!important}
 #tech.tech-cards .tech-cards-title h1{font-size:20px!important}
 #tech.tech-cards .tech-cards-main>h2{font-size:11px!important;margin:2px 0 4px!important}
 #tech.tech-cards .movement-cards{gap:4px!important}
 #tech.tech-cards .movement-card.visual-phase{border-radius:9px!important}
 #tech.tech-cards .phase-label{font-size:10px!important;padding:4px 7px!important}
}

/* STANDARD TECHNIQUE GLOBAL — modèle validé */
#tech.tech-cards .movement-card.visual-phase{
  border:1px solid #3a4247!important;
  background:#030608!important;
}
#tech.tech-cards .phase-label{
  text-transform:uppercase!important;
  letter-spacing:.35px!important;
}
#tech.tech-cards .movement-card.visual-phase .num{
  background:#b8ef00!important;
  color:#070b05!important;
}
@media(max-width:700px){
 #tech.tech-cards .movement-cards{
   grid-template-columns:1fr!important;
   grid-template-rows:repeat(4,minmax(0,1fr))!important;
 }
}

/* PAGE 3 ONLY — modèle technique final validé */
#tech.tech-final{
  background:#000!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
#tech.tech-final .tech-final-main{
  height:calc(100dvh - 55px)!important;
  overflow-y:auto!important;
  padding:8px!important;
  box-sizing:border-box!important;
}
#tech.tech-final .tech-final-title small{
  display:block!important;
  color:#b9ef00!important;
  text-align:center!important;
  font-size:12px!important;
  font-weight:1000!important;
}
#tech.tech-final .tech-final-title h1{
  color:#fff!important;
  font-size:clamp(22px,6vw,32px)!important;
  line-height:1.05!important;
  margin:5px 0 2px!important;
}
#tech.tech-final .tech-final-title h2{
  color:#b9ef00!important;
  font-size:clamp(12px,3.5vw,17px)!important;
  margin:0 0 8px!important;
}
#tech.tech-final .movement-cards-final{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
#tech.tech-final .movement-card-final{
  position:relative!important;
  width:100%!important;
  height:clamp(150px,22dvh,220px)!important;
  overflow:hidden!important;
  border:1px solid #394146!important;
  border-radius:11px!important;
  background:#050708!important;
}
#tech.tech-final .movement-card-final img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#000!important;
  image-rendering:auto!important;
}
#tech.tech-final .movement-card-final .num{
  position:absolute!important;
  z-index:3!important;
  top:10px!important;
  left:10px!important;
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:7px!important;
  background:#b9ef00!important;
  color:#060806!important;
  font-size:20px!important;
  font-weight:1000!important;
}
#tech.tech-final .movement-card-final .phase-label{
  position:absolute!important;
  z-index:3!important;
  left:12px!important;
  bottom:10px!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:1000!important;
  text-shadow:0 2px 5px #000!important;
}
@media(max-width:700px){
 #tech.tech-final .tech-final-main{padding:6px!important}
 #tech.tech-final .movement-card-final{
   height:clamp(145px,21dvh,205px)!important;
 }
}

/* =========================================================
   SESSION GUIDÉE — échauffement, séries, récupération
   ========================================================= */
.session-flow{
  position:fixed; inset:0; z-index:9999;
  background:linear-gradient(180deg,#030607,#071015);
  color:#f4f6f7; font-family:Arial,Helvetica,sans-serif;
  display:flex; flex-direction:column;
}
.session-flow.hidden{display:none!important}
.flow-header{
  flex:0 0 58px; display:grid; grid-template-columns:46px 1fr auto;
  align-items:center; gap:9px; padding:8px 12px;
  background:#05090c; border-bottom:1px solid #273139;
  box-sizing:border-box;
}
.flow-header div{display:flex;flex-direction:column}
.flow-header small{font-size:9px;color:#b9ef00;font-weight:900;letter-spacing:1px}
.flow-header strong{font-size:14px}
.flow-header>span{font-size:11px;color:#b9ef00;font-weight:900}
.flow-close{
  width:40px;height:40px;border-radius:50%;border:1px solid #46525a;
  background:#0b1115;color:white;font-size:24px;
}
.flow-body{
  flex:1; min-height:0; overflow:auto; padding:12px;
  box-sizing:border-box;
}
.flow-card{
  border:1px solid #303a41; border-radius:15px; background:#0a1115;
  padding:14px; margin-bottom:10px;
}
.flow-card h1,.flow-card h2,.flow-card h3{margin:0}
.flow-card h1{font-size:28px;line-height:1.02}
.flow-card h2{font-size:18px}
.flow-card p{color:#bac2c7;line-height:1.4}
.flow-accent{color:#b9ef00!important}
.flow-primary,.flow-danger,.flow-secondary{
  width:100%; border-radius:11px; padding:15px 14px; font-weight:1000;
  font-size:14px; margin-top:10px; cursor:pointer;
}
.flow-primary{background:#b9ef00;color:#090b0c;border:0}
.flow-danger{background:#e74b3c;color:white;border:0}
.flow-secondary{background:#11191e;color:#e9edef;border:1px solid #344049}
.flow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.flow-stat{
  border:1px solid #2d373e;border-radius:11px;padding:11px;background:#0c1418;
}
.flow-stat small{display:block;color:#9ea8ae;font-size:9px}
.flow-stat b{display:block;font-size:21px;margin-top:4px;color:white}
.flow-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.flow-list-item{
  display:grid;grid-template-columns:34px 66px 1fr auto;gap:8px;align-items:center;
  min-height:74px;border:1px solid #303940;border-radius:11px;background:#0b1216;padding:7px;
}
.flow-list-item .idx{
  width:30px;height:30px;border-radius:7px;background:#b9ef00;color:#111;
  display:grid;place-items:center;font-weight:1000;
}
.flow-list-item img{width:66px;height:58px;object-fit:cover;border-radius:8px}
.flow-list-item strong{font-size:11px;display:block}
.flow-list-item small{font-size:9px;color:#abb4b9;display:block;margin-top:3px}
.flow-list-item .chev{color:#b9ef00;font-size:22px}
.big-count{
  width:min(65vw,270px);height:min(65vw,270px);margin:18px auto;
  border-radius:50%;border:9px solid #b9ef00;display:grid;place-items:center;
  font-size:clamp(70px,23vw,120px);font-weight:1000;color:white;
  box-shadow:0 0 40px rgba(185,239,0,.14);
}
.timer-label{text-align:center;color:#b9ef00;font-weight:900;font-size:12px}
.timer-sub{text-align:center;color:#aeb7bc;font-size:11px}
.warmup-image,.exercise-hero{
  width:100%;height:230px;object-fit:cover;border-radius:12px;background:#050708;
  border:1px solid #333d43;
}
.movement-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:9px}
.movement-preview figure{
  margin:0;position:relative;height:125px;border-radius:10px;overflow:hidden;
  background:#050708;border:1px solid #313a40;
}
.movement-preview img{width:100%;height:100%;object-fit:cover}
.movement-preview span{
  position:absolute;left:7px;top:7px;background:#b9ef00;color:#101214;
  width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:1000;
}
.series-head{text-align:center;padding:7px}
.series-head small{color:#b9ef00;font-weight:900}
.series-head h1{font-size:31px;margin:4px 0}
.series-target{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px
}
.series-target .flow-stat{text-align:center}
.series-target .flow-stat b{font-size:27px;color:#b9ef00}
.series-status{
  text-align:center;border:1px solid #334047;border-radius:12px;padding:12px;margin-top:10px;
  background:#0b1216;font-weight:900;
}
.recovery .big-count{border-color:#4fb8ff}
.recovery .timer-label{color:#4fb8ff}
.session-done{text-align:center;padding-top:9vh}
.session-done .done-icon{
  width:120px;height:120px;border-radius:50%;margin:auto;display:grid;place-items:center;
  background:#b9ef00;color:#0a0d0e;font-size:58px;font-weight:1000
}

@media(max-width:520px){
  .flow-body{padding:8px}
  .flow-card{padding:11px}
  .warmup-image,.exercise-hero{height:205px}
  .movement-preview figure{height:105px}
}

/* FERVEX — BASE NOIR + NÉON VERT */
:root{
  --fervex-neon:#b9ef00;
  --fervex-black:#020405;
  --fervex-panel:#091014;
  --fervex-line:#2d383e;
}
body,#app,.screen,.program,.detail{background:var(--fervex-black)!important}
.program button,#start,.primary,.flow-primary{
  background:var(--fervex-neon)!important;color:#050706!important;
}
.exercise.active{border-color:var(--fervex-neon)!important}
.exercise.active .n,.movement-card-final .num{
  background:var(--fervex-neon)!important;color:#050706!important;
}
.tech-final-title small,.tech-final-title h2,
.flow-accent,.flow-header small,.flow-header>span,
.timer-label,.flow-list-item .chev,.series-head small{
  color:var(--fervex-neon)!important;
}
.big-count{border-color:var(--fervex-neon)!important}
.flow-list-item .idx,.session-done .done-icon{
  background:var(--fervex-neon)!important;color:#050706!important;
}
@media(max-width:700px){
  #tech.tech-final .tech-final-main{padding:8px 8px 18px!important}
  #tech.tech-final .movement-card-final{
    height:clamp(125px,17.5dvh,170px)!important;
    border-radius:12px!important;
  }
  #tech.tech-final .movement-card-final img{
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* === CHRONOLOGIE VISUELLE VALIDÉE — MOBILE === */
.session-flow{
  background:#000!important;
  --neon:#aeea00;
  --panel:#0a0d0f;
  --line:#30363a;
}
.flow-header{
  background:#000!important;
  border-bottom:1px solid #252a2d!important;
  min-height:62px;
}
.flow-header small,.flow-header>span,.timer-label,.series-head small{
  color:var(--neon)!important;
}
.flow-card{
  background:#050708!important;
  border:1px solid #343a3e!important;
  border-radius:14px!important;
}
.flow-primary{
  background:var(--neon)!important;
  color:#050505!important;
  min-height:54px;
  font-size:16px!important;
}
.flow-danger{
  background:var(--neon)!important;
  color:#050505!important;
  min-height:56px;
  font-size:17px!important;
}
.big-count{
  border-color:var(--neon)!important;
  color:#fff!important;
}
.flow-list-item,.flow-stat,.series-status{
  background:#090c0e!important;
  border-color:#30363a!important;
}
.flow-list-item .idx,.session-done .done-icon{
  background:var(--neon)!important;
}
.series-target .flow-stat b{color:var(--neon)!important}
.exercise-hero,.warmup-image{
  object-fit:contain!important;
  background:#000!important;
}
.movement-preview{
  grid-template-columns:1fr!important;
}
.movement-preview figure{
  height:clamp(120px,17dvh,165px)!important;
}
.movement-preview img{
  object-fit:contain!important;
  background:#000!important;
}
.movement-preview span{
  background:var(--neon)!important;
}
@media(max-width:520px){
 .flow-body{padding:7px!important}
 .flow-card{padding:10px!important}
 .flow-card h1{font-size:23px!important}
 .flow-grid{grid-template-columns:1fr 1fr!important}
 .flow-stat b{font-size:18px!important}
 .big-count{
   width:min(58vw,225px)!important;
   height:min(58vw,225px)!important;
   font-size:clamp(58px,20vw,92px)!important;
 }
}
