@charset "utf-8";
/* =========================================================================
 * 약관 페이지 공통 (www/member/policy.jsp · agreement.jsp 전용)
 * 로드 순서: main_hero.css → jdh_sub.css → 이 파일
 *
 * 구성 : 히어로(브랜드 그린) → 본문(관리자 약관관리 텍스트)
 * 선택자는 모두 .terms 하위로 스코프 한정 → 다른 페이지 오염 없음
 * 팔레트·히어로 규격은 page_location.css(.loc)와 동일 계열을 쓴다(사이트 통일).
 * ========================================================================= */

/* headHtml·main_hero.css 에 없는 서체만 이 페이지에서 로드 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&display=swap');

.terms {
	--tm-green:     #3B5843;   /* 브랜드 그린 (히어로·푸터와 동일 계열) */
	--tm-ink:       #1D2A20;
	--tm-body:      #5B615A;
	--tm-gold-lite: #CDBF9C;
	--tm-line:      #E7E2D8;

	font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
	color: var(--tm-ink);
	background: #fff;
	overflow-x: clip;
}

/* ===== 1. 히어로 ===== */
.terms_hero {
	position: relative;
	padding: 80px 40px 72px;
	text-align: center;
	background: linear-gradient(180deg, #3E5C46 0%, var(--tm-green) 100%);
	overflow: hidden;
}
.terms_hero::before {
	content: '';
	position: absolute;
	inset: -40% 20% auto;
	height: 180%;
	background: radial-gradient(closest-side ellipse, rgba(255,255,255,.055) 0%, rgba(255,255,255,0) 100%);
	pointer-events: none;
}
.terms_hero__inner { position: relative; z-index: 1; }
.terms_hero__label {
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.21;
	letter-spacing: 4.5px;
	text-transform: uppercase;
	color: var(--tm-gold-lite);
}
.terms_hero__title {
	margin: 16px 0 0;
	font-weight: 700;
	font-size: 38px;          /* = 사이트 폰트 상한 */
	line-height: 1.2;
	letter-spacing: -.4px;
	color: #fff;
}

/* ===== 2. 본문 (관리자 > 환경설정 > 약관관리 텍스트) ===== */
.terms_body { max-width: 1000px; margin: 0 auto; padding: 64px 40px 96px; }
.terms_body__content {
	font-size: 15px;
	line-height: 1.9;
	color: var(--tm-body);
	word-break: keep-all;
}
/* 관리자 텍스트에 들어올 수 있는 요소의 최소 보정 */
.terms_body__content p { margin: 0 0 14px; }
.terms_body__content h1, .terms_body__content h2, .terms_body__content h3,
.terms_body__content h4, .terms_body__content strong, .terms_body__content b {
	color: var(--tm-ink);
}
.terms_body__content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.terms_body__content table th, .terms_body__content table td {
	border: 1px solid var(--tm-line); padding: 8px 12px; text-align: left;
}

/* ===== 반응형 ===== */
@media all and (max-width: 1024px) {
	.terms_hero { padding: 64px 32px 58px; }
	.terms_hero__title { font-size: 34px; }
	.terms_body { padding: 48px 32px 80px; }
}
@media all and (max-width: 640px) {
	.terms_hero { padding: 52px 24px 48px; }
	.terms_hero__label { font-size: 13px; letter-spacing: 3.6px; }
	.terms_hero__title { font-size: 27px; }
	.terms_body { padding: 40px 20px 64px; }
	.terms_body__content { font-size: 14px; line-height: 1.85; }
}
