/* ==========================================================
   觀點網 —— 頻道頁樣式（/channel/{標識}）
   依赖 main.css 中的设计变量与内页通用组件（麵包屑、側欄、分頁）
   --pillar 由模板按频道色设置
   ========================================================== */

/* 頻道頁統一黑白灰，不分頻道色（標籤、視頻等頁仍由模板設 --pillar） */
.ch-page--mono{--pillar:var(--ink)}

/* ---------- 頻道標題與切換條 ---------- */
.ch-head{margin-bottom:24px;border-bottom:2px solid var(--pillar)}
.ch-head__top{display:flex;align-items:baseline;gap:18px;padding-bottom:14px}
.ch-head h1{flex:none;font:700 32px/1.2 var(--serif);letter-spacing:-.01em;color:var(--pillar);
            border-left:5px solid var(--pillar);padding-left:12px}
.ch-kw{min-width:0;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-switch{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line)}
.ch-switch::-webkit-scrollbar{display:none}
.ch-switch a{flex:none;padding:11px 0;font-size:13px;color:var(--ink-2);white-space:nowrap}
.ch-switch a:hover{color:var(--pillar)}
.ch-switch a[aria-current]{color:var(--pillar);font-weight:700}

/* ---------- 頂線：只有頻道焦點在時才畫 ---------- */
/* 標籤頁、企業資訊、專欄、視頻，以及頻道頁第 2 頁之後都沒有 .ch-top，
   這時「最新資訊」和側欄「全時數據」的頂部粗線就沒有東西可以對齊，一律不畫。
   .ch-top 在 .inner-grid 前面，用相鄰兄弟選擇器判斷它在不在，不依賴 :has() */
/* 沒有 .ch-top：線與線下留出的空白一起去掉，兩欄標題正好齊平在 .inner-grid 頂端 */
.ch-page .sec-head--rule,
.ch-page .side-head{border-top:0;padding-top:0}
/* 有 .ch-top：線和留白都照舊 */
.ch-page .ch-top ~ .inner-grid .sec-head--rule{border-top:2px solid var(--ink);padding-top:19px}
.ch-page .ch-top ~ .inner-grid .side-head{border-top:2px solid var(--ink);padding-top:12px}
/* 有 .ch-top 且側欄懸浮起來（is-stuck 由 js/side-feed.js 切換）：只去線，
   2px 用 padding 補回去，貼頂的那一刻下面的列表不會往上跳一下。
   沒有 .ch-top 的頁面本來就是 0，這條選擇器匹配不到，貼頂時同樣不跳 */
.ch-page .ch-top ~ .inner-grid .side-panel.is-stuck .side-head{border-top:0;padding-top:14px}

/* ---------- 焦點：1 大 4 小 ---------- */
.ch-top{display:grid;grid-template-columns:minmax(0,1.012fr) minmax(0,1fr);gap:10px;margin-bottom:34px}
.ch-lead{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);
         background:var(--ink);color:var(--dark-text)}
