/**
 * 2026 포스트 디자인 — 프론트
 * 스코프: body.layout-2026 / #content.layout-2026
 * classic 레이아웃에는 적용되지 않음.
 *
 * 시안: 기디메_웹.pdf (콘텐츠 1400) / 기디메_모바일.pdf (390)
 * 모바일·태블릿: max-width 900px
 * 섹션은 위에서부터 하나씩 가이드에 맞춰 적용.
 */

/* --------------------------------------------------------------------------
   Fonts — Freesentation (로컬) + Montserrat / Noto Sans KR (enqueue)
   -------------------------------------------------------------------------- */

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-2ExtraLight.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-3Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-4Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-5Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-6SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Freesentation';
	src: url('../font/freesentation/Freesentation-7Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* --------------------------------------------------------------------------
   Tokens
   콘텐츠 1400 = (126×8) + (56×7)
   일반 텍스트 컬럼(데스크탑 ≥1400):
     좌 364 = 126+56+126+56
     본문 854 = 126+56+126+56+126+56+126+56+126
     우 182 = 56+126
   -------------------------------------------------------------------------- */

body.layout-2026 {
	--kdm-2026-content: 1400px;
	--kdm-2026-grid-wide: 126px;
	--kdm-2026-grid-narrow: 56px;
	--kdm-2026-text-inset-start: calc(
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow)
	); /* 364 */
	--kdm-2026-text-inset-end: calc(
		var(--kdm-2026-grid-narrow) + var(--kdm-2026-grid-wide)
	); /* 182 */
	--kdm-2026-text-col: calc(
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide)
	); /* 854 */
	--kdm-2026-small-col: calc(
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide) + var(--kdm-2026-grid-narrow) +
		var(--kdm-2026-grid-wide)
	); /* 672 = 126+56+126+56+126+56+126 */
	--kdm-2026-gutter: 24px;
	--kdm-2026-beige: #c7c4be;
	--kdm-2026-dark: #000000;
	--kdm-2026-text: #111111;
	--kdm-2026-font-ko: 'Freesentation', 'Noto Sans KR', sans-serif;
	--kdm-2026-font-en: 'Montserrat', 'Freesentation', sans-serif;
}

/* --------------------------------------------------------------------------
   Shell: #single-nav / #block-nav / #content 여백
   -------------------------------------------------------------------------- */

body.layout-2026.open-single #block-nav {
	display: none !important;
	pointer-events: none !important;
}

/* #single-wrapper 100px 초과 스크롤 시 상단에서 슬라이드 인 (가독성 모드 제외)
   - 기본은 숨김(transition 없음) → 로드 시 보였다 사라지는 깜빡임 방지
   - #content에 layout-2026이 붙는 즉시 숨김 (body 클래스 동기화 전에도) */
body.open-single:not(.readability-mode):has(#content.layout-2026) nav#single-nav,
body.open-single:not(.readability-mode):has(#content[data-layout="2026"]) nav#single-nav,
body.layout-2026.open-single:not(.readability-mode) nav#single-nav {
	transform: translateY(-100%);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: none;
}

body.open-single:not(.readability-mode):has(#content.layout-2026).single-nav-visible nav#single-nav,
body.open-single:not(.readability-mode):has(#content[data-layout="2026"]).single-nav-visible nav#single-nav,
body.layout-2026.open-single:not(.readability-mode).single-nav-visible nav#single-nav {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transition: transform 0.35s ease, opacity 0.35s ease, visibility 0s;
}

html.readability-mode body.layout-2026.open-single nav#single-nav,
html.readability-mode body.open-single:has(#content.layout-2026) nav#single-nav,
html.readability-mode body.open-single:has(#content[data-layout="2026"]) nav#single-nav {
	transform: none;
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transition: none;
}

body.layout-2026.open-single nav#single-nav::before {
	background-color: #ffffff;
	width: 100%;
	left: 0;
}

/* body.layout-2026.open-single #path {
	display: none;
}

body.layout-2026.open-single #to-index {
	background: rgb(0 0 0 / 20%);
    padding: 15px;
	border-radius: 50%;
	transition: background 0.3s ease;
}

body.layout-2026.open-single #to-index:hover {
	background: rgb(0 0 0);
}

body.layout-2026.open-single #to-index::before, 
body.layout-2026.open-single #to-index::after {
	width: 1px;
	background-color: #ffffff;
} */

body.layout-2026.open-single #single-container {
	background-color: var(--kdm-2026-beige);
	word-break: keep-all;
}

body.layout-2026 #content.layout-2026,
body.layout-2026 #content[data-layout="2026"] {
	padding: 0 !important; /* classic 좌우 35px 제거 → 풀폭 border용 */
	max-width: none;
	color: var(--kdm-2026-text);
	font-family: var(--kdm-2026-font-ko);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: -0.01em;
	overflow-x: hidden;
}

