/* ml-yt v1 : vidéo YouTube « lite » (façade : miniature + bouton lecture, iframe youtube-nocookie au clic). Voir assets/ml-yt.js et CLAUDE.md. */
.ml-yt{position:relative;width:100%;max-width:880px;margin:24px auto;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0A1929;box-shadow:0 10px 30px rgba(10,25,41,.18)}
.ml-yt.ml-yt-short{max-width:360px;aspect-ratio:9/16}
.ml-yt a.ml-yt-play{position:absolute;inset:0;display:block;color:#fff;text-decoration:none;cursor:pointer}
.ml-yt a.ml-yt-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}
.ml-yt a.ml-yt-play:hover img,.ml-yt a.ml-yt-play:focus-visible img{opacity:.85}
.ml-yt a.ml-yt-play:focus-visible{outline:3px solid #3DDB7B;outline-offset:-3px}
.ml-yt-btn{position:absolute;top:50%;left:50%;width:72px;height:50px;margin:-25px 0 0 -36px;border-radius:14px;background:rgba(10,25,41,.82);display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.ml-yt a.ml-yt-play:hover .ml-yt-btn,.ml-yt a.ml-yt-play:focus-visible .ml-yt-btn{background:#FF0000;transform:scale(1.06)}
.ml-yt-btn svg{width:26px;height:26px;fill:#fff;margin-left:3px}
.ml-yt-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;background:linear-gradient(transparent,rgba(10,25,41,.85));font-size:14px;font-weight:700;line-height:1.35;text-align:start}
.ml-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
