/* Bandeau d'avis qui défile (24/10/2026) : vrais avis App Store et Google Play,
   générés par scripts/avis-defilants.py depuis scripts/avis.json. */
.rfavis { padding: 72px 0; overflow: hidden; }
.rfavis--inline { padding: 56px 0 8px; }
.rfavis__head { max-width: 1120px; margin: 0 auto 28px; padding: 0 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.rfavis__title { font-size: 30px; line-height: 1.2; font-weight: 700; color: #111827; }
.rfavis__score { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rfavis__score b { font-size: 28px; font-weight: 800; color: #111827; }
.rfavis__meta { font-size: 14px; line-height: 1.5; color: #4b5563; }
.rfavis__meta a { color: #7c3aed; font-weight: 600; }
.rfavis__stars { display: inline-flex; gap: 3px; }
.rfavis__stars i { width: 22px; height: 22px; border-radius: 5px; background: #7c3aed; display: flex; align-items: center; justify-content: center; }
.rfavis__stars i svg { width: 14px; height: 14px; fill: #fff; }
.rfavis__stars--sm i { width: 18px; height: 18px; border-radius: 4px; }
.rfavis__stars--sm i svg { width: 11px; height: 11px; }
.rfavis__viewport { position: relative; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.rfavis__track { display: flex; width: max-content; animation: rfavis-defile 110s linear infinite; }
.rfavis__viewport:hover .rfavis__track, .rfavis__viewport:focus-within .rfavis__track { animation-play-state: paused; }
.rfavis__list { display: flex; gap: 16px; padding: 0 8px; margin: 0; list-style: none; }
.rfavis__card { flex: none; width: 300px; display: flex; flex-direction: column; gap: 10px; padding: 20px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; box-shadow: 0 1px 2px rgba(17,24,39,.04); }
.rfavis__card h3 { font-size: 15px; line-height: 1.35; font-weight: 700; color: #111827; }
.rfavis__card p { font-size: 14px; line-height: 1.55; color: #374151; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.rfavis__by { margin-top: auto; padding-top: 6px; font-size: 12.5px; color: #6b7280; }
.rfavis__by strong { color: #111827; font-weight: 600; }
.rfavis__note { max-width: 1120px; margin: 14px auto 0; padding: 0 32px; font-size: 12.5px; color: #6b7280; }
@keyframes rfavis-defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .rfavis__track { animation: none; }
  .rfavis__viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .rfavis__list[aria-hidden="true"] { display: none; }
}
@media (max-width: 640px) {
  .rfavis { padding: 48px 0; }
  .rfavis--inline { padding: 40px 0 0; }
  .rfavis__head, .rfavis__note { padding: 0 16px; }
  .rfavis__title { font-size: 24px; }
  .rfavis__card { width: 260px; }
  .rfavis__track { animation-duration: 90s; }
}
.rfavis--alt { background: #f9fafb; }