/* classic 본문 max-width 해제 → 풀블리드 허용
   .large/medium/small-width 는 자체 폭·마진을 쓰므로 제외 */
body.layout-2026 #content.layout-2026 > *:not(#content-cover):not(.large-width):not(.medium-width):not(.small-width),
body.layout-2026 #content[data-layout="2026"] > *:not(#content-cover):not(.large-width):not(.medium-width):not(.small-width) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* classic #content .wp-block-group { margin: 5.5em auto } 해제 */
body.layout-2026 #content .wp-block-group {
	margin: 0 auto;
}

body.layout-2026 #content > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.layout-2026 #content-cover .cover {
	padding-top: 100vh;
	opacity: 1 !important;
	margin: 0;
}

/* --------------------------------------------------------------------------
   [kdm_title] / [kdm_byline] — 커버 밖 본문 삽입용
   classic #single-title(절대위치·네온) 리셋
   -------------------------------------------------------------------------- */

body.layout-2026 #content .kdm-2026-post-title,
body.layout-2026 #content .kdm-2026-title-byline #single-title {
	position: static;
	width: auto;
	left: auto;
	bottom: auto;
	z-index: auto;
	animation: none;
	margin: 0 0 0.5em;
	font-family: var(--kdm-2026-font-ko);
	font-weight: 600; /* Freesentation-6SemiBold */
	font-size: 50px;
	line-height: 1.2;
	color: var(--kdm-2026-text);
}

body.layout-2026 #content .kdm-2026-post-title > .title,
body.layout-2026 #content .kdm-2026-title-byline .title {
	max-width: none;
	margin: 0;
	text-align: left;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	-webkit-text-stroke: none;
	animation: none;
}

body.layout-2026 #content .kdm-2026-byline,
body.layout-2026 #content .kdm-2026-title-byline .byline {
	margin: -2em 0 1em;
	justify-content: flex-start;
	color: var(--kdm-2026-text);
	font-family: var(--kdm-2026-font-ko);
	font-size: 14px;
}

body.layout-2026 #content .kdm-2026-byline::before,
body.layout-2026 #content .kdm-2026-title-byline .byline::before {
	display: none;
}

/* --------------------------------------------------------------------------
   일반 텍스트 블록 — 데스크탑 텍스트 컬럼 (854)
   -------------------------------------------------------------------------- */

body.layout-2026 #content .kdm-2026-inner,
body.layout-2026 #content .kdm-2026-chapter,
body.layout-2026 #content .kdm-2026-editors-note,
body.layout-2026 #content .kdm-2026-qa,
body.layout-2026 #content .kdm-2026-intro,
body.layout-2026 #content .kdm-2026-epilogue,
body.layout-2026 #content .kdm-2026-extraordinary,
body.layout-2026 #content .kdm-2026-text,
body.layout-2026 #content .kdm-2026-title-byline,
body.layout-2026 #content > .kdm-2026-post-title,
body.layout-2026 #content > .wp-block-shortcode:has(.kdm-2026-post-title),
body.layout-2026 #content > .wp-block-shortcode:has(.kdm-2026-byline) {
	width: min(100% - (var(--kdm-2026-gutter) * 2), var(--kdm-2026-text-col));
	margin-left: var(--kdm-2026-gutter);
	margin-right: auto;
	margin-top: 3.5em;
	margin-bottom: 3.5em;
	box-sizing: border-box;
}

@media (min-width: 1400px) {
	body.layout-2026 #content .kdm-2026-inner,
	body.layout-2026 #content .kdm-2026-chapter,
	body.layout-2026 #content .kdm-2026-editors-note,
	body.layout-2026 #content .kdm-2026-qa,
	body.layout-2026 #content .kdm-2026-intro,
	body.layout-2026 #content .kdm-2026-epilogue,
	body.layout-2026 #content .kdm-2026-extraordinary,
	body.layout-2026 #content .kdm-2026-text,
	body.layout-2026 #content .kdm-2026-title-byline,
	body.layout-2026 #content > .kdm-2026-post-title,
	body.layout-2026 #content > .wp-block-shortcode:has(.kdm-2026-post-title),
	body.layout-2026 #content > .wp-block-shortcode:has(.kdm-2026-byline) {
		width: var(--kdm-2026-text-col); /* 854 */
		max-width: var(--kdm-2026-text-col);
		margin-left: calc(
			(100% - var(--kdm-2026-content)) / 2 + var(--kdm-2026-text-inset-start)
		);
		margin-right: auto;
	}
}

body.layout-2026 #content .alignfull,
body.layout-2026 #content .wp-block-image.alignfull,
body.layout-2026 #content .kdm-2026-fullbleed {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

