/* NPTcontent - 의료교육 콘텐츠 스타일시트 */
/* Variables & Base */
.NPTcontent { box-sizing: border-box; width: 100%; --c-primary: #2C3E50; --c-primary-light: #3498DB; --c-secondary: #7F8C8D; --c-accent: #E74C3C; --c-bg: #F8F9FA; --c-border: #E0E0E0; --c-text: #333; --c-text-light: #666; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Malgun Gothic', sans-serif; line-height: 1.6; color: var(--c-text); max-width: 1000px; margin: 0 auto; padding: 20px; background: #fff; word-break: keep-all; overflow-wrap: break-word; }
.NPTcontent *, .NPTcontent *::before, .NPTcontent *::after { box-sizing: border-box; }
.NPTcontent img, .NPTcontent video, .NPTcontent iframe { max-width: 100%; height: auto; }

/* Typography */
.NPTcontent p { margin: 16px 0; line-height: 1.7; word-break: keep-all; overflow-wrap: break-word; }
.NPTcontent .main-title { color: var(--c-primary); font-size: 28px; font-weight: 700; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 2px solid var(--c-border); }
.NPTcontent .sub-title { color: var(--c-primary); font-size: 22px; font-weight: 600; margin: 40px 0 20px; padding-bottom: 10px; border-bottom: 1px solid var(--c-border); }
.NPTcontent .minor-title { color: var(--c-primary); font-size: 18px; font-weight: 600; margin: 30px 0 15px; }
.NPTcontent .section-tag { display: inline-block; background: var(--c-primary); color: #fff; padding: 6px 12px; border-radius: 4px; font-size: 13px; font-weight: 500; margin: 15px 0 10px; letter-spacing: 0.5px; }
.NPTcontent .highlight-text { background: #E8F4FC; color: var(--c-primary); padding: 2px 6px; border-radius: 3px; font-weight: 500; font-size: 0.95em; }

/* Info & Content Boxes */
.NPTcontent .report-info { background: var(--c-bg); padding: 15px; margin: 20px 0; border-radius: 6px; border-left: 3px solid var(--c-primary-light); font-size: 14px; color: var(--c-text-light); }
.NPTcontent .report-info p { margin: 5px 0; }
.NPTcontent .content-box { background: var(--c-bg); padding: 18px; border-radius: 6px; margin: 15px 0; border: 1px solid var(--c-border); }
.NPTcontent .diagnosis-box { background: #fff; border: 1px solid var(--c-border); border-left: 4px solid var(--c-accent); padding: 15px; margin: 15px 0; border-radius: 6px; }
.NPTcontent .diagnosis-box .diagnosis-title { font-weight: 600; color: var(--c-accent); margin-bottom: 8px; font-size: 16px; }
.NPTcontent .important-note { background: #5b8fe2; padding: 15px; border-radius: 6px; margin: 20px 0; font-size: 14px; color: #fff; }

/* Tables */
.NPTcontent .table-container { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 20px 0; }
.NPTcontent .table-container table { width: 100%; min-width: 600px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--c-border); border-radius: 6px; overflow: hidden; }
.NPTcontent th { background: var(--c-primary); color: #fff; padding: 12px 15px; text-align: left; font-weight: 600; font-size: 14px; white-space: nowrap; }
.NPTcontent td { padding: 12px 15px; border-bottom: 1px solid var(--c-border); background: #fff; font-size: 14px; vertical-align: top; word-break: keep-all; overflow-wrap: break-word; }
.NPTcontent td br { display: block; margin: 5px; }
.NPTcontent tr:last-child td { border-bottom: none; }
.NPTcontent tr:hover td { background: #F5F7FA; }
.NPTcontent .table-caption { font-size: 13px; color: var(--c-text-light); margin-top: 8px; }
.NPTcontent .nursing-process-table th { padding: 14px 15px; }

/* Blockquote */
.NPTcontent blockquote { background: var(--c-bg); border-left: 4px solid var(--c-primary-light); padding: 15px 20px; margin: 20px 0; border-radius: 0 6px 6px 0; font-style: italic; font-size: 15px; color: var(--c-text-light); }

/* Lists */
.NPTcontent ul, .NPTcontent ol { margin: 15px 0; padding-left: 20px; }
.NPTcontent ul { list-style: none; }
.NPTcontent ul li { position: relative; padding-left: 24px; margin: 10px 0; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word; }
.NPTcontent ul li::before { content: "→"; position: absolute; left: 0; color: var(--c-primary-light); font-size: 14px; }
.NPTcontent ol li { margin: 8px 0; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word; }

/* Utilities */
.NPTcontent .section-divider { height: 1px; background: var(--c-border); margin: 40px 0; border: none; }
.NPTcontent pre { background: var(--c-bg); padding: 15px; border-radius: 6px; border: 1px solid var(--c-border); overflow-x: auto; margin: 15px 0; font-size: 14px; }
.NPTcontent .references { background: var(--c-bg); padding: 20px; border-radius: 6px; margin: 40px 0 20px; border-top: 2px solid var(--c-border); }
.NPTcontent .reference-item { margin: 8px 0; padding-left: 20px; position: relative; font-size: 14px; color: var(--c-text-light); }
.NPTcontent .reference-item::before { content: "•"; position: absolute; left: 0; color: var(--c-primary-light); }

/* Responsive - Tablet */

@media (max-width: 768px) {
  .NPTcontent { padding: 15px; width: 100%; word-break: keep-all; overflow-wrap: break-word; }
  .NPTcontent .main-title { font-size: 24px; }
  .NPTcontent .sub-title { font-size: 20px; margin-top: 30px; }
  .NPTcontent .minor-title { font-size: 17px; margin-top: 25px; }
  .NPTcontent .report-info { padding: 12px; font-size: 13px; }
  .NPTcontent .content-box, .NPTcontent .diagnosis-box { padding: 15px; }
  .NPTcontent .table-container table { min-width: 500px; }
  .NPTcontent th, .NPTcontent td { padding: 10px 12px; font-size: 13px; }
  .NPTcontent .table-container::after { content: "← 좌우로 스크롤하세요 →"; display: block; text-align: center; font-size: 12px; color: var(--c-text-light); padding: 8px 0; font-style: italic; }
}

/* Responsive - Mobile */

@media (max-width: 480px) {
  .NPTcontent { padding: 0px; }
  .NPTcontent .main-title { font-size: 22px; }
  .NPTcontent .sub-title { font-size: 19px; }
  .NPTcontent p { font-size: 15px; line-height: 1.6; }
  .NPTcontent .table-container table { min-width: 450px; }
  .NPTcontent th, .NPTcontent td { padding: 8px 10px; font-size: 12px; }
}

/* Print */

@media print {
  .NPTcontent { padding: 0; max-width: 100%; font-size: 12pt; }
  .NPTcontent .main-title { color: #000; border-bottom-color: #ccc; }
  .NPTcontent .table-container { overflow-x: visible; }
  .NPTcontent .table-container table { min-width: 100%; }
  .NPTcontent th { background: #F0F0F0 !important; color: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .NPTcontent a { color: #000; text-decoration: underline; }
  .NPTcontent .section-tag { background: #eee !important; color: #000 !important; border: 1px solid #ccc; }
}
