/* Styles isolés du snippet fourni : mêmes dimensions, affiches et bandeau. */
.streaming-carousel { width:100%; max-width:1000px; margin:auto; padding:20px 0; overflow:hidden; font-family:sans-serif; }
.streaming-carousel [hidden] { display:none !important; }
.streaming-viewport { width:100%; overflow:hidden; position:relative; touch-action:pan-y; cursor:grab; padding:5px 0; }
.streaming-viewport.is-dragging { cursor:grabbing; user-select:none; }
.streaming-list, .streaming-group { display:flex; gap:6px; align-items:flex-start; width:max-content; }
.streaming-list { will-change:transform; }
.streaming-group { flex-shrink:0; }
.streaming-card { position:relative; display:block; width:150px; height:180px; flex-shrink:0; border-radius:6px; overflow:hidden; cursor:pointer; background:rgba(0,0,0,.15); color:#fff; transition:transform .2s; text-decoration:none; }
.streaming-card.has-poster { height:auto; }
.streaming-card:hover { transform:scale(1.05); z-index:1; }
.streaming-card img { width:100%; height:100%; object-fit:contain; display:block; user-select:none; }
.streaming-card-text { position:absolute; bottom:0; left:0; box-sizing:border-box; width:100%; background:rgba(0,0,0,.7); color:#fff; font-size:10px; padding:4px; text-align:center; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.streaming-status { margin:0 0 .5rem; text-align:center; }
.streaming-pause, .streaming-retry { display:block; margin:.5rem auto 0; background:transparent; color:inherit; font:inherit; font-size:12px; border:1px solid currentColor; border-radius:4px; padding:5px 10px; cursor:pointer; }
.streaming-carousel :focus-visible { outline:2px solid currentColor; outline-offset:-2px; }
@media(max-width:600px) { .streaming-card { width:120px; } .streaming-card-text { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .streaming-card { transition:none; } }