body.layout-2026 #content .alignfull img,
body.layout-2026 #content .kdm-2026-fullbleed img {
	width: 100%;
	height: auto;
	display: block;
}

/* --------------------------------------------------------------------------
   .note — 타이포 + 하단 border (기디메_웹)
   가로폭·좌우 여백은 .medium-width
   -------------------------------------------------------------------------- */

body.layout-2026 #content .note,
body.layout-2026 #content .wp-block-group.note {
	display: block;
	margin: 0 !important;
	padding: 2em 0;
	box-sizing: border-box;
	border: none !important; /* classic #content .note 2px box 해제 */
	border-bottom: 1px solid #111 !important;
	border-radius: 0;
	background: transparent;
	color: var(--kdm-2026-text);
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300; /* Freesentation-3Light */
	font-size: 22px;
	line-height: 30px;
}

body.layout-2026 #content .note > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body.layout-2026 #content .note strong,
body.layout-2026 #content .note p,
body.layout-2026 #content .note .wp-block-group__inner-container > p {
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300;
	font-size: 22px;
	line-height: 30px;
	color: var(--kdm-2026-text);
	margin: 0;
}

body.layout-2026 #content .note strong {
	font-weight: 500;
	margin: 0;
}

/* --------------------------------------------------------------------------
   .medium-width — 가로 폭·좌우 여백만 (좌 364 / 854 / 우 182)
   -------------------------------------------------------------------------- */

body.layout-2026 #content .medium-width,
body.layout-2026 #content .wp-block-group.medium-width {
	display: block;
	width: 100%;
	max-width: none !important; /* classic 720px 해제 */
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
	padding-left: var(--kdm-2026-gutter);
	padding-right: var(--kdm-2026-gutter);
}

@media (min-width: 1400px) {
	body.layout-2026 #content .medium-width,
	body.layout-2026 #content .wp-block-group.medium-width {
		padding-left: calc(
			(100% - var(--kdm-2026-content)) / 2 + var(--kdm-2026-text-inset-start)
		);
		padding-right: calc(
			(100% - var(--kdm-2026-content)) / 2 + var(--kdm-2026-text-inset-end)
		);
	}
}

body.layout-2026 #content .medium-width > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   .large-width — 새 템플릿 기준 (1400px)
   ≤1440: 좌우 20px 여백
   -------------------------------------------------------------------------- */

body.layout-2026 #content .large-width,
body.layout-2026 #content .wp-block-group.large-width {
	max-width: 1400px !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-bottom: 30px;
	box-sizing: border-box;
}

body.layout-2026 #content .large-width .wp-block-group,
body.layout-2026 #content .medium-width .wp-block-group,
body.layout-2026 #content .small-width .wp-block-group  {
	max-width: 100% !important;
}

@media (max-width: 1440px) {
	body.layout-2026 #content .large-width,
	body.layout-2026 #content .wp-block-group.large-width {
		max-width: calc(100% - 40px) !important;
		width: calc(100% - 40px) !important;
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
}

/* --------------------------------------------------------------------------
   .small-width — 672px (126+56+126+56+126+56+126)
   -------------------------------------------------------------------------- */

body.layout-2026 #content .small-width,
body.layout-2026 #content .wp-block-group.small-width {
	max-width: var(--kdm-2026-small-col) !important; /* 672 — classic 540 해제 */
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

@media (max-width: 712px) {
	body.layout-2026 {
		--kdm-2026-small-col: calc(100vw - 40px);
	}

	body.layout-2026 #content .small-width,
	body.layout-2026 #content .wp-block-group.small-width {
		max-width: calc(100% - 40px) !important;
		width: calc(100% - 40px) !important;
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
}

/* --------------------------------------------------------------------------
   Supplement Gallery
   large-width(1400) 좌측 정렬 · 우측 뷰포트까지 피크 · 이미지 높이 800
   -------------------------------------------------------------------------- */

body.layout-2026 #content .wp-block-kdm-supplement-gallery,
body.layout-2026 #content .kdm-2026-gallery {
	--kdm-gallery-content: var(--kdm-2026-content); /* 1400 */
	--kdm-gallery-info: var(--kdm-2026-text-inset-start); /* 364 */
	--kdm-gallery-gap: 112px; /* 56×2 */
	--kdm-gallery-img-h: 800px;
	--kdm-gallery-gutter: var(--kdm-2026-gutter);
	background: #000;
	color: #fff;
	padding: 4em 0;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	position: relative;
	overflow: hidden;
}

body.layout-2026 #content .kdm-2026-gallery__layout {
	display: flex;
	align-items: flex-start;
	gap: var(--kdm-gallery-gap);
	box-sizing: border-box;
	width: 100%;
	padding-left: var(--kdm-gallery-gutter);
}

