/* EcoVertaConsul't - couche "motion" : profondeur, parallaxe et réactivité.
   Tout est conditionné à html.ecv-motion-ready (posé par ecv-motion.js) :
   sans JS, ou si l'utilisateur préfère moins d'animations, la page reste
   strictement identique à sa version statique. */

@media (prefers-reduced-motion: no-preference) {

  /* ---------- Barre de progression de lecture ---------- */
  .ecv-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:9999;pointer-events:none;
    background:linear-gradient(90deg,#42df74,#18b45b);transform:scaleX(0);transform-origin:0 50%;
    transition:opacity .3s ease;opacity:0}
  .ecv-progress.on{opacity:1}

  /* ---------- Révélation enrichie : léger flou + échelle ---------- */
  html.ecv-motion-ready [data-ecv-reveal]{filter:blur(6px);transform:translateY(22px) scale(.985)}
  html.ecv-motion-ready [data-ecv-reveal].ecv-in{filter:blur(0);transform:none}
  html.ecv-motion-ready [data-ecv-reveal]{
    transition:opacity .78s cubic-bezier(.16,.84,.28,1),transform .78s cubic-bezier(.16,.84,.28,1),filter .68s ease}

  /* ---------- Titre héros : apparition mot à mot ---------- */
  html.ecv-motion-ready .ecv-word{display:inline-block;opacity:0;
    transform:translateY(.5em) rotate(1.4deg);filter:blur(5px);
    transition:opacity .72s cubic-bezier(.16,.84,.28,1),transform .72s cubic-bezier(.16,.84,.28,1),filter .6s ease;
    transition-delay:var(--d,0s)}
  html.ecv-motion-ready .ecv-word.ecv-word-in{opacity:1;transform:none;filter:blur(0)}

  /* ---------- Héros : parallaxe et profondeur ---------- */
  html.ecv-motion-ready .hero-visual,html.ecv-motion-ready .elp-hero-visual,
  html.ecv-motion-ready .ev-hero-visual,html.ecv-motion-ready .sm-hero-visual{
    will-change:transform;transform:translateY(var(--pY,0px)) scale(var(--pS,1))}
  html.ecv-motion-ready .hero-photo{will-change:transform;
    transform:scale(var(--photoS,1.04)) translateY(var(--photoY,0px));transition:none}
  html.ecv-motion-ready .hero-mascot,html.ecv-motion-ready .bubble-mascot{
    will-change:transform;transform:translateY(var(--mY,0px))}

  /* ---------- Cartes : inclinaison 3D au survol ---------- */
  html.ecv-motion-ready .ecv-tilt{transform-style:preserve-3d;will-change:transform;
    transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));
    transition:transform .5s cubic-bezier(.16,.84,.28,1),box-shadow .4s ease}
  html.ecv-motion-ready .ecv-tilt.ecv-tilting{transition:transform .12s ease-out,box-shadow .4s ease}
  html.ecv-motion-ready .ecv-tilt.ecv-tilting{box-shadow:0 26px 60px rgba(29,26,25,.16)}

  /* ---------- Boutons : lueur qui suit le curseur ---------- */
  html.ecv-motion-ready .btn,html.ecv-motion-ready .tool-btn,html.ecv-motion-ready .elp-btn,
  html.ecv-motion-ready .ev-btn,html.ecv-motion-ready .sm-btn,html.ecv-motion-ready .re-btn{
    position:relative;overflow:hidden;isolation:isolate}
  html.ecv-motion-ready .btn::after,html.ecv-motion-ready .tool-btn::after,
  html.ecv-motion-ready .elp-btn::after,html.ecv-motion-ready .ev-btn::after,
  html.ecv-motion-ready .sm-btn::after,html.ecv-motion-ready .re-btn::after{
    content:"";position:absolute;inset:-40%;z-index:-1;opacity:0;pointer-events:none;
    background:radial-gradient(200px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),transparent 62%);
    transition:opacity .35s ease}
  html.ecv-motion-ready .btn:hover::after,html.ecv-motion-ready .tool-btn:hover::after,
  html.ecv-motion-ready .elp-btn:hover::after,html.ecv-motion-ready .ev-btn:hover::after,
  html.ecv-motion-ready .sm-btn:hover::after,html.ecv-motion-ready .re-btn:hover::after{opacity:1}
  html.ecv-motion-ready .btn:active,html.ecv-motion-ready .tool-btn:active,
  html.ecv-motion-ready .elp-btn:active,html.ecv-motion-ready .ev-btn:active,
  html.ecv-motion-ready .sm-btn:active,html.ecv-motion-ready .re-btn:active{transform:scale(.975)}

  /* ---------- Photos d'article : zoom lent au survol ---------- */
  html.ecv-motion-ready .article-card img,
  html.ecv-motion-ready .article-visual img,
  html.ecv-motion-ready .related-card img,
  html.ecv-motion-ready .sector-card img,
  html.ecv-motion-ready .sector-card-visual img,
  html.ecv-motion-ready .tool-card img,
  html.ecv-motion-ready .tool .visual img,
  html.ecv-motion-ready .book-card img,
  html.ecv-motion-ready .timeline-photo img,
  html.ecv-motion-ready .info-card img{
    transition:transform .8s cubic-bezier(.16,.84,.28,1)}
  html.ecv-motion-ready .article-card:hover img,
  html.ecv-motion-ready .related-card:hover img,
  html.ecv-motion-ready .sector-card:hover img,
  html.ecv-motion-ready .tool-card:hover img,
  html.ecv-motion-ready .tool:hover .visual img,
  html.ecv-motion-ready .book-card:hover img,
  html.ecv-motion-ready .timeline-item:hover .timeline-photo img,
  html.ecv-motion-ready .info-card:hover img{transform:scale(1.06)}

  /* ---------- Compteurs chiffrés ---------- */
  html.ecv-motion-ready [data-ecv-count]{font-variant-numeric:tabular-nums}

  /* ---------- En-tête : compactage au défilement ---------- */
  html.ecv-motion-ready #ecv-shared-header{
    transition:box-shadow .35s ease,backdrop-filter .35s ease,background-color .35s ease}
  html.ecv-motion-ready.ecv-scrolled #ecv-shared-header{
    box-shadow:0 8px 30px rgba(29,26,25,.09);backdrop-filter:saturate(150%) blur(14px)}
}
