@charset "utf-8";

/* ============================================================
   board_content.css — 게시판 상세 본문 공통 스타일 (2026-10-29)

   적용 대상 : 상세 본문 영역 클래스 .tsbodycont
     공지 · 소식 · 후기 · 임상사례 · 칼럼 (국문 · 영문 · 일문) 상세 템플릿의 본문 div
     (2026-10-29 예전 nxt_subjectTBox / nxt_blog_subjectTBox 두 클래스를 하나로 통일)
   불러오는 곳 : common/newheader.php, en/common/newheader.php, jp/common/header.php
   관리자 에디터 : adm/*_reg.php 의 CKEDITOR contentsCss 에 이 파일 + board_content_editor.css,
                  bodyClass 'tsbodycont nxt_editor'

   ── 이 파일이 지키는 규칙 ──────────────────────────────
   규칙 1  본문 HTML 은 수정하지 않는다. 본문 서식은 이 파일에서만 정의한다.
           (예전 sub.css · blog.css 의 「상세 페이지 에디터 컨텐츠 css」 구획은 삭제했다.
            되돌릴 때는 각 파일의 .bak-20261029 를 본다.)
   규칙 2  에디터에서 직접 지정한 글자 크기는 이 파일의 크기 단계로 맞춘다(1-1 참고).
           글꼴 지정은 무시한다. 글자색 · 형광(배경색)은 작성자의 의도로 보고 그대로 둔다.
   규칙 3  와일드카드(*)로 font-size / line-height 를 강제하지 않는다.
   규칙 4  이미지 넘침 · 표 붕괴 · 동영상 크기 같은 안전장치는 반드시 남긴다.
   규칙 5  !important 는 인라인 style 을 이겨야 하는 곳에만 쓴다.

   ── 글꼴 ──────────────────────────────────────────────
   이 사이트의 Pretendard 는 굵기마다 font-family 가 따로 선언돼 있다(new_css/font.css).
     300 pretendard-300 / 400 pretendard-400 / 500 pretendard-500
     600 pretendard-600 / 700 pretendard-700 / 800 pretendard-800
   font-weight 만 주면 가짜 굵게가 그려지므로 굵기마다 패밀리를 함께 지정한다.

   ── 색 ────────────────────────────────────────────────
     본문 · 제목 #2f2c2c   포인트(금색) #c7ad6e   링크 #a07f2e
     카드 바탕 #f6f3ed     구분선 #ece8df
   ============================================================ */


/* ------------------------------------------------------------
   1. 본문 기본
   ------------------------------------------------------------ */
.tsbodycont {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #2f2c2c;
	font-family: pretendard-400;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.85;
	letter-spacing: -0.01em;
	word-break: keep-all;
	overflow-wrap: break-word;
}
.tsbodycont p {
	margin: 0 0 1.2rem 0;
	font-family: pretendard-400;
	font-size: 1.8rem;
	line-height: 1.85;
}
.tsbodycont span {
	font-family: inherit;
}
.tsbodycont strong, .tsbodycont b {
	font-family: pretendard-600;
	font-weight: 600;
}
.tsbodycont > :first-child {
	margin-top: 0;
}

/* 기울임(em) — 사이트 공통 스타일(common.css)의 주황색 대신 본문 강조색 */
.tsbodycont em {
	font-style: normal;
	font-family: pretendard-600;
	font-weight: 600;
	color: #a07f2e;
}

/* ------------------------------------------------------------
   1-1. 규칙 2 — 에디터의 글자 크기 · 글꼴 지정(style 속성) 정리
   크기는 아래 단계로 맞춘다. 제목 안에서는 제목 크기를 따른다.
     14px · 11pt          → 작은 글씨 1.5rem
     16~20px · 12~15pt    → 본문 크기
     22px                 → 1.9rem (소제목)
     24px · 26px          → 2.1rem (제목 3 크기)
     28px · 36px          → 2.6rem (제목 2 크기)
   ------------------------------------------------------------ */
.tsbodycont [style*="font-size"] {
	font-size: inherit !important;
	line-height: inherit !important;
}
.tsbodycont [style*="font-size:14px"],
.tsbodycont [style*="font-size: 14px"],
.tsbodycont [style*="font-size:11pt"],
.tsbodycont [style*="font-size: 11pt"] {
	font-size: 1.5rem !important;
}
.tsbodycont [style*="font-size:22px"], .tsbodycont [style*="font-size: 22px"] {
	font-size: 1.9rem !important;
}
.tsbodycont [style*="font-size:24px"],
.tsbodycont [style*="font-size: 24px"],
.tsbodycont [style*="font-size:26px"],
.tsbodycont [style*="font-size: 26px"] {
	font-size: 2.1rem !important;
}
.tsbodycont [style*="font-size:28px"],
.tsbodycont [style*="font-size: 28px"],
.tsbodycont [style*="font-size:36px"],
.tsbodycont [style*="font-size: 36px"] {
	font-size: 2.6rem !important;
}
.tsbodycont h2 [style*="font-size"], .tsbodycont h3 [style*="font-size"], .tsbodycont h4 [style*="font-size"] {
	font-size: inherit !important;
}
.tsbodycont [style*="font-family"] {
	font-family: inherit !important;
}