@media (min-width: 1400px) {
	body.layout-2026 #content .kdm-2026-gallery__layout {
		padding-left: calc((100vw - var(--kdm-gallery-content)) / 2);
	}
}

body.layout-2026 #content .kdm-2026-gallery__info {
	flex: 0 0 var(--kdm-gallery-info);
	width: var(--kdm-gallery-info);
	max-width: var(--kdm-gallery-info);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	box-sizing: border-box;
	padding-top: 0;
	margin-top: 0;
	font-family: var(--kdm-2026-font-ko);
}

body.layout-2026 #content .kdm-2026-gallery__pager {
	display: block;
	font-family: var(--kdm-2026-font-en);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	margin: 0 0 1.25em;
	letter-spacing: 0.02em;
}

/* body.layout-2026 #content .kdm-2026-gallery__meta {
	margin: 0 0 1.25em;
} */

body.layout-2026 #content .kdm-2026-gallery__meta[hidden] {
	display: none !important;
}

body.layout-2026 #content .kdm-2026-gallery__title,
body.layout-2026 #content .kdm-2026-gallery__caption,
body.layout-2026 #content .kdm-2026-gallery__image-caption {
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300; /* Freesentation-3Light */
	font-size: 18px;
	line-height: 34px;
	word-break: keep-all;
	text-align: left;
	/* margin: 0 0 0.75em; */
	color: inherit;
}

body.layout-2026 #content .kdm-2026-gallery__meta .kdm-2026-gallery__caption:last-child,
body.layout-2026 #content .kdm-2026-gallery__image-caption {
	margin-bottom: 0;
}

body.layout-2026 #content .kdm-2026-gallery__image-captions {
	margin: 0 0 1.25em;
}

body.layout-2026 #content .kdm-2026-gallery__image-caption[hidden] {
	display: none !important;
}

body.layout-2026 #content .kdm-2026-gallery__title strong,
body.layout-2026 #content .kdm-2026-gallery__caption strong,
body.layout-2026 #content .kdm-2026-gallery__image-caption strong {
	font-weight: 500; /* Freesentation-5Medium */
}

body.layout-2026 #content .kdm-2026-gallery__nav {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	margin-top: 1em;
	padding-top: 0;
	font-family: var(--kdm-2026-font-en);
	font-size: 14px;
	font-weight: 500;
}

body.layout-2026 #content .kdm-2026-gallery__nav button {
	background: none;
	border: none;
	color: #fff;
	font-family: inherit;
	font-size: inherit;
	padding: 0.25em 0;
	cursor: pointer;
	text-underline-offset: 3px;
}

body.layout-2026 #content .kdm-2026-gallery__nav button:disabled {
	opacity: 0.35;
	cursor: default;
	text-decoration: none;
}

body.layout-2026 #content .kdm-2026-gallery__sep {
	opacity: 0.6;
}

body.layout-2026 #content .kdm-2026-gallery__stage {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	height: var(--kdm-gallery-img-h);
	margin: 0;
	padding: 0;
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}

body.layout-2026 #content .kdm-2026-gallery__stage:active {
	cursor: grabbing;
}

body.layout-2026 #content .kdm-2026-gallery__stage img {
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

body.layout-2026 #content .kdm-2026-gallery__track {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	height: 100%;
	margin: 0;
	padding: 0;
	will-change: transform;
	transition: transform 0.45s ease;
}

/* classic #content figure { margin: 3em 0 } 해제 */
body.layout-2026 #content .kdm-2026-gallery figure,
body.layout-2026 #content .kdm-2026-gallery .kdm-2026-gallery__slide {
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	height: var(--kdm-gallery-img-h);
	display: block;
	position: relative;
}

body.layout-2026 #content .kdm-2026-gallery__img,
body.layout-2026 #content .kdm-2026-gallery__slide img {
	display: block;
	height: var(--kdm-gallery-img-h);
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

body.layout-2026 #content .kdm-2026-gallery__slide-caption {
	display: none;
}

