@charset "utf-8";

/* 1. 디자인 변수 설정 (색상 테마) */
:root { --bg-paper: #ffffff; --text-primary: #333333; --text-secondary: #555555; --text-muted: #777777; --color-primary: #5a8bb5; /* 메인 파랑 */ --color-secondary: #7a97b4; /* 서브 파랑 */ --color-navy: #004085; /* 강조용 네이비 */ --pastel-purple: #c5b9d6; /* 포인트 퍼플 */ --pastel-blue: #a8d5e2; /* 연한 파랑 (밑줄 등) */ --pastel-mint: #b8e6d5; /* 리스트 불릿 색상 */ --highlight-bg: #fffdf5; /* 박스 배경 */ --highlight-border: #ffeeba; /* 박스 테두리 */ --highlight-pen: #ffc107; /* 형광펜 효과 색상 */ --border-line: #eaeaea; --shadow-soft: 0 10px 40px rgba(0,0,0,0.05); }

/* 2. 기본 레이아웃 (컨테이너) */
.prore_medilaw { font-family: 'Pretendard', 'Noto Sans KR', 'Malgun Gothic', sans-serif; color: var(--text-primary); line-height: 1.7; background: var(--bg-paper); padding: 30px 30px; margin: 0 auto; box-sizing: border-box; box-shadow: var(--shadow-soft); border-radius: 8px; }

/* 기본 태그 리셋 */
.prore_medilaw p { margin: 5px 0 15px 0; word-break: keep-all; text-align: justify; }

/* 3. 타이틀 영역 스타일 */
/* 메인 타이틀 (법령 이름) */
.prore_medilaw .main-title { font-size: 28px !important; font-weight: 800; text-align: center; color: var(--text-primary); border-bottom: 6px solid var(--pastel-purple); margin: 0 0 30px 0; padding-bottom: 25px; letter-spacing: -1px; }

/* 섹션 타이틀 (1. 총칙 등) */
.prore_medilaw .section-title { font-size: 26px !important; font-weight: 800; color: var(--color-primary); border-bottom: 2px solid var(--pastel-blue); margin: 60px 0 25px 0; padding-bottom: 12px; }

/* 서브 섹션 타이틀 (제1장 등) */
.prore_medilaw .subsection-title { font-size: 20px !important; font-weight: 700; color: var(--color-secondary); border-left: 5px solid var(--pastel-purple); padding-left: 15px; margin: 40px 0 20px 0; line-height: 1.2; }

/* 4. 출제범위 박스 (Highlight Box) */
.prore_medilaw .highlight-box { background: var(--highlight-bg); border: 2px solid var(--highlight-border); border-radius: 15px; padding: 25px; margin: 0 auto 50px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.03); }
.prore_medilaw .highlight-box strong { display: block; font-size: 18px !important; color: #d39e00 !important; margin-bottom: 8px; background: none !important; /* 내부 형광펜 효과 제거 */ border: none !important; }
.prore_medilaw .emoji-star { font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 16px; color: var(--text-secondary); font-weight: 500; }

/* 5. 조항 본문 스타일 (Numbered Item) */
.prore_medilaw .numbered-item { border-bottom: 1px dashed var(--border-line); padding: 25px 10px; }
.prore_medilaw .numbered-item:last-child { border-bottom: none; }

/* 조항 제목 (제1조, 제2조 등) 스타일 */
.prore_medilaw .numbered-item > strong:first-child { display: inline-block; font-size: 19px; color: var(--color-navy) !important; font-weight: 800 !important; margin-bottom: 15px; position: relative; z-index: 1; /* 형광펜 밑줄 효과 */ background: linear-gradient(to top, var(--highlight-border) 40%, transparent 40%); box-shadow: none; border-bottom: none; padding: 0 5px; border-radius: 4px; }

/* 본문 내 강조 (strong) - 노란 형광펜 효과 */
.prore_medilaw strong { font-weight: 700; color: var(--color-navy); background: linear-gradient(to top, rgba(255, 238, 186, 0.7) 50%, transparent 50%); box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* 6. 리스트 스타일 (Content List) */
.prore_medilaw .content-list { list-style: none; padding-left: 5px; margin: 10px 0; }
.prore_medilaw .content-list li { position: relative; padding-left: 20px; margin-bottom: 10px; color: var(--text-secondary); font-size: 16px; }

/* 1차 리스트 불릿 (•) */
.prore_medilaw .content-list > li::before { content: '•'; position: absolute; left: 0; top: 0px; color: var(--pastel-purple); font-weight: bold; font-size: 18px; line-height: 1.6; }

/* 2차 중첩 리스트 (들여쓰기 및 불릿 변경) */
.prore_medilaw .content-list .content-list { margin-top: 8px; margin-bottom: 8px; margin-left: 5px; background-color: #fcfcfc; /* 미세한 배경 구분 */ border-radius: 8px; padding: 10px 10px 5px 10px; }
.prore_medilaw .content-list .content-list li { font-size: 15px; color: var(--text-muted); padding-left: 18px; margin-bottom: 6px; }

/* 2차 리스트 불릿 (-) */
.prore_medilaw .content-list .content-list li::before { content: '-'; color: var(--color-primary); font-size: 16px; top: -1px; }

/* 7. 테이블 스타일 */
.prore_medilaw .table-container { overflow-x: auto; margin: 20px 0; border-radius: 8px; }
.prore_medilaw .comparison-table { width: 100%; border-collapse: collapse; font-size: 15px; border-top: 2px solid var(--color-primary); border-bottom: 1px solid #ccc; background-color: #fff; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prore_medilaw .comparison-table thead, .prore_medilaw .comparison-table tbody { display: table; width: 100%; min-width: 500px; }
.prore_medilaw .comparison-table th { background: #f4f9fc; color: var(--color-primary); padding: 14px 15px; border-bottom: 1px solid var(--pastel-blue); text-align: left; font-weight: 700; white-space: nowrap; }
.prore_medilaw .comparison-table td { padding: 14px 15px; border-bottom: 1px solid var(--border-line); color: var(--text-secondary); vertical-align: top; line-height: 1.6; }

/* 마지막 행 테두리 제거 */
.prore_medilaw .comparison-table tr:last-child td { border-bottom: none; }

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

/* 8. 모바일 반응형 (768px 이하) */

@media screen and (max-width: 768px) {
  .prore_medilaw { padding: 0 0; margin: 20px auto; }
  .prore_medilaw .main-title { font-size: 30px !important; padding-bottom: 20px; margin-bottom: 40px; }
  .prore_medilaw .section-title { font-size: 22px !important; margin-top: 40px; }
  .prore_medilaw .subsection-title { font-size: 18px !important; }
  .prore_medilaw .numbered-item > strong:first-child { font-size: 17px; }
  .prore_medilaw .content-list li { font-size: 15px; padding-left: 15px; }
  .prore_medilaw .highlight-box { padding: 20px 15px; max-width: 100%; }
}
