/**
 * 2026 ALGO-FACTORY.COM — aflivecovers, scène « Description de caractéristiques ».
 * Racine : .afl-fd ; animations : afl-fd-*. Durée et image fixe : scene.json.
 *
 * Déroulé (cycle de 10 s) : le pointeur gagne l'icône de la matière (4-14 %), l'info-bulle
 * s'ouvre (16-20 %) puis se ferme (40-43 %) ; le pointeur gagne l'icône de l'usage et clique
 * (41-53 %), la modale s'ouvre (52-57 %) et reste lisible jusqu'à l'effacement (90 %).
 */
.afl-fd{
  position:absolute;inset:0;
  font-size:3.1cqw;
  background:linear-gradient(180deg,#fdfefe,#f3f6fb);
  animation:afl-cycle var(--afl-dur) linear infinite;
}

/* En-tête : marque, texte simulé, mode d'affichage en cours */
.afl-fd__l1{width:10cqw}
.afl-fd__l2{width:7cqw}
.afl-fd__mode{margin-left:auto;display:grid}
.afl-fd__pt,
.afl-fd__pm{grid-area:1/1;justify-self:end}
.afl-fd__pi{width:2.2cqw;height:2.2cqw;flex:none}
.afl-fd__pt{animation:afl-fd-pt var(--afl-dur) linear infinite}
.afl-fd__pm{opacity:0;animation:afl-fd-pm var(--afl-dur) linear infinite}

/* Fiche produit */
.afl-fd__img{
  position:absolute;left:4.4cqw;top:16cqw;width:36.6cqw;height:40cqw;
  display:flex;align-items:center;justify-content:center;
  border-radius:2.4cqw;
  background:linear-gradient(160deg,#eaf3fe,#d3e5fb);
}
.afl-fd__sw{width:24cqw;height:24cqw;color:var(--afl-primary)}
.afl-fd__btn{
  position:absolute;left:4.4cqw;top:59cqw;width:36.6cqw;height:7.5cqw;
  display:flex;align-items:center;justify-content:center;
  border-radius:1.6cqw;background:var(--afl-primary);color:#fff;
  font-size:2.6cqw;font-weight:700;white-space:nowrap;
}
.afl-fd__name{
  position:absolute;left:45cqw;top:16cqw;
  font-size:3.6cqw;font-weight:800;letter-spacing:-.01em;white-space:nowrap;
}
.afl-fd__price{
  position:absolute;left:45cqw;top:21.5cqw;
  font-size:3.4cqw;font-weight:700;color:var(--afl-primary);white-space:nowrap;
}
.afl-fd__lbl{
  position:absolute;left:45cqw;top:29cqw;
  font-size:2.1cqw;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--afl-ink-40);white-space:nowrap;
}
.afl-fd__rows{position:absolute;left:45cqw;right:4.4cqw;top:33cqw}
.afl-fd__row{
  display:flex;align-items:center;gap:1.5cqw;height:7cqw;
  border-bottom:1px solid var(--afl-ink-08);
}
.afl-fd__row:first-child{border-top:1px solid var(--afl-ink-08)}
.afl-fd__k{min-width:19cqw;font-size:2.5cqw;color:var(--afl-ink-60);white-space:nowrap}
.afl-fd__v{font-size:2.6cqw;font-weight:600;white-space:nowrap}
.afl-fd__i{margin-left:auto;width:3.4cqw;height:3.4cqw;flex:none;color:var(--afl-ink-40)}
.afl-fd__i svg{width:100%;height:100%}
.afl-fd__i--m{animation:afl-fd-im var(--afl-dur) linear infinite}
.afl-fd__i--u{animation:afl-fd-iu var(--afl-dur) linear infinite}
.afl-fd__desc{
  position:absolute;left:45cqw;right:4.4cqw;top:58.5cqw;
  display:flex;flex-direction:column;gap:2.1cqw;
}
.afl-fd__d1{width:46cqw}
.afl-fd__d2{width:41cqw}
.afl-fd__d3{width:28cqw}

/* L'info-bulle, au-dessus de l'icône de la matière */
.afl-fd__tip{
  position:absolute;right:2.6cqw;bottom:36.4cqw;width:44cqw;z-index:9;
  padding:1.6cqw 2.2cqw;border-radius:1.6cqw;
  background:var(--afl-secondary);color:#fff;
  font-size:2.2cqw;line-height:1.35;
  box-shadow:0 1.6cqw 3.2cqw -1.4cqw rgba(7,7,49,.5);
  opacity:0;transform:translateY(1.2cqw);
  animation:afl-fd-tip var(--afl-dur) cubic-bezier(.22,.9,.3,1) infinite;
}
.afl-fd__tip::after{
  content:"";position:absolute;right:2.3cqw;bottom:-1.2cqw;width:0;height:0;
  border-left:1.2cqw solid transparent;border-right:1.2cqw solid transparent;
  border-top:1.2cqw solid var(--afl-secondary);
}
.afl-fd__tip-t{display:block;margin-bottom:.4cqw;font-size:2.5cqw;font-weight:700}

/* La modale, sur un voile */
.afl-fd__ov{
  position:absolute;left:0;right:0;top:9.4cqw;bottom:0;z-index:10;
  background:rgba(7,7,49,.42);
  opacity:0;animation:afl-fd-ov var(--afl-dur) linear infinite;
}
.afl-fd__modal{
  position:absolute;left:13cqw;right:13cqw;top:24cqw;z-index:11;
  padding:3cqw 3.4cqw;border-radius:2.4cqw;background:#fff;
  box-shadow:0 2.4cqw 5cqw -2cqw rgba(7,7,49,.55);
  opacity:0;transform:translateY(2.4cqw) scale(.96);
  animation:afl-fd-mod var(--afl-dur) cubic-bezier(.22,.9,.3,1) infinite;
}
.afl-fd__mh{display:flex;align-items:center;gap:1.8cqw}
.afl-fd__mb{
  width:6.4cqw;height:6.4cqw;flex:none;border-radius:1.6cqw;
  display:flex;align-items:center;justify-content:center;
  background:rgba(2,114,234,.1);color:var(--afl-primary);
}
.afl-fd__mb svg{width:4cqw;height:4cqw}
.afl-fd__mhead{display:flex;flex-direction:column;gap:.3cqw;min-width:0}
.afl-fd__me{font-size:2.1cqw;color:var(--afl-ink-60);white-space:nowrap}
.afl-fd__mt{font-size:3.8cqw;font-weight:800;letter-spacing:-.01em;line-height:1.1;white-space:nowrap}
.afl-fd__mx{margin-left:auto;align-self:flex-start;width:2.8cqw;height:2.8cqw;flex:none;color:var(--afl-ink-40)}
.afl-fd__mp{display:block;margin-top:2.2cqw;font-size:2.5cqw;line-height:1.4;color:var(--afl-ink-60)}
.afl-fd__mtags{display:flex;flex-wrap:wrap;gap:1.4cqw;margin-top:2.2cqw}

/* Le pointeur : de (78, 66) à l'icône de la matière (93.9, 43.5), puis de l'usage (93.9, 50.5) */
.afl-fd__cursor{
  transform:translate(78cqw,66cqw) scale(1);
  animation:afl-fd-cur var(--afl-dur) cubic-bezier(.22,.9,.3,1) infinite;
}

@keyframes afl-fd-cur{
  0%,4%{transform:translate(78cqw,66cqw) scale(1)}
  14%,41%{transform:translate(93.1cqw,43.1cqw) scale(1)}
  49%{transform:translate(93.1cqw,50.1cqw) scale(1)}
  51%{transform:translate(93.1cqw,50.1cqw) scale(.85)}
  53%,96%{transform:translate(93.1cqw,50.1cqw) scale(1)}
  99%,100%{transform:translate(78cqw,66cqw) scale(1)}
}
@keyframes afl-fd-im{
  0%,13%{color:var(--afl-ink-40)}
  15%,41%{color:var(--afl-primary)}
  44%,100%{color:var(--afl-ink-40)}
}
@keyframes afl-fd-iu{
  0%,47%{color:var(--afl-ink-40)}
  49%,96%{color:var(--afl-primary)}
  99%,100%{color:var(--afl-ink-40)}
}
@keyframes afl-fd-tip{
  0%,16%{opacity:0;transform:translateY(1.2cqw)}
  20%,40%{opacity:1;transform:translateY(0)}
  43%,96%{opacity:0;transform:translateY(0)}
  99%,100%{opacity:0;transform:translateY(1.2cqw)}
}
@keyframes afl-fd-ov{
  0%,52%{opacity:0}
  56%,96%{opacity:1}
  99%,100%{opacity:0}
}
@keyframes afl-fd-mod{
  0%,52%{opacity:0;transform:translateY(2.4cqw) scale(.96)}
  57%,96%{opacity:1;transform:translateY(0) scale(1)}
  99%,100%{opacity:0;transform:translateY(2.4cqw) scale(.96)}
}
@keyframes afl-fd-pt{
  0%,50%{opacity:1}
  53%,96%{opacity:0}
  99%,100%{opacity:1}
}
@keyframes afl-fd-pm{
  0%,50%{opacity:0}
  53%,96%{opacity:1}
  99%,100%{opacity:0}
}
