/* ===================================================================
   Témoignages vidéo des étudiants (pages Digital Blueprint, présentation
   et roadmap de l'accompagnement). Chaque carte montre d'abord une simple
   miniature : le lecteur Loom ne se charge qu'au clic (temoignages.js),
   sinon dix lecteurs ralentiraient la page sur mobile.
   =================================================================== */
.tv-grille{display:grid;gap:12px;margin-top:22px;grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){ .tv-grille{grid-template-columns:repeat(3,1fr);gap:14px} }
.tv-carte{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm);
  display:flex;flex-direction:column}
.tv-video{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#000025;border:0;padding:0;margin:0;cursor:pointer;overflow:hidden}
.tv-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tv-video:hover img{transform:scale(1.04)}
.tv-video iframe,.tv-video video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tv-lecture{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;
  background:rgba(255,255,255,.95);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.tv-lecture::after{content:"";position:absolute;left:18px;top:14px;border-style:solid;border-width:9px 0 9px 14px;
  border-color:transparent transparent transparent var(--blue)}
.tv-duree{position:absolute;right:8px;bottom:8px;padding:3px 7px;border-radius:6px;background:rgba(5,7,15,.75);
  color:#fff;font-size:11.5px;font-weight:600}
.tv-carte figcaption{padding:10px 12px 12px;display:grid;gap:3px}
.tv-carte figcaption b{color:var(--ink);font-size:14.5px;line-height:1.3}
.tv-carte figcaption span{color:var(--muted);font-size:13px;line-height:1.4}
@media (max-width:420px){
  .tv-lecture{width:38px;height:38px;margin:-19px 0 0 -19px}
  .tv-lecture::after{left:15px;top:11px;border-width:8px 0 8px 12px}
  .tv-carte figcaption{padding:8px 10px 10px}
  .tv-carte figcaption b{font-size:13.5px}
  .tv-carte figcaption span{font-size:12px}
}
.tv-grille + .ap-temoignages{margin-top:14px}
