/* ============================================================
   청년뉴딜 v2 (KRDS 순정) — krds.min.css 위에 얹는 최소 보정
   - Pretendard GOV @font-face (krds.min.css에는 선언 없음)
   - krds.min.css가 참조하는 https://www.krds.go.kr/... 외부 경로를
     로컬 에셋으로 재정의 (오프라인/외부 의존 금지 대응)
   - KRDS 토큰 변수만 사용, 임의 hex 사용 없음
   ============================================================ */

/* 1. Pretendard GOV 웹폰트 (../../assets/krds/fonts/) */
@font-face {
	font-family: "Pretendard GOV";
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url("../../../assets/krds/fonts/PretendardGOV-Regular.subset.woff2") format("woff2"),
		url("../../../assets/krds/fonts/PretendardGOV-Regular.subset.woff") format("woff");
}
@font-face {
	font-family: "Pretendard GOV";
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../../../assets/krds/fonts/PretendardGOV-Medium.subset.woff2") format("woff2"),
		url("../../../assets/krds/fonts/PretendardGOV-Medium.subset.woff") format("woff");
}
@font-face {
	font-family: "Pretendard GOV";
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../../../assets/krds/fonts/PretendardGOV-Bold.subset.woff2") format("woff2"),
		url("../../../assets/krds/fonts/PretendardGOV-Bold.subset.woff") format("woff");
}

/* 2. krds.min.css 외부 이미지 경로 보정 (krds.go.kr → 로컬)
      사용 중인 컴포넌트의 아이콘만 재정의한다. */

/* 마스트헤드 태극기 아이콘 */
#krds-masthead .toggle-head .nuri-txt::before {
	background-image: url("../../../assets/krds/krds-uiux/resources/img/component/icon/ico_flag.svg");
}

/* 새 창 열림(바로가기) 아이콘 — mask 방식 */
.svg-icon.ico-go {
	-webkit-mask-image: url("../../../assets/krds/krds-uiux/resources/img/component/icon/ico_go.svg");
	mask-image: url("../../../assets/krds/krds-uiux/resources/img/component/icon/ico_go.svg");
}

/* 헤더/푸터/식별자 로고: KRDS 기본 로고(외부 경로) → 고용노동부 로고 */
#krds-header .header-container .logo a {
	background-image: url("../../../assets/source/moel-logo-horizontal.svg");
	background-position: left center;
}
#krds-footer .f-logo {
	background-image: url("../../../assets/source/moel-logo-horizontal.svg");
	background-position: left center;
}
.krds-identifier .logo {
	background-image: url("../../../assets/source/moel-logo-horizontal.svg");
	background-position: left center;
}

/* 3. 헤더 — "관계부처 합동" 표기 (GNB 없음) */
#krds-header .header-branding {
	min-height: var(--krds-size-height-9);
}
.ynd-header-nav {
	margin-left: auto;
}
.ynd-header-nav .policy-link {
	font-size: var(--krds-pc-font-size-body-medium);
	color: var(--krds-light-color-text-basic);
	text-decoration: none;
}
.ynd-header-nav .policy-link b {
	font-weight: var(--krds-font-weight-bold, 700);
}
.ynd-header-nav .policy-link:hover,
.ynd-header-nav .policy-link:focus {
	text-decoration: underline;
}
/* 관계부처 합동 락업 — 정부상징 심볼 + 텍스트 (여러 부처 합동 정책 귀속 표기) */
.ynd-gov-lockup {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--krds-gap-2, 0.6rem);
	margin: 0 0 var(--krds-gap-4, 1.2rem);
	font-size: var(--krds-pc-font-size-label-small);
	font-weight: var(--krds-font-weight-bold, 700);
	color: var(--krds-light-color-text-subtle);
}
.ynd-gov-lockup img {
	display: block;
}

/* 4. 레이아웃 공통 — .inner 중앙 정렬(1023px 이하에서 KRDS가 auto 마진 미적용 구간 보정) */
.ynd-hero .inner,
.ynd-programs .inner {
	margin-left: auto;
	margin-right: auto;
}

