/* v6 DARK THEME — original palette, not copied from any site.
   v5 white theme replaced: page background is deep dark navy/black,
   accent is skyblue, cards are dark translucent (not solid white).
   The video player box stays black (normal for a player). */
body { background: #0b1220; color: #e2e8f0; }
h1, h2, h3, h4, h5 { color: #f8fafc; }
a { color: #38bdf8; }
a:hover { color: #7dd3fc; }
.text-muted { color: #94a3b8 !important; }
.navbar { background-color: #0f172a !important; border-bottom: 1px solid #1e293b; }
.navbar-brand { font-weight: 700; color: #f8fafc !important; }
.navbar .nav-link { color: #cbd5e1 !important; }
.navbar .nav-link:hover { color: #38bdf8 !important; }
footer { background-color: #0f172a; border-top: 1px solid #1e293b; color: #94a3b8; }
footer a { color: #7dd3fc; }
.btn-primary { background-color: #0284c7; border-color: #0284c7; color: #ffffff; }
.btn-primary:hover, .btn-primary:focus { background-color: #0369a1; border-color: #0369a1; }
.btn-outline-primary { color: #38bdf8; border-color: #38bdf8; }
.btn-outline-primary:hover { background-color: #0284c7; border-color: #0284c7; color: #ffffff; }
.btn-outline-secondary { color: #cbd5e1; border-color: #475569; }
.btn-outline-secondary:hover { background-color: #1e293b; color: #ffffff; border-color: #475569; }
.bg-primary { background-color: #0284c7 !important; }
img { object-fit: cover; }
/* Cards / sidebar: dark translucent, not solid white. */
.title-card { background: rgba(30, 41, 59, 0.85); border: 1px solid #334155; border-radius: 0.5rem; padding: 0.5rem; height: 100%; }
.title-card img { border-radius: 0.375rem; }
.card { background: rgba(30, 41, 59, 0.85); color: #e2e8f0; border: 1px solid #334155; }
.card-header { background: transparent; border-bottom: 1px solid #334155; color: #f8fafc; font-weight: 600; }
.list-group-item { background: transparent; color: #e2e8f0; border-color: #334155; }
.form-control { background-color: #1e293b; border-color: #475569; color: #e2e8f0; }
.form-control::placeholder { color: #94a3b8; }
.form-control:focus { background-color: #1e293b; border-color: #38bdf8; color: #e2e8f0; box-shadow: none; }
.section-head { border-bottom: 2px solid #0ea5e9; padding-bottom: 0.35rem; margin-bottom: 1rem; }
.hero { background: rgba(30, 41, 59, 0.85); border: 1px solid #334155; border-radius: 0.75rem; }
/* v6 schedule week tabs */
.schedule-day-btn { background: #1e293b; color: #cbd5e1; border: 1px solid #334155; border-radius: 0.5rem; padding: 0.5rem 0.25rem; width: 100%; }
.schedule-day-btn.active { background: #e0f2fe; color: #0c4a6e; border-color: #38bdf8; font-weight: 700; }
.schedule-day-panel { display: none; }
.schedule-day-panel.active { display: block; }
/* v6 episode box beside the player */
.episode-box .ep-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.4rem; max-height: 420px; overflow-y: auto; padding-right: 0.25rem; }
.ep-btn { background: #1e293b; color: #e2e8f0; border: 1px solid #334155; border-radius: 0.375rem; padding: 0.4rem 0; text-align: center; text-decoration: none; font-size: 0.9rem; }
.ep-btn:hover { border-color: #38bdf8; color: #7dd3fc; }
.ep-btn.current { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; }
.season-btn { background: #1e293b; color: #cbd5e1; border: 1px solid #334155; border-radius: 0.375rem; padding: 0.3rem 0.7rem; text-decoration: none; font-size: 0.85rem; }
.season-btn:hover { border-color: #38bdf8; color: #7dd3fc; }
.season-btn.active { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; }
/* v7 top bar, share, language, A-Z, pagination, favourites */
.topbar { background-color: #0f172a; border-bottom: 1px solid #1e293b; color: #cbd5e1; }
.topbar a { color: #cbd5e1; text-decoration: none; }
.topbar a:hover { color: #38bdf8; }
.share-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #1e293b; border: 1px solid #334155; color: #e2e8f0 !important; font-size: 0.75rem; font-weight: 700; text-decoration: none !important; }
.share-btn:hover { border-color: #38bdf8; color: #7dd3fc !important; }
.lang-switch a { color: #cbd5e1; }
.lang-switch a.active { color: #38bdf8; font-weight: 700; }
.az-btn { display: inline-block; background: #1e293b; color: #e2e8f0; border: 1px solid #334155; border-radius: 0.375rem; padding: 0.3rem 0.6rem; text-decoration: none; font-size: 0.9rem; }
.az-btn:hover { border-color: #38bdf8; color: #7dd3fc; }
.az-btn.active { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; }
.pagination-nav { display: flex; gap: 0.5rem; justify-content: center; align-items: center; margin: 2rem 0; flex-wrap: wrap; }
.page-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #1e293b; border: 1px solid #334155; color: #e2e8f0; text-decoration: none; font-weight: 600; }
.page-btn:hover { border-color: #38bdf8; color: #7dd3fc; }
.page-btn.active { background: #0284c7; border-color: #0284c7; color: #ffffff; }
.page-btn.disabled { opacity: 0.4; }
.page-dots { color: #94a3b8; }
.fav-btn { background: transparent; border: none; color: #94a3b8; font-size: 1.1rem; padding: 0.2rem 0.4rem; }
.fav-btn.active { color: #f472b6; }
/* v9: brand SVG logos inside the circular share buttons. */
.share-btn svg { display: block; }
/* v12 HEADER — 1 line only, no wrapping, no broken A–Z. Language is removed
   from the header, search is narrower, nav links never break mid-word. */
.navbar-collapse { flex-wrap: nowrap; }
.navbar-nav { flex-wrap: nowrap; }
.navbar-brand, .navbar-nav .nav-link { white-space: nowrap; }
.navbar-nav .nav-link { padding-left: 0.6rem; padding-right: 0.6rem; }
.header-search .form-control { width: 160px; }
.header-search { flex-wrap: nowrap; }
/* v11 UNIFORM POSTERS — TMDB posters are 500x750 (2:3). Every poster, on the
   homepage, on a single post, and in Similar Posts, uses the same 2:3 ratio
   with object-fit cover, so no poster looks stretched or a different size.
   This is pure CSS, so it applies automatically to every new published post
   — no per-post resizing is ever needed. Width/height attributes in the
   templates (500x750) also fix the audit Image Dimensions fail and CLS. */
.poster-img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.title-card img.poster-img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
