/* Front styles: enforce horizontal hero images + clean metadata + season navigation */
.vsei-wrap{max-width:1120px;margin:0 auto;padding:32px 18px;}
.vsei-header{margin-bottom:18px;}
.vsei-title{font-size:34px;line-height:1.12;margin:0 0 10px;font-weight:800;letter-spacing:-.02em;}
.vsei-tax{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0;}
.vsei-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.8);font-size:12px;font-weight:700;}
.vsei-hero{margin:0 0 14px;border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.10);box-shadow:0 10px 30px rgba(15,23,42,.06);}
.vsei-hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;}
.vsei-meta{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 16px;padding:10px 12px;border:1px solid rgba(15,23,42,.10);border-radius:14px;background:rgba(255,255,255,.85);}
.vsei-meta span{font-size:13px;color:#334155;}
.vsei-meta b{color:#0f172a;}
.vsei-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.vsei-card{border:1px solid rgba(15,23,42,.10);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(15,23,42,.05);}
.vsei-card .thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#f1f5f9;}
.vsei-card .body{padding:14px;}
.vsei-card .h3{margin:0 0 6px;font-size:16px;line-height:1.35;font-weight:800;}
.vsei-card .p{margin:0;color:#475569;font-size:13px;line-height:1.6;}
.vsei-card .meta{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;color:#64748b;font-size:12px;font-weight:700;}
@media (max-width: 980px){.vsei-grid{grid-template-columns:1fr;}.vsei-title{font-size:30px;}}
.vsei-seasons{margin-top:20px;}
.vsei-season{border:1px solid rgba(15,23,42,.10);border-radius:18px;background:rgba(255,255,255,.92);padding:14px;margin:0 0 14px;}
.vsei-season h2{margin:0 0 10px;font-size:18px;font-weight:900;}
.vsei-epList{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.vsei-epList li{padding:10px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.10);background:#fff;}
.vsei-epList a{font-weight:800;text-decoration:none;}
.vsei-epList small{display:block;color:#64748b;margin-top:4px;font-size:12px;line-height:1.5;}
@media (max-width: 980px){.vsei-epList{grid-template-columns:1fr;}}
.vsei-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 18px;}
.vsei-filter select{padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.16);background:#fff;min-width:240px;}
.vsei-filter button{padding:10px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.16);background:#fff;font-weight:800;cursor:pointer;}

/* Hero image — series & episode single pages */
.vsei-hero-image {
  width: 100%;
  max-height: 480px;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 24px;
}
.vsei-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Episode list with thumbnails on series page */
.vsei-epList {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vsei-epItem {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.vsei-epThumb {
  flex: 0 0 120px;
}
.vsei-epThumb img {
  width: 120px;
  height: 68px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
.vsei-epMeta {
  flex: 1;
  min-width: 0;
}
.vsei-epMeta a {
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
.vsei-epMeta small {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
  display: block;
}

/* ── Season Tabs ─────────────────────────────────────────────────── */
.vsei-season-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 2px solid #e8e8e8;
    padding-bottom: 0;
}
.vsei-season-tab {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    padding: 10px 20px;
    font-family: 'Roobert', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
    border-radius: 0;
    white-space: nowrap;
}
.vsei-season-tab:hover {
    color: var(--ch-primary, #1a1a1a);
}
.vsei-season-tab--active {
    color: var(--ch-primary, #1a1a1a);
    border-bottom-color: var(--ch-primary, #1a1a1a);
}
.vsei-season-block--hidden {
    display: none;
}
