/* text-reveal-classes.css v1.0
 * À inclure avant text-reveal-classes.min.js
 *
 * ─── Variables par défaut (surchargeable sur n'importe quel parent) ───
 *
 *   --tr-dur      durée d'un élément     (défaut : 700ms)
 *   --tr-stagger  délai entre éléments   (défaut :  60ms)
 *   --tr-delay    délai global           (défaut :   0ms)
 *   --tr-rotate   angle de départ        (défaut :   6deg)
 *   --tr-easing   courbe d'accélération  (défaut : easeOutExpo)
 */

/* ── Classe de base + valeurs par défaut ─────────────────────────────── */
.tr {
  --tr-dur:     1700ms;
  --tr-stagger:  60ms;
  --tr-delay:     0ms;
  --tr-rotate:    6deg;
  --tr-easing: cubic-bezier(.16, 1, .3, 1);
}

/* ── Durée ───────────────────────────────────────────────────────────── */
.tr-fast   { --tr-dur:  400ms; }
.tr-slow   { --tr-dur: 1000ms; }
.tr-slower { --tr-dur: 1400ms; }

/* ── Stagger ─────────────────────────────────────────────────────────── */
.tr-tight   { --tr-stagger:  20ms; }
.tr-loose   { --tr-stagger: 120ms; }
.tr-cascade { --tr-stagger: 220ms; }

/* ── Délai global ────────────────────────────────────────────────────── */
.tr-wait-sm { --tr-delay:  200ms; }
.tr-wait-md { --tr-delay:  500ms; }
.tr-wait-lg { --tr-delay: 1000ms; }

/* ── Rotation ────────────────────────────────────────────────────────── */
.tr-flat    { --tr-rotate:  0deg; }
.tr-tilt-sm { --tr-rotate:  3deg; }
.tr-tilt-lg { --tr-rotate: 12deg; }
.tr-tilt-xl { --tr-rotate: 22deg; }

/* ── Easing ──────────────────────────────────────────────────────────── */
.tr-ease-back   { --tr-easing: cubic-bezier(.34, 1.56, .64,  1);   }
.tr-ease-smooth { --tr-easing: cubic-bezier(.25,  .46, .45, .94);  }
.tr-ease-linear { --tr-easing: linear; }

/* ── Wrapper masque (overflow hidden + contain) ──────────────────────── */
.trc-w {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding-bottom: .12em;
  margin-bottom:  -.12em;
  contain: layout style;
}
.trc-wb {
  display: block;
  overflow: hidden;
  padding-bottom: .1em;
  margin-bottom:  -.1em;
  contain: layout style;
}

/* ── Élément animé ───────────────────────────────────────────────────── */
.trc-i {
  display: inline-block;
  will-change: transform, opacity;
  transform-origin: bottom left;
}
.trc-ib { display: block; }