@media (max-width: 900px) {
	body.layout-2026 #content .wp-block-kdm-supplement-gallery,
	body.layout-2026 #content .kdm-2026-gallery {
		--kdm-gallery-img-h: 52vw;
		padding: 2.5em 0;
	}

	body.layout-2026 #content .kdm-2026-gallery__layout {
		flex-direction: column-reverse;
		gap: 1.5em;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	body.layout-2026 #content .kdm-2026-gallery__info {
		flex: none;
		width: auto;
		max-width: none;
		margin-left: var(--kdm-2026-gutter);
		margin-right: var(--kdm-2026-gutter);
		padding-right: 0;
	}

	body.layout-2026 #content .kdm-2026-gallery__stage {
		width: 100%;
		height: var(--kdm-gallery-img-h);
		overflow: hidden;
		touch-action: pan-y;
		cursor: auto;
	}

	body.layout-2026 #content .kdm-2026-gallery__track {
		height: 100%;
		gap: 10px;
	}

	body.layout-2026 #content .kdm-2026-gallery figure,
	body.layout-2026 #content .kdm-2026-gallery .kdm-2026-gallery__slide {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		height: var(--kdm-gallery-img-h);
	}

	body.layout-2026 #content .kdm-2026-gallery__img,
	body.layout-2026 #content .kdm-2026-gallery__slide img {
		width: auto;
		height: var(--kdm-gallery-img-h);
		max-width: none;
		max-height: none;
		object-fit: contain;
	}

	body.layout-2026 #content .kdm-2026-gallery__pager,
	body.layout-2026 #content .kdm-2026-gallery__nav {
		font-size: 12px;
	}

	body.layout-2026 #content .kdm-2026-gallery__title,
	body.layout-2026 #content .kdm-2026-gallery__caption,
	body.layout-2026 #content .kdm-2026-gallery__image-caption {
		font-size: 16px;
		line-height: 22px;
	}
}

/* --------------------------------------------------------------------------
   .additional-note — 2열, Freesentation 3 Light 18/26
   -------------------------------------------------------------------------- */

body.layout-2026 #content .additional-note,
body.layout-2026 #content .additional-note p {
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300; /* Freesentation-3Light */
	font-size: 23px;
	line-height: 1.55;
	margin: 0;
}

body.layout-2026 #content .epilogue h5 {
	font-family: var(--kdm-2026-font-en) !important; /* Montserrat */
	font-weight: 700 !important;
	font-size: 32px !important;
	padding: 2em 0 0.5em;
}

body.layout-2026 #content p.additional-note {
	column-count: 2;
	column-gap: 2em;
	padding: 0 0 3em;
	border: none;
}

body.layout-2026 #content .editors-note {
	padding: 1.5em 0;
	font-family: var(--kdm-2026-font-ko); /* classic Dancing Script 덮어쓰기 */
	font-size: 18px;
	line-height: 26px;
}

body.layout-2026 #content .editors-note h5 {
	font-weight: 700;
	font-size: 1em;
	position: relative;
    margin: 0;
	top: 0;
}

body.layout-2026 #content .editors-note p {
	font-weight: 500;
	position: relative;
    margin: 0;
	top: 0;
}

body.layout-2026 #content .wp-block-group.additional-note >.wp-block-group__inner-container {
	padding: 2em 0;
    column-count: 1;
    column-gap: 0;
    border: none;
}

/* --------------------------------------------------------------------------
   Margin utilities
   -------------------------------------------------------------------------- */

body.layout-2026 #content .no-margin-top {
	margin-top: 0 !important;
}

body.layout-2026 #content .no-margin-bottom {
	margin-bottom: 0 !important;
}

body.layout-2026 #content .chapter-title {
	padding-top: 5em;
	border: none; /* classic border-top 제거 */
	font-family: var(--kdm-2026-font-en) !important; /* Montserrat */
	font-weight: 700 !important;
	font-size: 32px !important;
}

body.layout-2026 #content .chapter-title * {
	margin: 0;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
}

body.layout-2026 #content blockquote {
	margin: 2em auto;
	font-family: var(--kdm-2026-font-ko); /* Freesentation */
	font-weight: 500; /* Freesentation-5Medium */
	font-size: 44px;
	line-height: 1.4545;
}

body.layout-2026 #content blockquote.has-medium-font-size,
body.layout-2026 #content blockquote .has-medium-font-size {
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300 !important; /* Freesentation-3Light */
	font-size: 31px !important; /* WP M 프리셋 덮어쓰기 */
	line-height: 1.355;
}

body.layout-2026 #content blockquote > p {
	margin: 2em auto;
}

body.layout-2026 #content .wp-block-columns {
	gap: 56px;
	font-family: var(--kdm-2026-font-ko);
	font-weight: 200; /* Freesentation-2ExtraLight */
	font-size: 23px;
	line-height: 1.5em;
}

body.layout-2026 #content .wp-block-columns h5 {
	font-family: var(--kdm-2026-font-ko);
	font-weight: 600; /* Freesentation-6SemiBold */
	font-size: inherit;
	line-height: inherit;
	word-break: keep-all;
}

body.layout-2026 #content .wp-block-columns figure,
body.layout-2026 #content .wp-block-columns figure.wp-block-image {
	display: block;
	position: static;
	margin-top: 4px;
	margin-bottom: 20px;
	margin-left: 0;
	margin-right: 0;
}

body.layout-2026 #content .wp-block-columns figure img {
	display: block;
	width: 100%;
	height: auto;
}

body.layout-2026 #content .wp-block-columns p {
	word-break: keep-all;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:not(:has(> .wp-block-cover)) {
	padding-bottom: 3em !important;
}

