/* theme-nlscs1.css — 국민생명안전위원회 시안 1 (WebZan project 52 이식, 2026-09-06)
   시각 기준: WebZan preview UI_HOME 스크린샷 — 밝은 초록 히어로 + 흰 라인 일러스트.
   krds_tokens.css 원본은 수정하지 않는다 — 오버라이드는 전부 여기서. */

/* 1. 브랜드 토큰 오버라이드 (시안 1 팔레트 — 초록 계열) */
:root {
	--nsc-green: #2DA53F;
	--nsc-green-deep: #1F8A31;
	--nsc-green-bg: #EAF7EC;
	--nsc-gold-bg: #FBF4E4;
	--nsc-gold-line: #D9A441;
}

:root { --krds-contents-size: 1380; }

/* 섹션 엔진(.main-sect .inner) 안에서 풀블리드로 탈출 — 시안은 히어로가 화면 전폭이다 */
.nsc-hero { width: 100vw; margin-left: calc(50% - 50vw); }

/* 2. 사이트 커스텀 (G5 허용 클래스 — KRDS 토큰 + §1 변수만 참조) */

/* ---------- 공통 섹션 골격 ---------- */
.nsc-section { padding: 5.6rem 0; }
.nsc-section .inner { max-width: calc(var(--krds-contents-size, 1380) * 0.1rem); margin: 0 auto; padding: 0 1.6rem; }
.nsc-section-head { text-align: center; margin-bottom: 3.2rem; }
.nsc-sec-tit {
	font-size: var(--krds-pc-font-size-heading-large);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-bolder);
	margin-bottom: 1.2rem;
}
.nsc-sec-desc { font-size: var(--krds-pc-font-size-body-large); color: var(--krds-light-color-text-subtle); }
.nsc-more-row { display: flex; justify-content: flex-end; margin-bottom: 0.8rem; }

