/* Loometic V43 — correctifs techniques de préproduction */
.lmt-menu-toggle{
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  padding:10px;
  border:1px solid #D8D2CA;
  background:#F4F1EC;
  color:#111;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.lmt-menu-toggle span,
.lmt-menu-toggle::before,
.lmt-menu-toggle::after{
  content:"";
  display:block;
  width:22px;
  height:2px;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}
.lmt-menu-toggle span{margin:5px 0}
.lmt-menu-toggle[aria-expanded="true"] span{opacity:0}
.lmt-menu-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
.lmt-menu-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}
.lmt-mobile-menu{
  display:none;
  position:fixed;
  z-index:9998;
  inset:92px 0 0;
  overflow:auto;
  padding:30px 20px 48px;
  background:#F4F1EC;
  border-top:1px solid #E6E1D8;
}
.lmt-mobile-menu[aria-hidden="false"]{display:block}
.lmt-mobile-menu nav{display:grid!important;margin:0;gap:0;font-size:17px}
.lmt-mobile-menu nav a{padding:17px 0;border-bottom:1px solid #E6E1D8;color:#111!important}
.lmt-mobile-menu .lang{display:block;margin:28px 0;font-size:14px}
.lmt-mobile-menu .btn,.lmt-mobile-menu .header-cta{display:flex!important;width:100%;white-space:normal;text-align:center}
body.lmt-menu-open{overflow:hidden}

.lmt-form-status{
  grid-column:1/-1;
  margin:18px 0 0;
  padding:14px 16px;
  border-left:3px solid #7C6653;
  background:#fff;
  color:#4A423B;
  font-size:14px;
  line-height:1.55;
}
.lmt-form-status[hidden]{display:none}
.lmt-form-status[data-state="success"]{border-color:#62745f}
.lmt-form-status[data-state="error"]{border-color:#9a3e35}
.lmt-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lmt-file-clear{
  display:inline-flex;
  margin:8px 0 10px;
  padding:0;
  border:0;
  border-bottom:1px solid currentColor;
  background:transparent;
  color:#7C6653;
  font:inherit;
  font-size:13px;
  line-height:1.4;
  cursor:pointer;
}
.lmt-file-clear[hidden]{display:none}
.lmt-file-clear:focus-visible{outline:2px solid #111;outline-offset:4px}
form[aria-busy="true"] button[type="submit"]{opacity:.55;cursor:wait}

/* V43-T14 — contact public visible dans le footer. */
.lmt-contact-panel{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) max-content;
  gap:30px;
  align-items:center;
  margin:0 0 52px;
  padding:38px 42px;
  background:#F4F1EC;
  color:#111;
}
.lmt-contact-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  color:#7C6653;
  border:1px solid #D8D2CA;
  border-radius:50%;
}
.lmt-contact-mark svg{display:block;width:29px;height:29px}
.lmt-contact-copy .lmt-contact-kicker{
  margin:0 0 8px;
  color:#7C6653;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lmt-contact-copy h2{
  margin:0;
  color:#111;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.025em;
  font-weight:550;
}
.lmt-contact-copy p:not(.lmt-contact-kicker){margin:10px 0 0;color:#4A423B;font-size:14px;line-height:1.55}
.lmt-contact-actions{display:grid;gap:8px;justify-items:start}
.lmt-contact-actions a,
.lmt-contact-actions a:visited,
.lmt-contact-actions a:hover,
.lmt-contact-actions a:active{
  color:#111!important;
  text-decoration:none!important;
  border:0!important;
}
.lmt-contact-actions .lmt-contact-phone{
  margin-bottom:6px;
  font-size:25px;
  line-height:1.15;
  font-weight:650;
  letter-spacing:.015em;
}
.lmt-contact-actions>a:not(.lmt-contact-phone){border-bottom:1px solid #111!important;padding-bottom:2px;font-size:13px;font-weight:650}
.lmt-contact-actions .lmt-contact-secondary{margin-top:4px;color:#7C6653!important;border-color:#7C6653!important;font-weight:550}

/* Le fichier du logo contient une importante marge transparente. Ce cadrage
   visuel rapproche réellement la baseline sans modifier l’image officielle. */
.lmt-footer .lmt-footer-brand .footer-logo{
  width:205px!important;
  height:36px!important;
  object-fit:cover;
  object-position:center;
}
.lmt-footer .lmt-footer-brand .baseline{margin-top:13px!important}

@media(max-width:1180px){
  .lmt-contact-panel{grid-template-columns:54px minmax(0,1fr)}
  .lmt-contact-actions{grid-column:2;grid-template-columns:repeat(2,max-content);column-gap:24px}
  .lmt-contact-actions .lmt-contact-phone{grid-column:1/-1}
  .lmt-contact-actions .lmt-contact-secondary{grid-column:1/-1}
}

/* Header tablette : conserve le CTA complet entre 981 et 1240 px. */
@media (min-width:981px) and (max-width:1240px){
  header .inner{max-width:calc(100% - 40px)}
  header .header-row{gap:16px}
  header .logo{width:150px}
  header nav{gap:17px;font-size:12px}
  header .lang{font-size:11px}
  header .header-row>.btn,
  header .header-cta{padding:14px 15px;font-size:11px}
}

/* Eco-conception: the page also contains an older generic .trajectory-line
   rule used for a vertical connector. Reset it inside the product lifecycle
   component so the nine stages retain the full available width. */
.eco-trajectory .trajectory-line{
  width:100%;
  height:auto;
  margin:55px 0 0;
  background:none;
  position:relative;
}
.eco-trajectory .trajectory-line::after{content:none}
.eco-trajectory .trajectory-steps span{min-width:0;padding:0 5px}

@media(max-width:900px){
  header .header-row>nav,
  header .header-row>.lang,
  header .header-row>.btn,
  header .header-row>.header-cta{display:none!important}
  .lmt-menu-toggle{display:block}
  .lmt-contact-panel{grid-template-columns:54px minmax(0,1fr);gap:22px;padding:30px 27px}
  .lmt-contact-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;padding-top:6px}
  .lmt-contact-actions .lmt-contact-phone,
  .lmt-contact-actions .lmt-contact-secondary{grid-column:1}
}

@media(max-width:520px){
  .lmt-contact-panel{display:block;margin-bottom:40px;padding:27px 22px}
  .lmt-contact-mark{margin-bottom:22px}
  .lmt-contact-copy h2{font-size:27px}
  .lmt-contact-actions{margin-top:25px}
  .lmt-contact-actions .lmt-contact-phone{font-size:24px}
}

@media(prefers-reduced-motion:reduce){
  .lmt-menu-toggle span,.lmt-menu-toggle::before,.lmt-menu-toggle::after{transition:none}
}

/* V43-T13 — rendu mobile des pages Approche et des fiches Academy. */
@media(max-width:700px){
  html,
  body.lmt-approach-page,
  body.lmt-course-page,
  body.lmt-approach-page .site,
  body.lmt-course-page .site{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  body.lmt-approach-page .inner,
  body.lmt-course-page .inner,
  body.lmt-course-page .hero.inner,
  body.lmt-course-page .parent-return,
  body.lmt-course-page .lmt-footer-inner{
    width:auto!important;
    max-width:none!important;
    margin-left:20px!important;
    margin-right:20px!important;
  }

  /* Approche : le framework devient une séquence verticale autonome. */
  body.lmt-approach-page .merged-hero{
    padding:68px 0 72px!important;
  }
  body.lmt-approach-page .merged-hero-grid,
  body.lmt-approach-page .approach-split,
  body.lmt-approach-page .approach-section:has(.means-links) .approach-split{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
    width:100%;
  }
  body.lmt-approach-page .merged-hero-grid>* ,
  body.lmt-approach-page .approach-split>*{
    min-width:0;
  }
  body.lmt-approach-page .merged-hero h1{
    font-size:42px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }
  body.lmt-approach-page .approach-section{
    padding:66px 0!important;
  }
  body.lmt-approach-page .approach-section h2,
  body.lmt-approach-page .trajectory-intro h2{
    font-size:36px!important;
    line-height:1.12!important;
    overflow-wrap:anywhere;
  }
  body.lmt-approach-page .approach-section p,
  body.lmt-approach-page .statement{
    max-width:100%!important;
    overflow-wrap:anywhere;
  }
  body.lmt-approach-page .trajectory-signature{
    padding:78px 0 86px!important;
  }
  body.lmt-approach-page .trajectory-signature .inner,
  body.lmt-approach-page .trajectory-intro,
  body.lmt-approach-page .trajectory-visual{
    width:auto!important;
    max-width:none!important;
  }
  body.lmt-approach-page .trajectory-intro{
    margin:0 0 52px!important;
  }
  body.lmt-approach-page .trajectory-node{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    gap:8px;
    width:100%;
  }
  body.lmt-approach-page .trajectory-node span{
    display:block;
    width:100%;
    min-width:0;
    white-space:normal!important;
    text-align:center;
    overflow-wrap:anywhere;
  }
  body.lmt-approach-page .trajectory-node span:not(:last-child)::after{
    content:none!important;
  }
  body.lmt-approach-page .trajectory-line{
    height:40px;
  }
  body.lmt-approach-page .trajectory-center-rect{
    width:100%!important;
    max-width:320px!important;
    height:92px!important;
    margin:6px auto!important;
  }
  body.lmt-approach-page .trajectory-label-rect{
    width:100%;
    min-width:0!important;
    padding:20px 16px!important;
  }
  body.lmt-approach-page .trajectory-label-rect strong{
    font-size:30px!important;
  }
  body.lmt-approach-page .means-links,
  body.lmt-approach-page .means-links+div{
    width:100%!important;
    max-width:none!important;
    min-width:0;
    justify-self:stretch!important;
  }
  body.lmt-approach-page .approach-section:has(.means-links) .means-links{
    padding:0 0 24px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(74,66,59,.22);
  }
  body.lmt-approach-page .final{
    padding:60px 0 76px!important;
  }
  body.lmt-approach-page .final-box{
    width:100%!important;
    margin:0!important;
  }

  /* Academy : toutes les fiches passent en une seule colonne. */
  body.lmt-course-page .hero,
  body.lmt-course-page .section-grid,
  body.lmt-course-page .cards,
  body.lmt-course-page .programme,
  body.lmt-course-page .audience-grid,
  body.lmt-course-page .cta,
  body.lmt-course-page .steps,
  body.lmt-course-page .eval-grid,
  body.lmt-course-page .transition{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
  body.lmt-course-page .hero{
    padding-top:46px!important;
    padding-bottom:42px!important;
  }
  body.lmt-course-page .hero>* ,
  body.lmt-course-page .section-grid>* ,
  body.lmt-course-page .cards>* ,
  body.lmt-course-page .programme>* ,
  body.lmt-course-page .audience-grid>* ,
  body.lmt-course-page .cta>*{
    min-width:0;
    max-width:100%;
  }
  body.lmt-course-page h1{
    max-width:100%;
    font-size:38px!important;
    line-height:1.1!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  body.lmt-course-page h2{
    font-size:29px;
    line-height:1.18;
    overflow-wrap:anywhere;
  }
  body.lmt-course-page section{
    padding:46px 0;
  }
  body.lmt-course-page .hero-card,
  body.lmt-course-page .card,
  body.lmt-course-page .module,
  body.lmt-course-page .info-box,
  body.lmt-course-page .step,
  body.lmt-course-page .why,
  body.lmt-course-page .method-note,
  body.lmt-course-page .highlight{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:22px 20px!important;
    overflow-wrap:anywhere;
  }
  body.lmt-course-page .module{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  body.lmt-course-page .format-selector,
  body.lmt-course-page .meta-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.lmt-course-page .btn,
  body.lmt-course-page .format-btn{
    max-width:100%;
    white-space:normal!important;
    overflow-wrap:anywhere;
    text-align:left;
  }
  body.lmt-course-page .cta-actions{
    width:100%;
    min-width:0;
  }
  body.lmt-course-page .practical,
  body.lmt-course-page .practical tbody,
  body.lmt-course-page .practical tr,
  body.lmt-course-page .practical th,
  body.lmt-course-page .practical td{
    display:block;
    width:100%!important;
    max-width:100%;
  }
  body.lmt-course-page .practical{
    border-top:1px solid var(--grey,#E6E1D8);
  }
  body.lmt-course-page .practical tr{
    padding:10px 0;
    border-bottom:1px solid var(--grey,#E6E1D8);
  }
  body.lmt-course-page .practical th,
  body.lmt-course-page .practical td{
    padding:7px 4px;
    border:0;
    overflow-wrap:anywhere;
  }
  body.lmt-course-page img,
  body.lmt-course-page svg{
    max-width:100%;
    height:auto;
  }
}

/* T22 : icône téléphone interactive, cible tactile 52 x 52 px. */
.lmt-contact-panel a.lmt-contact-mark{display:flex;width:52px;height:52px;min-width:52px;color:#7C6653!important;text-decoration:none!important;border:1px solid #D8D2CA;border-radius:50%}
.lmt-contact-panel a.lmt-contact-mark:hover{background:#E6E1D8}
.lmt-contact-panel a.lmt-contact-mark:focus-visible{outline:2px solid #7C6653;outline-offset:4px}
