/* Ruvo : selecteur de langue, animations d'interface */
.c-header_lang{display:flex;gap:.7em;height:auto;align-items:center;pointer-events:auto}
.c-header_lang:before{content:none!important}
.c-header_lang a{position:relative;opacity:.45;transition:opacity .3s ease}
.c-header_lang a:hover,.c-header_lang a.is-active{opacity:1}
.c-header_lang a:after{content:"";position:absolute;left:0;right:0;bottom:-.15em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.215,.61,.355,1)}
.c-header_lang a.is-active:after,.c-header_lang a:hover:after{transform:scaleX(1)}

/* lune du logo : tourne au survol, respire doucement */
.c-header_logo_moon{transition:transform .8s cubic-bezier(.34,1.56,.64,1);animation:ruvoMoonBreath 4s ease-in-out infinite;transform-origin:50% 50%}
.c-header_logo:hover .c-header_logo_moon{transform:rotate(180deg)}
@keyframes ruvoMoonBreath{0%,100%{opacity:1}50%{opacity:.7}}

/* boutons du chat : apparition en cascade + petit rebond au survol */
.c-lisa-step_choices .c-lisa-step_choice,.c-lisa-step_next{animation:ruvoPop .55s cubic-bezier(.34,1.56,.64,1) both}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(1){animation-delay:.05s}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(2){animation-delay:.12s}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(3){animation-delay:.19s}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(4){animation-delay:.26s}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(5){animation-delay:.33s}
.c-lisa-step_choices .c-lisa-step_choice:nth-child(n+6){animation-delay:.4s}
.c-lisa-step_choice,.c-lisa-step_next{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.c-lisa-step_choice:hover,.c-lisa-step_next:hover{transform:translateY(-2px) scale(1.04)}
@keyframes ruvoPop{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .c-header_logo_moon,.c-lisa-step_choice,.c-lisa-step_next{animation:none!important;transition:none!important}
}

/* badge "suivi inclus" a cote de l'offre 1 000 € */
.ruvo-badge{display:inline-block;margin-left:.5em;padding:.15em .55em;border-radius:999px;font-size:.78em;line-height:1.3;color:#fff;background:linear-gradient(110deg,#111 35%,#555 50%,#111 65%);background-size:250% 100%;animation:ruvoShine 2.6s linear infinite,ruvoBadgePulse 2.6s ease-in-out infinite;vertical-align:.08em;white-space:nowrap}
@keyframes ruvoShine{from{background-position:130% 0}to{background-position:-130% 0}}
@keyframes ruvoBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}

/* liste de ce qui est inclus */
.ruvo-included{margin-top:1.4rem;max-width:30rem;font-size:.82rem;line-height:1.45;color:#111}
.ruvo-included_title{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6;animation:ruvoFadeUp .5s .25s cubic-bezier(.215,.61,.355,1) both}
.ruvo-included_list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.ruvo-included_list li{position:relative;padding-left:1.25em;animation:ruvoFadeUp .5s cubic-bezier(.215,.61,.355,1) both}
.ruvo-included_list li:before{content:"";position:absolute;left:0;top:.42em;width:.62em;height:.62em;border-radius:50%;background:#111;box-shadow:inset 0 -.2em 0 0 #9a9a9a;animation:ruvoDot 3s ease-in-out infinite}
.ruvo-included_follow{margin:.8rem 0 0;padding:.55rem .75rem;border-left:2px solid #111;background:rgba(255,255,255,.35);animation:ruvoFadeUp .5s cubic-bezier(.215,.61,.355,1) both}
@keyframes ruvoFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ruvoDot{0%,100%{transform:rotate(0)}50%{transform:rotate(180deg)}}
@media (prefers-reduced-motion:reduce){.ruvo-badge,.ruvo-included *{animation:none!important}}

/* petit bouton "voir les autres projets" */
.ruvo-projects-btn{position:fixed;left:6.2rem;bottom:2.55rem;z-index:700;display:inline-flex;align-items:center;gap:.45em;height:2.5rem;padding:0 1.1em;border-radius:999px;background:#111;color:#fff;font-size:.85rem;text-decoration:none;opacity:0;animation:ruvoPop .6s 2.5s cubic-bezier(.34,1.56,.64,1) forwards;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ruvo-projects-btn span{display:inline-block;transition:transform .25s}
.ruvo-projects-btn:hover{transform:scale(1.05)}
.ruvo-projects-btn:hover span{transform:translate(2px,-2px)}
@media (max-width:700px){.ruvo-projects-btn{left:auto;right:1rem;bottom:5.5rem}}
