/* ==========================================================================
   노바티비 메인 페이지 (PC)
   - 이전 사이트의 메인 CSS 는 사용하지 않는 마크업용이라 전부 새로 썼습니다.
   - 포인트 색을 바꾸려면 맨 위 --nv-point 세 줄만 고치면 전체에 반영됩니다.
   ========================================================================== */

:root {
    --nv-point:       #2ec4c4;   /* 기본 포인트 (청록) */
    --nv-point-light: #4fe3e3;   /* 밝은 포인트 - 마우스 올렸을 때 */
    --nv-point-deep:  #1a9e9e;   /* 진한 포인트 - 보조 */
    --nv-bg:          #0b1116;
    --nv-card:        #141c23;
    --nv-line:        rgba(255, 255, 255, .10);
    --nv-text:        #e6eaed;
    --nv-text-sub:    #a8b2ba;
}

/* ---------- 상단 채널 버튼 ---------- */
.nv_hero { max-width: 1400px; margin: 0 auto 28px; padding: 0 16px; }
.nv_hero_ch { display: flex; gap: 16px; margin-bottom: 20px; }
.nv_ch {
    flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; min-height: 108px; padding: 20px 16px; border-radius: 14px;
    background: var(--nv-card); border: 1px solid var(--nv-line);
    color: var(--nv-text); text-decoration: none; transition: border-color .15s, transform .15s;
}
.nv_ch strong { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.nv_ch span   { font-size: 14px; color: var(--nv-text-sub); }
.nv_ch:hover  { border-color: var(--nv-point); transform: translateY(-2px); text-decoration: none; color: var(--nv-text); }
.nv_ch1 strong { color: var(--nv-point); }
.nv_ch2 strong { color: var(--nv-point-light); }
.nv_hero_img img { display: block; width: 100%; height: auto; border-radius: 14px; }

/* ---------- 본문 틀 ---------- */
.nv_main { max-width: 1400px; margin: 0 auto; padding: 0 16px 48px; }
.nv_box  { color: var(--nv-text); }

.nv_sc {
    margin: 0 0 28px; padding: 26px 28px;
    background: var(--nv-card); border: 1px solid var(--nv-line); border-radius: 14px;
}

/* ---------- 제목 ---------- */
.nv_box h1 {
    margin: 0 0 14px; font-size: 30px; font-weight: 700; line-height: 1.35;
    letter-spacing: -.02em; color: #fff;
}
.nv_box h2 {
    margin: 0 0 16px; padding: 0 0 12px 14px; font-size: 23px; font-weight: 700;
    line-height: 1.4; letter-spacing: -.02em; color: #fff;
    border-bottom: 1px solid var(--nv-line); border-left: 4px solid var(--nv-point);
}
.nv_box h3 {
    margin: 26px 0 10px; font-size: 19px; font-weight: 700; line-height: 1.45;
    letter-spacing: -.01em; color: var(--nv-point);
}
.nv_league h3:first-child { margin-top: 6px; }

/* ---------- 본문 글 ---------- */
.nv_box p {
    margin: 0 0 14px; font-size: 16px; line-height: 1.85; color: var(--nv-text);
    word-break: keep-all;
}
.nv_lead { font-size: 17px !important; color: var(--nv-text) !important; }
.nv_txt p:last-child, .nv_league p:last-child { margin-bottom: 0; }

.nv_box a { color: var(--nv-point); text-decoration: none; }
.nv_box a:hover { color: var(--nv-point-light); text-decoration: underline; }
.nv_box strong { color: #fff; font-weight: 700; }

/* ---------- 오늘의 중계 일정 ---------- */
.nv_sched_wrap { margin-top: 18px; overflow-x: auto; }
.nv_sched_wrap table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; }
.nv_sched_wrap th, .nv_sched_wrap td {
    padding: 11px 12px; text-align: left; border-bottom: 1px solid var(--nv-line); white-space: nowrap;
}
.nv_sched_wrap th { color: var(--nv-point); font-weight: 700; background: rgba(46, 196, 196, .06); }
.nv_sched_wrap td { color: var(--nv-text); }
.nv_sched_none p { color: var(--nv-text-sub); }

/* ---------- 이용 안내 (FAQ) ---------- */
.nv_faq { margin: 0; }
.nv_faq dt {
    margin: 20px 0 8px; padding-left: 24px; position: relative;
    font-size: 17px; font-weight: 700; line-height: 1.5; color: #fff;
}
.nv_faq dt:first-child { margin-top: 4px; }
.nv_faq dt::before {
    content: 'Q'; position: absolute; left: 0; top: 0;
    color: var(--nv-point); font-weight: 700;
}
.nv_faq dd {
    margin: 0 0 4px; padding-left: 24px;
    font-size: 16px; line-height: 1.85; color: var(--nv-text-sub); word-break: keep-all;
}

/* ---------- 하단 최신글 3단 ---------- */
.nv_sc_latest {
    display: flex; gap: 20px; margin: 0 0 28px; padding: 26px 28px;
    background: var(--nv-card); border: 1px solid var(--nv-line); border-radius: 14px;
}
.nv_latest_box { flex: 1 1 0; min-width: 0; }

/* ---------- 좁은 화면 ---------- */
@media (max-width: 1024px) {
    .nv_sc, .nv_sc_latest { padding: 22px 20px; }
    .nv_sc_latest { flex-direction: column; gap: 10px; }
    .nv_box h1 { font-size: 26px; }
    .nv_box h2 { font-size: 21px; }
}
