/* 한글(HWP) 뷰어 — 변환된 PDF 를 종이처럼 늘어놓는다. */

.hv-top { margin-bottom: var(--spacing-lg, 1.5rem); }

.hv-drop {
    border: 2px dashed var(--border-color, #d8dce3);
    border-radius: var(--radius-md, 8px);
    padding: var(--spacing-xl, 2rem) var(--spacing-lg, 1.5rem);
    text-align: center; cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
    background: var(--bg-subtle, #f8f9fb);
}
.hv-drop:hover, .hv-drop:focus-visible, .hv-drop.is-over {
    border-color: #0b6ea8; background: #eaf4fb; outline: none;
}
.hv-drop[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.hv-drop > i { font-size: 2rem; color: #0b6ea8; margin-bottom: var(--spacing-sm, .5rem); }
.hv-drop-title { margin: 0 0 .25rem; font-weight: 600; }
.hv-drop-hint  { margin: 0; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

.hv-fileinfo {
    display: flex; align-items: center; gap: .625rem;
    padding: .625rem .75rem;
    border: 1px solid var(--border-color, #e5e8ed);
    border-radius: var(--radius-sm, 6px);
    background: var(--bg-surface, #fff);
}
.hv-fileinfo > i { font-size: 1.25rem; color: #0b6ea8; }
.hv-fileinfo > div { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.hv-filename { font-weight: 600; font-size: var(--text-sm, .875rem); word-break: break-all; }
.hv-filemeta { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

.hv-toolbar {
    display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
    justify-content: space-between; margin-top: .625rem;
}
.hv-zoom { display: flex; align-items: center; gap: .375rem; }
.hv-zoom-label {
    min-width: 3.25rem; text-align: center;
    font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977);
    font-variant-numeric: tabular-nums;
}
.hv-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

.hv-section { margin-top: 0; }
.hv-stat { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

.hv-empty { text-align: center; padding: var(--spacing-xl, 2rem) var(--spacing-md, 1rem); color: var(--text-muted, #626977); }
.hv-empty > i { font-size: 1.75rem; display: block; margin-bottom: .5rem; opacity: .6; }
.hv-empty > p { margin: 0; font-size: var(--text-sm, .875rem); }

/* 회색 바탕 위에 흰 종이(캔버스)를 세로로 쌓는다. */
.hv-pages {
    max-height: 72vh;
    overflow: auto;
    background: #edeff2;
    border: 1px solid var(--border-color, #e5e8ed);
    border-radius: var(--radius-sm, 6px);
    padding: var(--spacing-md, 1rem);
    text-align: center;
}
.hv-page {
    display: block;
    margin: 0 auto var(--spacing-md, 1rem);
    max-width: 100%;
    height: auto;                    /* 폭만 지정하고 높이는 비율대로 */
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}
.hv-page:last-child { margin-bottom: 0; }

.hv-alert { margin-top: var(--spacing-md, 1rem); }
.hv-privacy { margin-top: var(--spacing-lg, 1.5rem); }
.hv-progress {
    display: flex; align-items: center; gap: .5rem;
    font-size: var(--text-sm, .875rem); color: var(--text-muted, #626977);
}

@media (max-width: 768px) {
    .hv-toolbar { flex-direction: column; align-items: stretch; }
    .hv-actions { flex-direction: column; }
    .hv-actions .btn-tool { width: 100%; justify-content: center; }
    .hv-pages { padding: .5rem; }
}
