/* Zportif : animations du site */
html{scroll-behavior:smooth}

/* Barre de progression de lecture */
.zp-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:#F59D00;transform-origin:0 50%;transform:scaleX(0);z-index:1000;pointer-events:none}

/* Menu collant : fond plus dense et ombre après le défilement */
.zp-site{overflow-x:clip}
.zp-site>header{position:sticky!important;top:0;z-index:100!important;transition:background-color .3s ease,box-shadow .3s ease}
.zp-site>header.zp-scrolled{background:rgba(21,21,21,.92)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.zp-site>header nav a{position:relative}
.zp-site>header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#F59D00;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.zp-site>header nav a:hover::after{transform:scaleX(1)}

/* Titre principal : lignes qui montent une à une */
.zp-line{display:block;overflow:hidden;padding-bottom:.04em}
.zp-line>span{display:block;transform:translateY(105%);animation:zpLineUp .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes zpLineUp{to{transform:translateY(0)}}

/* Apparition au défilement */
.zp-reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--zp-delay,0s)}
.zp-reveal.zp-in{opacity:1;transform:none}
.zp-reveal-left{transform:translateX(-40px)}
.zp-reveal-zoom{transform:scale(.94)}

/* Boutons */
.zp-site a[style*="border-radius:999px"],.zp-site button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.zp-site a[style*="border-radius:999px"]:hover,.zp-site button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 28px rgba(245,157,0,.35)}
.zp-site a[style*="border-radius:999px"]:active,.zp-site button:active{transform:scale(.98)}

/* Cartes */
.zp-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.zp-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(0,0,0,.18)}
a.zp-card span:last-child{transition:letter-spacing .3s ease}
a.zp-card:hover span:last-child{letter-spacing:.04em}

/* Photos : léger zoom au survol */
.zp-site [role="img"]{transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.zp-site [role="img"]:hover{transform:scale(1.015);filter:brightness(1.08)}

/* Téléphones qui flottent */
@keyframes zpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.zp-float{animation:zpFloat 6s ease-in-out infinite}
.zp-float-2{animation:zpFloat 6s ease-in-out infinite;animation-delay:-3s}

/* Bandeau qui défile (sports) */
.zp-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.zp-marquee-track{display:flex;gap:48px;width:max-content;animation:zpMarquee 28s linear infinite}
.zp-marquee:hover .zp-marquee-track{animation-play-state:paused}
@keyframes zpMarquee{to{transform:translateX(-50%)}}

/* Grands numéros (01, 02…) */
.zp-num{display:inline-block;transition:transform .4s ease,color .4s ease}
.zp-card:hover .zp-num,div:hover>.zp-num{transform:translateX(6px)}

/* Logos partenaires */
.zp-site .partners>span{transition:transform .3s ease,border-color .3s ease,color .3s ease}
.zp-site .partners>span:hover{transform:translateY(-4px);border-color:#F59D00!important;color:#151515}

/* Mot orange du héros : reflet qui passe */
.zp-shine{background:linear-gradient(100deg,#F59D00 0%,#F59D00 40%,#FFD27A 50%,#F59D00 60%,#F59D00 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:zpShine 5s ease-in-out 1.4s infinite}
@keyframes zpShine{0%{background-position:100% 0}60%,100%{background-position:-50% 0}}

/* Accessibilité : moins de mouvement si demandé */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .zp-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .zp-line>span{transform:none!important;animation:none!important}
  .zp-float,.zp-float-2,.zp-marquee-track,.zp-shine{animation:none!important}
  .zp-card:hover,.zp-site a:hover,.zp-site button:hover,.zp-site [role="img"]:hover{transform:none!important}
}

/* Téléphone : tailles adaptées */
@media (max-width:600px){.zp-site header .wrap>a:last-child{font-size:13px!important;padding:10px 14px!important}.zp-site header .wrap>a:first-child span:last-child{font-size:24px!important}.zp-site h1{font-size:clamp(48px,14vw,72px)!important;overflow-wrap:break-word}.zp-site h2,.zp-site span{overflow-wrap:break-word}}

/* accents des grands titres */
.zp-line{padding-top:.18em;margin-top:-.18em}
