/* Serialuj Core – přehrávač, detail seriálu, epizody (Newspaper-friendly) */
:root{--sj-accent:#ff7b00;--sj-accent-dark:#e06b00;--sj-gold:#f2a600}

/* ── Přehrávač ── */
.sj-player-wrap{margin:0 0 25px}
.sj-player{position:relative;width:100%;aspect-ratio:16/9;background:#0a0a0a;border-radius:10px;overflow:hidden;box-shadow:0 6px 30px rgba(0,0,0,.5);margin-bottom:12px}
.sj-player-cover{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.65)}
.sj-player-nocover{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460)}
.sj-player-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.sj-player-overlay[hidden]{display:none}
.sj-play-btn{background:none;border:0;padding:0;cursor:pointer;transition:transform .25s;filter:drop-shadow(0 4px 15px rgba(255,123,0,.4));line-height:0}
.sj-play-btn:hover{transform:scale(1.15)}
.sj-loader-box{text-align:center;background:rgba(0,0,0,.75);padding:25px 40px;border-radius:12px;border:1px solid rgba(255,123,0,.3);backdrop-filter:blur(5px)}
.sj-spinner{border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--sj-accent);border-radius:50%;width:45px;height:45px;animation:sjspin 1s linear infinite;margin:0 auto 15px}
@keyframes sjspin{to{transform:rotate(360deg)}}
.sj-loader-text{color:#fff;font-size:14px;font-weight:500;line-height:1.6}
.sj-loader-text span{font-size:26px;color:var(--sj-accent);font-weight:800}
.sj-final-btn{background:linear-gradient(135deg,var(--sj-accent),var(--sj-accent-dark));color:#fff!important;text-decoration:none!important;padding:16px 35px;font-size:22px;font-weight:700;border-radius:50px;box-shadow:0 8px 25px rgba(255,123,0,.6);animation:sjpulse 1.5s infinite;transition:transform .2s}
.sj-final-btn:hover{transform:scale(1.08);animation:none}
.sj-final-btn--static{animation:none}
.sj-player-overlay p{margin:0}
.sj-dl-link.is-ready{color:#7ed957}
@keyframes sjpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.sj-player-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 20px;z-index:3;pointer-events:none}
.sj-player-play-text{color:#fff;font-size:15px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.sj-player-quality{color:rgba(255,255,255,.85);font-size:12px;font-weight:600;background:rgba(0,0,0,.6);padding:5px 12px;border-radius:4px}
.sj-player-progress{position:absolute;bottom:0;left:0;right:0;height:5px;background:rgba(255,255,255,.15);z-index:3}
.sj-player-progress-bar{height:100%;background:linear-gradient(90deg,var(--sj-accent),#ffba70);transition:width 1s linear;box-shadow:0 0 10px rgba(255,123,0,.8)}

/* ── Lišta stažení ── */
.sj-dl-bar{display:flex;justify-content:space-between;align-items:center;background:#151515;padding:12px 20px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.sj-dl-link{color:var(--sj-gold);text-decoration:none!important;font-size:14px;font-weight:600;white-space:nowrap}
.sj-dl-link:hover{color:#ffbc2b}
.sj-dl-link.is-running{pointer-events:none;opacity:.9}
.sj-dl-center,.sj-dl-right{color:#fff;font-size:14px;font-weight:500}
.sj-dl-tag{display:inline-block;margin-left:25px}
.sj-dl-tag:first-child{margin-left:0}

/* ── Mezistránka ── */
.sj-gate-note{font-size:13px;color:#777;margin:10px 0}
.sj-gate-back{font-size:13px}
.sj-gate-back a{color:var(--sj-accent);text-decoration:none}

/* ── Reklamní pozice ── */
.sj-ad{margin:15px 0;text-align:center}
.sj-ad:empty{display:none}

/* ── Detail seriálu ── */
.sj-detail{margin:20px 0}
.sj-original-name{color:#999;font-size:14px;margin-bottom:10px}
.sj-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:13px}
.sj-meta-row span{background:#f0f0f0;color:#444;padding:5px 14px;border-radius:5px;display:inline-flex;align-items:center;gap:5px}
.sj-meta-row .sj-rating{background:#fff8e1;color:#f5a623;font-weight:700}
.sj-genres{margin:12px 0;display:flex;flex-wrap:wrap;gap:6px}
.sj-genres a{background:var(--sj-accent);color:#fff!important;padding:5px 16px;border-radius:20px;font-size:12px;text-decoration:none!important;font-weight:600}
.sj-genres a:hover{background:var(--sj-accent-dark)}

/* ── Kde sledovat ── */
.sj-offers{margin:20px 0}
.sj-offers h3{font-size:16px;margin-bottom:10px}
.sj-offers-grid{display:flex;flex-wrap:wrap;gap:8px}
.sj-offer{display:inline-flex;align-items:center;gap:8px;background:#fafafa;border:1px solid #e5e5e5;border-radius:6px;padding:6px 12px;text-decoration:none!important;color:#333;font-weight:600;font-size:13px}
.sj-offer img{width:28px;height:28px;border-radius:4px;object-fit:cover}
.sj-offer:hover{border-color:var(--sj-accent);color:var(--sj-accent)}

/* ── Série / epizody ── */
.sj-seasons{margin:25px 0}
.sj-season-block{margin-bottom:15px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}
.sj-season-header{background:#f5f5f5;padding:12px 16px;font-weight:700;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}
.sj-season-header:hover{background:#eee}
.sj-season-header .sj-ep-count{font-size:12px;color:#888;font-weight:400}
.sj-season-header .sj-ep-count{margin-left:auto}
.sj-season-arrow{margin-left:14px;color:#999;font-size:12px}
.sj-season-arrow::before{content:'▾'}
.sj-season-block.is-collapsed .sj-season-arrow::before{content:'▸'}
.sj-episodes-list{list-style:none;margin:0;padding:0}
.sj-episodes-list[hidden]{display:none}
.sj-episodes-list li{padding:0;margin:0;border-top:1px solid #f0f0f0;transition:background .15s}
.sj-episodes-list li:hover{background:#fff8f0}
.sj-ep-row{display:flex;align-items:center;padding:10px 16px;gap:12px;text-decoration:none!important;color:inherit;width:100%;box-sizing:border-box}
.sj-ep-row--nolink{opacity:.6}
.sj-ep-num{font-weight:700;color:var(--sj-accent);min-width:50px;font-size:13px}
.sj-ep-title{color:#333;font-weight:500;font-size:14px}
.sj-ep-row:hover .sj-ep-title{color:var(--sj-accent)}
.sj-ep-date{margin-left:auto;color:#999;font-size:12px;white-space:nowrap}

/* ── Obsazení ── */
.sj-cast-section{margin:25px 0}
.sj-cast-section h3{font-size:16px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--sj-accent);display:inline-block;color:#333}
.sj-cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.sj-cast-card{display:block;padding:12px 14px;border-left:3px solid var(--sj-accent);background:#fafafa;border-radius:0 6px 6px 0;text-decoration:none!important}
.sj-cast-card:hover{background:#fff3e6}
.sj-cast-role{display:block;font-size:10px;color:#999;text-transform:uppercase;margin-bottom:2px;letter-spacing:.5px}
.sj-cast-name{display:block;font-size:14px;font-weight:600;color:var(--sj-accent)!important}

/* ── Epizoda: drobečky, navigace ── */
.sj-ep-info{margin:0 0 15px}
.sj-ep-breadcrumb{margin-bottom:12px;font-size:14px}
.sj-ep-breadcrumb a{color:var(--sj-accent);text-decoration:none;font-weight:600}
.sj-ep-date{margin-bottom:10px;font-size:13px;color:#888}
.sj-ep-nav{display:flex;justify-content:space-between;align-items:center;margin:20px 0;gap:10px;flex-wrap:wrap}
.sj-ep-nav a{background:var(--sj-accent);color:#fff!important;padding:10px 20px;border-radius:6px;text-decoration:none!important;font-weight:600;font-size:13px}
.sj-ep-nav a:hover{background:var(--sj-accent-dark)}
.sj-ep-nav .sj-nav-list{background:#333}
.sj-ep-nav .sj-nav-list:hover{background:#444}
.sj-back a{color:var(--sj-accent);font-weight:600;text-decoration:none}

/* ── Podobné seriály ── */
.sj-related-wrap{margin-top:30px;border-top:1px solid #e0e0e0;padding-top:20px}
.sj-rel-h3{font-size:18px;font-weight:600;margin-bottom:20px;color:#222}
.sj-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.sj-related-item{display:flex;flex-direction:column;text-decoration:none!important;transition:transform .2s}
.sj-related-item:hover{transform:translateY(-4px)}
.sj-rel-img-wrap{position:relative;width:100%;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:#1a1a1a;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.sj-rel-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .3s}
.sj-related-item:hover .sj-rel-img{transform:scale(1.05)}
.sj-rel-title{padding-top:8px;font-size:13px;font-weight:700;color:var(--sj-gold);line-height:1.3}

@media(max-width:900px){.sj-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:768px){
	.sj-player-wrap{width:100vw;margin-left:calc(-50vw + 50%);margin-bottom:20px}
	.sj-player{border-radius:0;box-shadow:none;margin-bottom:10px}
	.sj-final-btn{padding:12px 20px;font-size:15px}
	.sj-play-btn svg{width:55px;height:55px}
	.sj-loader-box{padding:12px 20px}.sj-loader-text{font-size:11px}.sj-loader-text span{font-size:18px}
	.sj-spinner{width:30px;height:30px;margin-bottom:8px;border-width:3px}
	.sj-player-bottom{bottom:15px;padding:0 15px}.sj-player-play-text{font-size:12px}.sj-player-quality{font-size:10px;padding:3px 6px}
	.sj-dl-bar{border-radius:0;justify-content:center;padding:12px 15px}
	.sj-hide-mobile{display:none!important}
	.sj-dl-link{font-size:13px;white-space:normal;text-align:center}
}
@media(max-width:600px){.sj-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* ── Archiv herce / žánru ── */
.sj-archive{padding:20px 0 40px}
.sj-archive-head{margin:10px 0 24px}
.sj-archive-title{font-size:30px;font-weight:700;margin:0 0 6px;line-height:1.2}
.sj-archive-sub{color:#777;font-size:15px;margin:0 0 10px}
.sj-archive-desc{max-width:800px;color:#444;font-size:14px;line-height:1.6}
.sj-archive-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 15px;margin:20px 0}
.sj-archive-item{display:flex;flex-direction:column;text-decoration:none!important;transition:transform .2s}
.sj-archive-item:hover{transform:translateY(-4px)}
.sj-archive-item .sj-rel-title{color:#222;font-size:14px}
.sj-archive-item:hover .sj-rel-title{color:var(--sj-accent)}
.sj-archive-meta{font-size:12px;color:#888;margin-top:2px}
.sj-archive-role{font-size:12px;color:var(--sj-accent);font-weight:600;margin-top:2px}
.sj-archive-empty{padding:30px 0;color:#777}
.sj-archive .sj-pagination{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}
.sj-archive .sj-pagination a,.sj-archive .sj-pagination span{padding:8px 14px;border:1px solid #e0e0e0;border-radius:6px;text-decoration:none!important;color:#333;font-size:13px}
.sj-archive .sj-pagination .current{background:var(--sj-accent);border-color:var(--sj-accent);color:#fff}
.sj-archive .sj-breadcrumbs{font-size:12px;color:#999;margin-bottom:12px}
.sj-archive .sj-breadcrumbs a{color:#999;text-decoration:none}
@media(max-width:1100px){.sj-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.sj-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}}
@media(max-width:480px){.sj-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