/* ------------------------------------------------------------
   2. 제목 위계 — 제목 2 · 제목 3 · 제목 4
   ------------------------------------------------------------ */
.tsbodycont h2 {
	position: relative;
	margin: 4.8rem 0 1.6rem 0;
	font-family: pretendard-700;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.4;
	color: #2f2c2c;
}
.tsbodycont h3 {
	margin: 3.6rem 0 1.2rem 0;
	font-family: pretendard-600;
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 1.45;
	color: #2f2c2c;
}
.tsbodycont h4 {
	margin: 2.8rem 0 1rem 0;
	font-family: pretendard-600;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.5;
	color: #2f2c2c;
}
.tsbodycont h2 span, .tsbodycont h3 span, .tsbodycont h4 span {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}


/* ------------------------------------------------------------
   3. 링크 · 구분선 · 형광
   ------------------------------------------------------------ */
.tsbodycont a {
	color: #a07f2e;
	text-decoration: underline;
	text-underline-offset: 0.3rem;
}
.tsbodycont hr {
	margin: 4rem 0;
	border: 0;
	border-top: 1px solid #ece8df;
}
.tsbodycont .marker {
	font-family: pretendard-600;
	background: linear-gradient(transparent 55%, #f3e3b5 55%);
}
.tsbodycont .marker2 {
	font-family: pretendard-600;
	background: linear-gradient(transparent 55%, #dfeef0 55%);
}


/* ------------------------------------------------------------
   4. 목록 — 카드 안에 금색 불릿 / 번호
   ------------------------------------------------------------ */
.tsbodycont ul, .tsbodycont ol {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 2rem 0;
	padding: 2.4rem 2.8rem;
	border-radius: 1.2rem;
	background: #f6f3ed;
	list-style: none;
}
.tsbodycont ol {
	counter-reset: nxtol;
}
.tsbodycont ul li, .tsbodycont ol li {
	position: relative;
	padding: 0 0 0 2rem;
	list-style: none;
	font-family: pretendard-400;
	font-size: 1.7rem;
	line-height: 1.75;
}
.tsbodycont ol li {
	padding: 0 0 0 3.4rem;
	counter-increment: nxtol;
}
.tsbodycont ul li:before {
	content: '';
	position: absolute;
	left: 0.2rem;
	top: 1.25rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: #c7ad6e;
}
.tsbodycont ol li:before {
	content: counter(nxtol);
	position: absolute;
	left: 0;
	top: 0.25rem;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background: #c7ad6e;
	color: #fff;
	font-family: pretendard-600;
	font-size: 1.3rem;
	line-height: 2.4rem;
	text-align: center;
}
/* 항목 끝의 빈 줄(<br>)이 간격을 벌리지 않도록 */
.tsbodycont li > br:last-child {
	display: none;
}
.tsbodycont li ul, .tsbodycont li ol {
	margin: 1rem 0 0 0;
	padding: 0;
	background: none;
}


/* ------------------------------------------------------------
   5. 이미지 · 동영상 — 규칙 4
   ------------------------------------------------------------ */
.tsbodycont img {
	display: inline-block;
	max-width: 100%;
	border-radius: 1.2rem;
}
.tsbodycont iframe {
	width: 100% !important;
	height: 47.3rem !important;
	border: 0;
	border-radius: 1.2rem;
}


/* ------------------------------------------------------------
   6. 표 — 규칙 4
   ------------------------------------------------------------ */
.tsbodycont table {
	display: inline-block;
	margin: 2rem 0;
	border-collapse: collapse;
	border-top: 2px solid #2f2c2c;
}
.tsbodycont table tbody tr td {
	padding: 1.4rem 1.6rem;
	border: 0;
	border-bottom: 1px solid #ece8df;
	font-family: pretendard-400;
	font-size: 1.6rem;
	line-height: 1.6;
}
.tsbodycont table tbody tr:nth-child(1) {
	background: #f6f3ed;
	color: #2f2c2c;
}
.tsbodycont table tbody tr:nth-child(1) td {
	font-family: pretendard-600;
	font-weight: 600;
}
.tsbodycont table tbody tr td p {
	margin: 0;
	font-family: inherit;
	font-size: 1.6rem;
	line-height: 1.6;
}
.tsbodycont table tbody tr td ul, .tsbodycont table tbody tr td ol {
	margin: 0;
	padding: 0;
	background: none;
}
.tsbodycont table tbody tr td ul li {
	font-size: 1.5rem;
}
/* 에디터의 표 정렬 */
.tacenter table { margin: 0 auto; float: none; }
.taleft table { margin: 0 auto 0 0; float: none; }
.taright table { margin: 0 0 0 auto; float: none; }


/* ------------------------------------------------------------
   7. 인용
   ------------------------------------------------------------ */
.tsbodycont blockquote {
	margin: 2.4rem 0;
	padding: 2.2rem 2.6rem;
	border: 0;
	border-left: 0.4rem solid #c7ad6e;
	border-radius: 0 1.2rem 1.2rem 0;
	background: #f9f9f9;
	color: #444;
	font-style: normal;
	font-family: pretendard-400;
	font-size: 1.7rem;
	line-height: 1.75;
}
.tsbodycont blockquote p {
	margin: 0;
	font-family: pretendard-400;
	font-size: 1.7rem;
	line-height: 1.75;
}


/* ------------------------------------------------------------
   8. 화면 크기별
   ------------------------------------------------------------ */
@media (max-width: 991px) {
	.tsbodycont table {
		width: 100% !important;
	}
	.tsbodycont iframe {
		height: 50vw !important;
	}
}
@media (max-width: 880px) {
	/* 에디터가 넣은 고정 width · height 로 이미지가 찌그러지지 않도록 */
	.tsbodycont img {
		height: auto !important;
	}
}
@media (max-width: 767px) {
	.tsbodycont, .tsbodycont p {
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.tsbodycont h2 {
		margin: 3.6rem 0 1.2rem 0;
		font-size: 2rem;
	}
	.tsbodycont h3 {
		margin: 2.8rem 0 1rem 0;
		font-size: 1.8rem;
	}
	.tsbodycont h4 {
		margin: 2.4rem 0 0.8rem 0;
		font-size: 1.6rem;
	}
	.tsbodycont > :first-child {
		margin-top: 0;
	}
	.tsbodycont ul, .tsbodycont ol {
		gap: 0.8rem;
		padding: 1.8rem 2rem;
		border-radius: 1rem;
	}
	.tsbodycont ul li, .tsbodycont ol li {
		font-size: 1.5rem;
		line-height: 1.7;
	}
	.tsbodycont ul li:before {
		top: 1.05rem;
	}
	.tsbodycont ol li {
		padding: 0 0 0 3rem;
	}
	.tsbodycont ol li:before {
		top: 0.15rem;
		width: 2.2rem;
		height: 2.2rem;
		font-size: 1.2rem;
		line-height: 2.2rem;
	}
	.tsbodycont table tbody tr td {
		padding: 1.1rem 1.2rem;
		font-size: 1.4rem;
	}
	.tsbodycont table tbody tr td p {
		font-size: 1.4rem;
	}
	.tsbodycont blockquote {
		padding: 1.8rem 2rem;
	}
	.tsbodycont blockquote, .tsbodycont blockquote p {
		font-size: 1.5rem;
	}
	.tsbodycont img {
		border-radius: 1rem;
	}
	/* 1-1 크기 단계의 모바일 값 */
	.tsbodycont [style*="font-size:14px"],
	.tsbodycont [style*="font-size: 14px"],
	.tsbodycont [style*="font-size:11pt"],
	.tsbodycont [style*="font-size: 11pt"] {
		font-size: 1.4rem !important;
	}
	.tsbodycont [style*="font-size:22px"], .tsbodycont [style*="font-size: 22px"] {
		font-size: 1.6rem !important;
	}
	.tsbodycont [style*="font-size:24px"],
	.tsbodycont [style*="font-size: 24px"],
	.tsbodycont [style*="font-size:26px"],
	.tsbodycont [style*="font-size: 26px"] {
		font-size: 1.8rem !important;
	}
	.tsbodycont [style*="font-size:28px"],
	.tsbodycont [style*="font-size: 28px"],
	.tsbodycont [style*="font-size:36px"],
	.tsbodycont [style*="font-size: 36px"] {
		font-size: 2rem !important;
	}
	.tsbodycont h2 [style*="font-size"], .tsbodycont h3 [style*="font-size"], .tsbodycont h4 [style*="font-size"] {
		font-size: inherit !important;
	}
}
