/* ==========================================================
   LE P'TIT MOTIVATEUR — MOTION CANONIQUE
   Mouvement léger, perceptuellement rapide, accessible.
   ========================================================== */

:root{
  scroll-behavior:smooth;
  --lpm-motion-fast:140ms;
  --lpm-motion-normal:220ms;
  --lpm-motion-ease:cubic-bezier(.2,.8,.2,1);
}

body{
  overflow-x:hidden;
}

/* Le logo automatique est maintenant OPT-IN pour éviter les doublons. */
.brand[data-lpm-brand-mark]{
  display:inline-flex;
  align-items:center;
  gap:9px;
}

.brand[data-lpm-brand-mark]::before{
  content:"";
  display:inline-block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  background:url("assets/brand/lpm-symbol-official-color.png") center/contain no-repeat;
}

a,
button,
input,
select,
textarea,
.card,
.pill{
  transition:
    transform var(--lpm-motion-fast) var(--lpm-motion-ease),
    box-shadow var(--lpm-motion-normal) var(--lpm-motion-ease),
    border-color var(--lpm-motion-fast) ease,
    background-color var(--lpm-motion-fast) ease,
    color var(--lpm-motion-fast) ease,
    opacity var(--lpm-motion-fast) ease;
}

button:not(:disabled),
a{
  -webkit-tap-highlight-color:transparent;
}

@media (hover:hover) and (pointer:fine){
  button:not(:disabled):hover,
  a.lpm-lift:hover{
    transform:translateY(-1px);
  }

  .card.lpm-lift:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(6,63,54,.10);
  }
}

button:not(:disabled):active,
a.lpm-lift:active{
  transform:translateY(0) scale(.99);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(25,189,164,.38);
  outline-offset:3px;
}

/* À utiliser sur les grosses sections sous la ligne de flottaison. */
.lpm-perf-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 680px;
}

@media (prefers-reduced-motion: reduce){
  :root{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