/* --------------------------------------------------------------------------
   .profile-columns — 50:50 2열, 뷰포트 풀폭, 열 갭 0
   텍스트만 large-width(1400) 안 + 중앙 쪽 30px 여백
   -------------------------------------------------------------------------- */

body.layout-2026 #content .wp-block-columns.profile-columns,
body.layout-2026 #content .wp-block-columns.profile-columns.has-background {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0 !important;
	width: 100%;
	max-width: 100% !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column {
	flex-basis: 50% !important;
	flex-grow: 1;
	width: 50% !important;
	max-width: 50% !important;
	min-height: 750px;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	font-family: var(--kdm-2026-font-ko);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.55;
}

/* 커버 이미지 — 해당 열 전체 채움 */
body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > .wp-block-cover {
	flex: 1 1 auto;
	align-self: stretch;
	width: 100% !important;
	max-width: none !important;
	min-height: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > .wp-block-cover .wp-block-cover__image-background,
body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > .wp-block-cover .wp-block-cover__video-background {
	object-fit: cover;
}

/* 텍스트·그룹 등 — 이미지·커버는 열 풀폭 유지 */
body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > *:not(figure):not(.wp-block-image):not(.wp-block-cover) {
	box-sizing: border-box;
	width: 100%;
	max-width: 725px;
	padding-left: 25px;
	padding-right: 25px;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:first-child > *:not(figure):not(.wp-block-image):not(.wp-block-cover) {
	margin: 1.5em 0 0 auto;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:last-child > *:not(figure):not(.wp-block-image):not(.wp-block-cover) {
	margin: 1.5em auto 0 0;
}

body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column strong {
	padding-top: 2.5em;
	display: block;
}





/* --------------------------------------------------------------------------
   Image captions — 이미지 아래, 배경 없음 (전역)
   Freesentation 3 Light / 5 Medium · 18px / 23px
   -------------------------------------------------------------------------- */

body.layout-2026 #content figure.wp-block-image,
body.layout-2026 #content .wp-block-image {
	position: relative; /* classic absolute caption 기준점 유지하되 caption은 static */
}

body.layout-2026 #content figure figcaption,
body.layout-2026 #content .wp-block-image figcaption {
	position: static !important;
	left: 0 !important;
	bottom: auto !important;
	width: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border-radius: 0;
	color: var(--kdm-2026-text);
	text-align: left;
	font-family: var(--kdm-2026-font-ko);
	font-weight: 300; /* Freesentation-3Light */
	font-size: 18px;
	line-height: 23px;
	box-sizing: border-box;
	scrollbar-gutter: auto;
	overflow: visible;
	filter: none;
}

body.layout-2026 #content figure figcaption strong,
body.layout-2026 #content .wp-block-image figcaption strong {
	font-weight: 500; /* Freesentation-5Medium */
}

/* figure에 .caption-white 추가 시 캡션 흰색 */
body.layout-2026 #content figure.caption-white figcaption,
body.layout-2026 #content .wp-block-image.caption-white figcaption {
	color: #fff !important;
}

/* --------------------------------------------------------------------------
   .fullcover — 이미지 뷰포트 풀폭 / 캡션은 1400 콘텐츠 영역 왼쪽 정렬
   -------------------------------------------------------------------------- */

body.layout-2026 #content figure.wp-block-image.fullcover,
body.layout-2026 #content .wp-block-image.fullcover {
	width: 100vw;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

body.layout-2026 #content .fullcover img {
	width: 100%;
	height: auto;
	display: block;
}

body.layout-2026 #content .fullcover figcaption {
	width: 100%;
	max-width: var(--kdm-2026-content) !important; /* 1400 */
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 8px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
	text-align: left;
}

@media (max-width: 1440px) {
	body.layout-2026 #content .fullcover figcaption {
		max-width: calc(100% - 40px) !important;
		width: calc(100% - 40px) !important;
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
}

/* --------------------------------------------------------------------------
   .img-to-left / .img-to-right
   small-width(672) 기준 — 한쪽은 뷰포트 끝, 다른 쪽은 small-width 경계
   -------------------------------------------------------------------------- */

body.layout-2026 #content figure.wp-block-image.img-to-left,
body.layout-2026 #content .wp-block-image.img-to-left,
body.layout-2026 #content figure.wp-block-image.img-to-right,
body.layout-2026 #content .wp-block-image.img-to-right {
	max-width: none !important;
	box-sizing: border-box;
}

/* 화면 왼쪽 → small-width 오른쪽 끝 */
body.layout-2026 #content figure.wp-block-image.img-to-left,
body.layout-2026 #content .wp-block-image.img-to-left {
	width: calc(50vw + (var(--kdm-2026-small-col) / 2)) !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: auto !important;
}

