/* 기본 스타일 초기화 */
.NG1content { --primary-color: #3498db; --primary-dark: #2980b9; --secondary-color: #34495e; --text-color: #333; --light-gray: #f8f9fa; --border-color: #bdc3c7; --highlight-color: #a8e6cf; --highlight-text-color: #2c3e50; --highlight-gradient: linear-gradient(120deg, #a8e6cf 0%, #dcedc1 100%); --primary-gradient: linear-gradient(135deg, #3498db, #2980b9); --box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08); --border-radius: 8px; --border-radius-large: 12px; }

/* 전체 페이지 스타일 */
.NG1content.body { line-height: 1.6; margin: 0; padding: 20px 10px; background-color: #f8f9fa; color: #333; }

/* 메인 컨테이너 */
.NG1content .container { max-width: 800px; margin: 0 auto; background: white; padding: 40px; border-radius: 12px box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08); }

/* 제목 스타일 */
.NG1content .main-title { color: #2c3e50; font-size: 30px; font-weight: 700; margin-top: 20px; margin-bottom: 5px; border-bottom: 3px solid #3498db; padding-bottom: 20px; }
.NG1content .sub-title { color: #34495e; font-size: 25px; font-weight: 600; margin-top: 10px; margin-bottom: 10px; }
.NG1content .minor-title { color: #2c3e50; font-size: 18px; font-weight: 600; margin-top: 10px; margin-bottom: 10px; }
.NG1content .subminor-title { color: #a67900; /* 글자색 (2번 이미지 느낌의 황금색 계열) */ font-size: 16px; font-weight: 600; margin-top: 10px; margin-bottom: 10px; background-color: #fff3cd; /* 옅은 노랑 배경 */ padding: 4px 8px; /* 박스 안 여백 */ display: inline-block; /* 배경이 텍스트 길이만큼만 적용되도록 */ border-radius: 5px; /* 모서리 살짝 둥글게 (옵션) */ }

/* 섹션 태그 */
.NG1content .section-tag { display: inline-block; background: linear-gradient(135deg, #3498db, #2980b9); color: white; padding: 8px 16px; border-radius: 10px; font-size: 14px; font-weight: 500; margin: 10px 0; box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3); }

/* 콘텐츠 박스 */
.NG1content .content-box { background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 5px 0; }

/* 하이라이트 텍스트 */
.NG1content .highlight-text { background: #a8e6cf; color: #2c3e50; padding: 2px 6px; border-radius: 4px; font-weight: 500; }

/* 리스트 스타일 */
.NG1content ul { padding-left: 0; margin: 15px 0; }
.NG1content li { list-style: none; margin: 10px; padding-left: 20px; position: relative; line-height: 1.; }
.NG1content li:before { content: "•"; color: #3498db; font-weight: bold; position: absolute; left: 8px; font-size: 16px; }

/* 문단 스타일 */
.NG1content p { margin: 14px 0; line-height: 1.5; }

/* 섹션 구분선 */
.NG1content .section-divider { height: 1px; background: linear-gradient(to right, transparent, var(--border-color), transparent); margin: 30px 0; }

/* 접근성 개선 */
.NG1content .section-tag:focus, .NG1content .content-box:focus { outline: 2px solid var(--primary-color); outline-offset: 2px; }

/* ?? Images ?? */
.NG1content img { max-width: 100%; height: auto; border-radius: 6px; margin: 10px 0; }
.NG1content img.full-width { width: 100%; border-radius: 8px; }
.NG1content .image-caption { text-align: center; font-size: 0.85em; color: #888; margin-top: 4px; }

/* ?? Tables ?? */
.NG1content .table-container { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 20px 0; }
.NG1content .table-container table { width: 100%; min-width: 500px; border-collapse: separate; border-spacing: 0; border: 1px solid #e0e0e0; border-radius: 6px; overflow: hidden; }
.NG1content table { width: 100%; max-width: 100%; border-collapse: collapse; margin: 15px 0; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.NG1content thead, .NG1content tbody { display: table; width: 100%; min-width: 500px; }
.NG1content th { background: #f1f3f5; padding: 10px 14px; text-align: left; font-weight: 600; font-size: 14px; border-bottom: 2px solid #dee2e6; white-space: nowrap; }
.NG1content td { padding: 10px 14px; border-bottom: 1px solid #eee; font-size: 14px; vertical-align: top; }
.NG1content tr:last-child td { border-bottom: none; }
.NG1content tr:hover td { background: #f8f9fa; }

/* 반응형 디자인 */

@media (max-width: 768px) {
  .NG1content. body { padding: 10px; }
  .NG1content .container { padding: 20px; }
  .NG1content h1 { font-size: 24px; }
  .NG1content h2 { font-size: 20px; }
  .NG1content h3 { font-size: 16px; }
  .NG1content .content-box { padding: 20px; }
}

@media (max-width: 480px) {
  .NG1content .container { padding: 15px; }
  .NG1content h1 { font-size: 22px; }
  .NG1content .section-tag { font-size: 12px; padding: 6px 12px; }
}

/* 프린트 스타일 */

@media print {
  .NG1content. body { background: white; padding: 0; }
  .NG1content .container { box-shadow: none; border: 1px solid #ccc; }
  .NG1content .section-tag { background: #333 !important; color: white !important; }
}
