/* theme_cinema — 仿 iyf.lv 戏剧院线感（深色 + 金红） */
:root {
    --bg: #0F0F1E;
    --bg-elev: #1A1A2E;
    --bg-card: #232342;
    --txt: #E8E8F0;
    --txt-dim: #A0A0B8;
    --gold: #FFD700;
    --red: #E94560;
    --link-hover: #FFD700;
    --border: rgba(255,255,255,.08);
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; background:var(--bg); color:var(--txt); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI","Microsoft YaHei",sans-serif; font-size:14px; line-height:1.6; }
a { color:var(--txt); text-decoration:none; transition:color .2s; }
a:hover { color:var(--link-hover); }
img { max-width:100%; display:block; }
ul,ol,li { list-style:none; margin:0; padding:0; }

/* 品牌横幅 */
.macms-brand-bar { background:linear-gradient(90deg,#E94560,#FFD700); color:#1A1A2E; padding:8px 16px; font-weight:700; text-align:center; }
.macms-brand-bar .badge { background:#1A1A2E; color:#FFD700; padding:2px 10px; border-radius:12px; margin:0 8px; font-size:12px; }

/* 顶部 */
.t-header { background:rgba(15,15,30,.95); backdrop-filter:blur(10px); position:sticky; top:0; z-index:100; border-bottom:1px solid var(--border); }
.t-header-inner { max-width:1400px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; gap:24px; }
.t-logo { font-size:22px; font-weight:800; background:linear-gradient(90deg,#E94560,#FFD700); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.t-search { flex:1; max-width:520px; position:relative; }
.t-search input { width:100%; padding:10px 16px; background:var(--bg-elev); border:1px solid var(--border); color:var(--txt); border-radius:24px; outline:none; }
.t-search input:focus { border-color:var(--red); }
.t-nav { display:flex; gap:6px; }
.t-nav a { padding:8px 14px; font-weight:600; border-radius:6px; }
.t-nav a.active, .t-nav a:hover { background:var(--bg-card); color:var(--gold); }
.t-hamburger { display:none; background:none; border:0; color:var(--txt); font-size:24px; cursor:pointer; }

/* 容器 */
.t-wrap { max-width:1400px; margin:0 auto; padding:24px 20px; }
.t-section { margin-bottom:36px; }
.t-section-h { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.t-section-h h2 { margin:0; font-size:20px; font-weight:700; padding-left:14px; border-left:4px solid var(--red); }
.t-section-h a { color:var(--txt-dim); font-size:13px; }

/* 视频卡片网格 2:3 竖版海报 */
.t-grid { display:grid; gap:14px; grid-template-columns:repeat(6,1fr); }
.t-card { background:var(--bg-elev); border-radius:8px; overflow:hidden; transition:transform .25s, box-shadow .25s; }
.t-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(233,69,96,.25); }
.t-card .pic { position:relative; padding-top:150%; background:#2a2a3e; overflow:hidden; }
.t-card .pic img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.t-card .tag { position:absolute; top:8px; right:8px; background:rgba(233,69,96,.9); color:#fff; padding:2px 8px; font-size:11px; border-radius:4px; }
.t-card .info { padding:10px; }
.t-card .info h3 { margin:0 0 4px; font-size:14px; font-weight:600; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.t-card .info p { margin:0; font-size:12px; color:var(--txt-dim); }

/* Hero 区 */
.t-hero { background:linear-gradient(135deg,#1A1A2E,#0F0F1E); border-radius:12px; padding:40px; margin-bottom:36px; border:1px solid var(--border); }
.t-hero h1 { margin:0 0 8px; font-size:28px; background:linear-gradient(90deg,#E94560,#FFD700); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.t-hero p { margin:0; color:var(--txt-dim); }

/* 分类胶囊 */
.t-cats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.t-cats a { padding:6px 14px; background:var(--bg-elev); border-radius:16px; font-size:13px; }
.t-cats a:hover { background:var(--red); color:#fff; }

/* 底部 */
.t-foot { margin-top:48px; padding:24px 20px; background:var(--bg-elev); border-top:1px solid var(--border); text-align:center; color:var(--txt-dim); font-size:13px; }
.t-foot a { color:var(--txt-dim); margin:0 8px; }

/* 旧默认页兼容（详情/分类页继续可用） */
.header, #navbar, .wenzhang, .img-list, .content-list { background:transparent; }

/* 响应式 */
@media (max-width:1200px) { .t-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:900px)  { .t-grid { grid-template-columns:repeat(3,1fr); } .t-hero { padding:24px; } .t-hero h1 { font-size:22px; } }
@media (max-width:640px)  {
    .t-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
    .t-hamburger { display:block; }
    .t-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg-elev); flex-direction:column; padding:8px; gap:0; border-bottom:1px solid var(--border); }
    .t-nav.show { display:flex; }
    .t-nav a { padding:12px 16px; border-radius:0; }
    .t-header-inner { flex-wrap:wrap; }
    .t-search { order:3; flex:1 1 100%; max-width:none; }
    .t-wrap { padding:16px 12px; }
    .t-section-h h2 { font-size:17px; }
}

/* ===== 通用组件（列表页/详情页/播放页/文章页/分页 共享，三套主题靠 CSS 变量自动着色） ===== */
.t-listpage { display:grid; grid-template-columns:1fr 280px; gap:24px; }
@media (max-width:900px) { .t-listpage { grid-template-columns:1fr; } }

.t-pagetitle { display:flex; align-items:center; justify-content:space-between; padding:14px 0; margin-bottom:16px; border-bottom:1px solid var(--border); }
.t-pagetitle h1 { margin:0; font-size:22px; font-weight:700; padding-left:14px; border-left:4px solid var(--red, var(--gold)); }
.t-pagetitle .meta { color:var(--txt-dim); font-size:13px; }

.t-filter { background:var(--bg-elev); border-radius:8px; padding:10px 14px; margin-bottom:18px; border:1px solid var(--border); }
.t-filter dl { margin:0 0 4px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.t-filter dl:last-child { margin-bottom:0; }
.t-filter dt { font-weight:600; min-width:56px; color:var(--txt-dim); }
.t-filter dd { margin:0; }
.t-filter dd a { display:inline-block; padding:4px 10px; border-radius:14px; font-size:13px; color:var(--txt); }
.t-filter dd a:hover { background:var(--bg-card); color:var(--gold, var(--red)); }

.t-rank { background:var(--bg-elev); border-radius:8px; padding:14px 16px; margin-bottom:18px; border:1px solid var(--border); }
.t-rank h3 { margin:0 0 10px; font-size:15px; padding-bottom:8px; border-bottom:1px solid var(--border); color:var(--gold, var(--red)); }
.t-rank ul { list-style:none; padding:0; margin:0; }
.t-rank li { display:flex; align-items:center; padding:7px 0; gap:10px; border-bottom:1px dashed var(--border); font-size:13px; }
.t-rank li:last-child { border-bottom:0; }
.t-rank .rnum { width:22px; height:22px; line-height:22px; text-align:center; border-radius:4px; background:var(--bg-card); font-size:11px; font-weight:700; flex-shrink:0; color:var(--txt-dim); }
.t-rank .rnum.top { background:var(--red, var(--gold)); color:#fff; }
.t-rank a { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.t-rank .rval { color:var(--txt-dim); font-size:12px; }

.t-paging { display:flex; justify-content:center; gap:6px; padding:24px 0; flex-wrap:wrap; }
.t-paging a, .t-paging span { padding:6px 12px; border-radius:4px; background:var(--bg-elev); border:1px solid var(--border); color:var(--txt); font-size:13px; text-decoration:none; }
.t-paging .current, .t-paging a:hover { background:var(--red, var(--gold)); color:#fff !important; border-color:transparent; }

.t-detail-hero { display:grid; grid-template-columns:220px 1fr; gap:20px; background:var(--bg-elev); border-radius:12px; padding:20px; margin-bottom:18px; border:1px solid var(--border); }
.t-detail-hero .poster img { width:100%; border-radius:8px; aspect-ratio:2/3; object-fit:cover; background:var(--bg-card); }
.t-detail-hero .meta h1 { margin:0 0 12px; font-size:24px; }
.t-detail-hero .meta dl { margin:6px 0; display:flex; gap:10px; font-size:13px; }
.t-detail-hero .meta dt { color:var(--txt-dim); min-width:60px; }
.t-detail-hero .meta dd { margin:0; flex:1; }
.t-detail-hero .actions { margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
.t-detail-hero .actions a { padding:10px 20px; background:var(--red, var(--gold)); color:#fff !important; border-radius:6px; font-weight:600; }
.t-detail-hero .actions a.outline { background:transparent; border:1px solid var(--border); color:var(--txt) !important; }
.t-detail-hero .score { display:inline-block; padding:3px 12px; background:var(--gold, var(--red)); color:#1a1a1a; border-radius:4px; font-weight:700; font-size:16px; vertical-align:middle; margin-right:8px; }
@media (max-width:640px) {
    .t-detail-hero { grid-template-columns:110px 1fr; gap:12px; padding:12px; }
    .t-detail-hero .meta h1 { font-size:17px; }
    .t-detail-hero .meta dl { font-size:12px; }
    .t-detail-hero .actions a { padding:8px 14px; font-size:13px; }
}

.t-block { background:var(--bg-elev); border-radius:8px; padding:16px 18px; margin-bottom:16px; border:1px solid var(--border); }
.t-block h2 { margin:0 0 12px; font-size:17px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.t-block .content { line-height:1.8; word-break:break-word; color:var(--txt); }
.t-block .content img { max-width:100%; height:auto; border-radius:4px; }

.t-source-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.t-source-tabs a { padding:6px 14px; border-radius:4px; background:var(--bg-card); font-size:13px; color:var(--txt); }
.t-source-tabs a.active, .t-source-tabs a:hover { background:var(--red, var(--gold)); color:#fff !important; }
.t-eps { display:grid; grid-template-columns:repeat(auto-fill,minmax(94px,1fr)); gap:6px; }
.t-eps a { padding:9px 4px; text-align:center; background:var(--bg-card); border-radius:4px; font-size:13px; color:var(--txt); transition:all .15s; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.t-eps a:hover, .t-eps a.active { background:var(--red, var(--gold)); color:#fff; }

.t-player-wrap { background:#000; border-radius:8px; overflow:hidden; margin-bottom:18px; aspect-ratio:16/9; }
.t-player-wrap iframe, .t-player-wrap video { width:100%; height:100%; border:0; display:block; }

.t-article { background:var(--bg-elev); padding:28px; border-radius:12px; max-width:920px; margin:0 auto; border:1px solid var(--border); }
.t-article h1 { margin:0 0 12px; font-size:24px; line-height:1.3; }
.t-article .meta { color:var(--txt-dim); font-size:13px; padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid var(--border); }
.t-article .content { line-height:1.85; font-size:15px; color:var(--txt); }
.t-article .content p { margin:0 0 14px; }
.t-article .content img { max-width:100%; height:auto; border-radius:6px; margin:12px 0; }
@media (max-width:640px) { .t-article { padding:18px; } .t-article h1 { font-size:19px; } }

.t-breadcrumb { padding:10px 0; font-size:13px; color:var(--txt-dim); }
.t-breadcrumb a { color:var(--txt-dim); }
.t-breadcrumb a:hover { color:var(--red, var(--gold)); }
.t-breadcrumb .sep { margin:0 6px; opacity:.5; }
