/* Bouton violet unique du site : copie du « Dark Button » Framer de la landing
   (« S'inscrire gratuitement » / « Essayer Yoovi gratuitement » sur ordinateur : Plus Jakarta Sans 500 18 px, interlettrage −1 px, texte à 15 px du bord, flèche Phosphor « regular » 20 px), chargé par la landing et par toutes les pages Astro.
   Balisage : <a class="yv-btn" href="…">Libellé <span aria-hidden="true">→</span></a>
   (le contenu du <span> est masqué : la flèche est dessinée en CSS).
   Survol : le bouton passe en blanc, le texte en violet, et un disque violet grandit
   depuis le centre de la pastille jusqu'à la remplir ; la flèche passe en clair. */
.yv-btn{
 --yv-bt:#5046e5;
 position:relative;display:inline-flex;align-items:center;gap:10px;box-sizing:border-box;
 height:60px;padding:10px 10px 10px 15px;border:0;border-radius:40px;
 background:var(--yv-bt);color:#fff;
 font:500 18px/1.4 "Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-1px;
 text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;
 box-shadow:#0000000d 0 1.34px .54px -.63px,#0000000d 0 3.18px 1.27px -1.25px,#0000000d 0 5.81px 2.32px -1.88px,#0000000a 0 9.66px 3.86px -2.5px,#0000000a 0 15.6px 6.24px -3.13px,#00000008 0 25.5px 10.2px -3.75px,#00000005 0 44px 17.6px -4.38px,inset 0 -8px 14px #1c0f0fa8;
 transition:background-color .4s cubic-bezier(.22,1,.36,1),color .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1)
}
.yv-btn>span{
 position:relative;display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:40px;overflow:hidden;
 background:#fff;font-size:0;line-height:0;color:transparent;transition:background-color .4s cubic-bezier(.22,1,.36,1)
}
/* Disque violet (1 px au repos, comme dans Framer) qui remplit la pastille au survol */
.yv-btn>span::before{
 content:"";position:absolute;left:50%;top:50%;width:2px;height:2px;margin:-1px 0 0 -1px;border-radius:60px;
 background:var(--yv-bt);transform:scale(.5);transition:transform .45s cubic-bezier(.22,1,.36,1)
}
.yv-btn>span::after{
 content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;background:#171717;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;
 transition:background-color .4s cubic-bezier(.22,1,.36,1)
}
.yv-btn:hover,.yv-btn:focus-visible{
 background:#fff;color:var(--yv-bt);
 box-shadow:#0000000d 0 1.34px .54px -.63px,#0000000d 0 3.18px 1.27px -1.25px,#0000000d 0 5.81px 2.32px -1.88px,#0000000a 0 9.66px 3.86px -2.5px,#0000000a 0 15.6px 6.24px -3.13px,#00000008 0 25.5px 10.2px -3.75px,#00000005 0 44px 17.6px -4.38px,inset 0 -8px 14px #5247ed8f
}
.yv-btn:hover>span,.yv-btn:focus-visible>span{background:#ededed}
.yv-btn:hover>span::before,.yv-btn:focus-visible>span::before{transform:scale(22)}
.yv-btn:hover>span::after,.yv-btn:focus-visible>span::after{background:#ededed}
.yv-btn:active{transform:scale(.98)}
.yv-btn:focus-visible{outline:3px solid var(--yv-bt);outline-offset:3px}
@media (max-width:420px){.yv-btn{font-size:16px;height:56px;padding-left:14px}}
@media (prefers-reduced-motion:reduce){.yv-btn,.yv-btn>span,.yv-btn>span::before,.yv-btn>span::after{transition:none}}