/* small-width 왼쪽 끝 → 화면 오른쪽 */
body.layout-2026 #content figure.wp-block-image.img-to-right,
body.layout-2026 #content .wp-block-image.img-to-right {
	width: calc(50vw + (var(--kdm-2026-small-col) / 2)) !important;
	margin-left: calc(50% - (var(--kdm-2026-small-col) / 2)) !important;
	margin-right: calc(50% - 50vw) !important;
}

body.layout-2026 #content .img-to-left img,
body.layout-2026 #content .img-to-right img {
	width: 100%;
	height: auto;
	display: block;
}

body.layout-2026 #content .img-to-left figcaption {
	text-align: right;
}

body.layout-2026 #content .img-to-right figcaption {
	text-align: left;
}

/* --------------------------------------------------------------------------
   Sections / grids (기본 뼈대 — 가이드 맞춰 추후 조정)
   -------------------------------------------------------------------------- */

body.layout-2026 #content .kdm-2026-section--dark {
	background-color: var(--kdm-2026-dark);
	color: #fff;
	padding: 4em var(--kdm-2026-gutter);
}

body.layout-2026 #content .kdm-2026-section--dark p,
body.layout-2026 #content .kdm-2026-section--dark .kdm-2026-label,
body.layout-2026 #content .kdm-2026-section--dark h2 {
	color: #fff;
}

body.layout-2026 #content .kdm-2026-section--beige {
	background-color: var(--kdm-2026-beige);
	padding: 4em var(--kdm-2026-gutter);
}

body.layout-2026 #content .profile {
	width: min(100% - (var(--kdm-2026-gutter) * 2), var(--kdm-2026-content));
	margin: 3em auto;
	font-family: var(--kdm-2026-font-ko);
}

body.layout-2026 #content .kdm-2026-grid-2,
body.layout-2026 #content .kdm-2026-grid-3 {
	display: grid;
	gap: 4px;
	width: 100%;
}

body.layout-2026 #content .kdm-2026-grid-2 {
	grid-template-columns: 1fr 1fr;
}

body.layout-2026 #content .kdm-2026-grid-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

body.layout-2026 #content .kdm-2026-grid-2 .wp-block-image,
body.layout-2026 #content .kdm-2026-grid-3 .wp-block-image,
body.layout-2026 #content .kdm-2026-grid-2 figure,
body.layout-2026 #content .kdm-2026-grid-3 figure {
	margin: 0;
}

body.layout-2026 #content .kdm-2026-grid-2 img,
body.layout-2026 #content .kdm-2026-grid-3 img {
	width: 100%;
	height: auto;
	display: block;
}

/* --------------------------------------------------------------------------
   Mobile / tablet — max-width: 900px
   -------------------------------------------------------------------------- */

body.layout-2026.open-single.mobile nav#single-nav::before {
	width: 100vw;
}


