/* ZZAN Main — 채널 목록(디렉터리) layout_type=channel. 목업 zzan_channel 반영. 레이아웃 토큰 공유. */
.chdir{max-width:1280px;margin:0 auto;padding:30px 24px 0;}
.chdir__head h1{font-size:27px;font-weight:900;letter-spacing:-.035em;color:var(--text);}
.chdir__head h1 b{color:var(--accent);}
.chdir__head p{font-size:13.5px;color:var(--sub);margin-top:6px;}

/* 이번 주 대표 채널 */
.chfeat{position:relative;display:flex;align-items:flex-end;min-height:280px;margin-top:24px;border-radius:var(--r);overflow:hidden;color:#fff;background-size:cover;background-position:center;background-color:var(--chf,#ee3b34);background-image:linear-gradient(120deg,color-mix(in srgb,var(--chf,#ee3b34) 78%,#f5793a),var(--chf,#ee3b34) 55%,#4a1d10);}
.chfeat[style*="url"]{background-image:none;}
.chfeat__badge{position:absolute;left:18px;top:18px;z-index:2;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);font-size:12px;font-weight:800;padding:5px 12px;border-radius:999px;}
.chfeat__ov{position:relative;width:100%;padding:28px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 78%);}
.chfeat__logo{width:62px;height:62px;border-radius:18px;object-fit:cover;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45);margin-bottom:13px;}
.chfeat__name{font-size:28px;font-weight:900;letter-spacing:-.03em;}
.chfeat__desc{font-size:14px;color:rgba(255,255,255,.85);margin-top:6px;}
.chfeat__row{display:flex;align-items:center;margin-top:18px;}
.chfeat__btn{margin-left:auto;background:#fff;color:#15171c;font-size:14px;font-weight:800;padding:12px 24px;border-radius:12px;border:0;cursor:pointer;}
.chfeat__btn:hover{opacity:.92;}

/* 채널 그리드 */
.chgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;}
.chcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .15s;}
.chcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.chcard--soon{opacity:.78;}
.chcover{aspect-ratio:16/6.6;position:relative;background-size:cover;background-position:center;}
.chlogo{position:absolute;left:16px;bottom:-20px;width:52px;height:52px;border-radius:15px;border:3px solid var(--surface);object-fit:cover;background:var(--surface-2);}
.chsoon{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:7px;}
.chb{padding:28px 17px 17px;}
.chb__top{display:flex;align-items:center;gap:8px;}
.chname{font-size:17px;font-weight:900;letter-spacing:-.02em;color:var(--text);}
.chdesc{font-size:13px;color:var(--sub);margin-top:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.chenter{display:block;margin-top:14px;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:11px;font-size:14px;font-weight:800;color:var(--text);}
.chcard:hover .chenter{background:var(--accent);border-color:var(--accent);color:#fff;}
.chcard--soon .chenter{color:var(--mute);}
.chcard--soon:hover .chenter{background:var(--surface-2);border-color:var(--border);color:var(--mute);}

/* 채널 신청 CTA */
.chcta{border:1.5px dashed var(--border);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:24px;min-height:240px;}
.chcta__ic{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:24px;font-weight:900;}
.chcta b{font-size:15px;font-weight:800;color:var(--text);}
.chcta p{font-size:12.5px;color:var(--mute);}

@media (max-width:1000px){.chgrid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.chgrid{grid-template-columns:1fr;}.chdir{padding:20px 16px 0;}}
