/* ===== 다운로드 · 사용법 통합 페이지 (2026 리뉴얼) ===== */
.nc-dl-hero { display: grid; grid-template-columns: 1fr minmax(260px, 380px); gap: 40px; align-items: end; }
.nc-dl-search-label { display: block; font-size: 13px; color: var(--nc-on-night-sub); margin-bottom: 8px; }
.nc-dl-search-row { display: flex; border: 1px solid var(--nc-night-line); border-radius: 4px; background: var(--nc-night-2); overflow: hidden; }
.nc-dl-search-row:focus-within { border-color: var(--nc-gold); }
.nc-dl-search input { flex: 1; min-width: 0; border: 0; background: none; color: #fff; font: inherit; font-size: 15px; padding: 12px 14px; outline: none; }
.nc-dl-search input::placeholder { color: #6f7c9c; }
.nc-dl-search button { border: 0; background: none; color: var(--nc-gold-hi); font: inherit; font-size: 14px; font-weight: 700; padding: 0 18px; cursor: pointer; border-left: 1px solid var(--nc-night-line); }
.nc-dl-search button:hover { color: #fff; }

.nc-dl-page { background: var(--nc-mist); padding: 48px 0 88px; }
.nc-dl-list { display: grid; gap: 16px; }
.nc-dl-empty { padding: 40px 0; color: var(--nc-sub); }

.nc-dl-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); background: #fff; border: 1px solid var(--nc-line); border-radius: 6px; scroll-margin-top: calc(var(--nc-header-h) + 16px); }
.nc-dl-row.is-mine { border-color: var(--nc-gold); box-shadow: 0 0 0 1px var(--nc-gold), 0 18px 36px -22px rgba(11,21,48,.4); }
.nc-dl-main { padding: 28px 30px 30px; display: flex; flex-direction: column; gap: 18px; }
.nc-dl-head { display: flex; align-items: center; gap: 16px; }
.nc-dl-icon { width: 52px; height: 52px; flex-shrink: 0; border-radius: 10px; background: var(--nc-mist); display: grid; place-items: center; }
.nc-dl-icon img { width: 30px; height: 30px; object-fit: cover; object-position: left center; } /* 로고+글자 SVG에서 왼쪽 로고만 */
.nc-dl-head h2 { font-family: var(--nc-serif); font-size: 26px; font-weight: 700; color: var(--nc-ink); line-height: 1.3; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nc-dl-mine { font-family: var(--nc-sans); font-size: 12px; font-weight: 700; color: #1b1405; background: var(--nc-gold); padding: 2px 9px; border-radius: 3px; }
.nc-dl-mine[hidden] { display: none; }
.nc-dl-sub { font-size: 14px; color: var(--nc-sub); margin-top: 2px; }
.nc-dl-desc { font-size: 14.5px; color: var(--nc-sub); line-height: 1.7; }
.nc-dl-desc ul { list-style: none; display: grid; gap: 4px; }
.nc-dl-desc li { position: relative; padding-left: 14px; }
.nc-dl-desc li::before { content: ""; position: absolute; left: 0; top: .72em; width: 5px; height: 5px; border-radius: 50%; background: #b3bbcc; }
.nc-dl-desc p + p { margin-top: 4px; }
.nc-dl-btn { margin-top: auto; align-self: flex-start; min-width: 220px; }

.nc-dl-guide { padding: 28px 30px 30px; border-left: 1px solid var(--nc-line); background: #fbfcfd; border-radius: 0 6px 6px 0; }
.nc-dl-guide-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--nc-ink); }
.nc-dl-guide-head h3 { font-size: 16px; font-weight: 700; color: var(--nc-ink); }
.nc-dl-steps { list-style: none; counter-reset: step; display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.nc-dl-steps li { counter-increment: step; border-bottom: 1px solid var(--nc-line); }
.nc-dl-steps a { display: flex; align-items: baseline; gap: 12px; padding: 11px 0; font-size: 15px; color: var(--nc-ink); }
.nc-dl-steps a::before { content: counter(step, decimal-leading-zero); font-family: var(--nc-mono); font-size: 12px; color: #9a7522; min-width: 18px; }
.nc-dl-steps a:hover { color: var(--nc-navy); text-decoration: none; }

.nc-dl-cta { margin-top: 40px; background: var(--nc-night); border-radius: 6px; padding: 32px 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.nc-dl-cta h2 { font-family: var(--nc-serif); font-size: 24px; font-weight: 700; color: #fff; line-height: 1.4; }
.nc-dl-cta p { color: var(--nc-on-night-sub); margin-top: 6px; font-size: 15px; }
.nc-dl-cta .nc-actions { margin-top: 0; }

/* 기기별 자주 겪는 문제 (지식베이스 연결) — 행 전체 폭 */
.nc-dl-issues { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 8px 18px; flex-wrap: wrap; padding: 14px 30px; border-top: 1px solid var(--nc-line); background: #fbf6ea; border-radius: 0 0 6px 6px; }
.nc-dl-issues-label { font-size: 13px; font-weight: 700; color: #7a5a14; flex-shrink: 0; }
.nc-dl-issues ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; flex: 1; min-width: 0; }
.nc-dl-issues li a { font-size: 14.5px; color: var(--nc-ink); text-decoration: underline; text-decoration-color: #d9c28a; text-underline-offset: 4px; }
.nc-dl-issues li a:hover { color: var(--nc-navy); text-decoration-color: currentColor; }
.nc-dl-issues-more { font-size: 13.5px; font-weight: 500; color: #7a5a14; flex-shrink: 0; }
.nc-dl-issues-more:hover { color: var(--nc-ink); }
.nc-dl-row .nc-dl-guide:has(+ .nc-dl-issues) { border-radius: 0; }

@media (max-width: 960px) {
    .nc-dl-hero { grid-template-columns: 1fr; gap: 28px; }
    .nc-dl-row { grid-template-columns: 1fr; }
    .nc-dl-guide { border-left: 0; border-top: 1px solid var(--nc-line); border-radius: 0 0 6px 6px; }
}
@media (max-width: 560px) {
    .nc-dl-main, .nc-dl-guide { padding: 22px 20px 24px; }
    .nc-dl-issues { padding: 14px 20px; flex-direction: column; }
    .nc-dl-issues ul { flex-direction: column; }
    .nc-dl-steps { grid-template-columns: 1fr; }
    .nc-dl-btn { align-self: stretch; min-width: 0; }
    .nc-dl-cta { padding: 26px 22px; }
}
