/*
 * HWPX·DOCX·PPTX 문서 모양. 문서 뷰어와 문서 변환(../../document-converter)이 함께 쓴다.
 */
/* ---------- DOCX (docx-preview) ---------- */
.doc-host .docx-wrapper { background: transparent; padding: 0; }
.doc-host .docx-wrapper > section.docx { box-shadow: 0 2px 10px rgba(0,0,0,.25); margin-bottom: 16px; }

/* ---------- PPTX (pptx-preview) ---------- */
.doc-host.pptx-host { background: transparent; }
.doc-host.pptx-host .pptx-preview-wrapper { background: transparent !important; overflow: visible !important; height: auto !important; }
.doc-host.pptx-host .pptx-preview-slide-wrapper { box-shadow: 0 2px 10px rgba(0,0,0,.25); margin: 0 auto 16px !important; }

/* ---------- HWPX ---------- */
.hwpx-doc { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.hwpx-page {
  position: relative; background: #fff; color: #000; box-shadow: 0 2px 10px rgba(0,0,0,.25);
  font-family: "Malgun Gothic", sans-serif; font-size: 10pt; line-height: 1.6; overflow-wrap: anywhere;
}
.hwpx-p { white-space: pre-wrap; position: relative; z-index: 1; }
.hwpx-p:after { content: ""; display: block; clear: both; }
.hwpx-tab { display: inline-block; }
.hwpx-bullet { display: inline-block; min-width: 1.2em; }
.hwpx-eq { font-style: italic; font-family: "Times New Roman", serif; }
.hwpx-fnref { font-size: .7em; }
.hwpx-footnotes { margin-top: 16px; padding-top: 6px; border-top: 1px solid #999; font-size: 9pt; }
.hwpx-footnote { white-space: pre-wrap; }
.hwpx-table { border-collapse: collapse; white-space: normal; text-indent: 0; margin: 2px 0; }
.hwpx-table td { overflow: hidden; }
.hwpx-img { display: block; max-width: 100%; object-fit: fill; }
.hwpx-inline { display: inline-block; vertical-align: bottom; }
.hwpx-block { display: block; margin-top: 2px; margin-bottom: 2px; }
.hwpx-square { margin: 2px 8px; }
.hwpx-float { position: absolute; }
.hwpx-float.behind { z-index: 0; }
.hwpx-float.front { z-index: 2; }
.hwpx-textbox { white-space: normal; overflow: hidden; }
.hwpx-missing {
  display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 24px;
  border: 1px dashed #aaa; color: #888; font-size: 9pt; background: #fafafa;
}
.hwpx-preview pre { white-space: pre-wrap; font: inherit; margin: 0; }
.hwpx-preview-note { color: #b45309; background: #fef3c7; padding: 8px 10px; border-radius: 4px; margin-bottom: 12px; font-size: 9pt; }