/* 5. 히어로 — KRDS Display/Body 타이포 스케일, 장식 없음 */
.ynd-hero {
	background-color: var(--krds-light-color-surface-primary-subtler);
	border-bottom: 1px solid var(--krds-light-color-border-gray-light);
}
.ynd-hero .inner {
	padding-top: var(--krds-padding-10);
	padding-bottom: var(--krds-padding-10);
}
.ynd-hero-tit {
	font-size: var(--krds-pc-font-size-display-small);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-basic);
	word-break: keep-all;
}
.ynd-hero-txt {
	margin-top: var(--krds-gap-4);
	font-size: var(--krds-pc-font-size-body-large);
	color: var(--krds-light-color-text-subtle);
	word-break: keep-all;
}
@media (max-width: 767px) {
	.ynd-hero .inner {
		padding-top: var(--krds-padding-8);
		padding-bottom: var(--krds-padding-8);
	}
	.ynd-hero-tit {
		font-size: var(--krds-mobile-font-size-display-small);
	}
	.ynd-hero-txt {
		font-size: var(--krds-mobile-font-size-body-large);
	}
}

/* 6. 프로그램 영역 */
.ynd-programs .inner {
	padding-top: var(--krds-padding-10);
	padding-bottom: var(--krds-padding-10);
}
.ynd-status {
	padding: var(--krds-padding-8) 0;
	font-size: var(--krds-pc-font-size-body-medium);
	color: var(--krds-light-color-text-subtle);
}

/* 영역(카테고리) 타이틀: 영역명 라벨 + catchphrase */
.ynd-cat-tit {
	font-size: var(--krds-pc-font-size-heading-medium);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-basic);
	word-break: keep-all;
}
.ynd-cat-tit .ynd-cat-label {
	display: block;
	margin-bottom: var(--krds-gap-2);
	font-size: var(--krds-pc-font-size-label-medium);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-primary);
}
@media (max-width: 767px) {
	.ynd-cat-tit {
		font-size: var(--krds-mobile-font-size-heading-medium);
	}
}

/* 카테고리 타이틀과 하위 콘텐츠 간격 */
.ynd-cat-body {
	margin-top: var(--krds-gap-8);
}

/* 인프라 subheading 그룹 소제목 */
.ynd-subheading {
	margin-top: var(--krds-gap-10);
	margin-bottom: var(--krds-gap-6);
	font-size: var(--krds-pc-font-size-heading-small);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-basic);
	word-break: keep-all;
}
.ynd-group:first-of-type .ynd-subheading {
	margin-top: 0;
}

/* 7. 프로그램 카드 (KRDS 구조화 목록 보정) */
/* 데스크톱 3열 → 2열 (카드 텍스트 밀도 보정, 768~1023px 2열·모바일 1열은 KRDS 기본 유지) */
@media (min-width: 1024px) {
	.ynd-programs .krds-structured-list {
		grid-template-columns: 1fr 1fr;
	}
}

/* 카드 타이틀: 타이틀이 링크가 아니므로 KRDS 기본 화살표 아이콘(외부 krds.go.kr 참조) 제거,
   프로그램명 1줄 말줄임 해제(정보 손실 방지) */
.ynd-programs .krds-structured-list .card-body .c-text .c-tit::after {
	display: none;
}
.ynd-programs .krds-structured-list .card-body .c-text .c-tit .span {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

/* 필드(주요 내용 및 지원 / 참여혜택 / 신청방법) */
.ynd-field {
	margin-top: var(--krds-gap-4);
	font-size: var(--krds-pc-font-size-body-medium);
}
.ynd-field .key {
	display: block;
	margin-bottom: var(--krds-gap-1);
	font-weight: var(--krds-font-weight-bold);
	color: var(--krds-light-color-text-basic);
}
.ynd-field .value {
	display: block;
	color: var(--krds-light-color-text-subtle);
	word-break: keep-all;
}
/* howToApply의 \n 줄바꿈 유지 */
.ynd-field .value.preline {
	white-space: pre-line;
}

/* 바로가기 버튼 — 카드 좌측 정렬·여백 */
.ynd-programs .card-body .c-btn {
	margin-top: var(--krds-gap-5);
	text-align: left;
}