@media (max-width: 900px) {

	body.layout-2026 {
		--kdm-2026-gutter: 27px;
	}

	body.layout-2026 #content-cover .cover {
		padding-top: max(420px, 56.25%) !important;
		min-height: 0;
	}

	/* Cover 블록: 배경 이미지/영상 실제 비율로 높이 */
	body.layout-2026 #content .wp-block-cover {
		min-height: 0 !important;
		height: auto;
		padding: 0 !important;
	}

	body.layout-2026 #content .wp-block-cover .wp-block-cover__image-background,
	body.layout-2026 #content .wp-block-cover .wp-block-cover__video-background {
		position: static !important;
		inset: auto;
		width: 100% !important;
		height: auto !important;
		object-fit: contain;
	}

	body.layout-2026 #content .wp-block-cover .wp-block-cover__inner-container {
		position: absolute;
		inset: 0;
	}

	/* profile-columns — 모바일: 다른 columns처럼 상하 스택 */
	body.layout-2026 #content .wp-block-columns.profile-columns {
		flex-direction: column;
		flex-wrap: nowrap;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:has(> .wp-block-cover) {
		padding: 10px !important;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > .wp-block-cover {
		flex: none;
		min-height: 0;
		height: auto;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column > *:not(figure):not(.wp-block-image):not(.wp-block-cover) {
		max-width: 100%;
		padding-left: var(--kdm-2026-gutter);
		padding-right: var(--kdm-2026-gutter);
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:first-child > *:not(figure):not(.wp-block-image):not(.wp-block-cover),
	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column:last-child > *:not(figure):not(.wp-block-image):not(.wp-block-cover) {
		margin-left: 0;
		margin-right: 0;
	}

	body.layout-2026 #content.layout-2026,
	body.layout-2026 #content[data-layout="2026"] {
		padding-bottom: 112px;
	}

	body.layout-2026 #content .kdm-2026-grid-2,
	body.layout-2026 #content .kdm-2026-grid-3 {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	body.layout-2026 #content p.additional-note,
	body.layout-2026 #content .additional-note > .wp-block-group__inner-container {
		column-count: 1;
		column-gap: 0;
	}

	body.layout-2026 #content .note strong, 
	body.layout-2026 #content .note p, 
	body.layout-2026 #content .note .wp-block-group__inner-container > p {
		font-size: 16px;
		line-height: 24px;
	}

	body.layout-2026 #content .note,
	body.layout-2026 #content .wp-block-group.note,
	html.readability-mode body.layout-2026 #content .note,
	body.readability-mode.layout-2026 #content .note {
		padding-top: 1.75em;
		padding-bottom: 1.75em;
		border: none !important;
		border-bottom: 1px solid #111 !important;
		font-weight: 300;
		font-size: 18px;
		line-height: 28px;
	}

	body.layout-2026 #content .medium-width,
	body.layout-2026 #content .wp-block-group.medium-width {
		width: 100%;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: var(--kdm-2026-gutter);
		padding-right: var(--kdm-2026-gutter);
	}

	body.layout-2026 #content .kdm-2026-post-title,
	body.layout-2026 #content .kdm-2026-title-byline #single-title {
		font-size: 34px;
	}

	body.layout-2026 #content blockquote {
		margin: 1em 0;
		font-size: 29px;
	}

	body.layout-2026 #content blockquote.has-medium-font-size,
	body.layout-2026 #content blockquote .has-medium-font-size {
		font-size: 21px !important;
	}

	body.layout-2026 #content blockquote > p {
		margin: 1em auto;
	}

	body.layout-2026 #content .editors-note {
		font-size: 16px
	}

	body.layout-2026 #content .chapter-title {
		padding-top: 2.5em;
		font-size: 24px !important;
	}

	body.layout-2026 #content .wp-block-columns {
		gap: 25px;
		font-size: 21px;
		margin-bottom: 0;
	}

	body.layout-2026 #content .wp-block-columns.mobile-horizontal-switch,
	body.layout-2026 #content .wp-block-columns.profile-columns.mobile-horizontal-switch {
		flex-direction: column-reverse;
	}

	/* img-to-left / img-to-right — 모바일: fullcover와 동일 풀폭 + 캡션 좌측 정렬 */
	body.layout-2026 #content figure.wp-block-image.img-to-left,
	body.layout-2026 #content .wp-block-image.img-to-left,
	body.layout-2026 #content figure.wp-block-image.img-to-right,
	body.layout-2026 #content .wp-block-image.img-to-right {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
	}

	body.layout-2026 #content .img-to-left figcaption,
	body.layout-2026 #content .img-to-right figcaption {
		width: calc(100% - 40px) !important;
		max-width: calc(100% - 40px) !important;
		margin-left: 20px !important;
		margin-right: 20px !important;
		text-align: left !important;
	}

	body.layout-2026 #content .large-width, 
	body.layout-2026 #content .wp-block-group.large-width {
		margin-left: var(--kdm-2026-gutter) !important;
        margin-right: var(--kdm-2026-gutter) !important;
		max-width: calc(100% - var(--kdm-2026-gutter) * 2) !important;
        width: calc(100% - var(--kdm-2026-gutter) * 2) !important;
	}

	body.layout-2026 #content .small-width h5 {
		font-family: var(--kdm-2026-font-ko) !important;
		font-weight: 600 !important;
		line-height: inherit !important;
		font-size: 21px !important;
	}


	body.layout-2026 #content .small-width p {
		font-family: var(--kdm-2026-font-ko) !important;
		font-weight: 200 !important;
		line-height: inherit !important;
		font-size: 21px !important;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column strong {
		font-size: 21px !important;
		padding: 0;
	}

	body.layout-2026 #content .epilogue h5 {
		font-size: 23px !important;
	}

	body.layout-2026 #content .wp-block-columns.profile-columns > .wp-block-column,
	body.layout-2026 #content .epilogue p {
		font-size: 20px !important;
	}

	body.layout-2026 #content .kdm-2026-byline,
	body.layout-2026 #content .kdm-2026-title-byline .byline {
		margin: 0 0 3em;
	}

	body.layout-2026 #content .wp-block-columns figure:first-child, 
	body.layout-2026 #content .wp-block-columns figure.wp-block-image:first-child {
		margin-top: 25px;
		margin-bottom: 10px;
	}

	body.layout-2026 #content .wp-block-columns figure:last-child, 
	body.layout-2026 #content .wp-block-columns figure.wp-block-image:last-child {
		margin-bottom: 45px;
	}

	body.layout-2026 #content figure.wp-block-image.fullcover, 
	body.layout-2026 #content .wp-block-image.fullcover {
		margin: 1.25em 0;
	}

}	
