.document-download-layer { position:fixed; z-index:1500; inset:0; display:grid; place-items:center; padding:24px; }
.document-download-layer[hidden] { display:none; }
.document-download-backdrop { position:absolute; inset:0; border:0; background:rgba(20,20,18,.68); cursor:pointer; }
.document-download-dialog { position:relative; width:min(620px,100%); max-height:min(720px,calc(100vh - 48px)); overflow:auto; padding:42px; background:#faf9f6; box-shadow:0 28px 80px rgba(0,0,0,.3); box-sizing:border-box; }
.document-download-close { position:absolute; top:17px; right:18px; width:34px; height:34px; border:0; background:transparent; color:#24231f; font-size:29px; font-weight:300; line-height:1; cursor:pointer; }
.document-download-eyebrow { margin:0 0 9px; color:#8b7356; font-size:11px; letter-spacing:.22em; }
.document-download-dialog h2 { margin:0; color:#24231f; font-family:Georgia,"Noto Serif KR",serif; font-size:32px; font-weight:400; }
.document-download-guide { margin:13px 0 27px; color:#716d65; font-size:14px; line-height:1.7; }
.document-download-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.document-download-item { display:flex; gap:18px; align-items:center; justify-content:space-between; padding:17px 18px; border:1px solid #ddd9d0; background:#fff; color:#24231f; text-decoration:none; transition:border-color .2s,transform .2s; }
.document-download-item:hover,
.document-download-item:focus-visible { border-color:#8b7356; transform:translateY(-1px); }
.document-download-copy { min-width:0; }
.document-download-copy strong { display:block; overflow:hidden; font-size:15px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.document-download-copy span { display:block; margin-top:5px; overflow:hidden; color:#817d75; font-size:12px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.document-download-meta { flex:0 0 auto; color:#8b7356; font-size:11px; letter-spacing:.06em; }
.document-download-empty { padding:35px 10px; border-top:1px solid #ddd9d0; border-bottom:1px solid #ddd9d0; color:#77736b; text-align:center; font-size:14px; }
body.is-document-download-open { overflow:hidden; }

@media (max-width:640px) {
    .document-download-layer { padding:16px; }
    .document-download-dialog { padding:38px 22px 26px; }
    .document-download-dialog h2 { font-size:27px; }
    .document-download-item { align-items:flex-start; }
    .document-download-meta { padding-top:2px; }
}