.ch-lead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s var(--media-ease)}
.ch-lead::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--media-shade)}
.ch-lead__cap{position:absolute;z-index:1;inset:auto 0 0;padding:18px 20px}
.ch-lead__cap .kicker{color:var(--media-accent);margin-bottom:8px}
.ch-lead__cap h2{font:bold 23px/1.38 var(--serif);overflow-wrap:anywhere;color: #fff;
                 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ch-lead__cap p{margin-top:8px;font-size:13.5px;line-height:1.7;color:var(--dark-text);opacity:.82;
                display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ch-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.ch-card{display:flex;flex-direction:column;gap:7px;min-width:0}
/* 圖框與首頁小圖一致：圓角、深底、陰影、底部半透明漸變黑、懸停上浮放大 */
.ch-card,.ch-item{--card-shadow-sm:0 1px 2px oklch(19.4% .006 56 / .07),0 6px 14px -6px oklch(19.4% .006 56 / .26);
    --card-shadow-hover:0 2px 4px oklch(19.4% .006 56 / .08),0 12px 22px -8px oklch(19.4% .006 56 / .34)}
.ch-card .thumb,.ch-item .thumb{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--ink);
  box-shadow:var(--card-shadow-sm);transition:transform .35s var(--media-ease),box-shadow .35s ease}
.ch-card .thumb::after,.ch-item .thumb::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--media-shade2)}
.ch-card .thumb{aspect-ratio:16/9}
/* 右側四圖：標籤與標題疊在圖內，漸變加深以保證文字可讀 */
.ch-card .thumb::after{background:var(--media-shade)}
.ch-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--media-ease)}
.ch-card__cap{position:absolute;z-index:1;inset:auto 0 0;padding:10px 12px 11px;color:var(--dark-text)}
.ch-card__cap .kicker{margin-bottom:5px;color:var(--media-accent)}
.ch-card h3{font:bold 14.5px/1.45 var(--serif);overflow-wrap:anywhere;color:#fff;
            display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 文章列表：左圖右文 ---------- */
.ch-list li{border-bottom:1px solid var(--line)}
.ch-list li:first-child .ch-item{padding-top:4px}
.ch-item{display:grid;grid-template-columns:168px minmax(0,1fr);gap:22px;align-items:start;padding:20px 0}
.ch-item.is-text{grid-template-columns:minmax(0,1fr)}
.ch-item .thumb{align-self:start;aspect-ratio:16/10}
.ch-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--media-ease)}
/* 文字欄撐滿整行、上下排列：摘要固定兩行高，時間行推到底部，
   標題單行時正好與左側圖片（168×105）底部對齊 */
.ch-item__txt{display:flex;flex-direction:column;align-self:stretch;min-width:0}
.ch-item h3{margin:0 0 5px;font:700 18px/1.45 var(--serif);overflow-wrap:anywhere}
.ch-item p{flex:none;height:3.4em;font-size:13.5px;line-height:1.7;color:var(--ink-2);
           display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 時間與標籤同一行：時間在前；cat_tag、company_tag 統一淺灰底標籤 */
.ch-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:8px}
.ch-item__meta time{margin-right:6px;font:11.5px/1 var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums}
.ch-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid var(--line);border-radius:2px;
        background:var(--sunk);color:var(--ink-2);font:500 11px/1 var(--sans);white-space:nowrap}
.ch-item:hover h3{color:var(--pillar)}
/* 整條可點：標題鏈接的 ::after 鋪滿整條；時間行疊在上層，只有標籤鏈接接收點擊 */
.ch-item{position:relative}
.ch-item h3 a::after{content:"";position:absolute;inset:0}
.ch-item h3 a:focus-visible{outline:none}
.ch-item:has(h3 a:focus-visible){outline:2px solid var(--brand);outline-offset:4px;border-radius:var(--r)}
.ch-item__meta{position:relative;z-index:1;pointer-events:none}
.ch-item__meta a{pointer-events:auto}
a.ch-tag{transition:border-color .15s ease,color .15s ease,background-color .15s ease}
a.ch-tag:hover,a.ch-tag:focus-visible{border-color:var(--pillar);background:var(--card);color:var(--pillar)}
.ch-empty{padding:40px 0;text-align:center;color:var(--ink-3)}

/* ---------- 加載更多 ---------- */
/* 按鈕、骨架屏、進場動畫等通用樣式在 main.css「加載更多」，這裡只放頻道列表的骨架尺寸 */
.sk--thumb{aspect-ratio:16/10}
.sk--kicker{width:18%;height:10px;margin-top:0}
.ch-list > li.is-skeleton .ch-item{pointer-events:none}

@media(hover:hover) and (pointer:fine){
  .ch-lead:hover img,.ch-card:hover img,.ch-item:hover img{transform:scale(1.04)}
  .ch-card:hover .thumb,.ch-item:hover .thumb{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}
}
@media(prefers-reduced-motion:reduce){
  .ch-lead img,.ch-card img,.ch-item img,.ch-card .thumb,.ch-item .thumb{transition:none}
  .ch-card:hover .thumb,.ch-item:hover .thumb{transform:none}
}
