/* Épisodes des séries : cartes avec miniature YouTube, numéro, titre et durée. */
.episodes-rail.episodes-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;padding:10px 0 4px;align-items:start}
.episodes-grid .episode-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;position:relative;color:#e6e8f0;text-align:left;text-decoration:none;cursor:pointer;border-radius:10px;outline-offset:4px}
.episodes-grid .episode-card:focus-visible{outline:2px solid #7771ff}
.episodes-grid .episode-card .episode-status{margin-left:0;white-space:normal}
.episode-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:9px;overflow:hidden;background:#1a202c;box-shadow:0 6px 18px #0005}
.episode-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease,filter .25s ease}
.episode-play{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#2B22EE;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.85);transition:opacity .2s,transform .2s;box-shadow:0 6px 20px #0008}
.episode-play svg{width:22px;height:22px;margin-left:3px}
.episodes-grid .episode-card:is(:hover,:focus-visible) .episode-play{opacity:1;transform:scale(1)}
.episodes-grid .episode-card:is(:hover,:focus-visible) .episode-thumb img{filter:brightness(.7)}
html:not(.cs-reduced-motion) .episodes-grid .episode-card:is(:hover,:focus-visible) .episode-thumb img{transform:scale(1.04)}
.episode-duration{position:absolute;right:7px;bottom:7px;padding:2px 6px;border-radius:5px;background:#000c;color:#fff;font:600 11px/1.4 Inter,Arial,sans-serif;font-variant-numeric:tabular-nums}
.episode-duration .skeleton-loader{display:inline-block;width:30px;height:9px;vertical-align:middle;margin:0;border-radius:3px;background:linear-gradient(90deg,#ffffff14 0%,#ffffff33 50%,#ffffff14 100%);background-size:200px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}
.episode-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:#ffffff40}
.episode-progress span{display:block;height:100%;background:#2B22EE}
.episode-copy{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0 2px}
.episode-number{font:700 10px/1.3 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8f89ff}
.episode-title{font:600 14px/1.35 Inter,Arial,sans-serif;color:#f1f3f8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.episodes-grid .episode-status{font:500 12px/1.4 Inter,Arial,sans-serif;color:#aab4c3;margin:0}
.episodes-grid .episode-status.is-watched{color:#7fd6a2}
.episodes-grid .episode-card .cs-audio-languages{position:absolute;top:7px;left:7px;margin:0!important;z-index:1}
@media(max-width:768px){.episodes-rail.episodes-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.episode-title{font-size:13px}}
