/* 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; padding:0; border:0; box-sizing:border-box; font:inherit; 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-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; }
.streaming-details { position:fixed; inset:0; box-sizing:border-box; width:min(680px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:32px; border:1px solid #536174; border-radius:14px; background:#263140; color:#fff; font:16px/1.5 sans-serif; box-shadow:0 24px 80px rgba(0,0,0,.5); overflow:auto; }
.streaming-details::backdrop { background:rgba(10,16,24,.78); }
.streaming-details-close { position:absolute; right:10px; top:10px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#374151; color:#fff; font:28px/1 sans-serif; cursor:pointer; }
.streaming-details-body { display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:start; }
.streaming-details-poster { width:100%; max-height:360px; object-fit:contain; border-radius:6px; }
.streaming-details-body:has(.streaming-details-poster[hidden]) { grid-template-columns:1fr; }
.streaming-details-title { margin:12px 0; color:#fff; font:700 24px/1.25 sans-serif; overflow-wrap:anywhere; }
.streaming-details-episode { margin:0 0 20px; color:#d7dee7; overflow-wrap:anywhere; }
.streaming-details-meta { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 16px; margin:20px 0 24px; }
.streaming-details-meta dt { font-weight:400; color:#aebacb; }
.streaming-details-meta dd { margin:0; overflow-wrap:anywhere; }
#plexCarouselContainer .streaming-details-link { display:inline-flex; justify-content:center; align-items:center; padding:12px 18px; border-radius:24px; background:#ff7183; color:#171e28 !important; font-weight:700; text-decoration:none; }
#plexCarouselContainer .streaming-details-link:hover { background:#ff91a0; color:#171e28 !important; }
.streaming-details-unavailable { color:#d7dee7; margin:16px 0 0; }
@media(max-width:600px) { .streaming-card { width:120px; } .streaming-card-text { font-size:9px; } }
@media(max-width:600px) { .streaming-details { padding:48px 20px 24px; } .streaming-details-body { grid-template-columns:1fr; gap:12px; } .streaming-details-poster { width:140px; max-height:210px; margin:auto; } .streaming-details-title { font-size:22px; } #plexCarouselContainer .streaming-details-link { display:flex; } }
@media(prefers-reduced-motion:reduce) { .streaming-card { transition:none; } }
