@charset "utf-8";

/* HTML 요소 스타일링 */
.explanation_text h1, .explanation_text h2, .explanation_text h3, .explanation_text h4, .explanation_text h5, .explanation_text h6 { margin-top: 20px !important; margin-bottom: 10px !important; color: var(--gray-800) !important; font-weight: 600 !important; line-height: 1.3 !important; }
.explanation_text h1:first-child, .explanation_text h2:first-child, .explanation_text h3:first-child, .explanation_text h4:first-child, .explanation_text h5:first-child, .explanation_text h6:first-child { margin-top: 0 !important; }
.explanation_text h1 { font-size: 24px !important; }
.explanation_text h2 { font-size: 20px !important; }
.explanation_text h3 { font-size: 18px !important; }
.explanation_text h4 { font-size: 16px !important; }
.explanation_text h5 { font-size: 14px !important; }
.explanation_text h6 { font-size: 12px !important; }
.explanation_text p { margin-bottom: 15px !important; line-height: 1.6 !important; }
.explanation_text ul, .explanation_text ol { margin-bottom: 15px !important; padding-left: 20px !important; }
.explanation_text li { margin-bottom: 5px !important; line-height: 1.5 !important; }
.explanation_text strong, .explanation_text b { color: var(--gray-800) !important; font-weight: 600 !important; }
.explanation_text em, .explanation_text i, .explanation_text cite, .explanation_text address { font-style: italic !important; }
.explanation_text a { color: var(--primary-color) !important; text-decoration: none !important; transition: color 0.2s ease !important; }
.explanation_text a:hover { text-decoration: underline !important; color: #1976d2 !important; }

/* 테이블 스타일 */
.explanation_text .table-container { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; width: 100% !important; margin: 15px 0 !important; }
.explanation_text table { width: 100% !important; border-collapse: collapse !important; margin: 15px 0 !important; background: white !important; border: 1px solid var(--gray-200) !important; border-radius: 6px !important; overflow: hidden !important; }
.explanation_text th, .explanation_text td { padding: 12px !important; text-align: left !important; border-bottom: 1px solid var(--gray-200) !important; }
.explanation_text th { background: var(--gray-50) !important; font-weight: 600 !important; color: var(--gray-800) !important; }
.explanation_text tbody tr:hover { background: var(--gray-50) !important; }

/* 코드 블록 스타일 */
.explanation_text code { background: var(--gray-100) !important; padding: 2px 6px !important; border-radius: 3px !important; font-family: 'Courier New', monospace !important; font-size: 13px !important; color: var(--gray-800) !important; }
.explanation_text pre { background: var(--gray-100) !important; padding: 15px !important; border-radius: 6px !important; overflow-x: auto !important; margin: 15px 0 !important; border: 1px solid var(--gray-200) !important; }
.explanation_text pre code { background: none !important; padding: 0 !important; border-radius: 0 !important; }

/* 이미지 스타일 */
.explanation_text img { max-width: 100% !important; height: auto !important; border-radius: 6px !important; margin: 10px 0 !important; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; }

/* 블록쿼트 스타일 */
.explanation_text blockquote { border-left: 4px solid var(--primary-color) !important; margin: 15px 0 !important; padding: 10px 15px !important; background: var(--gray-50) !important; border-radius: 0 6px 6px 0 !important; font-style: italic !important; color: var(--gray-600) !important; }

/* 구분선 스타일 */
.explanation_text hr { border: none !important; height: 1px !important; background: var(--gray-200) !important; margin: 20px 0 !important; }

/* 박스 모델 */
.explanation_text * { box-sizing: border-box !important; }

/* 간호학 이론 스타일 */
.explanation_text .nursing_theory { max-width: 100% !important; margin: 0 !important; background-color: transparent !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.explanation_text .main-title { font-size: 28px !important; font-weight: bold !important; color: #1a4d8f !important; margin-bottom: 30px !important; padding-bottom: 15px !important; border-bottom: 3px solid #1a4d8f !important; }
.explanation_text .section { margin-bottom: 30px !important; }
.explanation_text .section-title { font-size: 22px !important; font-weight: bold !important; color: #2c5f9e !important; margin-bottom: 15px !important; padding-left: 15px !important; border-left: 5px solid #2c5f9e !important; }
.explanation_text .subsection { margin-bottom: 20px !important; padding-left: 10px !important; }
.explanation_text .subsection-title { font-size: 18px !important; font-weight: bold !important; color: #3a7bc8 !important; margin-bottom: 12px !important; }
.explanation_text .content-list { margin-left: 20px !important; margin-bottom: 15px !important; }
.explanation_text .content-list li { margin-bottom: 8px !important; line-height: 1.7 !important; }
.explanation_text .numbered-item { margin-bottom: 15px !important; padding-left: 10px !important; }
.explanation_text .numbered-item strong { color: #2c5f9e !important; }
.explanation_text .comparison-table { width: 100% !important; border-collapse: collapse !important; margin: 20px 0 !important; background-color: white !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; min-width: 600px !important; }
.explanation_text .comparison-table th { background-color: #2c5f9e !important; color: white !important; padding: 15px !important; text-align: left !important; font-weight: bold !important; border: 1px solid #ddd !important; white-space: nowrap !important; }
.explanation_text .comparison-table td { padding: 15px !important; border: 1px solid #ddd !important; vertical-align: top !important; }
.explanation_text .comparison-table tr:nth-child(even) { background-color: #f8f9fa !important; }
.explanation_text .highlight-box { background-color: #e8f4fd !important; border-left: 4px solid #2c5f9e !important; padding: 15px 20px !important; margin: 15px 0 !important; border-radius: 4px !important; }
.explanation_text .warning-box { background-color: #fff3cd !important; border-left: 4px solid #ffc107 !important; padding: 15px 20px !important; margin: 15px 0 !important; border-radius: 4px !important; }
.explanation_text .bullet-point { margin-bottom: 10px !important; }
.explanation_text .bullet-point::before { content: "• " !important; color: #2c5f9e !important; font-weight: bold !important; margin-right: 5px !important; }
.explanation_text .sub-bullet { margin-left: 40px !important; margin-bottom: 8px !important; }
.explanation_text .sub-bullet::before { content: "- " !important; color: #3a7bc8 !important; margin-right: 5px !important; }
.explanation_text .symptom-list { background-color: #fef8f8 !important; border-left: 4px solid #dc3545 !important; padding: 15px 20px !important; margin: 15px 0 !important; }
.explanation_text .treatment-list { background-color: #f0f8f0 !important; border-left: 4px solid #28a745 !important; padding: 15px 20px !important; margin: 15px 0 !important; }
.explanation_text .note { font-size: 14px !important; color: #666 !important; font-style: italic !important; margin-top: 10px !important; }

/* 기출년도 뱃지 스타일 */
.explanation_text .exam-years { display: inline-flex !important; gap: 4px !important; margin-left: 8px !important; flex-wrap: wrap !important; align-items: center !important; }
.explanation_text .exam-year-badge { display: inline-block !important; background-color: #dc3545 !important; color: white !important; font-size: 11px !important; font-weight: 600 !important; padding: 2px 6px !important; border-radius: 3px !important; line-height: 1.2 !important; }

/* 텍스트 정렬 유틸리티 */
.explanation_text .text-center { text-align: center !important; }

/* 여백 유틸리티 */
.explanation_text .my-6 { margin-top: 40px !important; margin-bottom: 40px !important; }
.explanation_text .mt-10 { margin-top: 10px !important; }
.explanation_text .mt-15 { margin-top: 15px !important; }

/* 넘버링 아이템 개선 */
.explanation_text .numbered-item { margin-bottom: 20px !important; padding: 15px !important; background-color: #f8f9fa !important; border-radius: 6px !important; }
.explanation_text .numbered-item strong { color: #1a4d8f !important; font-size: 16px !important; margin-bottom: 10px !important; }

/* 모바일 반응형 */

@media screen and (max-width: 768px) {
  .explanation_text .main-title { font-size: 24px !important; margin-bottom: 20px !important; }
  .explanation_text .section-title { font-size: 20px !important; }
  .explanation_text .subsection-title { font-size: 16px !important; }
  .explanation_text .table-container { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; margin: 20px -20px !important; padding: 0 20px !important; }
  .explanation_text .comparison-table { font-size: 14px !important; min-width: 600px !important; }
  .explanation_text .comparison-table th, .explanation_text .comparison-table td { padding: 10px !important; white-space: normal !important; }
  .explanation_text .comparison-table th { white-space: nowrap !important; }
}