/* 그리드 유틸 (시안 전용 — KRDS 번들에 grid 유틸 부재) */
.krds-grid { display: grid; gap: 1.6rem; }
.krds-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.krds-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) {
	.krds-grid--2, .krds-grid--3 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 히어로 (초록 배경 + 흰 라인 일러스트 + 추모관 카드) ---------- */
.nsc-hero { background: var(--nsc-green); padding: 6.4rem 0 5.6rem; position: relative; overflow: hidden; }
.nsc-hero .inner { max-width: calc(var(--krds-contents-size, 1380) * 0.1rem); margin: 0 auto; padding: 0 1.6rem; position: relative; }
/* pattern-pages .main-sect .inner { flex-direction: column } 을 명시적으로 이긴다 (함정 — HTML 섹션의 .inner) */
.nsc-hero .inner:first-child { display: flex; flex-direction: row; align-items: center; gap: 3.2rem; }
.nsc-hero-text { flex: 0 0 auto; }
.nsc-hero-sub { font-size: var(--krds-pc-font-size-heading-medium); color: #FFFFFF; margin-bottom: 0.8rem; }
.nsc-hero-sub span { font-weight: 400; }
.nsc-hero-tit { font-size: 4.4rem; font-weight: var(--krds-font-weight-bold); color: #FFFFFF; line-height: 1.25; }
.nsc-hero-visual { flex: 1 1 auto; min-width: 0; }
.nsc-hero-visual svg { width: 100%; height: auto; display: block; }
.nsc-hero-floats { position: absolute; right: 1.6rem; bottom: -8rem; display: flex; flex-direction: column; gap: 1.2rem; }
.nsc-hero-float { width: 6.4rem; height: 6.4rem; border-radius: 1.2rem; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18); }
.nsc-hero-float svg { width: 100%; height: 100%; display: block; }
.nsc-hero .inner.nsc-hero-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; margin-top: 2.4rem; }
.nsc-link-card {
	display: flex; align-items: center; gap: 1.6rem; padding: 2.4rem 2.8rem;
	background: var(--krds-light-color-surface-white); border-radius: 1.2rem;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15); text-decoration: none;
}
.nsc-link-card:hover strong { text-decoration: underline; }
.nsc-link-card-thumb {
	flex: 0 0 auto; width: 5.6rem; height: 5.6rem; display: flex; align-items: center; justify-content: center;
	background: var(--nsc-green-bg); border-radius: 1.2rem;
}
.nsc-link-card-body { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.nsc-link-card-body strong { font-size: var(--krds-pc-font-size-body-large); font-weight: var(--krds-font-weight-bold); color: var(--krds-light-color-text-bolder); }
.nsc-link-card-body > span { font-size: var(--krds-pc-font-size-body-small); color: var(--krds-light-color-text-subtle); }
@media (max-width: 1024px) {
	.nsc-hero .inner:first-child { flex-direction: column; align-items: flex-start; }
	.nsc-hero-cards { grid-template-columns: minmax(0, 1fr); }
	.nsc-hero-floats { display: none; }
}

/* ---------- 생명안전 종합계획 (탭 + 캐러셀) ---------- */
.nsc-plan-tabs { display: flex; justify-content: center; margin-bottom: 2.4rem; flex-wrap: wrap; }
.nsc-plan-tab {
	padding: 1rem 2.8rem; cursor: pointer;
	border: 1px solid var(--krds-light-color-divider-gray-light);
	background: var(--krds-light-color-surface-white);
	font-size: var(--krds-pc-font-size-body-medium); color: var(--krds-light-color-text-basic);
}
.nsc-plan-tab:first-child { border-radius: 0.8rem 0 0 0.8rem; }
.nsc-plan-tab:last-child { border-radius: 0 0.8rem 0.8rem 0; }
.nsc-plan-tab.active { background: var(--nsc-green); border-color: var(--nsc-green); color: #FFFFFF; font-weight: var(--krds-font-weight-bold); }
.nsc-plan-carousel { position: relative; }
.nsc-swiper { overflow: hidden; }
/* 스와이퍼 미초기화(정적 이식) 상태: 첫 슬라이드만 표시 — 동작 부여는 섹션 엔진 전환 시 */
.nsc-swiper .swiper-wrapper { display: block; }
.nsc-swiper .nsc-plan-slide { display: none; }
.nsc-swiper .nsc-plan-slide:first-child { display: flex; align-items: stretch; gap: 3.2rem; }
.nsc-plan-photo { flex: 0 0 42%; display: flex; align-items: center; justify-content: center; background: var(--nsc-gold-bg); border-radius: 1.2rem; padding: 2rem; }
.nsc-plan-photo svg { width: 100%; height: auto; max-height: 24rem; }
.nsc-plan-body { flex: 1 1 auto; min-width: 0; padding: 1.6rem 0; }
.nsc-plan-tit { font-size: var(--krds-pc-font-size-heading-medium); font-weight: var(--krds-font-weight-bold); color: var(--krds-light-color-text-bolder); margin-bottom: 1.6rem; }
.nsc-plan-ctrl { display: flex; align-items: center; justify-content: center; gap: 1.2rem; margin-top: 2rem; }
.nsc-plan-prev, .nsc-plan-next { background: none; border: 0; cursor: pointer; padding: 0.6rem; }
.nsc-plan-nums { display: flex; gap: 0.6rem; }
.nsc-plan-num {
	width: 3.2rem; height: 3.2rem; border-radius: 50%; cursor: pointer;
	border: 1px solid var(--krds-light-color-divider-gray-light);
	background: var(--krds-light-color-surface-white); color: var(--krds-light-color-text-subtle);
}
.nsc-plan-num.active { background: var(--nsc-green); border-color: var(--nsc-green); color: #FFFFFF; }
@media (max-width: 1024px) {
	.nsc-swiper .nsc-plan-slide:first-child { flex-direction: column; }
	.nsc-plan-photo { flex-basis: auto; }
}

/* ---------- 정부입법현황 배너 ---------- */
.nsc-banner {
	display: flex; align-items: center; gap: 1.6rem; margin-top: 3.2rem; padding: 2rem 2.8rem;
	background: var(--nsc-gold-bg); border: 1px solid var(--nsc-gold-line); border-radius: 1.2rem;
	text-decoration: none; color: var(--krds-light-color-text-basic);
}
.nsc-banner:hover strong { text-decoration: underline; }
.nsc-banner-ico { flex: 0 0 auto; width: 4rem; height: 4rem; }
.nsc-banner-ico svg { width: 100%; height: 100%; display: block; }
.nsc-banner strong { font-size: var(--krds-pc-font-size-body-large); color: var(--krds-light-color-text-bolder); white-space: nowrap; }
.nsc-banner > span { color: var(--krds-light-color-text-subtle); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nsc-banner .svg-icon { margin-left: auto; flex: 0 0 auto; }

/* ---------- 소식마당 ---------- */
.nsc-news { background: var(--krds-light-color-surface-gray-subtler); }
.nsc-news-cols { margin-bottom: 2.4rem; }
.nsc-news-card {
	display: flex; flex-direction: column; gap: 0.8rem; padding: 2rem;
	background: var(--krds-light-color-surface-white); border-radius: 0.8rem;
	border: 1px solid var(--krds-light-color-divider-gray-light);
	border-top: 3px solid var(--nsc-green); text-decoration: none; min-height: 14rem;
}
.nsc-news-card em { font-style: normal; font-size: var(--krds-pc-font-size-body-small); font-weight: var(--krds-font-weight-bold); color: var(--nsc-green-deep); }
.nsc-news-card.green { border-top-color: var(--nsc-green); }
.nsc-news-card.green em { color: var(--nsc-green-deep); }
.nsc-news-card.blue { border-top-color: var(--krds-color-light-information-60); }
.nsc-news-card.blue em { color: var(--krds-color-light-information-60); }
.nsc-news-card strong {
	font-size: var(--krds-pc-font-size-body-medium); color: var(--krds-light-color-text-basic); line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nsc-news-card:hover strong { text-decoration: underline; }
.nsc-news-card .date { margin-top: auto; font-size: var(--krds-pc-font-size-body-small); color: var(--krds-light-color-text-subtle); }
.nsc-news-bottom { align-items: start; }
.nsc-data-list { display: flex; flex-direction: column; background: var(--krds-light-color-surface-white); border-radius: 0.8rem; border: 1px solid var(--krds-light-color-divider-gray-light); padding: 0.4rem 1.6rem; }
.nsc-data-list li { border-bottom: 1px solid var(--krds-light-color-divider-gray-light); }
.nsc-data-list li:last-child { border-bottom: 0; }
.nsc-data-list a { display: flex; align-items: center; gap: 1.2rem; padding: 1.4rem 0.4rem; text-decoration: none; }
.nsc-data-list em { font-style: normal; flex: 0 0 auto; font-size: var(--krds-pc-font-size-body-small); font-weight: var(--krds-font-weight-bold); color: var(--nsc-green-deep); }
.nsc-data-list .title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--krds-light-color-text-basic); }
.nsc-data-list a:hover .title { text-decoration: underline; }
.nsc-data-list .date { flex: 0 0 auto; font-size: var(--krds-pc-font-size-body-small); color: var(--krds-light-color-text-subtle); }
.nsc-media-card {
	display: flex; flex-direction: column; gap: 0.6rem; padding: 2rem;
	background: var(--krds-light-color-surface-white); border-radius: 0.8rem;
	border: 1px solid var(--krds-light-color-divider-gray-light); text-decoration: none;
}
.nsc-media-thumb { display: block; background: var(--nsc-green-bg); border-radius: 0.8rem; overflow: hidden; margin-bottom: 0.6rem; }
.nsc-media-thumb svg { width: 100%; height: auto; display: block; }
.nsc-media-card em { font-style: normal; font-size: var(--krds-pc-font-size-body-small); font-weight: var(--krds-font-weight-bold); color: var(--nsc-green-deep); }
.nsc-media-card strong { font-size: var(--krds-pc-font-size-body-medium); color: var(--krds-light-color-text-basic); line-height: 1.5; }
.nsc-media-card:hover strong { text-decoration: underline; }
.nsc-media-card .date { font-size: var(--krds-pc-font-size-body-small); color: var(--krds-light-color-text-subtle); }

/* ---------- 콘텐츠(상세 목업) 페이지 보조 ---------- */
.h3-tit { font-size: var(--krds-pc-font-size-heading-xsmall); font-weight: var(--krds-font-weight-bold); color: var(--krds-light-color-text-bolder); margin-bottom: 0.8rem; }
.text-left { text-align: left; }
.krds-card { border: 1px solid var(--krds-light-color-divider-gray-light); border-radius: 0.8rem; padding: 2rem 2.4rem; background: var(--krds-light-color-surface-white); }
.card-title { font-size: var(--krds-pc-font-size-body-large); font-weight: var(--krds-font-weight-bold); margin-bottom: 1.2rem; }
.krds-card .krds-info-list a { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; padding: 0.6rem 0; }
.krds-card .krds-info-list .title { color: var(--krds-light-color-text-basic); }
.krds-card .krds-info-list .date { margin-left: auto; font-size: var(--krds-pc-font-size-body-small); color: var(--krds-light-color-text-subtle); }
