#detail .rv-choix button[data-mode=webcam]{position:relative;overflow:hidden;isolation:isolate}
#detail .rv-choix button.rv-webcam-invite{animation:rv-webcam-halo 1.8s ease-in-out both}
#detail .rv-choix button.rv-webcam-invite::before{content:"";position:absolute;pointer-events:none;inset-block:-35%;left:-65%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,238,177,.8),rgba(255,255,255,.95),transparent);transform:skewX(-24deg);animation:rv-webcam-shine 1.8s ease-in-out both}
#detail .rv-choix button.rv-webcam-invite::after{content:"";position:absolute;pointer-events:none;top:6px;right:7px;width:11px;height:11px;background:#ffc95a;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);animation:rv-webcam-spark 1.8s ease-in-out both}
@keyframes rv-webcam-shine{0%,12%{left:-65%;opacity:0}25%{opacity:.85}72%{left:130%;opacity:.85}88%,100%{left:130%;opacity:0}}
@keyframes rv-webcam-spark{0%,18%,100%{opacity:0;transform:scale(.4) rotate(-20deg)}45%,65%{opacity:1;transform:scale(1) rotate(15deg)}}
@keyframes rv-webcam-halo{0%,100%{box-shadow:0 0 0 0 rgba(255,205,104,0)}45%,65%{box-shadow:0 0 0 2px rgba(255,205,104,.65),0 0 15px rgba(255,214,133,.35)}}
@media(prefers-reduced-motion:reduce){#detail .rv-choix button.rv-webcam-invite{animation:none;box-shadow:0 0 0 2px rgba(255,205,104,.65)}#detail .rv-choix button.rv-webcam-invite::before,#detail .rv-choix button.rv-webcam-invite::after{display:none;animation:none}}
