/*
 * 성모 다움 화면 디자인
 *
 * 색 · 글꼴 · 간격 · 크기는 tokens.css 의 이름(var(--smc-...))만 씁니다.
 * 여기에는 디자인 숫자를 직접 쓰지 않습니다.
 * (예외: 0, 100%, 1fr 같은 배치용 값과, 화면에서 숨기는 글자용 1px)
 * 화면 너비에 따른 변화도 tokens.css 에서 정하므로 이 파일에는 @media 너비 조건이 없습니다.
 */

/* ── 1. 기본 ─────────────────────────────────── */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* hidden 속성이 붙은 요소는 다른 규칙의 display 보다 앞서 늘 숨김 (영상 버튼 · 사진 확대 이전/다음 등, 지시서 69) */
[hidden] {
	display: none !important;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: var(--smc-scroll-offset);
}

body {
	margin: 0;
	padding-bottom: var(--smc-mobile-bottom-space);
	background: var(--smc-color-bg);
	color: var(--smc-color-text);
	font-family: var(--smc-font-sans);
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-regular);
	line-height: var(--smc-leading-body);
	word-break: keep-all;
	overflow-wrap: break-word;
}

/* 전체 화면 메뉴(시트)가 열린 동안 뒤쪽 스크롤 잠금 (html, body 모두에 붙음) */
.menu-open {
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3 {
	margin: 0 0 var(--smc-space-2);
	font-weight: var(--smc-weight-bold);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-tight);
}

h1 {
	font-size: var(--smc-text-2xl);
}

h2 {
	font-size: var(--smc-text-xl);
}

h3 {
	font-size: var(--smc-text-lg);
}

p {
	margin: 0 0 var(--smc-space-2);
}

a {
	color: var(--smc-color-button);
	text-underline-offset: var(--smc-underline-offset);
}

a:hover {
	text-decoration-thickness: var(--smc-underline-hover);
}

address {
	font-style: normal;
}

/* 키보드 초점 표시: 두 겹 (안쪽 흰 테두리 + 바깥 주색 테두리, 지시서 37) */
:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-focus);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-focus-inner);
}

.site-main:focus,
.first-visit:focus {
	outline: none;
}

/* 화면에는 숨기고 화면 읽기 프로그램에는 읽히는 글자 */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

/* 본문 바로가기: 키보드 초점이 오면 보임 */
.skip-link.screen-reader-text:focus {
	top: var(--smc-space-1);
	left: var(--smc-space-1);
	z-index: var(--smc-z-skip);
	width: auto;
	height: auto;
	margin: 0;
	padding: var(--smc-space-1) var(--smc-space-2);
	clip-path: none;
	border-radius: var(--smc-radius-sm);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
}

.icon {
	flex: none;
	width: var(--smc-icon-size);
	height: var(--smc-icon-size);
}

/* ── 2. 배치 ─────────────────────────────────── */

.container {
	width: 100%;
	max-width: var(--smc-container-max);
	margin-inline: auto;
	padding-inline: var(--smc-gutter);
}

.section {
	padding-block: var(--smc-section-space) 0;
}

.section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-1) var(--smc-space-2);
	margin-bottom: var(--smc-space-3);
}

.section-head h2 {
	margin: 0;
}

/* 구역 제목 위 작은 머리글 (예: 함께하는 여정) */
.section-eyebrow {
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-primary);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.empty-message {
	margin: 0;
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
}

/* ── 3. 버튼 · 링크 · 배지 ───────────────────── */

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--smc-space-1);
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-1) var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

.button:hover {
	border-color: var(--smc-color-text);
	background: var(--smc-color-text);
}

.button--outline {
	background: var(--smc-color-white);
	color: var(--smc-color-button);
}

.button--outline:hover {
	border-color: var(--smc-color-button);
	background: var(--smc-color-tint);
}

.button .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

/* 버튼에 마우스를 올리면 살짝 떠오름 (움직임 줄이기 설정이면 움직이지 않음, tokens.css) */
.button {
	transition: transform var(--smc-transition), background-color var(--smc-transition);
}

.button:hover {
	transform: translateY(var(--smc-lift-small));
}

/* 큰 버튼 (첫 화면, 처음 오셨나요 띠) */
.button--lg {
	min-height: var(--smc-button-lg);
	border-width: var(--smc-border-strong);
	padding-inline: var(--smc-space-3);
}

/* 주황 버튼: 주황 바탕 + 진한 글자 */
.button--accent,
.button--accent:hover {
	border-color: var(--smc-color-accent);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

/* 고스트 버튼: 투명 바탕 + 주색 테두리 */
.button--ghost {
	background: transparent;
	color: var(--smc-color-button);
}

.button--ghost:hover {
	border-color: var(--smc-color-button);
	background: var(--smc-color-tint);
}

/* 흰 테두리 버튼 (주색 띠 위) */
.button--light,
.button--light:hover {
	border-color: var(--smc-color-white);
	background: transparent;
	color: var(--smc-color-white);
}

.button--light:hover {
	background: var(--smc-color-band-card);
}

.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: 0;
	border: 0;
	border-radius: var(--smc-radius-pill);
	background: transparent;
	color: var(--smc-color-text);
	cursor: pointer;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	font-weight: var(--smc-weight-bold);
}

.text-link .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

.badge {
	display: inline-flex;
	flex: none;
	align-items: center;
	align-self: flex-start;
	padding-inline: var(--smc-space-1);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.badge--unit,
.badge--story {
	background: var(--smc-color-tint);
	color: var(--smc-color-primary);
}

.post-date {
	font-size: var(--smc-text-sm);
}

/* ── 4. 헤더 · 주 메뉴 ───────────────────────── */

/* 머리글: 화면 위에 붙어 있고 바탕은 반투명 */
.site-header {
	position: sticky;
	top: var(--smc-sticky-top);
	z-index: var(--smc-z-header);
	padding-top: var(--smc-safe-top);
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
	background: var(--smc-color-header-bg);
}

/*
 * 흐림 효과는 뒤 판(::before)에만 줍니다.
 * 머리글 자체에 주면 그 안의 전체 화면 메뉴(시트)가 머리글 크기 안에 갇힙니다.
 */
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: var(--smc-z-below);
	-webkit-backdrop-filter: blur(var(--smc-header-blur));
	backdrop-filter: blur(var(--smc-header-blur));
}

/*
 * 머리글 안쪽: 태블릿 폭(768px) 이상에서는 줄바꿈하지 않음 (--smc-header-wrap).
 * 더 좁은 휴대폰에서만 줄바꿈을 허용해 가로 스크롤이 생기지 않게 함.
 * 넓은 화면에서 로고 · 메뉴 7개 · 전화 · 로그인이 한 줄에 들어가도록 머리글만 더 넓게 씀 (--smc-header-max).
 */
.site-header__inner {
	display: flex;
	flex-wrap: var(--smc-header-wrap);
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	max-width: var(--smc-header-max);
	min-height: var(--smc-header-height);
}

.site-logo {
	display: inline-flex;
	flex: none;
	align-items: center;
	min-height: var(--smc-tap-min);
	margin-right: auto;
	white-space: nowrap;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

/* 로고 그림 (CI 파일 또는 관리자 화면 로고): 높이는 토큰, 폭은 비율대로, 둘레에 높이의 4분의 1 여백 */
.site-logo:has(.site-logo__img) {
	padding-block: var(--smc-logo-space);
	padding-right: var(--smc-logo-space);
}

.site-logo__img {
	display: block;
	width: auto;
	height: var(--smc-logo-height);
	max-width: var(--smc-logo-max);
	object-fit: contain;
}

/* 머리글 오른쪽 아이콘 버튼 묶음 (검색 · 전화 · 로그인) */
.header-actions {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--smc-header-actions-gap);
}

/* 글자 없는 둥근 아이콘 버튼: 눌림 영역 44px, 주색 아이콘 + 흰 바탕(대비 3:1 이상) */
.header-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: var(--smc-tap-min);
	height: var(--smc-tap-min);
	padding: 0;
	border: var(--smc-border-width) solid var(--smc-color-button);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font: inherit;
	cursor: pointer;
}

.header-icon:hover,
.header-icon[aria-expanded="true"] {
	background: var(--smc-color-tint);
}

.header-icon .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

.header-icon:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 검색 아이콘: 가로 메뉴 폭에서만. 자바스크립트가 있으면 버튼(패널 열기), 없으면 검색 주소로 가는 링크 */
.header-search-link,
.header-search-toggle {
	display: var(--smc-header-wide-only);
}

.js .header-search-link,
.no-js .header-search-toggle {
	display: none;
}

/* 머리글 바로 아래 검색 칸 패널 (template-parts/header-search.php) */
.header-search {
	border-top: var(--smc-border-width) solid var(--smc-color-border);
	padding-block: var(--smc-space-2);
}

.header-search__inner {
	max-width: var(--smc-header-max);
}

/* WordPress 기본 검색 폼 (머리글 패널 · 메뉴 시트 공통) */
.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	max-width: var(--smc-content-max);
}

.search-form label {
	flex: 1 1 var(--smc-search-field-min);
	min-width: 0;
}

.search-field {
	width: 100%;
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-text-muted);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	font: inherit;
}

.search-submit {
	flex: none;
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font: inherit;
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.search-submit:hover {
	border-color: var(--smc-color-text);
	background: var(--smc-color-text);
}

.search-field:focus-visible,
.search-submit:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 메뉴 시트 맨 위의 검색 칸: 시트가 열렸을 때(좁은 화면)와 자바스크립트가 없을 때만 보임 */
.site-nav__search {
	display: none;
}

.site-nav.is-open .site-nav__search,
.no-js .site-nav__search {
	display: block;
	margin-bottom: var(--smc-space-3);
}

/* 머리글 "메뉴" 버튼: 머리글 전환 폭(tokens.css 의 --smc-header-narrow-only)보다 좁을 때만 보임 */
.menu-button {
	display: var(--smc-header-narrow-only);
	flex: none;
	white-space: nowrap;
	align-items: center;
	gap: var(--smc-space-1);
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-1) var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font: inherit;
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.menu-button:hover {
	background: var(--smc-color-tint);
}

/* 주 메뉴: 머리글 전환 폭 이상에서는 머리글 안의 가로 메뉴(한 줄), 그보다 좁으면 숨겼다가 시트로 엶 */
.site-nav {
	display: var(--smc-header-wide-only);
	align-items: center;
}

.site-nav__top {
	display: none;
}

.site-nav__list,
.site-nav .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__list {
	display: flex;
	flex-wrap: nowrap;
}

.site-nav .menu-item {
	position: relative;
}

/* 부모 항목: 링크 + 펼침 버튼 */
.site-nav__list > .menu-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.site-nav a {
	display: flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	padding-inline: var(--smc-space-1);
	color: var(--smc-color-text);
	font-weight: var(--smc-weight-medium);
	text-decoration: none;
	white-space: nowrap;
}

.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a {
	color: var(--smc-color-button);
	text-decoration: underline;
}

.submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: 0;
	border: 0;
	border-radius: var(--smc-radius-sm);
	background: transparent;
	color: var(--smc-color-text);
	cursor: pointer;
}

.submenu-toggle:hover {
	background: var(--smc-color-tint);
	color: var(--smc-color-button);
}

.submenu-toggle .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

.submenu-toggle[aria-expanded="true"] .icon {
	transform: rotate(var(--smc-rotate-flip));
}

/*
 * 넓은 화면: 하위 메뉴 펼침 패널 (지시서 32)
 * 펼침 버튼을 눌렀을 때(.is-expanded, assets/js/menu.js)만 열림. 마우스를 올리는 것만으로는 열리지 않음.
 * 닫혀 있을 때는 display: none 이라 키보드 순서에서도 빠짐. 자바스크립트가 없으면 열리지 않음(상위 링크로 이동).
 */
.site-nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: var(--smc-z-dropdown);
	width: max-content;
	min-width: var(--smc-submenu-min);
	max-width: min(var(--smc-submenu-max), calc(100vw - var(--smc-gutter) * 2));
	padding: var(--smc-space-1);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
}

.site-nav .menu-item.is-expanded > .sub-menu {
	display: block;
}

/* 열 때 짧은 투명도 · 위치 변화 (움직임 줄이기 설정이면 tokens.css 에서 0 이 되어 바로 열림) */
.site-nav:not(.is-open) .menu-item.is-expanded > .sub-menu {
	animation: smc-panel-in var(--smc-panel-duration) ease-out;
}

@keyframes smc-panel-in {
	from {
		opacity: 0;
		transform: translateY(var(--smc-panel-shift));
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* 패널이 화면 오른쪽 끝을 넘을 때는 오른쪽에 맞춤 (menu.js 가 is-align-end 를 붙임) */
.site-nav .menu-item.is-align-end > .sub-menu {
	right: 0;
	left: auto;
}

/* 패널 안 하위 항목: 이름 + 한 줄 설명 (메뉴 설명 칸 → 페이지 발췌문) */
.site-nav .sub-menu a {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: var(--smc-space-1) var(--smc-space-2);
	border-radius: var(--smc-radius-sm);
	white-space: normal;
}

.site-nav:not(.is-open) .sub-menu a:hover {
	background: var(--smc-color-tint);
}

.site-nav__desc {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-regular);
}

.site-nav a:focus-visible,
.submenu-toggle:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 자바스크립트가 없으면 펼침 버튼은 동작하지 않으므로 숨김 (하위 페이지는 상위 페이지의 카드로 닿음) */
.no-js .submenu-toggle {
	display: none;
}

/*
 * 좁은 화면: "메뉴" 버튼으로 연 전체 화면 메뉴(시트)
 * 화면 전체를 덮습니다. 하단 빠른 연결 바보다 위에 놓여(머리글 z-index) 바와 겹치지 않습니다.
 */
.site-nav.is-open {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: var(--smc-z-panel);
	overflow-y: auto;
	overscroll-behavior: contain;
	/* 위쪽: 관리 막대 높이(로그인한 직원 화면에서만, 방문자는 0)만큼 더 띄워 닫기 버튼이 막대에 가리지 않게 */
	padding: calc(var(--smc-space-2) + var(--smc-safe-top) + var(--smc-adminbar-height)) var(--smc-gutter) calc(var(--smc-space-4) + var(--smc-safe-bottom));
	background: var(--smc-color-bg);
}

.site-nav.is-open .site-nav__top {
	display: flex;
	justify-content: flex-end;
	margin-bottom: var(--smc-space-2);
}

.site-nav.is-open .site-nav__list {
	flex-direction: column;
	flex-wrap: nowrap;
}

.site-nav.is-open .site-nav__list > .menu-item {
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
}

.site-nav.is-open a {
	flex: 1 1 0;
	min-width: 0;
	padding: var(--smc-space-2) 0;
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
	white-space: normal;
}

/* 시트 안의 하위 메뉴는 펼침 버튼으로만 열림 */
.site-nav.is-open .menu-item > .sub-menu {
	display: none;
	position: static;
	flex-basis: 100%;
	min-width: 0;
	padding: 0 0 var(--smc-space-2) var(--smc-space-3);
	border: 0;
	background: transparent;
}

.site-nav.is-open .menu-item.is-expanded > .sub-menu {
	display: block;
}

.site-nav.is-open .sub-menu a {
	padding: var(--smc-space-1) 0;
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-medium);
}

/* 시트(좁은 화면) · 자바스크립트가 없을 때는 지금 구성 그대로: 하위 항목 설명은 화면에 보이지 않고 화면 낭독기만 읽음 */
.site-nav.is-open .site-nav__desc,
.no-js .site-nav__desc {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 자바스크립트가 꺼져 있을 때: 좁은 화면에서도 메뉴 목록을 머리글 아래에 그대로 보여 줌 */
.no-js .site-nav {
	display: block;
	flex-basis: var(--smc-nav-nojs-basis);
}

/* 자바스크립트가 꺼져 있으면 목록이 줄바꿈되도록 허용 (가로 스크롤 방지) */
.no-js .site-header__inner,
.no-js .site-nav__list {
	flex-wrap: wrap;
}

.no-js .menu-toggle,
.no-js .submenu-toggle {
	display: none;
}

/* ── 5. 첫 화면 ─────────────────────────────── */

/* 넓은 화면에서는 글과 그림 두 칸, 좁은 화면에서는 위아래 (tokens.css 의 --smc-hero-columns) */
.hero {
	padding-block: var(--smc-hero-space-top) var(--smc-space-3);
}

.hero__inner {
	display: grid;
	grid-template-columns: var(--smc-hero-columns);
	align-items: center;
	gap: var(--smc-hero-gap);
}

.hero__title {
	margin: 0;
	color: var(--smc-color-text);
	font-size: var(--smc-text-hero);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-hero);
	letter-spacing: var(--smc-tracking-hero);
}

.hero__line {
	display: block;
}

.hero__lead {
	max-width: var(--smc-lead-max);
	margin: var(--smc-space-3) 0 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-lead);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-2);
	margin-top: var(--smc-space-4);
}

/* 정보 알약 3개 (운영 시간, 대표전화, 주소) */
.hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: var(--smc-space-4) 0 0;
	padding: 0;
	list-style: none;
}

.hero__facts li {
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	font-size: var(--smc-text-sm);
}

.hero__media {
	width: 100%;
	max-width: var(--smc-hero-art-max);
	justify-self: center;
}

/* 대표 사진을 지정했을 때 */
.hero__photo {
	overflow: hidden;
	aspect-ratio: var(--smc-hero-ratio);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-tint);
}

.hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 첫 화면 그림 (template-parts/home/hero-art.php): 색은 여기서만 칠함 */
.hero-art {
	display: block;
	width: 100%;
	height: auto;
}

.hero-art__sun {
	fill: var(--smc-color-accent);
}

.hero-art__hill-back {
	fill: var(--smc-color-tint-sky);
}

.hero-art__hill-front {
	fill: var(--smc-color-tint);
}

.hero-art__path {
	fill: none;
	stroke: var(--smc-color-primary);
}

.hero-art__hand--navy {
	stroke: var(--smc-color-primary);
}

.hero-art__hand--orange {
	stroke: var(--smc-color-accent);
}

.hero-art__person--navy {
	fill: var(--smc-color-primary);
}

.hero-art__person--orange {
	fill: var(--smc-color-accent);
}

.hero-art__person--sky {
	fill: var(--smc-color-secondary);
}

/* ── 6. 중요 공지 띠 ─────────────────────────── */

.notice-strip {
	margin-top: var(--smc-space-3);
}

.notice-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-tint);
}

.notice-bar__label {
	margin: 0;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-heavy);
	letter-spacing: normal;
}

.notice-bar__empty {
	margin: 0;
}

.notice-bar__list {
	display: grid;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.notice-bar__list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--smc-space-2);
}

.notice-bar__list a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	color: var(--smc-color-text);
	font-weight: var(--smc-weight-medium);
}

.notice-bar__list a:hover {
	color: var(--smc-color-button);
}

.notice-bar__more {
	margin-left: auto;
}

.notice-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	height: 100%;
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-2);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
}

.notice-card__title {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-medium);
}

.notice-card__title a {
	color: var(--smc-color-text);
	text-decoration: none;
}

.notice-card__title a:hover {
	color: var(--smc-color-button);
	text-decoration: underline;
}

/* ── 7. 처음 오셨나요? 띠 ────────────────────── */

/* 주색 배경의 전체 너비 띠. 띠 안의 글자는 흰색과 연한 주색(대비 4.5:1 이상) */
.first-visit {
	margin-top: var(--smc-section-space);
	padding-block: var(--smc-space-6);
	background: var(--smc-color-primary);
	color: var(--smc-color-white);
}

.first-visit .section-title {
	margin: 0;
	color: var(--smc-color-white);
}

.first-visit__intro {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-tint);
}

/* 주색 띠 위에서도 보이도록 초점 표시는 흰색 (푸터와 같은 규칙) */
.first-visit :focus-visible {
	outline-color: var(--smc-color-white);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-primary-deep); /* 두 겹: 안쪽 짙은 테두리 + 바깥 흰 테두리 */
}

.steps {
	display: grid;
	grid-template-columns: var(--smc-steps-columns);
	gap: var(--smc-space-2);
	margin: var(--smc-space-4) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: smc-step;
}

.steps__item {
	position: relative;
	padding: var(--smc-step-padding);
	border: var(--smc-border-width) solid var(--smc-color-band-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-band-card);
	counter-increment: smc-step;
}

/* 단계 번호: 주황 원 안의 숫자 */
.steps__item::before {
	content: counter(smc-step);
	display: grid;
	position: absolute;
	top: var(--smc-space-3);
	left: var(--smc-space-3);
	place-items: center;
	width: var(--smc-step-num);
	height: var(--smc-step-num);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
	font-weight: var(--smc-weight-heavy);
}

.steps__title {
	display: block;
	font-size: var(--smc-text-lg);
}

.steps__desc {
	color: var(--smc-color-tint);
}

.first-visit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-2);
	margin-top: var(--smc-space-4);
}

/* ── 8. 여정 카드 ───────────────────────────── */

/* 구역 공통: 제목과 소개 문장 */
.section-title {
	margin: 0;
	font-size: var(--smc-text-xl);
	font-weight: var(--smc-weight-heavy);
}

.section-sub {
	max-width: var(--smc-sub-max);
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-text-muted);
}

.journey-list {
	display: grid;
	grid-template-columns: var(--smc-journey-columns);
	gap: var(--smc-space-3);
	margin: var(--smc-space-4) 0 0;
	padding: 0;
	list-style: none;
}

.journey-list > li {
	display: flex;
}

/* 카드 전체가 하나의 링크 */
.journey-card {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-2);
	width: 100%;
	padding: var(--smc-space-4) var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	color: var(--smc-color-text);
	text-decoration: none;
	transition: transform var(--smc-transition);
}

.journey-card:hover {
	transform: translateY(var(--smc-lift));
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.journey-card:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

.journey-card--1 {
	background: var(--smc-color-tint);
}

.journey-card--2 {
	background: var(--smc-color-tint-sky);
}

.journey-card--3 {
	background: var(--smc-color-tint-orange);
}

.journey-card__pill {
	align-self: flex-start;
	padding: 0 var(--smc-space-2);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.journey-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--smc-journey-icon);
	height: var(--smc-journey-icon);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-primary);
	color: var(--smc-color-white);
}

.journey-card--2 .journey-card__icon {
	background: var(--smc-color-sky-deep);
}

.journey-card--3 .journey-card__icon {
	background: var(--smc-color-orange-deep);
}

.journey-card__title {
	margin: 0;
	font-size: var(--smc-text-card-title);
	font-weight: var(--smc-weight-heavy);
}

.journey-card__desc {
	display: block;
}

.journey-card__more {
	margin-top: auto;
	color: var(--smc-color-button);
	font-weight: var(--smc-weight-bold);
	text-decoration: underline;
	text-underline-offset: var(--smc-underline-offset);
}

/* ── 9. 이야기 카드 ─────────────────────────── */

.story-grid {
	display: grid;
	grid-template-columns: var(--smc-story-columns);
	gap: var(--smc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.story-card {
	display: flex;
	position: relative;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 마우스를 올리면 살짝 떠오름 (움직임 줄이기 설정이면 움직이지 않음) */
.story-card {
	transition: transform var(--smc-transition);
}

.story-card:hover {
	transform: translateY(var(--smc-lift));
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.story-card:focus-within {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

.story-card__media {
	aspect-ratio: var(--smc-card-ratio);
	background: var(--smc-color-tint);
}

.story-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 대표 이미지가 없을 때 장식용 도형 (글 번호에 따라 원 · 네모 · 아치) */
.story-card__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
}

.story-card__shape {
	width: var(--smc-deco-large);
	height: var(--smc-deco-large);
	background: var(--smc-color-secondary);
}

.story-card__shape--circle {
	border-radius: var(--smc-radius-circle);
}

.story-card__shape--square {
	border-radius: var(--smc-radius-lg);
}

.story-card__shape--arch {
	border-radius: var(--smc-radius-pill) var(--smc-radius-pill) 0 0;
}

.story-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-1);
	padding: var(--smc-space-2) var(--smc-space-3) var(--smc-space-3);
}

.story-card__title {
	margin: 0;
	font-size: var(--smc-text-lg);
}

.story-card__title a {
	color: var(--smc-color-text);
	text-decoration: none;
}

/* 카드 전체를 누를 수 있게 */
.story-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.story-card__title a:focus-visible {
	outline: none;
}

.story-card:hover .story-card__title a {
	color: var(--smc-color-button);
	text-decoration: underline;
}

/* ── 10. 이번 주 일정 (자리) ─────────────────── */

.schedule-empty {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
	margin: 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.schedule-empty .icon {
	color: var(--smc-color-primary);
}

/* ── 11. 목록 · 글 화면 ─────────────────────── */

.page-header {
	padding-block: var(--smc-section-space) var(--smc-space-4);
}

.page-header__desc {
	max-width: var(--smc-content-max);
	margin-top: var(--smc-space-2);
	font-size: var(--smc-text-lg);
}

.page-header__desc p:last-child {
	margin-bottom: 0;
}

.pagination {
	margin-top: var(--smc-space-4);
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--smc-space-1);
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding-inline: var(--smc-space-1);
	border-radius: var(--smc-radius-md);
	text-decoration: none;
}

.pagination .page-numbers.current {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
}

.entry {
	max-width: var(--smc-content-max);
	margin-inline: auto;
	padding-block: var(--smc-section-space) 0;
}

.entry__header {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-1);
	margin-bottom: var(--smc-space-4);
}

.entry__title {
	margin: 0;
}

.entry__meta {
	margin: 0;
}

.entry__thumb {
	margin: 0 0 var(--smc-space-4);
}

.entry__thumb img {
	display: block;
	width: 100%;
	border-radius: var(--smc-radius-lg);
}

.entry__content img {
	border-radius: var(--smc-radius-md);
}

/* ── 12. 푸터 ───────────────────────────────── */

/* 푸터 3칸: 기관 / 연락처 / 바로가기 (좁은 화면은 한 칸씩 아래로) */
.site-footer {
	margin-top: var(--smc-section-space);
	padding-block: var(--smc-space-6);
	background: var(--smc-color-primary-deep);
	color: var(--smc-color-white);
}

.site-footer a {
	color: var(--smc-color-white);
}

/* 네이비 배경 위에서도 보이도록 푸터 안의 키보드 초점 표시는 흰색 */
.site-footer :focus-visible {
	outline-color: var(--smc-color-white);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-text); /* 두 겹: 안쪽 짙은 테두리 + 바깥 흰 테두리 */
}

.site-footer__grid {
	display: grid;
	grid-template-columns: var(--smc-footer-columns);
	gap: var(--smc-space-4);
}

.site-footer__name {
	margin: 0;
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
}

.site-footer__text {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-on-dark-muted);
	font-style: normal;
}

.site-footer__heading {
	margin: 0 0 var(--smc-space-1);
	font-size: var(--smc-text-base);
	letter-spacing: normal;
}

.site-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
}

/* 바로가기 링크 묶음 (푸터 메뉴 또는 기본 링크, 지시서 32): 칸이 넓으면 두 줄로 나란히 */
.site-footer__links--menu {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--smc-footer-link-min), 1fr));
	column-gap: var(--smc-space-2);
}

.site-footer__copy {
	margin: var(--smc-space-4) 0 0;
	padding-top: var(--smc-space-3);
	border-top: var(--smc-border-width) solid var(--smc-color-footer-line);
	color: var(--smc-color-on-dark-muted);
	font-size: var(--smc-text-sm);
}

/* ── 13. 좁은 화면 하단 "빠른 연결" 바 · 문의하기 ─ */

/*
 * 좁은 화면(1024px 미만)에서만 보임. 아이폰 아래 여백(안전 영역)만큼 아래를 띄움.
 * 본문 아래 여백(body 의 --smc-mobile-bottom-space)이 바 높이만큼 있어 페이지 끝 내용이 가리지 않음.
 */
.dock {
	display: var(--smc-mobile-only);
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: var(--smc-z-tabbar);
	gap: var(--smc-space-1);
	padding: var(--smc-space-2) var(--smc-gutter) calc(var(--smc-space-2) + var(--smc-safe-bottom));
	border-top: var(--smc-border-width) solid var(--smc-color-border);
	background: var(--smc-color-header-bg);
	-webkit-backdrop-filter: blur(var(--smc-header-blur));
	backdrop-filter: blur(var(--smc-header-blur));
}

.dock__button {
	flex: 1 1 0;
	min-height: var(--smc-chip-min);
	padding-inline: var(--smc-space-1);
}

/* 문의하기: 넓은 화면에서만 보임 (좁은 화면은 하단 빠른 연결 바가 그 역할을 함) */
.contact-button {
	display: var(--smc-desktop-only);
	position: fixed;
	right: var(--smc-gutter);
	bottom: calc(var(--smc-mobile-bottom-space) + var(--smc-space-2));
	z-index: var(--smc-z-tabbar);
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-1) var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-white);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

.contact-button:hover {
	background: var(--smc-color-text);
}

/* 두 겹 초점 표시: 안쪽 흰 고리(네이비 푸터 위에서 보임) + 바깥 네이비 선(밝은 배경 위에서 보임) */
.contact-button:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* ── 14. 하위 메뉴 카드 (부모 페이지 아래) ───── */

.menu-cards {
	margin-top: var(--smc-section-space);
}

.menu-card-grid {
	display: grid;
	grid-template-columns: var(--smc-menu-card-columns);
	gap: var(--smc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-card-grid > li {
	display: flex;
}

.menu-card {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-2);
	width: 100%;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	text-decoration: none;
}

.menu-card:hover {
	border-color: var(--smc-color-button);
}

.menu-card:hover .menu-card__title {
	color: var(--smc-color-button);
	text-decoration: underline;
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.menu-card:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

.menu-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--smc-journey-icon);
	height: var(--smc-journey-icon);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-tint);
	color: var(--smc-color-primary);
}

.menu-card__title {
	margin: 0;
	font-size: var(--smc-text-lg);
}

.menu-card__desc {
	margin: 0;
	color: var(--smc-color-text-muted);
}

.menu-card__arrow {
	display: inline-flex;
	align-self: flex-end;
	margin-top: auto;
	color: var(--smc-color-button);
}

/* ── 15. 이야기 종류 칩 · 개수 안내 · 여정 페이지 이야기 ─ */

.story-chips {
	margin-bottom: var(--smc-space-2);
}

.story-chips__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smc-chip-min);
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	font-weight: var(--smc-weight-medium);
	text-decoration: none;
}

.chip:hover {
	border-color: var(--smc-color-button);
	color: var(--smc-color-button);
}

/* 지금 보고 있는 칩: 색 + 굵은 글자 + 두꺼운 테두리 */
.chip[aria-current="page"] {
	border: var(--smc-border-strong) solid var(--smc-color-button);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.chip:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

.story-count {
	margin: 0 0 var(--smc-space-3);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.journey-stories {
	margin-top: var(--smc-space-2);
}

/* ── 17. 홈 하루 일과 ─────────────────────────── */

.day-list {
	display: grid;
	grid-template-columns: var(--smc-day-columns);
	gap: var(--smc-space-2);
	margin: var(--smc-space-4) 0 0;
	padding: 0;
	list-style: none;
}

.day-slot {
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.day-slot__time {
	display: block;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-2xl);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-tight);
}

.day-slot__name {
	display: block;
	margin-top: var(--smc-space-1);
	font-size: var(--smc-text-lg);
}

.day-slot__desc {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* 소개 문장 아래 점 목록(추가 활동 · 야간 · 토요일 · 휴일 안내) */
.day-notes {
	margin: var(--smc-space-2) 0 var(--smc-space-3);
	padding-left: 1.25em;
	color: var(--smc-color-text-muted);
}

.day-notes li + li {
	margin-top: 0.25rem;
}

/* ── 16. 일정 (일정 페이지 · 홈 이번 주 일정 · 일정 글 요약) ─ */

.schedule-intro {
	max-width: var(--smc-content-max);
	margin-bottom: var(--smc-space-3);
}

.event-month {
	margin-top: var(--smc-space-5);
}

.event-list {
	display: grid;
	gap: var(--smc-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-item {
	display: grid;
	gap: var(--smc-space-1);
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.event-item p {
	margin: 0;
}

.event-item__date {
	color: var(--smc-color-primary);
	font-weight: var(--smc-weight-bold);
}

.event-item__title {
	margin: 0;
	font-size: var(--smc-text-lg);
}

.event-item__title a {
	color: var(--smc-color-text);
}

.event-item__title a:hover {
	color: var(--smc-color-button);
}

.event-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--smc-space-2);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.event-item__label {
	font-weight: var(--smc-weight-bold);
}

/* 한 줄 요약: 넘치면 … 으로 줄임 */
.event-item__summary {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 홈에서는 작게 */
.event-item--compact {
	padding: var(--smc-space-2);
}

.event-item--compact .event-item__title {
	font-size: var(--smc-text-base);
}

/* 일정 글 화면: 제목 아래 "일정 정보" 요약 상자 */
.event-summary {
	margin: 0 0 var(--smc-space-4);
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-tint);
}

.event-summary__title {
	margin-bottom: var(--smc-space-1);
	font-size: var(--smc-text-lg);
}

.event-summary__list {
	display: grid;
	gap: var(--smc-space-1);
	margin: 0;
}

.event-summary__row {
	display: grid;
	grid-template-columns: var(--smc-event-label-width) 1fr;
	gap: var(--smc-space-2);
}

.event-summary__row dt {
	font-weight: var(--smc-weight-bold);
}

.event-summary__row dd {
	margin: 0;
}

/* ── 18. 글 틀 (patterns/post-01 ~ 13) ──────────
 * 클래스는 모두 smc-pat- 으로 시작합니다. 글쓰기 화면에도 이 파일이 적용됩니다(inc/patterns.php).
 * 여러 칸 배치는 "칸 최소 너비"(--smc-pat-col-min)로 자동으로 줄이 바뀌어 @media 없이 좁은 화면에 맞춥니다.
 */

/* 작성 안내: 글쓰기 화면에서만 보임.
 * 공개 화면에서는 inc/patterns.php 가 출력에서 빼고, 혹시 남더라도 본문(.site-main) 안에서는 숨김. */
.smc-pat-guide {
	padding: var(--smc-space-2);
	border: var(--smc-border-strong) dashed var(--smc-color-secondary);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint-sky);
	font-size: var(--smc-text-sm);
}

.smc-pat-guide::before {
	content: "작성 안내 · 공개 화면에는 보이지 않아요";
	display: block;
	margin-bottom: var(--smc-space-1);
	font-weight: var(--smc-weight-bold);
}

.site-main .smc-pat-guide {
	display: none;
}

/* 사진 자리 (사진을 넣지 않으면 공개 화면에는 나오지 않음) */
.smc-pat-photo {
	margin: 0;
}

.smc-pat-photo img {
	display: block;
	width: 100%;
	border-radius: var(--smc-radius-md);
}

.smc-pat-photos .smc-pat-photo img,
.smc-pat-album .smc-pat-photo img {
	aspect-ratio: var(--smc-pat-photo-ratio);
	object-fit: cover;
}

.smc-pat-photo figcaption {
	margin-top: var(--smc-space-1);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* 1 이야기 기본형: 짧은 소개 */
.smc-pat-lead {
	font-size: var(--smc-text-lead);
	font-weight: var(--smc-weight-medium);
}

/* 2 소감·인터뷰 */
.smc-pat-quote {
	margin: 0;
	padding: var(--smc-space-1) 0 var(--smc-space-1) var(--smc-space-3);
	border-left: var(--smc-space-1) solid var(--smc-color-accent);
}

.smc-pat-quote p {
	font-size: var(--smc-text-xl);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-tight);
}

.smc-pat-quote cite {
	display: block;
	margin-top: var(--smc-space-2);
	color: var(--smc-color-text-muted);
	font-style: normal;
}

/* 3 행사 후기: 언제 · 어디서 · 누가, 사진 3장, 다음 일정 */
.smc-pat-facts,
.smc-pat-photos,
.smc-pat-album {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-pat-col-min)), 1fr));
	gap: var(--smc-space-2);
}

.smc-pat-facts {
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
}

.smc-pat-facts > *,
.smc-pat-photos > *,
.smc-pat-album > * {
	margin: 0;
}

.smc-pat-next {
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint-orange);
}

.smc-pat-next p {
	margin: 0;
}

.smc-pat-next a {
	margin-left: var(--smc-space-2);
	font-weight: var(--smc-weight-bold);
}

/* 5 · 13 표: 좁은 화면에서는 표 안에서만 가로로 밀림 (쪽 전체는 밀리지 않음) */
.smc-pat-table {
	max-width: 100%;
	margin: 0;
	overflow-x: auto;
}

.smc-pat-table table {
	width: 100%;
	border-collapse: collapse;
}

.smc-pat-table th,
.smc-pat-table td {
	padding: var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
	text-align: left;
	vertical-align: top;
}

.smc-pat-table th[scope="row"] {
	width: var(--smc-pat-th-width);
	background: var(--smc-color-tint);
	color: var(--smc-color-text);
	font-weight: var(--smc-weight-bold);
}

.smc-pat-table figcaption {
	margin-top: var(--smc-space-1);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	text-align: left;
}

/* 버튼 (5 · 12 · 13): 큰 버튼, 주황 · 고스트 · 기본(주색) */
.smc-pat-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-2);
}

.smc-pat-buttons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--smc-button-lg);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

.smc-pat-btn--accent .wp-block-button__link {
	border-color: var(--smc-color-accent);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

.smc-pat-btn--ghost .wp-block-button__link {
	background: transparent;
	color: var(--smc-color-button);
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.smc-pat-buttons .wp-block-button__link:focus-visible,
.smc-pat-faq summary:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 6 · 13 한 줄 요약 */
.smc-pat-summary {
	padding: var(--smc-space-2) var(--smc-space-3);
	border-left: var(--smc-space-1) solid var(--smc-color-primary);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 6 문의 상자 */
.smc-pat-contact {
	padding: var(--smc-space-2) var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-md);
}

.smc-pat-contact p {
	margin: 0;
}

/* 7 카드 3개 · 10 숫자 강조 · 12 신청·문의: 칸이 좁아지면 core 열 블록이 위아래로 쌓음 */
.smc-pat-cards > .wp-block-column,
.smc-pat-cta > .wp-block-column {
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
}

.smc-pat-cards > .wp-block-column:nth-child(3n+1),
.smc-pat-cta > .wp-block-column {
	background: var(--smc-color-tint);
}

.smc-pat-cards > .wp-block-column:nth-child(3n+2) {
	background: var(--smc-color-tint-sky);
}

.smc-pat-cards > .wp-block-column:nth-child(3n+3) {
	background: var(--smc-color-tint-orange);
}

.smc-pat-cards h3 {
	margin: 0 0 var(--smc-space-1);
	font-weight: var(--smc-weight-heavy);
}

.smc-pat-cards p,
.smc-pat-cta p {
	margin: 0 0 var(--smc-space-2);
}

/* 8 단계 안내 · 13 뽑는 순서: 번호는 주황 원 안의 숫자 */
.smc-pat-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-pat-col-min)), 1fr));
	gap: var(--smc-space-2);
	padding: 0;
	list-style: none;
	counter-reset: smc-pat-step;
}

.smc-pat-steps li {
	position: relative;
	margin: 0;
	padding: calc(var(--smc-step-num) + var(--smc-space-3)) var(--smc-space-3) var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	counter-increment: smc-pat-step;
}

.smc-pat-steps li::before {
	content: counter(smc-pat-step);
	display: grid;
	position: absolute;
	top: var(--smc-space-2);
	left: var(--smc-space-3);
	place-items: center;
	width: var(--smc-step-num);
	height: var(--smc-step-num);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
	font-weight: var(--smc-weight-heavy);
}

/* 9 강조 상자 (6 · 13 의 안내 · 주의 · 마감 상자도 같음)
 * 색만으로 구분하지 않음: 상자마다 "안내 · 주의 · 팁 · 마감" 글자가 먼저 나옴. 그림은 장식(::before, 낭독기가 읽지 않음). */
.smc-pat-callout {
	--smc-pat-callout-icon: var(--smc-pat-icon-info);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--smc-space-2);
	padding: var(--smc-space-2) var(--smc-space-3);
	border-left: var(--smc-space-1) solid var(--smc-color-primary);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
}

.smc-pat-callout::before {
	content: "";
	width: var(--smc-icon-size);
	height: var(--smc-icon-size);
	background-color: var(--smc-color-text);
	-webkit-mask: var(--smc-pat-callout-icon) center / contain no-repeat;
	mask: var(--smc-pat-callout-icon) center / contain no-repeat;
}

.smc-pat-callout > * {
	grid-column: 2;
	margin: 0;
}

.smc-pat-callout--warn {
	--smc-pat-callout-icon: var(--smc-pat-icon-warn);
	border-left-color: var(--smc-color-accent);
	background: var(--smc-color-tint-orange);
}

.smc-pat-callout--tip {
	--smc-pat-callout-icon: var(--smc-pat-icon-tip);
	border-left-color: var(--smc-color-secondary);
	background: var(--smc-color-tint-sky);
}

.smc-pat-callout--deadline {
	--smc-pat-callout-icon: var(--smc-pat-icon-deadline);
	border-left-color: var(--smc-color-text);
	background: var(--smc-color-white);
}

.smc-pat-callout + .smc-pat-callout {
	margin-top: var(--smc-space-2);
}

/* 10 숫자 강조 */
.smc-pat-stats > .wp-block-column {
	padding: var(--smc-space-3) var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	text-align: center;
}

.smc-pat-stat-number {
	margin: 0;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-stat);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-tight);
}

.smc-pat-stat-label {
	margin: 0;
	color: var(--smc-color-text-muted);
}

/* 11 자주 묻는 질문: 눌러서 펼침 (키보드 Enter · Space 로도) */
.smc-pat-faq {
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
}

.smc-pat-faq + .smc-pat-faq {
	margin-top: var(--smc-space-1);
}

.smc-pat-faq summary {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
	min-height: var(--smc-button-lg);
	padding: var(--smc-space-1) var(--smc-space-3);
	font-weight: var(--smc-weight-bold);
	list-style: none;
	cursor: pointer;
}

.smc-pat-faq summary::-webkit-details-marker {
	display: none;
}

.smc-pat-faq summary::after {
	content: "＋" / "";
	margin-left: auto;
	color: var(--smc-color-button);
}

.smc-pat-faq[open] summary::after {
	content: "－" / "";
}

.smc-pat-faq > :not(summary) {
	margin: 0;
	padding: 0 var(--smc-space-3) var(--smc-space-2);
	color: var(--smc-color-text-muted);
}

/* ── 19. 페이지 틀 · 구역 · 요소 · 알림 띠 (지시서 26) ──────────
 * 페이지 틀(patterns/page-*)은 위 "18. 글 틀"의 모양(smc-pat-)을 함께 씁니다.
 * 요소(smc-el-)는 자바스크립트(assets/js/elements.js)가 입히기 전에도 읽을 수 있는 모양입니다.
 */

/* 공통 버튼 (자바스크립트가 만드는 이전 · 다음 · 닫기) */
.smc-el-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font: inherit;
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.smc-el-btn:hover {
	background: var(--smc-color-tint);
}

.smc-el-btn--solid {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.smc-el-btn--solid:hover {
	background: var(--smc-color-text);
}

/* 더 갈 곳이 없는 이전 · 다음 버튼: 색과 테두리를 흐리게 (글자 대비는 유지) */
.smc-el-btn[aria-disabled="true"] {
	border-color: var(--smc-color-border);
	color: var(--smc-color-text-muted);
	cursor: default;
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.smc-el-btn:focus-visible,
.smc-el-tabs__tab:focus-visible,
.smc-el-slides__dot:focus-visible,
.smc-el-slides:focus-visible,
.smc-alert__close:focus-visible,
.smc-el-zoom a:focus-visible,
.smc-el-timeline summary:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 알림 띠: 머리글 바로 위의 한 줄 (화면을 가리지 않음) */
.smc-alert {
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

.smc-alert[hidden] {
	display: none;
}

.smc-alert__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	padding-block: var(--smc-space-1);
}

.smc-alert__label {
	font-weight: var(--smc-weight-heavy);
}

.smc-alert__link {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	color: var(--smc-color-on-accent);
	font-weight: var(--smc-weight-bold);
}

.smc-alert__close {
	min-width: var(--smc-tap-min);
	min-height: var(--smc-tap-min);
	margin-left: auto;
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-on-accent);
	border-radius: var(--smc-radius-pill);
	background: transparent;
	color: var(--smc-color-on-accent);
	font: inherit;
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

/* 구역 01 큰 제목 · 02 좌우 교차 */
.smc-sec-hero h2 {
	font-size: var(--smc-text-xl);
	font-weight: var(--smc-weight-heavy);
}

.smc-sec-hero .smc-pat-photo img,
.smc-sec-alt .smc-pat-photo img {
	border-radius: var(--smc-radius-lg);
}

.smc-sec-alt > .wp-block-columns + .wp-block-columns {
	margin-top: var(--smc-space-4);
}

/* 구역 03 연락처 띠: 주색 바탕, 흰 글자 */
.smc-sec-contact {
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-primary);
	color: var(--smc-color-white);
}

.smc-sec-contact p {
	margin: 0 0 var(--smc-space-2);
}

.smc-sec-contact a:not(.wp-block-button__link) {
	color: var(--smc-color-white);
}

.smc-pat-btn--light .wp-block-button__link {
	border-color: var(--smc-color-white);
	background: transparent;
	color: var(--smc-color-white);
}

/* 요소 01 가로 넘겨 보기: 자바스크립트가 없어도 옆으로 밀어 보는 영역 (자기 안에서만 가로로 밀림) */
.smc-el-slides {
	display: flex;
	gap: var(--smc-space-2);
	max-width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: var(--smc-scroll-behavior);
	padding: var(--smc-space-1) var(--smc-space-1) var(--smc-space-2);
	overscroll-behavior-x: contain;
}

.smc-el-slides > .smc-el-slide {
	flex: 0 0 var(--smc-el-slide-width);
	margin: 0;
	padding: var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	scroll-snap-align: start;
}

.smc-el-slide > * + * {
	margin-top: var(--smc-space-1);
}

.smc-el-slide h3 {
	margin-bottom: 0;
	font-size: var(--smc-text-lg);
}

.smc-el-slides__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-1);
}

.smc-el-slides__status {
	min-width: var(--smc-tap-min);
	font-weight: var(--smc-weight-bold);
	text-align: center;
}

.smc-el-slides__dots {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
}

.smc-el-slides__dot {
	display: grid;
	place-items: center;
	width: var(--smc-tap-min);
	height: var(--smc-tap-min);
	padding: 0;
	border: 0;
	border-radius: var(--smc-radius-circle);
	background: transparent;
	cursor: pointer;
}

.smc-el-slides__dot span {
	width: var(--smc-el-dot);
	height: var(--smc-el-dot);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-circle);
}

.smc-el-slides__dot[aria-current="true"] span {
	background: var(--smc-color-button);
}

/* 요소 02 탭: 자바스크립트가 없으면 묶음이 모두 펼쳐 보임 */
.smc-el-tab + .smc-el-tab {
	margin-top: var(--smc-space-3);
}

.smc-el-tabs.is-enhanced .smc-el-tab + .smc-el-tab {
	margin-top: 0;
}

.smc-el-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-bottom: var(--smc-space-2);
}

.smc-el-tabs__tab {
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	font: inherit;
	font-weight: var(--smc-weight-medium);
	cursor: pointer;
}

.smc-el-tabs__tab:hover {
	border-color: var(--smc-color-button);
}

/* 고른 탭: 색 + 굵은 글자 + 테두리 색 */
.smc-el-tabs__tab[aria-selected="true"] {
	border-color: var(--smc-color-button);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
}

.smc-el-tabs.is-enhanced [role="tabpanel"] {
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
}

.smc-el-tabs [role="tabpanel"][hidden] {
	display: none;
}

/* 요소 03 연혁 타임라인: 연대별 펼치기 + 세로 선 (자바스크립트 필요 없음) */
.smc-el-timeline .wp-block-details {
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
}

.smc-el-timeline .wp-block-details + .wp-block-details {
	margin-top: var(--smc-space-1);
}

.smc-el-timeline summary {
	display: flex;
	align-items: center;
	min-height: var(--smc-button-lg);
	padding: var(--smc-space-1) var(--smc-space-3);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
	cursor: pointer;
}

.smc-el-timeline ol {
	display: grid;
	gap: var(--smc-space-2);
	margin: 0 var(--smc-space-3) var(--smc-space-3);
	padding: 0 0 0 var(--smc-space-3);
	border-left: var(--smc-el-line) solid var(--smc-color-tint);
	list-style: none;
}

.smc-el-timeline li {
	position: relative;
}

.smc-el-timeline li::before {
	content: "";
	position: absolute;
	top: var(--smc-space-1);
	left: calc((var(--smc-space-3) + var(--smc-el-line) / 2 + var(--smc-el-dot) / 2) * -1);
	width: var(--smc-el-dot);
	height: var(--smc-el-dot);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-primary);
}

/* 요소 04 사진 확대 보기 */
.smc-el-zoom a {
	display: block;
	cursor: zoom-in;
}

.smc-el-dialog {
	width: var(--smc-el-dialog-width);
	max-width: 100%;
	padding: var(--smc-space-3);
	border: 0;
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
}

.smc-el-dialog::backdrop {
	background: var(--smc-color-backdrop);
}

.smc-el-dialog__img {
	display: block;
	width: 100%;
	max-height: var(--smc-el-dialog-img-max);
	object-fit: contain;
	border-radius: var(--smc-radius-md);
}

.smc-el-dialog__caption {
	margin: var(--smc-space-2) 0 0;
}

.smc-el-dialog__row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-2);
}

.smc-el-dialog__row .smc-el-btn--solid {
	margin-left: auto;
}

/* 요소 05 영상 넣기: 누르기 전에는 제목 · 자막 여부 · 버튼만 */
.smc-el-video {
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
	text-align: center;
}

.smc-el-video p {
	margin: 0 0 var(--smc-space-1);
}

.smc-el-video .smc-pat-buttons {
	justify-content: center;
}

.smc-el-video__frame {
	aspect-ratio: var(--smc-video-ratio);
	margin-top: var(--smc-space-2);
}

.smc-el-video__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: var(--smc-radius-md);
}

/* ── 20. 제목 띠 · 이어 보기 · 한마디 · 마감 표시 (지시서 27) ──────
 * 모두 서버가 그리는 모양이고, 자바스크립트가 없어도 읽을 수 있습니다.
 */

/* 페이지 제목 띠와 현재 위치 (page.php · page-schedule.php · home.php · category.php · index.php) */
.page-band {
	margin-top: var(--smc-space-4);
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-tint);
}

.page-band__crumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--smc-text-sm);
}

.page-band__crumb li {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 구분 기호는 장식 (화면 낭독기는 읽지 않음) */
.page-band__crumb li + li::before {
	content: "/" / "";
	color: var(--smc-color-text-muted);
}

.page-band__crumb a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	color: var(--smc-color-text-muted);
}

.page-band__crumb [aria-current="page"] {
	color: var(--smc-color-text);
	font-weight: var(--smc-weight-bold);
}

.page-band__title {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-2xl);
	font-weight: var(--smc-weight-heavy);
	letter-spacing: var(--smc-tracking-hero);
}

.page-band__desc {
	max-width: var(--smc-sub-max);
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-lg);
}

/* 제목 띠 바로 아래 본문은 위 여백을 줄임 */
.page-band + .entry,
.page-band + .schedule-intro,
.page-band + .story-chips {
	padding-top: 0;
	margin-top: var(--smc-space-4);
}

/* 사이트맵 짧은 코드 [smc_sitemap] (inc/sitemap.php, 지시서 32): 맨 위 메뉴마다 묶음, 하위는 중첩 목록 */
.smc-sitemap {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(var(--smc-sitemap-col-min), 100%), 1fr));
	gap: var(--smc-space-3);
	margin-block: var(--smc-space-3);
}

.smc-sitemap__group {
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-sitemap__title {
	margin: 0;
	font-size: var(--smc-text-lg);
}

.smc-sitemap__title a,
.smc-sitemap__list a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
}

.smc-sitemap__list {
	margin: 0;
	padding-left: var(--smc-space-3);
}

.smc-sitemap__list .smc-sitemap__list {
	padding-left: var(--smc-space-2);
}

.smc-sitemap a:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 제목 띠: 목록 화면(카테고리 · 검색 · 태그 · 날짜, 지시서 28) */
.page-band__title,
.page-band__desc,
.page-band__crumb li {
	overflow-wrap: anywhere;
}

.page-band + .story-grid,
.page-band + .journey-stories,
.page-band + .page-header__desc,
.page-band + .empty-message {
	margin-top: var(--smc-space-4);
}

/* 마감 표시: 글자와 날짜가 늘 함께 보임. 하루 전 · 당일은 주황, 마감됨은 회색 */
.smc-deadline {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--smc-space-1);
	margin: 0;
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
}

.smc-deadline__text {
	font-weight: var(--smc-weight-heavy);
}

.smc-deadline--soon {
	border-color: var(--smc-color-accent);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

.smc-deadline--over {
	border-color: var(--smc-color-border);
	background: var(--smc-color-tint);
	color: var(--smc-color-text-muted);
}

.story-card__body .smc-deadline,
.event-item .smc-deadline,
.entry__header .smc-deadline {
	align-self: flex-start;
}

/* 글 끝 이어 보기 */
.story-end {
	display: grid;
	gap: var(--smc-space-4);
	max-width: var(--smc-content-max);
	margin: var(--smc-section-space) auto 0;
}

.smc-share__title,
.story-related__title {
	margin: 0 0 var(--smc-space-2);
	font-size: var(--smc-text-lg);
}

.smc-share__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

.smc-share__buttons a.smc-el-btn {
	text-decoration: none;
}

.smc-share__status {
	min-height: var(--smc-tap-min);
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.story-related__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-pat-col-min)), 1fr));
	gap: var(--smc-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.story-related__link {
	display: grid;
	gap: var(--smc-space-1);
	height: 100%;
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	text-decoration: none;
}

.story-related__link:hover {
	border-color: var(--smc-color-button);
}

.story-related__link .badge {
	justify-self: start;
}

.story-pn {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-pat-col-min)), 1fr));
	gap: var(--smc-space-2);
}

.story-pn__link {
	display: grid;
	gap: var(--smc-space-1);
	min-height: var(--smc-button-lg);
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
	color: var(--smc-color-text);
	text-decoration: none;
}

.story-pn__link--next {
	text-align: right;
}

.story-pn__label {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

/* 두 겹 초점 표시 (문의하기 버튼과 같은 규칙) */
.story-related__link:focus-visible,
.story-pn__link:focus-visible,
.page-band__crumb a:focus-visible,
.smc-voice__more:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 회원의 한마디: 넘겨 보기 카드 (smc-el-slides 모양 위에 덧입힘) */
.smc-voices {
	margin-top: var(--smc-space-3);
}

.smc-el-slides > .smc-voice {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-1);
	padding: var(--smc-space-3);
	border: 0;
	background: var(--smc-color-tint);
}

.smc-voice__quote {
	margin: 0;
}

.smc-voice__quote p {
	margin: 0;
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-tight);
}

.smc-voice__cite {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-voice__more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: var(--smc-tap-min);
	margin-top: auto;
	font-weight: var(--smc-weight-bold);
}

/* ── 21. 아코디언 · 목차 · 체크 목록 · 일러스트 · 자세히 보기 (지시서 33) ──
 * 모두 기본 블록 · 기본 HTML(details)이라 자바스크립트가 없어도 열고 닫을 수 있습니다.
 */

/* 아코디언 묶음 (요소 07): 펼치기 블록 여러 개, 한 번에 하나만 열림 (elements.js) */
.smc-el-accordion {
	margin-block: var(--smc-space-3);
}

.smc-el-accordion__bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-bottom: var(--smc-space-2);
}

.smc-el-accordion .wp-block-details {
	margin: 0;
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
}

.smc-el-accordion .wp-block-details:first-of-type {
	border-top: var(--smc-border-width) solid var(--smc-color-border);
}

.smc-el-accordion summary,
.smc-el-more summary,
.smc-fold__more summary,
.smc-toc__title {
	display: flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	padding-block: var(--smc-space-1);
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.smc-el-accordion summary {
	font-size: var(--smc-text-lg);
}

.smc-el-accordion .wp-block-details > :not(summary) {
	margin: 0 0 var(--smc-space-2);
}

.smc-el-accordion summary:focus-visible,
.smc-el-more summary:focus-visible,
.smc-fold__more summary:focus-visible,
.smc-toc__title:focus-visible,
.smc-toc a:focus-visible,
.smc-toc-top a:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 더 보기 (요소 08) · 긴 글 접기: "자세히 보기" 줄은 주색 글자 */
.smc-el-more,
.smc-fold__more {
	margin-block: var(--smc-space-1) var(--smc-space-2);
}

.smc-el-more summary,
.smc-fold__more summary {
	color: var(--smc-color-button);
}

.smc-fold__lead {
	margin: 0;
}

.smc-fold__more > p {
	margin: 0;
}

/* 주색 띠(처음 오셨나요) 위의 긴 글 접기는 연한 글자 */
.first-visit .smc-fold__more summary {
	color: var(--smc-color-white);
}

/* 체크 목록 (요소 09): 체크 모양은 꾸밈(화면 낭독기는 읽지 않음), 목록 뜻은 그대로 */
.smc-el-checklist {
	padding-left: 0;
	list-style: none;
}

.smc-el-checklist > li {
	position: relative;
	padding-left: var(--smc-space-4);
}

.smc-el-checklist > li::before {
	content: "" / "";
	position: absolute;
	top: var(--smc-check-top);
	left: var(--smc-space-1);
	width: var(--smc-check-width);
	height: var(--smc-check-height);
	border: solid var(--smc-color-button);
	border-width: 0 var(--smc-border-strong) var(--smc-border-strong) 0;
	transform: rotate(var(--smc-check-rotate));
}

/* 자동 목차 (inc/toc.php): 본문 맨 위, 접고 펴는 상자 */
.smc-toc {
	margin-bottom: var(--smc-space-4);
	padding: var(--smc-space-1) var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-tint);
}

.smc-toc__list {
	margin: 0 0 var(--smc-space-2);
	padding-left: var(--smc-space-3);
}

.smc-toc__list a,
.smc-toc-top a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
}

.smc-toc-top {
	margin-top: var(--smc-space-4);
}

/* 목차가 있는 쪽: 제목으로 이동할 때 부드럽게 (움직임 줄이기면 tokens.css 에서 바로 이동). 머리글에 가리지 않는 여백은 맨 위 html 규칙 */
html:has(.smc-toc) {
	scroll-behavior: var(--smc-scroll-behavior);
}

/* 일러스트 (assets/img/illust, 장식) */
.smc-illust {
	display: block;
	width: 100%;
	max-width: var(--smc-illust-max);
	height: auto;
}

/* 처음 오셨나요 띠: 좁은 화면은 글 아래 그림, 넓은 화면은 오른쪽 그림 */
.first-visit__head {
	display: grid;
	grid-template-columns: var(--smc-first-visit-head-columns);
	align-items: center;
	gap: var(--smc-space-3);
}

.first-visit__art {
	justify-self: center;
}

/* 여정 카드 그림 (원형 아이콘 자리) */
.journey-card__art {
	max-width: var(--smc-journey-art-max);
}

/* ── 22. 보기 방식(웹페이지형 · 매거진형) (지시서 34) ──
 * 마크업은 두 방식이 같고 main 의 data-mode(assets/js/program.js)에 따라 아래 규칙만 달라집니다.
 * 웹페이지형이 기본(data-mode 가 없거나 web). 매거진형은 .site-main[data-mode="mag"].
 * 사업 소개 페이지(.program-page)는 표지 · 두 단 소개글 · 첫 글자 크게 · 큰 인용 · 선으로 나뉜 카드,
 * 그 밖의 화면(기관 소개 · 이용 안내 · 등록 안내 · 이야기 목록)은 표지와 글자 모양만 바뀝니다.
 */

/* 보기 설정 막대 */
.modes-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	margin-top: var(--smc-space-3);
	padding-block: var(--smc-space-1);
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
}

.no-js .modes-bar {
	display: none;
}

.modes-bar__label {
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.modes-bar__seg {
	display: inline-flex;
	overflow: hidden;
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
}

.modes-bar__btn,
.modes-bar__motion {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: 0;
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font: inherit;
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.modes-bar__btn[aria-pressed="true"] {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.modes-bar__btn:not([aria-pressed="true"]):hover,
.modes-bar__motion:hover {
	background: var(--smc-color-tint);
}

.modes-bar__motion {
	margin-left: auto;
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-text);
}

/* 움직임 줄이기 스위치 모양 (켜짐은 위치와 색이 함께 바뀜, 이름은 aria-pressed 로 읽음) */
.modes-bar__switch {
	position: relative;
	flex: none;
	width: var(--smc-switch-width);
	height: var(--smc-switch-height);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-text-muted);
}

.modes-bar__switch::after {
	content: "";
	position: absolute;
	top: var(--smc-switch-gap);
	left: var(--smc-switch-gap);
	width: var(--smc-switch-knob);
	height: var(--smc-switch-knob);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
	transition: transform var(--smc-transition);
}

.modes-bar__motion[aria-pressed="true"] .modes-bar__switch {
	background: var(--smc-color-button);
}

.modes-bar__motion[aria-pressed="true"] .modes-bar__switch::after {
	transform: translateX(var(--smc-switch-knob));
}

.modes-bar__btn:focus-visible,
.modes-bar__motion:focus-visible,
.program-related__list:focus-visible,
.program-related__nav:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

.modes-bar + .entry,
.modes-bar + .story-chips {
	margin-top: var(--smc-space-4);
	padding-top: 0;
}

/* 화면 전환 효과 (지원하는 브라우저, 움직임 줄이기가 꺼졌을 때만 program.js 가 씀) */
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: var(--smc-view-transition);
}

/* 표지(사업 소개 제목 띠): 작은 글자 + 그림. 좁은 화면은 그림이 글 아래, 넓은 화면은 오른쪽 */
.page-band--has-art {
	display: grid;
	grid-template-columns: var(--smc-cover-columns);
	column-gap: var(--smc-space-4);
	align-items: center;
}

.page-band--has-art > :not(.page-band__art) {
	grid-column: 1;
}

.page-band__art {
	order: var(--smc-cover-art-order);
	grid-column: var(--smc-cover-art-column);
	grid-row: var(--smc-cover-art-row);
	justify-self: center;
	width: 100%;
	max-width: var(--smc-illust-max);
}

.page-band__eyebrow {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-primary);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

/* 매거진형: 남색 표지 */
.site-main[data-mode="mag"] .page-band {
	padding: var(--smc-space-6) var(--smc-space-3);
	background: var(--smc-color-primary);
	color: var(--smc-color-white);
}

.site-main[data-mode="mag"] .page-band__title {
	color: var(--smc-color-white);
	font-size: var(--smc-mag-title);
	line-height: var(--smc-leading-hero);
}

.site-main[data-mode="mag"] .page-band__crumb a,
.site-main[data-mode="mag"] .page-band__crumb li + li::before,
.site-main[data-mode="mag"] .page-band__eyebrow,
.site-main[data-mode="mag"] .page-band__desc {
	color: var(--smc-color-tint);
}

.site-main[data-mode="mag"] .page-band__crumb [aria-current="page"] {
	color: var(--smc-color-white);
}

.site-main[data-mode="mag"] .page-band__desc {
	max-width: var(--smc-sub-max);
	font-size: var(--smc-mag-lead);
}

.site-main[data-mode="mag"] .page-band :focus-visible {
	outline-color: var(--smc-color-white);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-primary);
}

/* 매거진형 글자 모양: 첫 문단 크게, 제목 2 위쪽 굵은 선 */
.site-main[data-mode="mag"] .entry__content > p:first-of-type,
.site-main[data-mode="mag"] .entry__content > .smc-pat-lead {
	font-size: var(--smc-text-lg);
}

.site-main[data-mode="mag"] .entry__content h2 {
	padding-top: var(--smc-space-2);
	border-top: var(--smc-mag-rule) solid var(--smc-color-text);
}

/* 사업 소개 페이지만: 첫 글자 크게, 큰 인용(주황 위쪽 선은 장식), 선으로 나뉜 카드 목록 */
.site-main[data-mode="mag"] .program-page .entry__content > p:first-of-type::first-letter {
	float: left;
	padding-right: var(--smc-space-1);
	color: var(--smc-color-primary);
	font-size: var(--smc-mag-dropcap);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-mag-dropcap-leading);
}

/* 첫 글자가 있는 첫 문단은 큰 글자를 안에 품음: 한 줄짜리 문단이어도 큰 글자가 문단 밖(다음 블록)으로 삐져나오지 않음 (지시서 91) */
.site-main[data-mode="mag"] .program-page .entry__content > p:first-of-type {
	display: flow-root;
}

.site-main[data-mode="mag"] .program-page .wp-block-quote,
.site-main[data-mode="mag"] .program-page .wp-block-pullquote {
	margin-block: var(--smc-space-6);
	padding: var(--smc-space-3) 0 0;
	border: 0;
	border-top: var(--smc-mag-rule) solid var(--smc-color-accent);
	background: transparent;
	color: var(--smc-color-primary);
	font-size: var(--smc-mag-quote);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
}

.site-main[data-mode="mag"] .program-page .smc-pat-cards {
	display: block;
	border-top: var(--smc-border-strong) solid var(--smc-color-text);
}

.site-main[data-mode="mag"] .program-page .smc-pat-cards > .wp-block-column {
	margin: 0;
	padding: var(--smc-space-3) 0;
	border: 0;
	border-bottom: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/* 관련 글: 가로로 넘겨 보기 (이전 · 다음 · "1–3 / 8" 은 program.js) */
.program-related {
	margin-top: var(--smc-section-space);
}

.program-related__title {
	margin: 0;
}

.program-related__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-2);
}

.program-related__nav[aria-disabled="true"] {
	opacity: var(--smc-disabled-opacity);
	cursor: default;
}

.program-related__count {
	margin-left: auto;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.program-related__list {
	display: flex;
	gap: var(--smc-space-2);
	margin: var(--smc-space-2) 0 0;
	padding: var(--smc-space-1) var(--smc-space-1) var(--smc-space-2);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-behavior: var(--smc-scroll-behavior);
	scroll-snap-type: x mandatory;
	list-style: none;
}

.program-related__item {
	flex: 0 0 var(--smc-strip-item);
	scroll-snap-align: start;
}

.program-related__more {
	margin-top: var(--smc-space-2);
}

/* ── 23. 일정 달력 · 목록 · 링크 버튼 · 자세히 보기 (지시서 35) ──
 * 틀은 template-parts/schedule/calendar.php, 그리기는 assets/js/schedule.js.
 * 오늘은 테두리, 선택한 날은 채움, 일정은 점, 주요 일정은 네모 (색만이 아니라 모양과 화면 낭독기 이름으로도 알림).
 * 주황 계열 표시는 흰 바탕에서 3:1 이상인 짙은 주황(--smc-color-orange-deep)을 씀.
 */

.sched-app {
	margin-top: var(--smc-space-4);
}

.sched-app[hidden],
.sched-nojs[hidden] {
	display: none;
}

.schedule-more {
	margin-top: var(--smc-space-3);
}

/* 탭 */
.sched-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-bottom: var(--smc-space-2);
}

.sched-tab,
.sched-today,
.sched-clear,
.sched-donation-toggle {
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	font: inherit;
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.sched-tab[aria-selected="true"] {
	border-color: var(--smc-color-button);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.sched-today,
.sched-clear,
.sched-donation-toggle {
	padding: 0 var(--smc-space-2);
	border-color: var(--smc-color-button);
	color: var(--smc-color-button);
}

/* 후원 일정만 보기 (지시서 41): 켜지면 채움 (이름은 aria-pressed 로도 읽음) */
.sched-donation-toggle[aria-pressed="true"] {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.sched-donation-toggle[hidden] {
	display: none;
}

.sched-tab:not([aria-selected="true"]):hover,
.sched-today:hover,
.sched-clear:hover,
.sched-donation-toggle:not([aria-pressed="true"]):hover,
.sched-icon-btn:hover {
	background: var(--smc-color-tint);
}

/* 달력과 목록 배치: 좁은 화면은 위아래, 넓은 화면은 왼쪽 달력 · 오른쪽 목록 */
.sched-layout {
	display: grid;
	grid-template-columns: var(--smc-sched-columns);
	align-items: start;
	gap: var(--smc-space-3);
}

.sched-card {
	min-width: 0;
	padding: var(--smc-sched-card-pad);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.sched-cal__head,
.sched-list__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
	margin-bottom: var(--smc-space-2);
}

.sched-cal__title,
.sched-list__title {
	margin: 0 auto 0 0;
	font-size: var(--smc-text-lg);
	white-space: nowrap;
}

.sched-icon-btn {
	display: inline-grid;
	place-items: center;
	width: var(--smc-tap-min);
	height: var(--smc-tap-min);
	padding: 0;
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
	cursor: pointer;
}

.sched-icon-btn .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

.sched-prev .icon {
	transform: rotate(var(--smc-sched-rotate-prev));
}

.sched-next .icon {
	transform: rotate(var(--smc-sched-rotate-next));
}

/* 달력 격자: 390px 에서도 한 줄에 일곱 칸 */
.sched-grid {
	width: 100%;
	border-collapse: separate;
	border-spacing: var(--smc-sched-gap);
	table-layout: fixed;
}

.sched-grid th {
	padding: var(--smc-space-1) 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.sched-grid td {
	height: var(--smc-sched-day);
	padding: 0;
}

.sched-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: var(--smc-sched-mark-gap);
	width: 100%;
	height: 100%;
	min-height: var(--smc-tap-min);
	padding: var(--smc-sched-day-pad) 0 0;
	border: 0;
	border-radius: var(--smc-radius-md);
	background: transparent;
	color: var(--smc-color-text);
	font: inherit;
	font-weight: var(--smc-weight-medium);
	cursor: pointer;
}

.sched-day:hover {
	background: var(--smc-color-tint);
}

.sched-day__marks {
	display: flex;
	align-items: center;
	gap: var(--smc-sched-mark-gap);
	height: var(--smc-sched-mark);
}

.sched-mark {
	display: inline-block;
	width: var(--smc-sched-mark);
	height: var(--smc-sched-mark);
}

.sched-mark--dot {
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-primary);
}

.sched-mark--major {
	background: var(--smc-color-orange-deep);
}

.sched-mark--today {
	width: var(--smc-sched-legend-ring);
	height: var(--smc-sched-legend-ring);
	border-radius: var(--smc-radius-sm);
	box-shadow: inset 0 0 0 var(--smc-border-strong) var(--smc-color-orange-deep);
}

/* 오늘: 짙은 주황 테두리 / 선택: 남색 채움 */
.sched-day[aria-current="date"] {
	box-shadow: inset 0 0 0 var(--smc-border-strong) var(--smc-color-orange-deep);
}

.sched-day[aria-pressed="true"] {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.sched-day[aria-pressed="true"][aria-current="date"] {
	box-shadow: inset 0 0 0 var(--smc-border-strong) var(--smc-color-accent);
}

.sched-day[aria-pressed="true"] .sched-mark--dot {
	background: var(--smc-color-white);
}

.sched-day[aria-pressed="true"] .sched-mark--major {
	background: var(--smc-color-accent);
}

.sched-legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1) var(--smc-space-2);
	margin: var(--smc-space-2) 0 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.sched-legend span {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 목록 */
.sched-events,
.sched-undated__list,
.sched-major {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sched-event {
	display: grid;
	grid-template-columns: var(--smc-sched-badge) minmax(0, 1fr);
	gap: var(--smc-space-1) var(--smc-space-2);
	padding: var(--smc-space-2) 0;
	border-top: var(--smc-border-width) solid var(--smc-color-border);
}

.sched-event:first-child {
	border-top: 0;
}

.sched-badge {
	display: grid;
	align-content: center;
	justify-items: center;
	height: var(--smc-sched-badge);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-tint);
	color: var(--smc-color-primary);
	line-height: var(--smc-leading-heading);
}

.sched-badge b {
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
}

.sched-badge span {
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.sched-event.is-major .sched-badge {
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

.sched-badge--undated {
	border: var(--smc-border-strong) dashed var(--smc-color-primary);
	background: var(--smc-color-white);
}

.sched-event__title,
.sched-mcard__title {
	display: inline;
	margin: 0;
	font-size: var(--smc-text-base);
	line-height: var(--smc-leading-heading);
}

.sched-event__meta {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.sched-pill {
	display: inline-block;
	margin-left: var(--smc-space-1);
	padding: 0 var(--smc-space-1);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-tint);
	color: var(--smc-color-text);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.sched-pill--major {
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
}

.sched-empty {
	padding: var(--smc-space-2) 0;
	color: var(--smc-color-text-muted);
}

.sched-undated {
	margin-top: var(--smc-space-2);
	padding-top: var(--smc-space-2);
	border-top: var(--smc-border-strong) solid var(--smc-color-text);
}

.sched-undated__title {
	margin: 0;
	font-size: var(--smc-text-base);
}

.sched-undated__note {
	margin: 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* 자세히 보기 (소개 → 대상 · 신청 · 준비물 · 문의) */
.sched-more summary {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.sched-more summary .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
	transition: transform var(--smc-transition);
}

.sched-more[open] summary .icon {
	transform: rotate(var(--smc-rotate-flip));
}

.sched-more__intro {
	margin: 0 0 var(--smc-space-1);
}

.sched-more__list {
	display: grid;
	grid-template-columns: var(--smc-sched-dt) minmax(0, 1fr);
	gap: var(--smc-space-1) var(--smc-space-2);
	margin: 0 0 var(--smc-space-1);
	padding: var(--smc-space-2);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-bg);
	font-size: var(--smc-text-sm);
}

.sched-more__list dt {
	color: var(--smc-color-text-muted);
	font-weight: var(--smc-weight-bold);
}

.sched-more__list dd {
	margin: 0;
}

/* 링크 버튼: 계획 | 결과 한 덩어리 (예정은 계획, 지난 일정은 결과를 채워 강조) */
.sched-links {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: 100%;
	margin-top: var(--smc-space-1);
}

.sched-link,
.sched-add {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

.sched-link {
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
}

.sched-link:first-child {
	border-radius: var(--smc-radius-pill) 0 0 var(--smc-radius-pill);
}

.sched-link:last-child {
	border-radius: 0 var(--smc-radius-pill) var(--smc-radius-pill) 0;
}

.sched-link:only-child {
	border-radius: var(--smc-radius-pill);
}

.sched-link + .sched-link {
	border-left-width: 0;
}

.sched-link:hover {
	background: var(--smc-color-tint);
}

.sched-link.is-on {
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.sched-link .icon,
.sched-add .icon {
	flex: none;
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

.sched-add {
	margin-top: var(--smc-space-1);
	color: var(--smc-color-button);
	text-decoration: underline;
	text-underline-offset: var(--smc-underline-offset);
}

/* 주요 일정 탭: 큰 날짜 배지 카드 */
.sched-major {
	display: grid;
	gap: var(--smc-space-2);
}

.sched-mcard {
	display: grid;
	grid-template-columns: var(--smc-sched-mdate) minmax(0, 1fr);
	gap: var(--smc-space-2);
	padding: var(--smc-sched-card-pad);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.sched-mdate {
	display: grid;
	align-content: center;
	justify-items: center;
	padding: var(--smc-space-1) 0;
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-accent);
	color: var(--smc-color-on-accent);
	line-height: var(--smc-leading-heading);
	text-align: center;
}

.sched-mdate b {
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
}

.sched-mdate span {
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.sched-state {
	display: inline-block;
	margin-top: var(--smc-space-1);
	padding: 0 var(--smc-space-1);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.sched-state.is-past {
	border-color: var(--smc-color-text-muted);
	color: var(--smc-color-text-muted);
}

/* 목록이 새로 그려질 때 짧은 나타남 (움직임 줄이기면 0) */
.is-animating .sched-event {
	animation: smc-sched-in var(--smc-sched-anim) ease both;
	animation-delay: calc(var(--sched-i, 0) * var(--smc-sched-stagger));
}

@keyframes smc-sched-in {
	from {
		opacity: 0;
		transform: translateY(var(--smc-panel-shift));
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* 두 겹 초점 표시 */
.sched-tab:focus-visible,
.sched-today:focus-visible,
.sched-clear:focus-visible,
.sched-donation-toggle:focus-visible,
.sched-icon-btn:focus-visible,
.sched-day:focus-visible,
.sched-panel:focus-visible,
.sched-more summary:focus-visible,
.sched-link:focus-visible,
.sched-add:focus-visible,
.sched-event__title a:focus-visible,
.sched-mcard__title a:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* ── 24. 후원 분류 · 후원 안내 (지시서 36) ──
 * 후원 알약은 이야기 종류 알약과 다르게: 흰 바탕 · 남색 테두리 · 하트 아이콘 + 글자.
 */

/* 후원 알약 (inc/donation.php 의 smcmh_the_donation_pills) */
.smc-donation-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

.smc-donation-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-donation-pill-gap);
	padding: 0 var(--smc-space-1);
	border: var(--smc-border-width) solid var(--smc-color-button);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-donation-pill .icon {
	flex: none;
	width: var(--smc-donation-pill-icon);
	height: var(--smc-donation-pill-icon);
}

.smc-donation-pill--more {
	border-style: dashed;
}

/* 카드의 후원 한 줄 안내 (짧은 코드 카드) */
.story-card__note {
	margin: 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* 글 끝 안내 상자 */
.smc-donation-box {
	display: grid;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-4);
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-donation-box__title {
	display: flex;
	align-items: center;
	gap: var(--smc-space-1);
	margin: 0;
	font-size: var(--smc-text-lg);
}

.smc-donation-box__title .icon {
	flex: none;
	color: var(--smc-color-orange-deep);
}

.smc-donation-box__note,
.smc-donation-box__more {
	margin: 0;
}

.smc-donation-box__note {
	color: var(--smc-color-text-muted);
}

/* 짧은 코드 [smc_donation_stories]: 걸러 보기 · "N건" · 가로 넘겨 보기 (assets/js/donation.js) */
.smc-donation-stories {
	margin-block: var(--smc-space-3);
}

.smc-donation-stories__filters[hidden] {
	display: none;
}

.smc-donation-stories__filters,
.smc-donation-stories__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
}

.smc-donation-filter {
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-border);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font: inherit;
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.smc-donation-filter:hover {
	background: var(--smc-color-tint);
}

.smc-donation-filter[aria-pressed="true"] {
	border-color: var(--smc-color-button);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.smc-donation-stories__count {
	margin: var(--smc-space-1) 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-donation-stories__nav[aria-disabled="true"] {
	opacity: var(--smc-disabled-opacity);
	cursor: default;
}

.smc-donation-stories__list {
	display: flex;
	gap: var(--smc-space-2);
	margin: var(--smc-space-2) 0 0;
	padding: var(--smc-space-1) var(--smc-space-1) var(--smc-space-2);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-behavior: var(--smc-scroll-behavior);
	scroll-snap-type: x mandatory;
	list-style: none;
}

.smc-donation-stories__item {
	flex: 0 0 var(--smc-strip-item);
	scroll-snap-align: start;
}

.smc-donation-stories__item[hidden] {
	display: none;
}

.smc-donation-stories__empty {
	color: var(--smc-color-text-muted);
}

.smc-donation-filter:focus-visible,
.smc-donation-stories__nav:focus-visible,
.smc-donation-stories__list:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 후원 안내 틀 (patterns/page-07-donation.php) */
.smc-pat-cards--single {
	display: block;
}

.smc-pat-note {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* 사용 결과 "수입 | 사용 결과" 한 덩어리 버튼 (일정 링크 버튼과 같은 모양) */
.smc-pat-linkpair {
	gap: 0;
	flex-wrap: nowrap;
}

.smc-pat-linkpair .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-button);
	border-radius: 0;
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-pat-linkpair .wp-block-button:first-child .wp-block-button__link {
	border-radius: var(--smc-radius-pill) 0 0 var(--smc-radius-pill);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
}

.smc-pat-linkpair .wp-block-button:last-child .wp-block-button__link {
	border-left-width: 0;
	border-radius: 0 var(--smc-radius-pill) var(--smc-radius-pill) 0;
}

.smc-pat-linkpair .wp-block-button__link:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-primary);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* ── 25. 홈 후원 띠 · 후원 칩 (지시서 40) ── */

/* 홈 후원 안내 띠: 흰 상자, 그림 · 움직임 없음 */
.donation-band__inner {
	padding: var(--smc-space-4) var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-border);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.donation-band__inner .section-title {
	margin: 0;
}

.donation-band__lead,
.donation-band__promise {
	max-width: var(--smc-sub-max);
	margin: var(--smc-space-1) 0 0;
}

.donation-band__promise {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.donation-band__action {
	margin: var(--smc-space-3) 0 0;
}

/* "후원금 사용" 칩: 이야기 종류 칩 줄의 마지막 항목(지시서 43). 점선 테두리로 종류 칩과 구분,
 * 켜지면 채움 + "켜짐" 글자 (색만으로 알리지 않음). 칩 줄은 줄바꿈되므로 390px 에서도 옆으로 밀리지 않음 */
.chip--donation {
	gap: var(--smc-space-1);
	border-style: dashed;
	border-color: var(--smc-color-button);
	color: var(--smc-color-button);
}

.chip--donation[aria-current="true"] {
	border: var(--smc-border-strong) solid var(--smc-color-button);
	background: var(--smc-color-button);
	color: var(--smc-color-on-button);
	font-weight: var(--smc-weight-bold);
}

.chip__state {
	padding: 0 var(--smc-space-1);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-button);
	font-size: var(--smc-text-sm);
}

/* ── 디자인 개편 2026-10: 기초 부품 (지시서 79) ──────────
 * 시안: C:\smcmh-theme\reference\design-2026-10 (DESIGN-NOTES.md, boards). 새 부품은 smc- 로 시작하는 새 이름이고,
 * 기존 탭(.smc-el-tabs)과 접는 칸(.smc-el-accordion, .smc-pat-faq)은 기능은 그대로 두고 모양만 이 구역에서 덮어씁니다.
 * 색은 tokens.css 의 이름만 씁니다. 화면 너비에 따른 값과 움직임 줄이기도 tokens.css 에서 정합니다(이 파일에는 @media 없음).
 */

/* 버튼 기본: 청록 바탕 · 흰 글자 · 알약 · 높이 48px 이상 (링크 글자를 버튼으로 바꿀 때 씀) */
.smc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--smc-space-1);
	max-width: 100%;
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
	font: inherit;
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
	line-height: var(--smc-leading-heading);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--smc-transition), border-color var(--smc-transition), color var(--smc-transition);
}

/* 버튼 마우스 올림: 진청록 */
.smc-btn:hover {
	border-color: var(--smc-color-teal-dark);
	background: var(--smc-color-teal-dark);
	color: var(--smc-on-teal-dark);
}

/* 버튼 안 아이콘: 글자 옆 20px, 줄어들지 않음 */
.smc-btn .icon {
	flex: none;
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

/* 노랑 버튼: 후원하기 · 전화하기 (본문색 글자) */
.smc-btn--accent {
	border-color: var(--smc-color-amber);
	background: var(--smc-color-amber);
	color: var(--smc-color-ink);
}

/* 노랑 버튼 마우스 올림 */
.smc-btn--accent:hover {
	border-color: var(--smc-color-amber-hover);
	background: var(--smc-color-amber-hover);
	color: var(--smc-color-ink);
}

/* 보조 버튼: 투명 바탕 · 청록 테두리와 글자 */
.smc-btn--line {
	background: transparent;
	color: var(--smc-color-teal);
}

/* 보조 버튼 마우스 올림: 청록 틴트 */
.smc-btn--line:hover {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 흰 버튼: 어두운 바탕(아래 띠 · 바닥글) 위의 흰 테두리와 글자 */
.smc-btn--white {
	border-color: var(--smc-color-white);
	background: transparent;
	color: var(--smc-color-white);
}

/* 흰 버튼 마우스 올림: 흰색 10% 바탕 */
.smc-btn--white:hover {
	border-color: var(--smc-color-white);
	background: var(--smc-color-band-card);
	color: var(--smc-color-white);
}

/* 작은 버튼: 높이 44px · 글자 15px */
.smc-btn--sm {
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	font-size: var(--smc-text-btn-sm);
}

/* 칩: 높이 32px · 청록 틴트 바탕 · 진청록 글자 14px (누르는 것이 아니라 표시용) */
.smc-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-donation-pill-gap);
	min-height: var(--smc-chip-height);
	padding: 0 var(--smc-space-2);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
	font-size: var(--smc-text-chip);
	font-weight: var(--smc-weight-bold);
	line-height: var(--smc-leading-heading);
}

/* 카드: 흰 바탕 · 카드 테두리 1px · 둥글기 20px */
.smc-card {
	min-width: 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
}

/* 탭 덮어쓰기: 알약 버튼 줄 (고른 탭은 청록 바탕 · 흰 글자, 아닌 탭은 흰 바탕 · 회갈색 테두리). 기능은 elements.js 그대로 */
.smc-el-tabs__tab {
	min-height: var(--smc-chip-min);
	border: var(--smc-border-strong) solid var(--smc-color-line);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
	transition: background-color var(--smc-transition), border-color var(--smc-transition);
}

/* 아닌 탭 마우스 올림: 청록 테두리 */
.smc-el-tabs__tab:hover {
	border-color: var(--smc-color-teal);
}

/* 고른 탭: 청록 바탕 · 흰 글자 (색만이 아니라 굵기 · 테두리로도 구분) */
.smc-el-tabs__tab[aria-selected="true"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 탭 칸: 흰 카드 모양 */
.smc-el-tabs.is-enhanced [role="tabpanel"] {
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 접는 칸 덮어쓰기(아코디언 요소 07 · 자주 묻는 질문 글 틀 11): 흰 바탕 큰 단추, 테두리 2px. 기능(한 번에 하나만 열림)은 그대로 */
.smc-el-accordion .wp-block-details,
.smc-el-accordion .wp-block-details:first-of-type,
.smc-pat-faq {
	border: var(--smc-border-strong) solid var(--smc-color-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	transition: background-color var(--smc-transition), border-color var(--smc-transition);
}

/* 접는 칸 사이 8px */
.smc-el-accordion .wp-block-details + .wp-block-details,
.smc-pat-faq + .smc-pat-faq {
	margin-top: var(--smc-space-1);
}

/* 접는 칸 단추: 높이 64px 이상, 오른쪽에 더하기 · 빼기 */
.smc-el-accordion summary,
.smc-pat-faq summary {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
	min-height: var(--smc-fold-min);
	padding: var(--smc-space-2) var(--smc-space-3);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
	list-style: none;
}

/* 사파리의 기본 삼각형 숨김 */
.smc-el-accordion summary::-webkit-details-marker {
	display: none;
}

/* 더하기 모양 (아이콘 한 벌의 plus, 글자색으로 칠함) */
.smc-el-accordion summary::after,
.smc-pat-faq summary::after {
	content: "";
	flex: none;
	width: var(--smc-icon-size);
	height: var(--smc-icon-size);
	margin-left: auto;
	background: currentColor;
	-webkit-mask: var(--smc-fold-icon-plus) center / contain no-repeat;
	mask: var(--smc-fold-icon-plus) center / contain no-repeat;
}

/* 열린 칸: 청록 틴트 바탕 · 청록 테두리 */
.smc-el-accordion .wp-block-details[open],
.smc-pat-faq[open] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal-tint);
}

/* 열린 칸 단추 글자: 진청록 */
.smc-el-accordion .wp-block-details[open] > summary,
.smc-pat-faq[open] summary {
	color: var(--smc-color-teal-dark);
}

/* 열린 칸: 빼기 모양 */
.smc-el-accordion .wp-block-details[open] > summary::after,
.smc-pat-faq[open] summary::after {
	content: "";
	-webkit-mask-image: var(--smc-fold-icon-minus);
	mask-image: var(--smc-fold-icon-minus);
}

/* 열린 칸 아래 본문 */
.smc-el-accordion .wp-block-details > :not(summary),
.smc-pat-faq > :not(summary) {
	margin: 0;
	padding: 0 var(--smc-space-3) var(--smc-space-3);
	color: var(--smc-color-body-soft);
}

/* 번호 섹션 머리: 큰 숫자(Pretendard 800, 구글 글꼴 쓰지 않음) + 섹션 제목, 오른쪽에 보조 버튼(선택). 좁은 화면은 버튼이 아래 줄로 */
.smc-sec-head {
	display: flex;
	flex-wrap: var(--smc-sec-head-wrap);
	align-items: flex-end;
	gap: var(--smc-space-1) var(--smc-space-3);
	margin-bottom: var(--smc-space-4);
}

/* 큰 숫자 01, 02: 24px 이상 굵은 글자라 노랑 글자색(큰 글자 3:1)을 씀 */
.smc-sec-head__num {
	flex: none;
	color: var(--smc-color-amber-text);
	font-family: var(--smc-font-sans);
	font-size: var(--smc-text-sec-num);
	font-weight: var(--smc-weight-heavy);
	line-height: 1;
	letter-spacing: var(--smc-tracking-tight);
}

/* 섹션 제목 32px 800 */
.smc-sec-head__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sec-title);
	font-weight: var(--smc-weight-heavy);
}

/* 섹션 머리 오른쪽 버튼 */
.smc-sec-head__action {
	margin-left: auto;
}

/* 안쪽 페이지 표지: 2열(왼쪽 글 · 오른쪽 그림 틀), 좁은 화면은 그림이 글 아래 */
.smc-page-hero {
	display: grid;
	grid-template-columns: var(--smc-page-hero-columns);
	align-items: center;
	gap: var(--smc-space-4);
	padding-block: var(--smc-space-6);
}

/* 표지 왼쪽 위 작은 청록 라벨 */
.smc-page-hero__label {
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

/* 표지 큰 제목 (안쪽 페이지 48px) */
.smc-page-hero__title {
	margin: 0 0 var(--smc-space-2);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-page-title);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-hero);
	letter-spacing: var(--smc-tracking-hero);
}

/* 표지 소개 글 */
.smc-page-hero__lead {
	max-width: var(--smc-lead-max);
	margin: 0 0 var(--smc-space-3);
	color: var(--smc-color-muted);
	font-size: var(--smc-text-lead);
}

/* 표지 버튼 1~2개: 좁으면 줄바꿈 */
.smc-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

/* 표지 오른쪽 그림 틀: 청록 틴트 · 둥글기 36px */
.smc-page-hero__art {
	display: grid;
	place-items: center;
	min-width: 0;
	padding: var(--smc-space-4);
	border-radius: var(--smc-radius-2xl);
	background: var(--smc-color-teal-tint);
}

/* 그림 틀 안 일러스트 */
.smc-page-hero__art img {
	width: 100%;
	max-width: var(--smc-illust-max);
	height: auto;
}

/* 아래 띠(행동 유도): 청록 바탕 전체 폭, 왼쪽 제목 · 오른쪽 노랑 버튼과 흰 버튼 */
.smc-cta-band {
	padding-block: var(--smc-space-6);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 띠 안쪽: 본문 폭 1200px, 좁으면 줄바꿈 */
.smc-cta-band__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-3);
	max-width: var(--smc-wide-max);
	margin-inline: auto;
	padding-inline: var(--smc-gutter);
}

/* 띠 제목 */
.smc-cta-band__title {
	min-width: 0;
	margin: 0;
	color: var(--smc-on-teal);
	font-size: var(--smc-text-sec-title);
	font-weight: var(--smc-weight-heavy);
}

/* 띠 버튼 묶음 */
.smc-cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

/* 어두운 띠 위 초점 표시: 안쪽 짙은 테두리 + 바깥 흰 테두리 (지시서 37 의 푸터와 같은 방식) */
.smc-cta-band :focus-visible {
	outline-color: var(--smc-color-white);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-ink);
}

/* 사진 자리: 비율 틀(둥글기 24px). 사진은 꽉 채워 자르고, 없으면 연한 바탕에 사진 아이콘 (inc/template-tags.php 의 smcmh_photo) */
.smc-photo {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-sand);
	aspect-ratio: var(--smc-ratio-16-9);
}

/* 비율 4/5 (홈 표지 큰 사진) */
.smc-photo--4-5 {
	aspect-ratio: var(--smc-ratio-4-5);
}

/* 비율 16/10 (카드 · 오시는 길) */
.smc-photo--16-10 {
	aspect-ratio: var(--smc-ratio-16-10);
}

/* 비율 3/2 */
.smc-photo--3-2 {
	aspect-ratio: var(--smc-ratio-3-2);
}

/* 비율 4/3 */
.smc-photo--4-3 {
	aspect-ratio: var(--smc-ratio-4-3);
}

/* 비율 1/1 */
.smc-photo--1-1 {
	aspect-ratio: var(--smc-ratio-1-1);
}

/* 비율 16/9 (기본) */
.smc-photo--16-9 {
	aspect-ratio: var(--smc-ratio-16-9);
}

/* 비율 16/7 (넓은 띠 사진) */
.smc-photo--16-7 {
	aspect-ratio: var(--smc-ratio-16-7);
}

/* 사진: 틀을 꽉 채워 자름 */
.smc-photo__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 빈 사진 자리: 연한 바탕 + 점선 테두리 + 가운데 사진 아이콘 */
.smc-photo--empty {
	display: grid;
	place-items: center;
	border: var(--smc-border-strong) dashed var(--smc-color-line);
	background: var(--smc-color-sand-alt);
}

/* 빈 사진 자리 아이콘 (장식) */
.smc-photo__icon {
	display: flex;
	color: var(--smc-color-muted);
}

/* 빈 사진 자리 아이콘 크기 48px */
.smc-photo__icon .icon {
	width: var(--smc-photo-empty-icon);
	height: var(--smc-photo-empty-icon);
}

/* 편집자에게만 보이는 사진 자리 안내 (로그인 · edit_posts) */
.smc-photo__note {
	position: absolute;
	top: var(--smc-space-2);
	left: var(--smc-space-2);
	max-width: calc(100% - var(--smc-space-4));
	padding: var(--smc-space-1) var(--smc-space-2);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-chip);
	font-weight: var(--smc-weight-bold);
	line-height: var(--smc-leading-heading);
}

/* ── 디자인 개편 2026-10: 머리글 · 바닥글 · 홈 (지시서 80) ──────────
 * 시안 boards/Header · Footer · Main. 기존 클래스는 지우지 않고 이 구역에서 덮어쓰거나 새 smc- 이름을 씁니다.
 * 머리글 한 줄 계산은 tokens.css 의 "머리글 한 줄 폭 (지시서 80)".
 */

/* 새 디자인 본문 폭: 최대 1200px, 좌우 여백은 화면 폭에 따라 (tokens.css 의 --smc-gutter) */
.smc-wrap {
	width: 100%;
	max-width: var(--smc-wide-max);
	margin-inline: auto;
	padding-inline: var(--smc-gutter);
}

/* 홈 바탕: 종이색 (홈에만, 다른 페이지는 다음 단계에서) */
body.home {
	background: var(--smc-color-paper);
}

/* 머리글: 흰 바탕 · 카드 테두리 */
.site-header {
	border-bottom-color: var(--smc-color-card-line);
	background: var(--smc-color-white);
}

/* 머리글 안쪽: 좌우 여백 16px, 묶음 사이 8px (한 줄 계산에 맞춤) */
.site-header .site-header__inner {
	gap: var(--smc-space-1) var(--smc-header-gap);
	padding-inline: var(--smc-header-pad);
}

/* 로고: 그림 아래 부제(1100px 이하에서 숨김) */
.site-logo {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

/* 로고 아래 부제 12px 보조 글자 */
.site-logo__sub {
	display: var(--smc-header-sub-display);
	color: var(--smc-color-muted);
	font-size: var(--smc-text-xs);
	font-weight: var(--smc-weight-medium);
	line-height: var(--smc-leading-heading);
	white-space: nowrap;
}

/* 넓은 화면 가로 메뉴: 가운데 정렬, 알약 사이 2px */
.site-nav:not(.is-open) {
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

/* 가로 메뉴 목록 */
.site-nav:not(.is-open) .site-nav__list {
	gap: calc(var(--smc-space-1) / 4);
}

/* 맨 위 항목 = 알약(링크 + 펼침 버튼 한 덩어리). 하위 띠가 머리글 전체 폭에 붙도록 위치 기준을 머리글로 넘김 */
.site-nav:not(.is-open) .site-nav__list > .menu-item {
	position: static;
	flex-wrap: nowrap;
	border-radius: var(--smc-radius-pill);
	transition: background-color var(--smc-transition);
}

/* 알약 마우스 올림 · 열림 · 지금 보는 곳: 청록 틴트 */
.site-nav:not(.is-open) .site-nav__list > .menu-item:hover,
.site-nav:not(.is-open) .site-nav__list > .menu-item.is-expanded,
.site-nav:not(.is-open) .site-nav__list > .current-menu-item,
.site-nav:not(.is-open) .site-nav__list > .current-menu-ancestor {
	background: var(--smc-color-teal-tint);
}

/* 알약 글자: 15px 굵게, 밑줄 없음 */
.site-nav:not(.is-open) .site-nav__list > .menu-item > a {
	padding-inline: var(--smc-nav-pad);
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-ink);
	font-size: var(--smc-nav-font);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

/* 지금 보는 곳 · 마우스 올림 글자: 진청록 (밑줄 대신 바탕으로 구분) */
.site-nav:not(.is-open) .site-nav__list > .menu-item > a:hover,
.site-nav:not(.is-open) .site-nav__list > .current-menu-item > a,
.site-nav:not(.is-open) .site-nav__list > .current-menu-ancestor > a {
	color: var(--smc-color-teal-dark);
	text-decoration: none;
}

/* 펼침 버튼: 알약 안의 아래 화살표(누르는 영역 44px) */
.site-nav:not(.is-open) .submenu-toggle {
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-ink);
}

/* 펼침 버튼 마우스 올림: 알약 바탕이 이미 틴트라 글자색만 */
.site-nav:not(.is-open) .submenu-toggle:hover {
	background: transparent;
	color: var(--smc-color-teal-dark);
}

/* 열린 하위 메뉴 = 머리글 바로 아래 한 줄 띠(종이색), 안쪽은 본문 폭 1200px 에 맞춤 */
.site-nav:not(.is-open) .site-nav__list > .menu-item > .sub-menu {
	top: 100%;
	right: 0;
	left: 0;
	width: auto;
	min-width: 0;
	max-width: none;
	padding: var(--smc-space-2) max(var(--smc-header-pad), calc((100% - var(--smc-wide-max)) / 2 + var(--smc-gutter)));
	border: 0;
	border-top: var(--smc-border-width) solid var(--smc-color-card-line);
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: 0;
	background: var(--smc-color-paper);
}

/* 띠 안: 알약 버튼 줄 (좁으면 줄바꿈) */
.site-nav:not(.is-open) .site-nav__list > .menu-item.is-expanded > .sub-menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

/* 띠 안 하위 항목: 흰 바탕 · 청록 테두리 알약 버튼 */
.site-nav:not(.is-open) .sub-menu a {
	flex-direction: row;
	align-items: center;
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-teal);
	font-size: var(--smc-nav-font);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
	white-space: nowrap;
}

/* 띠 안 하위 항목 마우스 올림 */
.site-nav:not(.is-open) .sub-menu a:hover {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
	text-decoration: none;
}

/* 띠 안 지금 보는 곳: 청록 바탕 · 흰 글자 */
.site-nav:not(.is-open) .sub-menu .current-menu-item > a {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 띠 안에서는 한 줄 설명을 화면에 보이지 않고 화면 낭독기만 읽음(알약 모양 때문, 지시서 32 의 설명은 그대로 들어 있음) */
.site-nav:not(.is-open) .site-nav__desc {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 머리글 둥근 아이콘 버튼(검색 · 전화 · 로그인): 흰 바탕 · 회갈색 테두리 2px · 본문색 */
.site-header .header-icon {
	border: var(--smc-border-strong) solid var(--smc-color-line);
	color: var(--smc-color-ink);
}

/* 아이콘 버튼 마우스 올림 · 검색 칸 열림 */
.site-header .header-icon:hover,
.site-header .header-icon[aria-expanded="true"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 색 비교 버튼(팔레트): 제안 색감을 보고 있으면 눌린 모양 */
.site-header .header-color-toggle[aria-pressed="true"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 노랑 "후원하기": 가로 메뉴 폭에서만. 1100px 이하는 하트만 보이는 둥근 44px */
.header-actions .header-donate {
	display: var(--smc-header-wide-only);
	min-width: var(--smc-tap-min);
	padding-inline: var(--smc-header-donate-pad);
}

/* "후원하기" 글자 (1100px 이하에서 숨김, 이름은 aria-label 로 남음) */
.header-donate__text {
	display: var(--smc-header-donate-text);
}

/* 좁은 화면 "메뉴" 버튼: 청록 테두리 2px */
.site-header .menu-button {
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	color: var(--smc-color-teal);
}

/* "메뉴" 버튼 마우스 올림 */
.site-header .menu-button:hover {
	background: var(--smc-color-teal-tint);
}

/* 메뉴 시트(좁은 화면): 종이색 바탕, 줄 구분선은 카드 테두리 */
.site-header .site-nav.is-open {
	background: var(--smc-color-paper);
}

/* 시트 항목 구분선 */
.site-nav.is-open .site-nav__list > .menu-item {
	border-bottom-color: var(--smc-color-card-line);
}

/* 시트 링크: 본문색, 하위 링크는 진청록 */
.site-nav.is-open a {
	color: var(--smc-color-ink);
}

/* 시트 하위 링크 */
.site-nav.is-open .sub-menu a {
	color: var(--smc-color-teal-dark);
}

/* 머리글 검색 칸 패널: 종이색 바탕 */
.site-header .header-search {
	border-top-color: var(--smc-color-card-line);
	background: var(--smc-color-paper);
}

/* 머리글 · 시트의 검색 버튼: 청록 */
.site-header .search-submit {
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	background: var(--smc-color-teal);
}

/* 검색 버튼 마우스 올림 */
.site-header .search-submit:hover {
	border-color: var(--smc-color-teal-dark);
	background: var(--smc-color-teal-dark);
}

/* 바닥글: 바닥글 바탕(지시서 83에서 진한 주색 대신 --smc-color-footer 남색) */
.site-footer {
	padding-block: var(--smc-space-8) var(--smc-space-4);
	background: var(--smc-color-footer);
}

/* 바닥글 4칸 (좁은 화면 1칸, 48em 이상 2칸, 64em 이상 4칸) */
.site-footer .site-footer__grid {
	grid-template-columns: var(--smc-footer-grid);
	gap: var(--smc-space-5);
}

/* 바닥글 한 칸: 위아래로 쌓음 */
.site-footer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--smc-space-2);
	min-width: 0;
}

/* 기관 이름 26px */
.site-footer .site-footer__name {
	font-size: var(--smc-text-card-title);
}

/* 한 줄 · 칸 제목: 바닥글 보조 글자색 */
.site-footer .site-footer__text,
.site-footer .site-footer__heading {
	margin: 0;
	color: var(--smc-color-footer-text);
}

/* 칸 제목 15px 굵게 */
.site-footer .site-footer__heading {
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

/* 연락처 목록 */
.site-footer__list {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 아이콘 + 글 한 줄 (주소 · 전화 · 운영 시간 · 이메일) */
.site-footer__info {
	display: flex;
	align-items: flex-start;
	gap: var(--smc-space-1);
	margin: 0;
}

/* 목록 안 한 줄은 가운데 맞춤 (링크 누르는 영역 44px) */
.site-footer__list .site-footer__info {
	align-items: center;
}

/* 바닥글 주소 */
.site-footer__info address {
	font-style: normal;
}

/* 바닥글 전화 · 이메일 링크: 누르는 영역 44px */
.site-footer__info a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
}

/* 바닥글 아이콘: 노랑 선 20px (진청록 바탕과 대비 3:1 이상) */
.site-footer__icon {
	display: flex;
	flex: none;
	color: var(--smc-color-amber);
}

/* 바닥글 아이콘 크기 */
.site-footer__icon .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

/* 바로가기 버튼 줄 */
.site-footer__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 바닥글 안 노랑 버튼: 본문색 글자 (바닥글 링크의 흰 글자보다 앞서게) */
.site-footer .smc-btn--accent,
.site-footer .smc-btn--accent:hover {
	color: var(--smc-color-ink);
}

/* "등록 안내": 노랑 테두리 · 연한 노랑 글자 (시안의 노랑 글자는 16px 에서 대비 4.4:1 이라 연한 노랑으로 바꿈) */
.site-footer .site-footer__ask-line {
	border-color: var(--smc-color-amber);
	background: transparent;
	color: var(--smc-color-amber-tint);
}

/* "등록 안내" 마우스 올림 */
.site-footer .site-footer__ask-line:hover {
	border-color: var(--smc-color-amber);
	background: var(--smc-color-band-card);
	color: var(--smc-color-amber-tint);
}

/* 저작권 줄 */
.site-footer .site-footer__copy {
	color: var(--smc-color-footer-text);
}

/* 좁은 화면 하단 빠른 연결 바: 흰 바탕, 버튼은 새 노랑 · 보조 모양 */
.dock {
	border-top-color: var(--smc-color-card-line);
	background: var(--smc-color-white);
}

/* 빠른 연결 바 "전화하기": 노랑 */
.dock .button--accent,
.dock .button--accent:hover {
	border-color: var(--smc-color-amber);
	background: var(--smc-color-amber);
	color: var(--smc-color-ink);
}

/* 빠른 연결 바 "오시는 길": 청록 테두리 2px */
.dock .button--ghost {
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	color: var(--smc-color-teal);
}

/* 빠른 연결 바 "오시는 길" 마우스 올림 */
.dock .button--ghost:hover {
	background: var(--smc-color-teal-tint);
}

/* 홈 구역 공통: 위 여백 */
.smc-home-sec {
	padding-top: var(--smc-section-space);
}

/* 흰 바탕 띠 구역(01 하는 일): 위아래 카드 테두리 */
.smc-home-sec--surface {
	padding-bottom: var(--smc-section-space);
	border-block: var(--smc-border-width) solid var(--smc-color-card-line);
	background: var(--smc-color-white);
}

/* 구역 위 작은 머리글 */
.smc-home-sec__eyebrow {
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

/* 섹션 머리 바로 아래 소개 글 */
.smc-home-sec__intro {
	max-width: var(--smc-sub-max);
	margin: 0 0 var(--smc-space-4);
	color: var(--smc-color-muted);
}

/* 소개 글이 있으면 섹션 머리 아래 간격을 줄임 */
.smc-sec-head:has(+ .smc-home-sec__intro) {
	margin-bottom: var(--smc-space-2);
}

/* 홈 표지 */
.smc-home-hero {
	padding-block: var(--smc-hero-space-top) var(--smc-section-space);
}

/* 표지 2열(왼쪽 글 · 오른쪽 사진), 좁은 화면은 위아래 */
.smc-home-hero__inner {
	display: grid;
	grid-template-columns: var(--smc-home-hero-columns);
	align-items: center;
	gap: var(--smc-space-6);
}

/* 표지 글 묶음 */
.smc-home-hero__text {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-3);
	min-width: 0;
}

/* 표지 작은 머리글(기관 부제) */
.smc-home-hero__kick {
	margin: 0;
	color: var(--smc-color-teal);
	font-size: var(--smc-text-chip);
	font-weight: var(--smc-weight-bold);
}

/* 표지 큰 제목 (34~56px, 800) */
.smc-home-hero__title {
	margin: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-hero);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-hero);
	letter-spacing: var(--smc-tracking-hero);
}

/* 제목 한 줄씩 */
.smc-home-hero__line {
	display: block;
}

/* 표지 소개 문장 */
.smc-home-hero__lead {
	max-width: var(--smc-lead-max);
	margin: 0;
	color: var(--smc-color-muted);
	font-size: var(--smc-text-lead);
}

/* 표지 버튼 2개 */
.smc-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

/* 표지 정보 알약(전화 · 주소) */
.smc-home-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 긴 주소도 알약 안에서 줄바꿈 */
.smc-home-hero__facts .smc-chip {
	padding-block: calc(var(--smc-space-1) / 2);
}

/* 칩 안 아이콘 14px */
.smc-chip .icon {
	flex: none;
	width: var(--smc-donation-pill-icon);
	height: var(--smc-donation-pill-icon);
}

/* 표지 오른쪽: 사진 위에 배지를 겹침 */
.smc-home-hero__media {
	position: relative;
	min-width: 0;
}

/* 대표 사진이 없을 때: 4/5 청록 틴트 틀 안의 일러스트 */
.smc-home-hero__art {
	display: grid;
	place-items: center;
	padding: var(--smc-space-4);
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-teal-tint);
	aspect-ratio: var(--smc-ratio-4-5);
}

/* 표지 일러스트 */
.smc-home-hero__illust {
	width: 100%;
	max-width: var(--smc-illust-max);
	height: auto;
}

/* 운영 시간 배지: 사진 왼쪽 아래, 흰 바탕 · 그림자(새 디자인에서 그림자를 쓰는 한 곳) */
.smc-home-hero__badge {
	position: absolute;
	bottom: var(--smc-space-4);
	left: var(--smc-space-2);
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
	max-width: calc(100% - var(--smc-space-4));
	margin: 0;
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	box-shadow: var(--smc-shadow-badge);
	color: var(--smc-color-ink);
}

/* 배지 아이콘 원 44px */
.smc-home-hero__badge-icon {
	display: grid;
	flex: none;
	place-items: center;
	width: var(--smc-badge-icon);
	height: var(--smc-badge-icon);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal);
}

/* 배지 글: 작은 이름 + 굵은 시간 */
.smc-home-hero__badge-text {
	display: flex;
	flex-direction: column;
	line-height: var(--smc-leading-heading);
}

/* 배지 작은 이름 */
.smc-home-hero__badge-label {
	color: var(--smc-color-muted);
	font-size: var(--smc-text-chip);
}

/* 01 하는 일 카드 줄: 좁으면 한 장씩 */
.smc-home-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-home-card-min)), 1fr));
	gap: var(--smc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 하는 일 카드: 종이색 바탕, 위아래로 쌓음 */
.smc-home-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--smc-space-2);
	padding: var(--smc-space-4);
	background: var(--smc-color-paper);
}

/* 카드 아이콘 원 60px */
.smc-home-card__icon {
	display: grid;
	place-items: center;
	width: var(--smc-icon-circle);
	height: var(--smc-icon-circle);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal);
}

/* 카드 아이콘 30px */
.smc-home-card__icon .icon {
	width: calc(var(--smc-icon-size) * 1.25);
	height: calc(var(--smc-icon-size) * 1.25);
}

/* 카드 제목 20~24px */
.smc-home-card__title {
	margin: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-card-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 카드 설명 */
.smc-home-card__desc {
	flex: 1 1 auto;
	margin: 0;
	color: var(--smc-color-muted);
}

/* 카드 아래 "자세히 보기" */
.smc-home-card__more {
	margin-top: auto;
}

/* 02 이야기: 큰 카드 2 : 작은 카드 1 (좁은 화면은 위아래) */
.smc-home-stories {
	display: grid;
	grid-template-columns: var(--smc-home-story-columns);
	gap: var(--smc-space-4);
}

/* 오른쪽 작은 카드 두 장 */
.smc-home-stories__side {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-4);
	min-width: 0;
}

/* 이야기 카드 한 장 (제목 링크가 카드 전체를 덮음) */
.smc-home-story {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-2);
	min-width: 0;
}

/* 이야기 알약 줄 */
.smc-home-story__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
}

/* 이야기 종류 알약을 새 칩 모양으로 */
.smc-home-story .badge--story {
	min-height: var(--smc-chip-height);
	padding: 0 var(--smc-space-2);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
	font-size: var(--smc-text-chip);
}

/* 작은 카드 제목 20px */
.smc-home-story__title {
	margin: 0;
	font-size: var(--smc-text-story-sm);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
}

/* 큰 카드 제목 24~30px */
.smc-home-story--lg .smc-home-story__title {
	font-size: var(--smc-text-story-lg);
}

/* 제목 링크: 본문색, 밑줄 없음 */
.smc-home-story__title a {
	color: var(--smc-color-ink);
	text-decoration: none;
}

/* 제목 링크가 카드 전체를 덮어 어디를 눌러도 글로 감 */
.smc-home-story__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* 카드에 마우스를 올리면 제목 밑줄 */
.smc-home-story:hover .smc-home-story__title a {
	text-decoration: underline;
}

/* 큰 카드 요약 · 날짜 */
.smc-home-story__excerpt,
.smc-home-story .post-date {
	margin: 0;
	color: var(--smc-color-muted);
}

/* 03 소식 · 일정 탭 칸 안쪽 */
.smc-home-news.is-enhanced [role="tabpanel"] {
	padding: var(--smc-space-2) var(--smc-space-3);
}

/* 자바스크립트가 없을 때 보이는 칸 제목 */
.smc-home-news__title {
	margin: 0 0 var(--smc-space-2);
	font-size: var(--smc-text-lg);
}

/* 중요 공지 목록 */
.smc-home-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 공지 한 줄: 제목 · 날짜, 줄 사이 구분선 */
.smc-home-list__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-1) var(--smc-space-3);
	padding-block: var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
}

/* 마지막 줄은 구분선 없음 */
.smc-home-list__item:last-child {
	border-bottom: 0;
}

/* 공지 제목 링크 */
.smc-home-list__title {
	flex: 1 1 var(--smc-search-field-min);
	min-width: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

/* 공지가 없을 때 안내 */
.smc-home-list__empty {
	margin: 0;
	padding-block: var(--smc-space-2);
}

/* 탭 아래 버튼 2개 */
.smc-home-news__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-3);
}

/* 후원 띠: 노랑 틴트 둥근 상자 (공개된 후원 안내가 있을 때만) */
.smc-home-donate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-4);
	padding: var(--smc-space-5) var(--smc-space-4);
	border-radius: var(--smc-radius-band);
	background: var(--smc-color-amber-tint);
	color: var(--smc-color-ink);
}

/* 후원 띠 글 묶음 */
.smc-home-donate__text {
	display: flex;
	flex: 1 1 var(--smc-home-card-min);
	flex-direction: column;
	gap: var(--smc-space-1);
	min-width: 0;
}

/* 후원 띠 작은 머리글 · 이미지 약속: 노랑 틴트 위 글자색 */
.smc-home-donate .smc-home-sec__eyebrow,
.smc-home-donate__promise {
	color: var(--smc-color-amber-ink);
}

/* 후원 띠 제목 */
.smc-home-donate__title {
	margin: 0;
	font-size: var(--smc-text-sec-title);
	font-weight: var(--smc-weight-heavy);
}

/* 후원 띠 글 */
.smc-home-donate__lead,
.smc-home-donate__promise {
	margin: 0;
}

/* 오시는 길: 청록 틴트 바탕 전체 폭 */
.smc-home-visit {
	margin-top: var(--smc-section-space);
	padding-block: var(--smc-space-8);
	background: var(--smc-color-teal-tint);
}

/* 오시는 길 2열(왼쪽 지도 자리 · 오른쪽 글), 좁은 화면은 위아래 */
.smc-home-visit__inner {
	display: grid;
	grid-template-columns: var(--smc-home-visit-columns);
	align-items: center;
	gap: var(--smc-space-5);
}

/* 오시는 길 글 묶음 */
.smc-home-visit__text {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-2);
	min-width: 0;
}

/* 오시는 길 제목 */
.smc-home-visit__title {
	margin: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sec-title);
	font-weight: var(--smc-weight-heavy);
}

/* 아이콘 + 주소 · 전화 */
.smc-home-visit__row {
	display: flex;
	align-items: flex-start;
	gap: var(--smc-space-2);
	margin: 0;
	font-size: var(--smc-text-lg);
}

/* 오시는 길 아이콘: 청록 24px */
.smc-home-visit__icon {
	display: flex;
	flex: none;
	color: var(--smc-color-teal);
}

/* 오시는 길 버튼 2개 */
.smc-home-visit__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin-top: var(--smc-space-1);
}

/* 처음 오셨나요? 띠(기존 구역): 청록 바탕으로 */
.first-visit {
	background: var(--smc-color-teal);
}

/* 띠 안 보조 글자: 청록 틴트 (청록 바탕과 대비 4.5:1 이상) */
.first-visit .first-visit__intro,
.first-visit .steps__desc {
	color: var(--smc-color-teal-tint);
}

/* 청록 띠 위 초점 표시: 안쪽 진청록 + 바깥 흰색 */
.first-visit :focus-visible {
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-teal-dark);
}

/* 단계 번호 원: 노랑 바탕 · 본문색 숫자 */
.first-visit .steps__item::before {
	background: var(--smc-color-amber);
	color: var(--smc-color-ink);
}

/* ── 디자인 개편 2026-10: 안쪽 페이지 · 사업 소개 (지시서 81) ──────────
 * 시안 boards/Welcome · About · History · Guide · Register · Contact · Rights · Programs.
 * 새 표지(.smc-page-hero)를 쓰는 10개 페이지(body.smc-redesign, 본문 .smc-page-body)에만 적용합니다. 그 밖의 페이지 모양은 그대로입니다.
 * 기존 글 틀 · 요소(smc-pat- · smc-el-)는 마크업과 기능을 바꾸지 않고 .smc-page-body 안에서 모양만 덮어씁니다.
 */

/* 새 표지 페이지 바탕: 종이색 */
body.smc-redesign {
	background: var(--smc-color-paper);
}

/* 표지 글 칸: 좁아져도 그리드 밖으로 넘치지 않음 */
.smc-page-hero__text {
	min-width: 0;
}

/* 표지 제목 · 소개: 긴 낱말도 줄바꿈 (가로 넘침 막기) */
.smc-page-hero__title,
.smc-page-hero__lead {
	overflow-wrap: break-word;
}

/* 표지 현재 위치: 작은 글자 한 줄 (좁으면 줄바꿈) */
.smc-page-hero__crumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--smc-space-1);
	margin: 0 0 var(--smc-space-1);
	padding: 0;
	list-style: none;
	font-size: var(--smc-text-sm);
}

/* 현재 위치 항목 */
.smc-page-hero__crumb li {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 현재 위치 구분 기호: 장식 (화면 낭독기는 읽지 않음) */
.smc-page-hero__crumb li + li::before {
	content: "/" / "";
	color: var(--smc-color-muted);
}

/* 현재 위치 링크: 보조 글자색, 누르는 높이 44px */
.smc-page-hero__crumb a {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	color: var(--smc-color-muted);
}

/* 현재 위치의 지금 페이지: 본문색 굵게 */
.smc-page-hero__crumb [aria-current="page"] {
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
}

/* 표지 현재 위치 · 사업 소개 탭 줄의 두 겹 초점 표시 */
.smc-page-hero__crumb a:focus-visible,
.smc-program-tabs__link:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
}

/* 새 표지 페이지 본문: 폭 1200px · 좌우 여백 --smc-gutter(넓은 화면 32px), 아래 띠 앞 여백 */
.smc-page-body {
	padding-bottom: var(--smc-section-space);
}

/* 본문 묶음: 720px 제한을 풀어 1200px 폭을 씀 (글만 있는 줄은 아래 규칙으로 720px) */
.smc-page-body .entry {
	max-width: none;
	padding-top: var(--smc-space-4);
}

/* 본문: 긴 낱말 줄바꿈 (가로 넘침 막기) */
.smc-page-body .entry__content {
	overflow-wrap: break-word;
}

/* 본문의 모든 블록: 칸 폭을 넘지 않음 */
.smc-page-body .entry__content > * {
	max-width: 100%;
}

/* 글만 있는 줄(문단 · 제목 · 목록 · 인용 · 요약 · 목차): 읽기 폭 720px */
.smc-page-body .entry__content > :is(p, h2, h3, h4, ul, ol, blockquote, .smc-pat-lead, .smc-pat-summary, .smc-el-more, .smc-toc) {
	max-width: var(--smc-content-max);
}

/* 본문 제목 2: 섹션 제목 크기 26~32px 800 */
.smc-page-body .entry__content h2 {
	margin-top: var(--smc-space-6);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sec-title);
	font-weight: var(--smc-weight-heavy);
}

/* 본문 제목 3: 카드 제목 크기 20~24px */
.smc-page-body .entry__content h3 {
	color: var(--smc-color-ink);
	font-size: var(--smc-text-card-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 본문 대표 이미지: 둥글기 24px */
.smc-page-body .entry__thumb img {
	border-radius: var(--smc-radius-xl);
}

/* 사진이 빠진 그림 블록: 깨진 그림 대신 칸째 숨김 (WordPress 도 주소 없는 그림 블록은 내지 않음) */
.smc-page-body .wp-block-image:has(> img:not([src])),
.smc-page-body .wp-block-image:has(> img[src=""]) {
	display: none;
}

/* 사진 블록(글 틀의 사진 자리 · 사진첩): 둥글기 24px */
.smc-page-body .smc-pat-photo img,
.smc-page-body .smc-pat-gallery img {
	border-radius: var(--smc-radius-xl);
}

/* 카드 3개(글 틀 07 · 페이지 02): 색 바탕 대신 흰 카드 · 카드 테두리 · 둥글기 20px */
.smc-page-body .smc-pat-cards > .wp-block-column {
	padding: var(--smc-space-4);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 카드 제목: 20~24px */
.smc-page-body .smc-pat-cards h3 {
	font-size: var(--smc-text-card-lg);
}

/* 단계 안내(글 틀 08 · 페이지 02 · 03): 흰 카드 · 카드 테두리, 위쪽에 큰 번호 자리 */
.smc-page-body .smc-pat-steps li {
	padding-top: calc(var(--smc-text-sec-num) + var(--smc-space-4));
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	background: var(--smc-color-white);
}

/* 단계 번호: 원 대신 큰 숫자(48px 800, 큰 글자라 노랑 글자색) */
.smc-page-body .smc-pat-steps li::before {
	top: var(--smc-space-3);
	width: auto;
	height: auto;
	background: transparent;
	color: var(--smc-color-amber-text);
	font-size: var(--smc-text-sec-num);
	line-height: 1;
}

/* 안내 상자(글 틀 09): 청록 틴트 · 청록 왼쪽 선 · 둥글기 20px */
.smc-page-body .smc-pat-callout {
	padding: var(--smc-space-3);
	border-left-color: var(--smc-color-teal);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

/* 안내 상자 그림: 진청록 */
.smc-page-body .smc-pat-callout::before {
	background-color: var(--smc-color-teal-dark);
}

/* 주의 상자: 연한 노랑 바탕 · 노랑 왼쪽 선 */
.smc-page-body .smc-pat-callout--warn {
	border-left-color: var(--smc-color-amber);
	background: var(--smc-color-amber-tint);
}

/* 주의 상자 그림: 노랑 틴트 위 아이콘색 */
.smc-page-body .smc-pat-callout--warn::before {
	background-color: var(--smc-color-amber-icon);
}

/* 팁 상자: 모래색 바탕 · 회갈색 왼쪽 선 */
.smc-page-body .smc-pat-callout--tip {
	border-left-color: var(--smc-color-line);
	background: var(--smc-color-sand);
}

/* 마감 상자: 흰 바탕 · 본문색 왼쪽 선 */
.smc-page-body .smc-pat-callout--deadline {
	border-left-color: var(--smc-color-ink);
	background: var(--smc-color-white);
}

/* 한 줄 요약: 청록 틴트 · 청록 왼쪽 선 */
.smc-page-body .smc-pat-summary {
	border-left-color: var(--smc-color-teal);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

/* 문의 상자 · 숫자 강조 칸: 흰 카드 */
.smc-page-body .smc-pat-contact,
.smc-page-body .smc-pat-stats > .wp-block-column {
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 숫자 강조의 숫자: 청록 */
.smc-page-body .smc-pat-stat-number {
	color: var(--smc-color-teal);
}

/* 표(하루 일과 · 이용 시간 등): 흰 카드 틀, 좁으면 틀 안에서만 가로로 밀림 */
.smc-page-body .smc-pat-table {
	padding: var(--smc-space-1) var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 표 칸 구분선: 카드 테두리색 */
.smc-page-body .smc-pat-table th,
.smc-page-body .smc-pat-table td {
	border-bottom-color: var(--smc-color-card-line);
}

/* 표 마지막 줄은 아래 선 없음 */
.smc-page-body .smc-pat-table tr:last-child > * {
	border-bottom: 0;
}

/* 표 왼쪽 머리 칸(시간 · 항목): 바탕 없이 진청록 굵은 글자 */
.smc-page-body .smc-pat-table th[scope="row"] {
	background: transparent;
	color: var(--smc-color-teal-dark);
}

/* 글 틀 버튼: 청록 알약 48px */
.smc-page-body .smc-pat-buttons .wp-block-button__link {
	min-height: var(--smc-chip-min);
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
	font-size: var(--smc-text-btn);
	transition: background-color var(--smc-transition), border-color var(--smc-transition);
}

/* 글 틀 버튼 마우스 올림: 진청록 */
.smc-page-body .smc-pat-buttons .wp-block-button__link:hover {
	border-color: var(--smc-color-teal-dark);
	background: var(--smc-color-teal-dark);
}

/* 강조 버튼: 노랑 바탕 · 본문색 글자 */
.smc-page-body .smc-pat-btn--accent .wp-block-button__link {
	border-color: var(--smc-color-amber);
	background: var(--smc-color-amber);
	color: var(--smc-color-ink);
}

/* 강조 버튼 마우스 올림 */
.smc-page-body .smc-pat-btn--accent .wp-block-button__link:hover {
	border-color: var(--smc-color-amber-hover);
	background: var(--smc-color-amber-hover);
}

/* 보조 버튼: 투명 바탕 · 청록 테두리와 글자 */
.smc-page-body .smc-pat-btn--ghost .wp-block-button__link {
	background: transparent;
	color: var(--smc-color-teal);
}

/* 보조 버튼 마우스 올림: 청록 틴트 */
.smc-page-body .smc-pat-btn--ghost .wp-block-button__link:hover {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 글 틀 버튼 · 연혁 칸 초점: 바깥 선을 본문색으로 */
.smc-page-body .smc-pat-buttons .wp-block-button__link:focus-visible,
.smc-page-body .smc-el-timeline summary:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* 연혁(요소 03): 연대 칸은 흰 카드 · 둥글기 20px */
.smc-page-body .smc-el-timeline .wp-block-details {
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 연대 제목: 노랑 큰 글자(20~24px 굵게, 큰 글자 대비 3:1 이상) */
.smc-page-body .smc-el-timeline summary {
	min-height: var(--smc-fold-min);
	color: var(--smc-color-amber-text);
	font-size: var(--smc-text-card-lg);
}

/* 연혁 세로 선: 청록 틴트 */
.smc-page-body .smc-el-timeline ol {
	border-left-color: var(--smc-color-teal-tint);
}

/* 연혁 점: 청록 */
.smc-page-body .smc-el-timeline li::before {
	background: var(--smc-color-teal);
}

/* 구역 01 큰 제목: 섹션 제목 크기 */
.smc-page-body .smc-sec-hero h2 {
	font-size: var(--smc-text-sec-title);
}

/* 구역 01 · 02 사진 둥글기 24px */
.smc-page-body .smc-sec-hero .smc-pat-photo img,
.smc-page-body .smc-sec-alt .smc-pat-photo img {
	border-radius: var(--smc-radius-xl);
}

/* 구역 03 연락처 띠: 청록 바탕 · 둥글기 32px */
.smc-page-body .smc-sec-contact {
	padding: var(--smc-space-5) var(--smc-space-4);
	border-radius: var(--smc-radius-band);
	background: var(--smc-color-teal);
}

/* 연락처 띠의 흰 테두리 버튼 */
.smc-page-body .smc-pat-btn--light .wp-block-button__link {
	border-color: var(--smc-color-white);
	background: transparent;
	color: var(--smc-color-white);
}

/* 연락처 띠 위 초점 표시: 바깥 흰색 + 안쪽 본문색 */
.smc-page-body .smc-sec-contact :focus-visible {
	outline-color: var(--smc-color-white);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-ink);
}

/* 하위 메뉴 카드(페이지 아래): 흰 카드 · 카드 테두리 · 둥글기 20px */
.smc-page-body .menu-card {
	border-color: var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 사업 소개 탭 줄: 표지 바로 아래 알약 링크 */
.smc-program-tabs {
	margin-bottom: var(--smc-space-2);
}

/* 탭 줄 목록: 좁으면 줄바꿈 */
.smc-program-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 탭 링크: 흰 알약 · 회갈색 테두리 2px · 높이 48px */
.smc-program-tabs__link {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-line);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
	transition: background-color var(--smc-transition), border-color var(--smc-transition);
}

/* 탭 링크 마우스 올림: 청록 테두리 */
.smc-program-tabs__link:hover {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-ink);
}

/* 지금 페이지 탭: 청록 바탕 · 흰 글자 (색과 함께 aria-current 로 알림) */
.smc-program-tabs__link[aria-current="page"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 사업 소개 관련 이야기 구역: 본문과 72px 사이 */
.smc-related {
	margin-top: var(--smc-section-space);
}

/* 관련 이야기 카드 3개: 한 칸 최소 280px, 좁으면 아래로 */
.smc-related__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-home-card-min)), 1fr));
	gap: var(--smc-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ── 디자인 개편 2026-10: 이야기 · 일정 · 후원 안내 · 처리방침 · 사이트맵 (지시서 82) ──────────
 * 시안 boards/Stories · Story · Schedule · Donation · Privacy · Sitemap. 81번 부품(표지 · 아래 띠 · .smc-page-body)을 그대로 쓰고,
 * 기존 부품(칩 · 쪽 이동 · 공유 · 후원 상자 · 달력 · 사이트맵 · 차례 · 보기 막대 · 표)은 마크업과 동작을 두고 모양만 덮어씁니다.
 * 이 글에서 "청록"은 주색(--smc-color-teal), "청록 틴트"는 연한 주색(--smc-color-teal-tint). 값은 tokens.css 가 정합니다.
 */

/* 문구만 있는 표지: 그림 칸 없이 한 열 */
.smc-page-hero--text {
	grid-template-columns: minmax(0, 1fr);
}

/* 문구 전용 표지의 소개 글: 640px 안팎 */
.smc-page-hero--text .smc-page-hero__lead {
	max-width: var(--smc-lead-max);
}

/* ── 옛 남색 부품을 새 색으로 (새 디자인 화면에서만, 지시서 82의 10번) ── */

/* 이 글의 차례 상자: 청록 틴트 바탕 */
body.smc-redesign .smc-toc {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

/* 차례 링크 · "맨 위로" 링크: 진청록 */
body.smc-redesign .smc-toc a,
body.smc-redesign .smc-toc-top a {
	color: var(--smc-color-teal-dark);
}

/* 차례 · 맨 위로 링크 초점: 바깥 선 본문색 */
body.smc-redesign .smc-toc a:focus-visible,
body.smc-redesign .smc-toc-top a:focus-visible,
body.smc-redesign .smc-toc__title:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* 보기 설정 막대: 아래 선은 카드 테두리색 */
body.smc-redesign .modes-bar {
	border-bottom-color: var(--smc-color-card-line);
}

/* 보기 방식 두 버튼 묶음: 청록 테두리 */
body.smc-redesign .modes-bar__seg {
	border-color: var(--smc-color-teal);
}

/* 보기 방식 버튼 글자: 청록 */
body.smc-redesign .modes-bar__btn {
	color: var(--smc-color-teal);
}

/* 고른 보기 방식: 청록 바탕 · 흰 글자 */
body.smc-redesign .modes-bar__btn[aria-pressed="true"] {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 보기 막대 버튼 마우스 올림: 청록 틴트 */
body.smc-redesign .modes-bar__btn:not([aria-pressed="true"]):hover,
body.smc-redesign .modes-bar__motion:hover {
	background: var(--smc-color-teal-tint);
}

/* 움직임 줄이기 버튼: 회갈색 테두리 · 본문색 글자 */
body.smc-redesign .modes-bar__motion {
	border-color: var(--smc-color-line);
	color: var(--smc-color-ink);
}

/* 움직임 줄이기 켜짐 스위치: 청록 */
body.smc-redesign .modes-bar__motion[aria-pressed="true"] .modes-bar__switch {
	background: var(--smc-color-teal);
}

/* 보기 막대 초점: 바깥 선 본문색 */
body.smc-redesign .modes-bar__btn:focus-visible,
body.smc-redesign .modes-bar__motion:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* 매거진형 첫 글자: 청록 */
body.smc-redesign .site-main[data-mode="mag"] .program-page .entry__content > p:first-of-type::first-letter {
	color: var(--smc-color-teal);
}

/* 매거진형 큰 인용: 청록 글자 · 노랑 위쪽 선 그대로 */
body.smc-redesign .site-main[data-mode="mag"] .program-page .wp-block-quote,
body.smc-redesign .site-main[data-mode="mag"] .program-page .wp-block-pullquote {
	color: var(--smc-color-teal-dark);
}

/* ── 표 폭 (지시서 82의 11번): 새 디자인 본문 안의 일반 표와 글 틀 표 ── */

/* 표 블록 상자: 글 폭 720px 안, 넘치면 상자 안에서만 가로로 밀림 */
.smc-page-body .entry__content .wp-block-table,
.smc-story .entry__content .wp-block-table {
	max-width: var(--smc-content-max);
	margin-inline: 0;
	overflow-x: auto;
}

/* 표: 글 폭 안에서 꽉 채움 */
.smc-page-body .entry__content table,
.smc-story .entry__content table {
	width: 100%;
	max-width: var(--smc-content-max);
	border-collapse: collapse;
}

/* 표 칸: 낱말 단위로 줄바꿈하고, 그래도 길면 칸 안에서 끊음 (쪽 전체 가로 넘침 막기) */
.smc-page-body .entry__content th,
.smc-page-body .entry__content td,
.smc-story .entry__content th,
.smc-story .entry__content td {
	padding: var(--smc-space-1) var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
	overflow-wrap: anywhere;
	word-break: keep-all;
	text-align: left;
	vertical-align: top;
}

/* 표 머리 줄: 청록 틴트 바탕 · 본문색 굵은 글자 */
.smc-page-body .entry__content thead th,
.smc-story .entry__content thead th {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
}

/* ── 이야기 목록 (home.php · 이야기 종류 화면, 시안 Stories) ── */

/* 종류 칩 줄: 알약 탭 모양 줄 (위아래 여백) */
.smc-page-body .story-chips {
	margin: var(--smc-space-2) 0 var(--smc-space-3);
}

/* 종류 칩: 흰 알약 · 회갈색 테두리 2px · 높이 48px */
.smc-page-body .chip {
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-line);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
	transition: background-color var(--smc-transition), border-color var(--smc-transition);
}

/* 칩 마우스 올림: 청록 테두리 */
.smc-page-body .chip:hover {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-ink);
}

/* 지금 보는 칩(전체 · 종류 · 후원금 사용 켜짐): 청록 바탕 · 흰 글자 */
.smc-page-body .chip[aria-current] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 칩 초점: 바깥 선 본문색 */
.smc-page-body .chip:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* 개수 줄: 보조 글자 */
.smc-page-body .story-count {
	color: var(--smc-color-muted);
}

/* 첫 쪽 큰 카드 1 + 작은 카드 2 아래 여백 */
.smc-story-feature {
	margin-bottom: var(--smc-space-6);
}

/* 이야기 카드 목록 칸: 내용 높이만큼 */
.smc-story-grid > li {
	display: flex;
	min-width: 0;
}

/* 카드 칸 안 카드: 칸 폭을 채움 */
.smc-story-grid .smc-story-card {
	width: 100%;
}

/* 카드 제목 링크 초점: 카드 전체 두 겹 초점 */
.smc-story-card:focus-within {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
	box-shadow: 0 0 0 var(--smc-focus-offset) var(--smc-color-white);
	border-radius: var(--smc-radius-xl);
}

/* 카드 제목 링크 자체의 초점선은 카드에 그림 */
.smc-story-card .smc-home-story__title a:focus-visible {
	outline: none;
}

/* 쪽 이동 줄: 가운데, 위 여백 */
.smc-page-body .pagination {
	margin-top: var(--smc-space-6);
}

/* 쪽 번호 · 이전 · 다음: 흰 알약 · 회갈색 테두리 */
.smc-page-body .pagination .page-numbers {
	min-height: var(--smc-tap-min);
	padding-inline: var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-line);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
}

/* 쪽 번호 마우스 올림: 청록 테두리 */
.smc-page-body .pagination a.page-numbers:hover {
	border-color: var(--smc-color-teal);
}

/* 지금 쪽: 청록 바탕 · 흰 글자 */
.smc-page-body .pagination .page-numbers.current {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 쪽 사이 "…": 테두리 없이 */
.smc-page-body .pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* ── 이야기 글 (single.php, 시안 Story) ── */

/* 글 화면 전체: 아래 여백 */
.smc-story {
	padding-bottom: var(--smc-section-space);
}

/* 현재 위치 줄: 표지 대신 위쪽 */
.smc-story__crumb {
	padding-top: var(--smc-space-4);
}

/* 현재 위치 목록: 알약 링크 한 줄 (좁으면 줄바꿈) */
.smc-story__crumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 현재 위치 항목 */
.smc-story__crumb-list li {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 현재 위치 구분 기호: 장식 */
.smc-story__crumb-list li + li::before {
	content: "/" / "";
	color: var(--smc-color-muted);
}

/* 글 묶음: 1100px 안 가운데, 좌우 여백 */
.smc-story .entry {
	max-width: var(--smc-story-max);
	padding: var(--smc-space-4) var(--smc-gutter) 0;
}

/* 글 머리: 900px 안 */
.smc-story__head {
	max-width: var(--smc-story-head-max);
	margin-inline: auto;
}

/* 글 제목: 32~48px 800 */
.smc-story__title {
	color: var(--smc-color-ink);
	font-size: var(--smc-text-page-title);
	font-weight: var(--smc-weight-heavy);
	line-height: var(--smc-leading-heading);
	letter-spacing: var(--smc-tracking-hero);
	overflow-wrap: break-word;
}

/* 날짜 · 후원 칩 줄 */
.smc-story__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	color: var(--smc-color-muted);
}

/* 날짜와 달력 아이콘 */
.smc-story__date {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 날짜 아이콘 20px */
.smc-story__date .icon {
	width: var(--smc-icon-small);
	height: var(--smc-icon-small);
}

/* 노랑 칩: "후원금으로 함께한 이야기" (연한 노랑 바탕 · 노랑 틴트 위 글자색) */
.smc-chip--amber {
	background: var(--smc-color-amber-tint);
	color: var(--smc-color-amber-ink);
}

/* 대표 사진: 위아래 여백 */
.smc-story__photo {
	margin-block: var(--smc-space-3) var(--smc-space-4);
}

/* 본문 + 옆 칸: 넓은 화면 2열(본문 720 + 옆 340), 좁으면 위아래 */
.smc-story__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	justify-content: center;
	gap: var(--smc-space-6);
}

/* 옆 칸이 있을 때만 2열 */
.smc-story__layout--side {
	grid-template-columns: var(--smc-story-side-columns);
}

/* 본문: 읽기 폭 720px, 가운데 */
.smc-story__body {
	width: 100%;
	max-width: var(--smc-content-max);
	min-width: 0;
	margin-inline: auto;
}

/* 본문 글자: 줄바꿈 (가로 넘침 막기) */
.smc-story .entry__content {
	overflow-wrap: break-word;
}

/* 인용 블록: 청록 틴트 상자 · 둥글기 24px (기존 인용 · 글 틀 소감 모양 덮어쓰기) */
.smc-story .entry__content blockquote,
.smc-story .entry__content .wp-block-quote,
.smc-story .entry__content .smc-pat-quote {
	margin: var(--smc-space-3) 0;
	padding: var(--smc-space-4);
	border: 0;
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

/* 인용 글: 굵게 크게 */
.smc-story .entry__content blockquote p {
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

/* 인용 출처: 접는 칸 본문색 */
.smc-story .entry__content blockquote cite {
	color: var(--smc-color-body-soft);
	font-style: normal;
}

/* 옆 칸: 상자 세로로 쌓기 */
.smc-story__side {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-3);
	min-width: 0;
}

/* 이야기 나누기 상자: 흰 카드 */
.smc-story__side .smc-share {
	display: grid;
	gap: var(--smc-space-2);
}

/* 이야기 나누기 제목 */
.smc-story__side .smc-share__title {
	margin: 0;
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 공유 버튼: 보조 알약 버튼 모양 (청록 테두리 · 글자) */
.smc-story__side .smc-share__buttons .smc-el-btn {
	min-height: var(--smc-tap-min);
	border-color: var(--smc-color-teal);
	background: transparent;
	color: var(--smc-color-teal);
	font-size: var(--smc-text-btn-sm);
	text-decoration: none;
}

/* 공유 버튼 마우스 올림: 청록 틴트 */
.smc-story__side .smc-share__buttons .smc-el-btn:hover {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 후원 상자: 연한 노랑 카드 (후원 분류가 있는 글만) */
.smc-story__side .smc-donation-box {
	margin-top: 0;
	padding: var(--smc-space-3);
	border-color: var(--smc-color-card-line);
	background: var(--smc-color-amber-tint);
	color: var(--smc-color-ink);
}

/* 후원 상자 하트: 노랑 틴트 위 아이콘색 */
.smc-story__side .smc-donation-box__title .icon {
	color: var(--smc-color-amber-icon);
}

/* 후원 상자 한 줄 안내: 노랑 틴트 위 글자색 */
.smc-story__side .smc-donation-box__note {
	color: var(--smc-color-amber-ink);
}

/* 후원 안내 보기: 노랑 알약 */
.smc-story__side .smc-donation-box .button {
	min-height: var(--smc-tap-min);
	border-color: var(--smc-color-amber);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-amber);
	color: var(--smc-color-ink);
}

/* 일정 정보 상자: 청록 틴트 */
.smc-story .event-summary {
	max-width: var(--smc-story-head-max);
	margin-inline: auto;
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
}

/* 이어 보기: 1100px 안, 위 선 */
.smc-story .story-end {
	max-width: var(--smc-story-max);
	padding: var(--smc-space-5) var(--smc-gutter) 0;
	border-top: var(--smc-border-width) solid var(--smc-color-card-line);
}

/* 같은 종류의 다른 이야기 카드: 흰 카드 · 카드 테두리 */
.smc-story .story-related__link {
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
}

/* 같은 종류 카드 마우스 올림: 청록 테두리 */
.smc-story .story-related__link:hover {
	border-color: var(--smc-color-teal);
}

/* 이전 · 목록 · 다음 줄: 양끝 맞춤, 좁으면 줄바꿈 */
.smc-story .story-pn {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-2);
}

/* 이전 이야기 버튼: 보조 버튼 모양(청록 테두리), 맨 앞 */
.smc-story .story-pn__link {
	order: 1;
	flex: 1 1 15rem;
	min-width: 0;
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-lg);
	background: transparent;
	color: var(--smc-color-teal-dark);
}

/* 목록으로 버튼: 가운데 */
.smc-story .story-pn__list {
	order: 2;
}

/* 다음 이야기 버튼: 청록 바탕 · 흰 글자, 맨 뒤 */
.smc-story .story-pn__link--next {
	order: 3;
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 다음 이야기 작은 글자: 흰 글자 */
.smc-story .story-pn__link--next .story-pn__label {
	color: var(--smc-on-teal);
}

/* 이어 보기 링크 초점: 바깥 선 본문색 */
.smc-story .story-pn__link:focus-visible,
.smc-story .story-related__link:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* ── 소식·일정 (page-schedule.php, 시안 Schedule) ── */

/* 달력 · 주요 일정 탭: 흰 알약 · 회갈색 테두리 2px (기존 탭 부품 그대로) */
.smc-schedule-body .sched-tab {
	min-height: var(--smc-chip-min);
	padding: 0 var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-line);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
}

/* 고른 탭: 청록 바탕 · 흰 글자 */
.smc-schedule-body .sched-tab[aria-selected="true"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 아닌 탭 · 오늘 · 전체 보기 · 후원 일정 버튼 마우스 올림: 청록 테두리와 틴트 */
.smc-schedule-body .sched-tab:not([aria-selected="true"]):hover,
.smc-schedule-body .sched-today:hover,
.smc-schedule-body .sched-clear:hover,
.smc-schedule-body .sched-donation-toggle:not([aria-pressed="true"]):hover,
.smc-schedule-body .sched-icon-btn:hover {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal-tint);
}

/* 오늘 · 이번 달 전체 보기 · 후원 일정만 보기: 보조 알약(청록 테두리 · 글자) */
.smc-schedule-body .sched-today,
.smc-schedule-body .sched-clear,
.smc-schedule-body .sched-donation-toggle {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-teal);
}

/* 후원 일정만 보기 켜짐: 청록 바탕 */
.smc-schedule-body .sched-donation-toggle[aria-pressed="true"] {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 달력 · 목록 카드: 흰 카드 · 카드 테두리 · 둥글기 20px */
.smc-schedule-body .sched-card,
.smc-schedule-body .sched-mcard {
	border-color: var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 달력 · 목록 제목: 섹션 제목에 가깝게 */
.smc-schedule-body .sched-cal__title,
.smc-schedule-body .sched-list__title {
	font-size: var(--smc-text-card-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 이전 · 다음 달 버튼: 회갈색 테두리 */
.smc-schedule-body .sched-icon-btn {
	border-color: var(--smc-color-line);
	color: var(--smc-color-ink);
}

/* 날짜 칸 높이: 버튼이 정함 */
.smc-schedule-body .sched-grid td {
	height: auto;
}

/* 날짜 버튼: 둥근 사각(14px) · 높이 64px 이상 · 종이색 바탕 */
.smc-schedule-body .sched-day {
	min-height: var(--smc-fold-min);
	border-radius: var(--smc-radius-day);
	background: var(--smc-color-paper);
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
	transition: background-color var(--smc-transition);
}

/* 날짜 마우스 올림: 청록 틴트 */
.smc-schedule-body .sched-day:hover {
	background: var(--smc-color-teal-tint);
}

/* 오늘: 청록 바탕 · 흰 글자 (오늘 표시는 노랑 안쪽 테두리로도) */
.smc-schedule-body .sched-day[aria-current="date"] {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
	box-shadow: inset 0 0 0 var(--smc-border-strong) var(--smc-color-amber);
}

/* 선택한 날: 청록 바탕 · 흰 글자 */
.smc-schedule-body .sched-day[aria-pressed="true"] {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 일정이 있는 날 점: 청록 */
.smc-schedule-body .sched-mark--dot {
	background: var(--smc-color-teal);
}

/* 주요 일정 표시: 노랑 */
.smc-schedule-body .sched-mark--major {
	background: var(--smc-color-amber);
}

/* 오늘 · 선택한 날 위의 점: 흰색 */
.smc-schedule-body .sched-day[aria-current="date"] .sched-mark--dot,
.smc-schedule-body .sched-day[aria-pressed="true"] .sched-mark--dot {
	background: var(--smc-color-white);
}

/* 범례의 오늘 표시: 노랑 테두리 */
.smc-schedule-body .sched-mark--today {
	box-shadow: inset 0 0 0 var(--smc-border-strong) var(--smc-color-amber);
}

/* 선택한 날 일정 줄: 종이색 바탕 · 둥글기 14px */
.smc-schedule-body .sched-event {
	padding: var(--smc-space-2);
	border: 0;
	border-radius: var(--smc-radius-day);
	background: var(--smc-color-paper);
}

/* 일정 줄 사이 8px */
.smc-schedule-body .sched-event + .sched-event {
	margin-top: var(--smc-space-1);
}

/* 일정 알약: 청록 틴트 칩 */
.smc-schedule-body .sched-pill {
	border-color: transparent;
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
}

/* 계획 · 결과 링크 버튼: 청록 테두리 · 글자 */
.smc-schedule-body .sched-link {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-teal);
}

/* 계획 · 결과 링크 마우스 올림: 청록 틴트 */
.smc-schedule-body .sched-link:hover {
	background: var(--smc-color-teal-tint);
}

/* 강조된 계획 · 결과: 청록 바탕 */
.smc-schedule-body .sched-link.is-on {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 주요 일정 카드 묶음: 한 칸 최소 280px 격자 */
.smc-schedule-body .sched-major {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-home-card-min)), 1fr));
	gap: var(--smc-space-3);
}

/* 주요 일정 카드: 위아래로 쌓음(날짜 배지 → 제목 → 버튼) */
.smc-schedule-body .sched-mcard {
	grid-template-columns: minmax(0, 1fr);
	padding: var(--smc-space-3);
}

/* 주요 일정 날짜 배지: 연한 노랑 · 둥글기 14px · 본문색 */
.smc-schedule-body .sched-mdate {
	justify-self: start;
	padding: var(--smc-space-1) var(--smc-space-2);
	border-radius: var(--smc-radius-day);
	background: var(--smc-color-amber-tint);
	color: var(--smc-color-ink);
}

/* 예정 · 지난 일정 표시: 청록 테두리 */
.smc-schedule-body .sched-state {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-teal-dark);
}

/* 일정 화면 버튼 초점: 바깥 선 본문색 */
.smc-schedule-body .sched-tab:focus-visible,
.smc-schedule-body .sched-day:focus-visible,
.smc-schedule-body .sched-icon-btn:focus-visible,
.smc-schedule-body .sched-today:focus-visible,
.smc-schedule-body .sched-clear:focus-visible,
.smc-schedule-body .sched-donation-toggle:focus-visible,
.smc-schedule-body .sched-link:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* ── 후원 안내 본문 (patterns/page-07-donation.php 의 글 틀, 시안 Donation) ── */

/* 작은 안내 글: 보조 글자 */
.smc-page-body .smc-pat-note {
	color: var(--smc-color-muted);
}

/* 사용 결과 한 덩어리 버튼: 오른쪽 칸은 흰 바탕 · 청록 글자 */
.smc-page-body .smc-pat-linkpair .wp-block-button__link {
	min-height: var(--smc-tap-min);
	border-color: var(--smc-color-teal);
	background: var(--smc-color-white);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-btn-sm);
}

/* 사용 결과 한 덩어리 버튼: 왼쪽 칸은 청록 바탕 */
.smc-page-body .smc-pat-linkpair .wp-block-button:first-child .wp-block-button__link {
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

/* 한 줄 카드(이미지 약속 등): 청록 틴트 상자 */
.smc-page-body .smc-pat-cards--single > .wp-block-column {
	border-color: transparent;
	background: var(--smc-color-teal-tint);
}

/* ── 사이트맵 ([smc_sitemap], 시안 Sitemap) ── */

/* 묶음 카드 격자: 한 칸 최소 280px */
.smc-page-body .smc-sitemap {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--smc-home-card-min)), 1fr));
	gap: var(--smc-space-3);
}

/* 묶음 카드: 흰 카드 · 카드 테두리 · 안쪽 32px */
.smc-page-body .smc-sitemap__group {
	display: flex;
	flex-direction: column;
	gap: var(--smc-space-2);
	padding: var(--smc-space-4);
	border-color: var(--smc-color-card-line);
}

/* 묶음 머리: 아이콘 원 + 제목 */
.smc-sitemap__head {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
}

/* 아이콘 원: 청록 틴트 · 청록 아이콘 */
.smc-sitemap__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: var(--smc-icon-circle);
	height: var(--smc-icon-circle);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal);
}

/* 묶음 제목: 카드 제목 크기 */
.smc-page-body .smc-sitemap__title {
	margin: 0;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-card-lg);
	font-weight: var(--smc-weight-heavy);
}

/* 묶음 제목 링크: 본문색 */
.smc-page-body .smc-sitemap__title a {
	color: var(--smc-color-ink);
}

/* 링크 목록: 알약 링크가 줄바꿈하며 이어짐 */
.smc-page-body .smc-sitemap__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 하위의 하위 목록: 같은 줄 흐름 */
.smc-page-body .smc-sitemap__list .smc-sitemap__list {
	margin-top: var(--smc-space-1);
	padding-left: 0;
}

/* 주소 없는 항목 글자: 굵게 */
.smc-sitemap__text {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	font-weight: var(--smc-weight-bold);
}

/* 사이트맵 링크 초점: 바깥 선 본문색 */
.smc-page-body .smc-sitemap a:focus-visible {
	outline-color: var(--smc-color-ink);
}

/* ── 디자인 개편 2026-10: 사이트 로고 · 모기관 CI (지시서 83) ──────────
 * 색 값은 tokens.css 에서 파랑으로 바뀌었고(이름 그대로), 여기에는 로고와 바닥글 CI 자리 규칙만 둡니다.
 * (지시서 88: 모기관 CI 를 쓰지 않기로 해 .smc-parent-ci 계열 규칙과 크기 변수를 지움. 바닥글 기관 문구 .smc-footer-org 는 그대로)
 * 크기와 머리글 한 줄 계산은 tokens.css 의 "사이트 로고 · 모기관 CI (지시서 83)".
 */

/* 사이트 로고가 있을 때: 이미지 · 세로 선 · 두 줄 문구를 가로로 */
.site-logo--custom {
	flex-direction: row;
	align-items: center;
	gap: var(--smc-space-1);
}

/* 사이트 로고 이미지: 높이 44px 이하 · 폭은 비율대로, 최대 폭은 화면 폭에 따라 */
.site-logo--custom .smc-site-logo__img {
	width: auto;
	height: auto;
	max-width: var(--smc-site-logo-max);
	max-height: var(--smc-site-logo-height);
}

/* 이미지 옆 장식 세로 선 (1100px 이하 숨김) */
.smc-site-logo__rule {
	display: var(--smc-header-sub-display);
	flex: none;
	align-self: stretch;
	width: var(--smc-border-width);
	margin-block: var(--smc-space-1);
	background: var(--smc-color-line);
}

/* 두 줄 기관 문구 (1100px 이하 숨김) */
.smc-site-logo__org {
	display: var(--smc-header-sub-display);
}

/* 두 줄 문구 한 줄: 12px 보조 글자 */
.smc-site-logo__line {
	display: block;
	color: var(--smc-color-muted);
	font-size: var(--smc-text-xs);
	font-weight: var(--smc-weight-medium);
	line-height: var(--smc-leading-heading);
	white-space: nowrap;
}

/* 바닥글 기관 문구(지시서 87): 이름 바로 아래 14px 바닥글 보조 글자, 좁으면 줄바꿈 */
.smc-footer-org {
	font-size: var(--smc-text-chip);
	line-height: var(--smc-leading-heading);
	overflow-wrap: break-word;
}

/* ── 디자인 개편 2026-10: 오시는 길 지도 [smc_map] (지시서 89) ──────────
 * 누르기 전에는 사진 자리 틀(16/10)과 안내 · "지도 불러오기", 누르면 같은 틀 안에 구글 지도 iframe(assets/js/elements.js).
 */

/* 지도 묶음: 위아래 간격 */
.smc-map {
	display: grid;
	gap: var(--smc-space-2);
	margin-block: var(--smc-space-3);
}

/* 지도 틀: 둥글기 24px · 16/10 비율 · 좁아도 높이 280px 이상 */
.smc-map__frame {
	position: relative;
	min-height: var(--smc-map-min-height);
	overflow: hidden;
	border-radius: var(--smc-radius-xl);
	aspect-ratio: var(--smc-ratio-16-10);
	background: var(--smc-color-sand);
}

/* 누르기 전 빈 틀: 지도 틀을 꽉 채움 */
.smc-map__placeholder {
	position: absolute;
	inset: 0;
	height: 100%;
	aspect-ratio: auto;
}

/* 불러온 지도: 틀을 꽉 채우고 테두리 없음 */
.smc-map__iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* 안내 글: 보조 글자색 */
.smc-map__notice {
	margin: 0;
	color: var(--smc-color-muted);
}

/* 버튼 줄과 링크 줄: 좁으면 줄바꿈 */
.smc-map__load-row,
.smc-map__links,
.smc-map__links-nojs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: 0;
}

/* 지도 불러오기 버튼: 높이 48px 이상 */
.smc-map__load {
	min-height: var(--smc-chip-min);
}

/* 자바스크립트가 없으면 안내 · 버튼 · 보이는 링크 줄을 숨기고 noscript 의 링크만 */
.no-js .smc-map__notice,
.no-js .smc-map__load-row,
.no-js .smc-map__links {
	display: none;
}

/* 불러온 지도 초점 표시: 두 겹 */
.smc-map__iframe:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

/* ── 디자인 개편 2026-10: 접는 칸 안 글 폭 (지시서 90) ──────────
 * 칸 머리(제목 줄)는 그대로 넓게 두고, 열린 칸 안의 글만 읽기 폭 720px 로 왼쪽 정렬.
 */

/* 접는 칸(요소 07 · 자주 묻는 질문) 안의 글: 읽기 폭 720px, 좁으면 칸 폭 */
.smc-el-accordion .wp-block-details > :not(summary),
.smc-pat-faq > :not(summary) {
	max-width: var(--smc-content-max);
	box-sizing: border-box;
}

/* ── 홈 편집 영역 (직원이 블록 편집기로 쓰는 두 자리, inc/home-areas.php) ──
   구역 사이 간격만 맞춥니다. 본문 모양은 .smc-page-body 규칙을 그대로 씁니다. */
.smc-home-area {
	padding-block: var(--smc-section-space) 0;
}
.smc-home-area .entry__content > :first-child {
	margin-top: 0;
}

/* ── 접는 칸 안의 목록: 점이 칸 가장자리에 붙지 않게 들여쓰기 ──
   위의 "열린 칸 아래 본문" 규칙이 칸 안 모든 블록의 안쪽 여백을 한 값으로 맞추면서 목록 기본 들여쓰기가 없어졌습니다.
   목록만 점(글머리 기호) 자리만큼 더 들여씁니다. 번호 목록도 같게. */
.smc-el-accordion .wp-block-details > :is(ul, ol),
.smc-pat-faq > :is(ul, ol) {
	padding-inline-start: calc(var(--smc-space-3) + 1.5em);
}

.smc-el-accordion .wp-block-details > :is(ul, ol) li,
.smc-pat-faq > :is(ul, ol) li {
	padding-inline-start: 0.25em;
}

.smc-el-accordion .wp-block-details > :is(ul, ol) li + li,
.smc-pat-faq > :is(ul, ol) li + li {
	margin-top: var(--smc-space-1);
}

/* ── 표지 오른쪽에 페이지 대표 이미지(사진)를 쓸 때 ──
   일러스트 틀의 안쪽 여백과 일러스트 폭 제한을 없애고 사진이 틀을 꽉 채우게 합니다. */
.smc-page-hero__art--photo {
	padding: 0;
	overflow: hidden;
}

.smc-page-hero__art--photo .smc-photo {
	width: 100%;
}

.smc-page-hero__art--photo img {
	max-width: none;
}

/* ── 본문이 제목 2로 시작하는 페이지: 그 바로 아래 소개 문단도 다른 페이지의 첫 문단처럼 크게(20px) ──
   기관 소개 · 이용 안내 · 등록 안내 · 오시는 길 · 개인정보 처리방침 등. 매거진형 첫 문단 규칙과 같은 크기라 통일됨. */
.smc-page-body .entry__content > h2:first-child + p {
	font-size: var(--smc-text-lg);
}

/* ── 표를 깔끔하게 (연혁 · 하루 일과 · 이용 안내 표 등, 새 디자인 본문과 이야기 글) ──
   워드프레스 기본 표 모양의 진한 테두리 · 머리 줄 굵은 선을 없애고,
   연한 가로선, 연한 파랑 머리 줄(양 끝 둥글게), 왼쪽 머리 칸(연도 · 시간)은 파랑 굵은 글자로 보여 줍니다. */
.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) table,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) thead,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) thead {
	border: 0;
}

.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) :is(th, td),
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) :is(th, td) {
	padding: var(--smc-space-2) var(--smc-space-3);
	border: 0;
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
	line-height: 1.65;
}

/* 머리 줄: 연한 파랑, 양 끝 둥글게, 작고 굵은 글자 */
.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) thead th,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) thead th {
	border-bottom: 0;
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) thead th:first-child,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) thead th:first-child {
	border-top-left-radius: var(--smc-radius-md);
	border-bottom-left-radius: var(--smc-radius-md);
}

.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) thead th:last-child,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) thead th:last-child {
	border-top-right-radius: var(--smc-radius-md);
	border-bottom-right-radius: var(--smc-radius-md);
}

/* 왼쪽 머리 칸(연도 · 시간 · 항목): 파랑 굵은 글자, 줄바꿈 없이 */
.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) tbody th[scope="row"],
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) tbody th[scope="row"] {
	width: 7.5rem;
	background: transparent;
	color: var(--smc-color-teal);
	font-weight: var(--smc-weight-heavy);
	white-space: nowrap;
}

/* 마지막 줄은 아래 선 없음 */
.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) tbody tr:last-child > *,
.smc-story .entry__content :is(.wp-block-table, .smc-pat-table) tbody tr:last-child > * {
	border-bottom: 0;
}

/* 표 아래 설명 글 */
.smc-page-body .entry__content :is(.wp-block-table, .smc-pat-table) figcaption {
	margin-top: var(--smc-space-1);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* ── 단계 안내(번호 카드, 등록 안내의 "등록은 이렇게 해요" 등): 2열 2행 ──
   넓은 화면에서는 가로 2칸씩(4단계면 2열 2행), 좁은 화면(40em 미만)은 한 칸씩 위아래로. 카드 높이는 같은 줄끼리 맞춤. */
.smc-page-body .smc-pat-steps {
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--smc-content-max);
}

@media (min-width: 40em) {
	.smc-page-body .smc-pat-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* ── 디자인 B안(2026-10-19, 사용자 결정): 아이콘 카드 · 가로 타임라인 · 번호 카드를 한 모양으로 ──
   방향 카드(.smc-pat-cards--leaders)와 닮고 싶은 사람(.smc-pat-cards--people): 연한 파랑 카드 + 흰 원 안의 아이콘.
   걸음(.smc-pat-roadmap): 가로 선으로 이어진 번호 원 + 연도 + 단계 이름(좁은 화면은 세로 선).
   단계 안내(.smc-pat-steps): 연한 파랑 카드 + 흰 번호 원. 아이콘은 inc/icons.php 의 선 아이콘 모양(굵기 1.75)을 마스크로 씀. */
.smc-page-body .smc-pat-cards--leaders > .wp-block-column {
	position: relative;
	padding: calc(var(--smc-space-3) + 3.5rem) var(--smc-space-3) var(--smc-space-3);
	border: 0;
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-pat-cards--leaders > .wp-block-column::before {
	content: "";
	position: absolute;
	top: var(--smc-space-3);
	left: var(--smc-space-3);
	width: 3rem;
	height: 3rem;
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
}

.smc-page-body .smc-pat-cards--leaders > .wp-block-column::after {
	content: "";
	position: absolute;
	top: calc(var(--smc-space-3) + 0.75rem);
	left: calc(var(--smc-space-3) + 0.75rem);
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--smc-color-teal);
	-webkit-mask: var(--smc-card-ico) center / contain no-repeat;
	mask: var(--smc-card-ico) center / contain no-repeat;
}

.smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(1) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M4%2021a8%208%200%200%201%2016%200%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(2) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%279%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M3%2020a6%206%200%200%201%2012%200%27%2F%3E%3Cpath%20d%3D%27M15%2020a4.5%204.5%200%200%201%206-4.2%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(3) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2021V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v16%27%2F%3E%3Cpath%20d%3D%27M16%209h2a2%202%200%200%201%202%202v10%27%2F%3E%3Cpath%20d%3D%27M3%2021h18%27%2F%3E%3Cpath%20d%3D%27M8%207h4M8%2011h4M8%2015h4%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-cards--people > .wp-block-column:nth-child(1) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%205a2%202%200%200%201%202-2h13v16H6a2%202%200%200%200-2%202z%27%2F%3E%3Cpath%20d%3D%27M4%205v16%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-cards--people > .wp-block-column:nth-child(2) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2020s-7-4.4-7-10a4%204%200%200%201%207-2.6A4%204%200%200%201%2019%2010c0%205.6-7%2010-7%2010z%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-cards--people > .wp-block-column:nth-child(3) { --smc-card-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2021V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v16%27%2F%3E%3Cpath%20d%3D%27M16%209h2a2%202%200%200%201%202%202v10%27%2F%3E%3Cpath%20d%3D%27M3%2021h18%27%2F%3E%3Cpath%20d%3D%27M8%207h4M8%2011h4M8%2015h4%27%2F%3E%3C%2Fsvg%3E"); }

/* 카드 안 글: 제목(또는 굵은 이름) 20px, 설명은 본문색 */
.smc-page-body .smc-pat-cards--leaders h3,
.smc-page-body .smc-pat-cards--leaders p strong:only-child {
	display: block;
	margin: 0 0 var(--smc-space-1);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

.smc-page-body .smc-pat-cards--leaders p {
	margin: 0;
	color: var(--smc-color-ink);
}

/* 걸음(2026 ~ 2030): 가로 선 위의 번호 원, 아래에 연도와 단계 이름 */
.smc-page-body .smc-pat-roadmap {
	--smc-road-dot: 2.5rem;
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0 var(--smc-space-1);
	max-width: var(--smc-content-max);
	margin: var(--smc-space-4) 0;
	counter-reset: smc-road;
}

.smc-page-body .smc-pat-roadmap::before {
	content: "";
	position: absolute;
	top: calc(var(--smc-road-dot) / 2 - 1.5px);
	left: 10%;
	height: 3px;
	border-radius: 2px;
}

.smc-page-body .smc-pat-roadmap::before {
	right: 10%;
	background: var(--smc-color-line);
}

/* 지난 해 번호 원에서 다음 번호 원까지 잇는 파란 선 (칸 뒤에 깔림) */
.smc-page-body .smc-pat-roadmap > .smc-road--past::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: calc(var(--smc-road-dot) / 2 - 1.5px);
	left: 50%;
	width: calc(100% + var(--smc-space-1));
	height: 3px;
	background: var(--smc-color-teal);
}

.smc-page-body .smc-pat-roadmap > .wp-block-column {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	text-align: center;
}

.smc-page-body .smc-pat-roadmap > .wp-block-column::before {
	counter-increment: smc-road;
	content: counter(smc-road);
	display: grid;
	place-items: center;
	width: var(--smc-road-dot);
	height: var(--smc-road-dot);
	margin: 0 auto var(--smc-space-1);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal);
	box-shadow: 0 0 0 0.25rem var(--smc-color-paper);
	color: var(--smc-on-teal);
	font-weight: var(--smc-weight-heavy);
}

/* 아직 오지 않은 해: 흰 원 + 파란 테두리 */
.smc-page-body .smc-pat-roadmap > .smc-road--future::before {
	border: 2px solid var(--smc-color-teal);
	background: var(--smc-color-white);
	color: var(--smc-color-teal);
}

.smc-page-body .smc-pat-roadmap p {
	margin: 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-page-body .smc-pat-roadmap h3 {
	margin: 0;
	font-size: var(--smc-text-lg);
}

.smc-page-body .smc-pat-roadmap > .smc-road--future h3 {
	color: var(--smc-color-teal);
}

/* 좁은 화면: 세로 선과 왼쪽 번호 원 */
@media (max-width: 39.99em) {
	.smc-page-body .smc-pat-roadmap {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--smc-space-2);
	}

	.smc-page-body .smc-pat-roadmap::before {
		top: calc(var(--smc-road-dot) / 2);
		right: auto;
		bottom: calc(var(--smc-road-dot) / 2);
		left: calc(var(--smc-road-dot) / 2 - 1.5px);
		width: 3px;
		height: auto;
	}

	.smc-page-body .smc-pat-roadmap > .smc-road--past::after {
		display: none;
	}

	.smc-page-body .smc-pat-roadmap > .wp-block-column {
		min-height: var(--smc-road-dot);
		padding-left: calc(var(--smc-road-dot) + var(--smc-space-2));
		text-align: left;
	}

	.smc-page-body .smc-pat-roadmap > .wp-block-column::before {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0;
	}
}

/* 단계 안내(등록은 이렇게 해요 등): 연한 파랑 카드 + 흰 번호 원 */
.smc-page-body .smc-pat-steps li {
	padding-top: calc(var(--smc-step-num) + var(--smc-space-4));
	border: 0;
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-pat-steps li::before {
	top: var(--smc-space-3);
	left: var(--smc-space-3);
	width: var(--smc-step-num);
	height: var(--smc-step-num);
	background: var(--smc-color-white);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-lg);
	line-height: 1;
}

/* 아래 띠 제목: 두 줄(첫 줄 질문, 둘째 줄 안내), 줄마다 한 덩어리로 보이게 */
.smc-cta-band__line {
	display: block;
}


/* ── 표지 현재 위치(홈 / 페이지 이름): 흰 알약 · 집 아이콘 · 화살표 · 현재 위치는 파랑 굵은 글자 ──
   마크업은 그대로. 집 · 화살표는 선 아이콘을 마스크로 그림(장식, 글자는 그대로 읽힘). 누르는 칸 높이는 44px 유지. */
.smc-page-hero__crumb ol {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	font-size: var(--smc-text-sm);
}

.smc-page-hero__crumb li {
	gap: 0;
}

.smc-page-hero__crumb li + li::before {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	margin-inline: 0.125rem;
	background-color: var(--smc-color-line);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

.smc-page-hero__crumb li:first-child a::before {
	content: "";
	flex: none;
	width: 1.125rem;
	height: 1.125rem;
	margin-right: 0.375rem;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2011l9-8%209%208%27%2F%3E%3Cpath%20d%3D%27M5%2010v10h14V10%27%2F%3E%3Cpath%20d%3D%27M10%2020v-6h4v6%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2011l9-8%209%208%27%2F%3E%3Cpath%20d%3D%27M5%2010v10h14V10%27%2F%3E%3Cpath%20d%3D%27M10%2020v-6h4v6%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

.smc-page-hero__crumb a {
	padding-inline: var(--smc-space-1);
	color: var(--smc-color-muted);
	text-decoration: none;
	transition: color var(--smc-transition);
}

.smc-page-hero__crumb a:hover {
	color: var(--smc-color-teal);
}

.smc-page-hero__crumb [aria-current="page"] {
	padding-inline: var(--smc-space-1);
	color: var(--smc-color-teal);
}

/* 카드 · 걸음 안의 글: 낱말 가운데서 줄이 바뀌지 않게(한글 "사람"이 "사 / 람"으로 갈라지는 것 방지) */
.smc-page-body .smc-pat-cards--leaders > .wp-block-column,
.smc-page-body .smc-pat-roadmap > .wp-block-column {
	overflow-wrap: normal;
	word-break: keep-all;
}

/* 현재 위치 알약과 아래 라벨 사이 간격 */
.smc-page-hero__crumb ol {
	margin-bottom: var(--smc-space-2);
}


/* 아래 띠(주색 바탕) 안의 흰 버튼과 초점 표시: 바탕 위 글자색(--smc-on-teal)을 따라감. 원래 색감은 흰색 그대로, 파스텔은 진한 글자 */
.smc-cta-band .smc-btn--white {
	border-color: var(--smc-on-teal);
	color: var(--smc-on-teal);
}

.smc-cta-band .smc-btn--white:hover {
	border-color: var(--smc-on-teal);
	background: color-mix(in srgb, var(--smc-on-teal) 12%, transparent);
	color: var(--smc-on-teal);
}

.smc-cta-band :focus-visible {
	outline-color: var(--smc-on-teal);
}

/* ── 홈 03 소식·일정 A안(2026-10-20): 탭 없이 두 칸 카드를 나란히 ──
   왼쪽 이번 주 일정(조금 더 넓게) · 오른쪽 중요 공지, 카드 오른쪽 위에 자기 전체 보기 링크. 좁은 화면(48em 미만)은 위아래. */
.smc-home-news {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-3);
}

@media (min-width: 48em) {
	.smc-home-news {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	}
}

.smc-home-news__card {
	min-width: 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

/* 카드 머리: 왼쪽 제목, 오른쪽 전체 보기 링크(좁으면 줄바꿈) */
.smc-home-news__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-1) var(--smc-space-2);
	margin-bottom: var(--smc-space-2);
}

.smc-home-news__head .smc-home-news__title {
	margin: 0;
}

.smc-home-news__more {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	min-height: 44px;
	color: var(--smc-color-teal);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-home-news__more .icon {
	width: 1em;
	height: 1em;
}

.smc-home-news__card .event-list,
.smc-home-news__card .smc-home-list {
	margin: 0;
}


/* ── 기관 소개 디자인(지시서 92, 2026-10-20): 로고 뜻 · 핵심/지향가치 카드 · 인재상 하위 내용 ──
   "이름과 로고에 담은 뜻"(.smc-ci-meaning), "우리가 소중히 여기는 것"(.smc-pat-values), 인재 카드 안 체크 목록(.smc-pat-checks).
   아이콘은 inc/icons.php 의 선 아이콘 모양을 마스크로 씁니다. 색은 tokens.css 이름만 씁니다. */

/* 로고(왼쪽 연한 파랑 상자) + 네 가지 뜻(오른쪽 알약). 좁은 화면은 위아래 */
.smc-page-body .smc-ci-meaning {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-3);
	align-items: center;
	max-width: var(--smc-content-max);
	margin: var(--smc-space-3) 0;
}

@media (min-width: 48em) {
	.smc-page-body .smc-ci-meaning {
		grid-template-columns: 13.75rem minmax(0, 1fr);
	}
}

.smc-page-body .smc-ci-meaning > .wp-block-image {
	display: grid;
	place-items: center;
	margin: 0;
	padding: var(--smc-space-4) var(--smc-space-3);
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-ci-meaning > .wp-block-image img {
	width: auto;
	max-width: 100%;
	height: 7.5rem;
}

.smc-page-body .smc-ci-meaning__list {
	display: grid;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.smc-page-body .smc-ci-meaning__list li {
	display: flex;
	align-items: center;
	gap: var(--smc-space-1);
	margin: 0;
	padding: var(--smc-space-1) var(--smc-space-2);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

.smc-page-body .smc-ci-meaning__list li::before {
	content: "";
	flex: none;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal);
}

.smc-page-body .smc-ci-meaning__list li:nth-child(1)::before { background: var(--smc-logo-yellow); }
.smc-page-body .smc-ci-meaning__list li:nth-child(2)::before { background: var(--smc-logo-orange); }
.smc-page-body .smc-ci-meaning__list li:nth-child(3)::before { background: var(--smc-logo-green); }

/* 핵심가치 · 지향가치: 라벨 한 줄 + 카드 3장(좁은 화면은 한 줄에 3장 그대로, 카드가 작아짐) */
.smc-page-body .smc-pat-values__label {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
	margin: var(--smc-space-3) 0 var(--smc-space-1);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-page-body .smc-pat-values__label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--smc-color-line);
}

.smc-page-body .smc-pat-values__label:first-of-type {
	margin-top: var(--smc-space-2);
}

.smc-page-body .smc-pat-values {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--smc-space-2);
	margin: 0;
}

.smc-page-body .smc-pat-values > .wp-block-column {
	position: relative;
	display: grid;
	justify-items: center;
	gap: var(--smc-space-1);
	margin: 0;
	padding: var(--smc-space-3) var(--smc-space-1);
	border-radius: var(--smc-radius-lg);
	text-align: center;
}

.smc-page-body .smc-pat-values > .wp-block-column::before {
	content: "";
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
}

.smc-page-body .smc-pat-values > .wp-block-column::after {
	content: "";
	position: absolute;
	top: calc(var(--smc-space-3) + 0.5rem);
	left: 50%;
	width: 1.5rem;
	height: 1.5rem;
	transform: translateX(-50%);
	background-color: var(--smc-color-teal);
	-webkit-mask: var(--smc-value-ico) center / contain no-repeat;
	mask: var(--smc-value-ico) center / contain no-repeat;
}

.smc-page-body .smc-pat-values > .wp-block-column p {
	margin: 0;
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

/* 핵심가치: 파랑 바탕 + 흰 글자, 지향가치: 연한 파랑 바탕 + 본문색 */
.smc-page-body .smc-pat-values--core > .wp-block-column {
	background: var(--smc-color-teal);
	color: var(--smc-color-white);
}

.smc-page-body .smc-pat-values--aim > .wp-block-column {
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

.smc-page-body .smc-pat-values--core > .wp-block-column:nth-child(1) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M4%2021a8%208%200%200%201%2016%200%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-values--core > .wp-block-column:nth-child(2) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2020s-7-4.4-7-10a4%204%200%200%201%207-2.6A4%204%200%200%201%2019%2010c0%205.6-7%2010-7%2010z%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-values--core > .wp-block-column:nth-child(3) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203l7%203v5c0%204.5-3%208.5-7%2010-4-1.5-7-5.5-7-10V6z%27%2F%3E%3Cpath%20d%3D%27M9%2012l2%202%204-4%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-values--aim > .wp-block-column:nth-child(1) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%279%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M3%2020a6%206%200%200%201%2012%200%27%2F%3E%3Cpath%20d%3D%27M15%2020a4.5%204.5%200%200%201%206-4.2%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-values--aim > .wp-block-column:nth-child(2) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%274%27%20width%3D%2714%27%20height%3D%2717%27%20rx%3D%272%27%2F%3E%3Crect%20x%3D%279%27%20y%3D%272%27%20width%3D%276%27%20height%3D%274%27%20rx%3D%271%27%2F%3E%3Cpath%20d%3D%27M9%2013l2%202%204-4%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-pat-values--aim > .wp-block-column:nth-child(3) { --smc-value-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021v-8%27%2F%3E%3Cpath%20d%3D%27M12%2013c0-4-3-6-7-6%200%204%203%206%207%206z%27%2F%3E%3Cpath%20d%3D%27M12%2015c0-3%202.5-5%206-5%200%203-2.5%205-6%205z%27%2F%3E%3C%2Fsvg%3E"); }

/* 인재상 카드 안 체크 목록 */
.smc-page-body .smc-pat-checks {
	margin: var(--smc-space-1) 0 0;
	padding: 0;
	list-style: none;
}

.smc-page-body .smc-pat-checks li {
	display: flex;
	align-items: flex-start;
	gap: var(--smc-space-1);
	margin: 0;
	padding: var(--smc-space-1) 0;
	border-top: var(--smc-border-width) solid var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-base);
	line-height: 1.5;
}

.smc-page-body .smc-pat-checks li::before {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	margin-top: 0.25rem;
	background-color: var(--smc-color-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012.5l4.5%204.5L19%207%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012.5l4.5%204.5L19%207%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

/* ── 일정 페이지: 월별 행사 카드 · 공지사항 안내 (2026-10-20) ──
   본문의 목록(.smc-month-cards)을 월 카드 격자로, 마지막 안내 문단(.smc-sched-note)을 연한 파랑 상자로. */
.smc-schedule-body .smc-month-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: var(--smc-space-2);
	margin: var(--smc-space-2) 0 var(--smc-space-3);
	padding: 0;
	list-style: none;
}

.smc-schedule-body .smc-month-cards li {
	display: grid;
	align-content: start;
	gap: var(--smc-space-1);
	margin: 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-base);
	line-height: 1.5;
}

.smc-schedule-body .smc-month-cards li strong {
	display: inline-block;
	justify-self: start;
	padding: 0.125rem var(--smc-space-2);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

.smc-schedule-body .smc-sched-note {
	margin: 0 0 var(--smc-space-4);
	padding: var(--smc-space-2) var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
}

.smc-schedule-body .schedule-intro > p:first-child {
	max-width: none;
}

.smc-schedule-body .smc-sched-more {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-2);
	margin: var(--smc-space-4) 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-schedule-body .smc-sched-more p {
	margin: 0;
	font-weight: var(--smc-weight-bold);
}

/* 일정 페이지: 본문 폭을 1200px 전체로(월 카드가 넓은 화면에서 3~4열로 채우도록), 글만 있는 문단은 읽기 폭 유지 */
.smc-schedule-body .schedule-intro {
	max-width: none;
}

.smc-schedule-body .schedule-intro > p:not(.smc-sched-note),
.smc-schedule-body .schedule-intro > h2 {
	max-width: var(--smc-content-max);
}

/* ── 같은 종류의 다른 이야기: 작은 사진 + 글 (2026-10-20) ──
   사진이 있는 카드는 왼쪽에 작은 정사각 사진, 오른쪽에 알약 · 제목 · 날짜. 사진이 없으면 글만. 좁은 화면도 사진은 왼쪽 그대로. */
.smc-story .story-related__list {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.smc-story .story-related__link {
	display: flex;
	align-items: center;
	gap: var(--smc-space-2);
}

.smc-story .story-related__thumb {
	flex: none;
	width: 5rem;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-teal-tint);
}

.smc-story .story-related__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.smc-story .story-related__body {
	display: grid;
	gap: var(--smc-space-1);
	min-width: 0;
}

/* ── 게시판 모양 목록(채용·모집): 번호 · 제목 · 날짜 표 (2026-10-20, template-parts/board/list.php) ── */
.smc-board {
	margin: var(--smc-space-3) 0;
}

.smc-board__count {
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-board__table {
	width: 100%;
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--smc-radius-lg);
	overflow: hidden;
	background: var(--smc-color-white);
}

.smc-board__table th {
	padding: var(--smc-space-1) var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid var(--smc-color-line);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	text-align: left;
}

.smc-board__table td {
	padding: var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
	color: var(--smc-color-ink);
	vertical-align: middle;
}

.smc-board__table tbody tr:last-child td {
	border-bottom: 0;
}

.smc-board__table tbody tr:hover td {
	background: var(--smc-color-paper);
}

.smc-board__num {
	width: 4.5rem;
	color: var(--smc-color-text-muted);
	text-align: center;
}

.smc-board__table th.smc-board__num {
	text-align: center;
}

.smc-board__date {
	width: 8rem;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	white-space: nowrap;
}

.smc-board__title a {
	display: inline-block;
	min-height: var(--smc-tap-min);
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
	line-height: var(--smc-tap-min);
	text-decoration: none;
}

.smc-board__title a:hover {
	color: var(--smc-color-teal);
	text-decoration: underline;
}

.smc-board__title a:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

.smc-board__new {
	margin-left: var(--smc-space-1);
	padding: 0.125rem var(--smc-space-1);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal-dark);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	white-space: nowrap;
}

/* 제목이 두 줄이 되는 줄은 줄 높이를 풀어 위아래 여백만 */
.smc-board__title a {
	line-height: 1.5;
	padding-block: var(--smc-space-1);
}

@media (max-width: 39.99em) {
	.smc-board__num {
		display: none;
	}

	.smc-board__date {
		width: 6.5rem;
	}
}

/* ── 일정 페이지 월 카드는 3열 (2026-10-20): 좁은 화면 1열 → 30em 이상 2열 → 48em 이상 3열 ── */
.smc-schedule-body .smc-month-cards {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 30em) {
	.smc-schedule-body .smc-month-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 48em) {
	.smc-schedule-body .smc-month-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 문구만 있는 표지(일정 · 이야기 종류 · 게시판 등)는 아래 여백을 줄여 본문과 간격이 벌어져 보이지 않게 */
.smc-page-hero--text {
	padding-bottom: var(--smc-space-3);
}

/* 월 카드와 안내 상자는 본문 폭 1200px 전체를 씀(목록 · 문단의 720px 제한을 풀기) */
.smc-schedule-body .schedule-intro > .smc-month-cards,
.smc-schedule-body .schedule-intro > .smc-sched-note {
	max-width: none;
}

/* ── 넓은 화면 하위 메뉴 패널 B안 (2026-10-20): 왼쪽 파란 소개 상자 + 오른쪽 두 열 목록(이름 · 한 줄 설명 · 화살표) ──
   inc/nav-walker.php 가 패널 맨 앞에 소개 상자(.sub-menu__intro)를 더함. 좁은 화면 메뉴 시트에서는 소개 상자를 숨김. */
.site-nav .sub-menu__intro {
	display: none;
}

.site-nav:not(.is-open) .site-nav__list > .menu-item.is-expanded > .sub-menu {
	display: grid;
	grid-template-columns: 15rem repeat(2, minmax(0, 1fr));
	column-gap: var(--smc-space-4);
	row-gap: 0;
	align-items: start;
	padding-block: var(--smc-space-3);
	background: var(--smc-color-white);
}

.site-nav:not(.is-open) .sub-menu .sub-menu__intro {
	display: grid;
	align-content: start;
	gap: var(--smc-space-1);
	grid-column: 1;
	grid-row: 1 / span 6;
	padding: var(--smc-space-3);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
}

.site-nav .sub-menu__intro-title {
	color: var(--smc-color-teal);
	font-size: var(--smc-text-lg);
	font-weight: var(--smc-weight-bold);
}

.site-nav .sub-menu__intro-text {
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sm);
	line-height: 1.5;
}

/* 목록 항목: 선으로 나뉜 줄, 이름 아래에 한 줄 설명, 오른쪽에 화살표 */
.site-nav:not(.is-open) .sub-menu > li:not(.sub-menu__intro) {
	border-bottom: var(--smc-border-width) solid var(--smc-color-card-line);
}

.site-nav:not(.is-open) .sub-menu > li:not(.sub-menu__intro) > a {
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-2) var(--smc-space-4) var(--smc-space-2) 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--smc-color-ink);
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-bold);
	white-space: normal;
}

.site-nav:not(.is-open) .sub-menu > li:not(.sub-menu__intro) > a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: -0.625rem;
	background-color: var(--smc-color-text-muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

.site-nav:not(.is-open) .sub-menu > li:not(.sub-menu__intro) > a:hover {
	background: transparent;
	color: var(--smc-color-teal);
}

.site-nav:not(.is-open) .sub-menu .current-menu-item > a {
	background: transparent;
	color: var(--smc-color-teal);
}

/* 패널 안에서는 한 줄 설명을 화면에 보이게(이전 띠에서는 숨겼음) */
.site-nav:not(.is-open) .sub-menu .site-nav__desc {
	position: static;
	width: auto;
	height: auto;
	overflow: visible;
	clip-path: none;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-regular);
	white-space: normal;
}

/* ── 글 아래 이전 · 다음 이야기 B안 (2026-10-20): 얇은 선 안에 글만, 가운데 "목록으로" ── */
.smc-story .story-pn {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: var(--smc-space-3);
	padding-block: var(--smc-space-3);
	border-top: var(--smc-border-width) solid var(--smc-color-line);
	border-bottom: var(--smc-border-width) solid var(--smc-color-line);
}

.smc-story .story-pn__link {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
	min-height: var(--smc-tap-min);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
	line-height: 1.4;
}

.smc-story .story-pn__link:hover {
	color: var(--smc-color-teal);
}

.smc-story .story-pn__link .story-pn__label,
.smc-story .story-pn__link--next .story-pn__label {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-regular);
}

.smc-story .story-pn__link--prev {
	grid-column: 1;
	order: 0;
}

.smc-story .story-pn__list {
	grid-column: 2;
	grid-row: 1;
	order: 0;
}

.smc-story .story-pn__link--next {
	grid-column: 3;
	order: 0;
	background: transparent;
	color: var(--smc-color-ink);
	text-align: right;
}

.smc-story .story-pn__link--next:hover {
	color: var(--smc-color-teal);
}

@media (max-width: 39.99em) {
	.smc-story .story-pn {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.smc-story .story-pn__link--prev {
		grid-column: 1;
		grid-row: 1;
	}

	.smc-story .story-pn__link--next {
		grid-column: 2;
		grid-row: 1;
	}

	.smc-story .story-pn__list {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-self: center;
	}
}

/* ── 글 아래 이전 · 다음 이야기 C안 (2026-10-20, 위 B안 규칙을 이 규칙이 덮어씀):
   동그란 화살표 버튼 + 작은 제목, 가운데에 "목록으로" 알약 ── */
.smc-story .story-pn {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	padding-block: var(--smc-space-2);
	border: 0;
}

.smc-story .story-pn__link {
	position: relative;
	align-content: center;
	min-height: 2.75rem;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-regular);
}

.smc-story .story-pn__link--prev {
	padding-left: calc(2.75rem + var(--smc-space-2));
	text-align: left;
}

.smc-story .story-pn__link--next {
	padding-right: calc(2.75rem + var(--smc-space-2));
	text-align: right;
}

/* 동그라미(테두리)와 그 안의 화살표 */
.smc-story .story-pn__link--prev::before,
.smc-story .story-pn__link--next::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 2.75rem;
	height: 2.75rem;
	margin-top: -1.375rem;
	border: var(--smc-border-strong) solid var(--smc-color-line);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-white);
}

.smc-story .story-pn__link--prev::before {
	left: 0;
}

.smc-story .story-pn__link--next::before {
	right: 0;
}

.smc-story .story-pn__link--prev::after,
.smc-story .story-pn__link--next::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: -0.625rem;
	background-color: var(--smc-color-teal);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.smc-story .story-pn__link--prev::after {
	left: 0.75rem;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m15%2018-6-6%206-6%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m15%2018-6-6%206-6%27%2F%3E%3C%2Fsvg%3E");
}

.smc-story .story-pn__link--next::after {
	right: 0.75rem;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27%2F%3E%3C%2Fsvg%3E");
}

.smc-story .story-pn__link:hover::before {
	border-color: var(--smc-color-teal);
}

/* 제목 줄: 작은 글자 · 두 줄까지 */
.smc-story .story-pn__link {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.smc-story .story-pn__link .story-pn__label {
	display: block;
	font-size: var(--smc-text-xs, var(--smc-text-sm));
}

@media (max-width: 39.99em) {
	.smc-story .story-pn__link--prev,
	.smc-story .story-pn__link--next {
		font-size: var(--smc-text-sm);
	}
}

/* ── 기관 소개 첫 부분 B안 (2026-10-20): 위 두 열(소개 글 | 로고 상자) + 아래 네 칸 카드(당사자 · 가족 · 이웃 · 성모) ── */
.smc-page-body .smc-ci-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-4);
	align-items: center;
	max-width: none;
	margin: var(--smc-space-2) 0 var(--smc-space-3);
}

@media (min-width: 48em) {
	.smc-page-body .smc-ci-intro {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	}
}

.smc-page-body .smc-ci-intro > .wp-block-column {
	flex-basis: auto;
	margin: 0;
}

.smc-page-body .smc-ci-intro .wp-block-image {
	display: grid;
	place-items: center;
	margin: 0;
	padding: var(--smc-space-5) var(--smc-space-3);
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-ci-intro .wp-block-image img {
	width: auto;
	max-width: 100%;
	height: 9rem;
}

.smc-page-body .smc-ci-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-2);
	max-width: none;
	margin: 0 0 var(--smc-space-3);
}

@media (min-width: 30em) {
	.smc-page-body .smc-ci-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.smc-page-body .smc-ci-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.smc-page-body .smc-ci-cards > .wp-block-column {
	flex-basis: auto;
	display: grid;
	gap: var(--smc-space-1);
	margin: 0;
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-page-body .smc-ci-cards > .wp-block-column p {
	margin: 0;
	color: var(--smc-color-ink);
}

.smc-page-body .smc-ci-cards > .wp-block-column p:first-child {
	display: flex;
	align-items: center;
	gap: var(--smc-space-1);
	font-size: var(--smc-text-lg);
}

.smc-page-body .smc-ci-cards > .wp-block-column p:first-child::before {
	content: "";
	flex: none;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal);
}

.smc-page-body .smc-ci-cards > .wp-block-column:nth-child(1) p:first-child::before { background: var(--smc-logo-yellow); }
.smc-page-body .smc-ci-cards > .wp-block-column:nth-child(2) p:first-child::before { background: var(--smc-logo-orange); }
.smc-page-body .smc-ci-cards > .wp-block-column:nth-child(3) p:first-child::before { background: var(--smc-logo-green); }

/* ── 공지사항 · 채용·모집 글 화면 (2026-10-20): 날짜 · 작성자 오른쪽 정렬, 본문 아래 게시판 목록 ── */
.smc-story__meta--end {
	justify-content: flex-end;
}

.smc-story__board {
	margin-top: var(--smc-space-5);
	max-width: var(--smc-story-max);
}

.smc-story__board-more {
	margin: var(--smc-space-2) 0 0;
	text-align: center;
}

.smc-board__table tbody tr.is-current td {
	background: var(--smc-color-teal-tint);
}

.smc-board__table tbody tr.is-current .smc-board__title a {
	color: var(--smc-color-teal-dark);
}


/* ── 첨부파일 줄(구글 드라이브 링크) · 게시판 아래 버튼 줄 (2026-10-20) ── */
.smc-attach {
	display: grid;
	grid-template-columns: 7rem minmax(0, 1fr);
	gap: var(--smc-space-2);
	align-items: start;
	margin: var(--smc-space-4) 0 0;
	padding: var(--smc-space-2) 0;
	border-top: var(--smc-border-width) solid var(--smc-color-line);
	border-bottom: var(--smc-border-width) solid var(--smc-color-line);
}

.smc-attach__label {
	margin: 0;
	padding-top: var(--smc-space-1);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-bold);
}

.smc-attach__list {
	display: grid;
	gap: var(--smc-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.smc-attach__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-2);
	min-height: var(--smc-tap-min);
	padding: var(--smc-space-1) var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-md);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	text-decoration: none;
}

.smc-attach__link:hover {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-teal-dark);
}

.smc-attach__link:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

.smc-attach__name {
	min-width: 0;
	overflow-wrap: anywhere;
	font-weight: var(--smc-weight-bold);
}

.smc-attach__go {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: var(--smc-space-1);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-attach__go::before {
	content: "";
	width: 1.125rem;
	height: 1.125rem;
	background-color: var(--smc-color-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203v12m0%200-4-4m4%204%204-4M5%2021h14%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203v12m0%200-4-4m4%204%204-4M5%2021h14%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

@media (max-width: 39.99em) {
	.smc-attach {
		grid-template-columns: minmax(0, 1fr);
	}

	.smc-attach__label {
		padding-top: 0;
	}
}

.smc-board__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--smc-space-1);
	margin: var(--smc-space-2) 0 0;
}

/* 모든 글(이야기 · 공지사항 · 채용·모집)의 날짜 · 작성자 줄은 오른쪽 정렬 (2026-10-20, 사용자 결정) */
.smc-story__meta {
	justify-content: flex-end;
}


/* ── 공지사항 게시판: 사진이 보이는 줄 목록 (2026-10-20): 왼쪽 사진(없으면 일러스트) + 오른쪽 알약 · 제목 · 요약 · 날짜 ── */
.smc-bthumb {
	margin: 0;
	padding: 0;
	list-style: none;
}

.smc-bthumb__item {
	display: grid;
	grid-template-columns: 13.5rem minmax(0, 1fr);
	gap: var(--smc-space-3);
	align-items: center;
	padding: var(--smc-space-3) 0;
	border-bottom: var(--smc-border-width) solid var(--smc-color-line);
}

.smc-bthumb__item:first-child {
	border-top: var(--smc-border-width) solid var(--smc-color-line);
}

.smc-bthumb__media {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
}

.smc-bthumb__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.smc-bthumb__media .smc-bthumb__art {
	width: 70%;
	height: auto;
	object-fit: contain;
}

.smc-bthumb__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1);
	margin: 0 0 var(--smc-space-1);
}

.smc-bthumb__tag {
	padding: 0.125rem var(--smc-space-1);
	border: var(--smc-border-width) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-pill);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
}

.smc-bthumb__title {
	margin: 0 0 var(--smc-space-1);
	font-size: var(--smc-text-lg);
	line-height: 1.4;
}

.smc-bthumb__title a {
	color: var(--smc-color-ink);
	text-decoration: none;
}

.smc-bthumb__title a:hover {
	color: var(--smc-color-teal);
	text-decoration: underline;
}

.smc-bthumb__title a:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

.smc-bthumb__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-text-muted);
}

.smc-bthumb__meta {
	margin: 0;
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-bthumb__item.is-current {
	background: var(--smc-color-teal-tint);
	padding-inline: var(--smc-space-2);
	border-radius: var(--smc-radius-lg);
}

@media (max-width: 39.99em) {
	.smc-bthumb__item {
		grid-template-columns: 6.5rem minmax(0, 1fr);
		gap: var(--smc-space-2);
	}

	.smc-bthumb__title {
		font-size: var(--smc-text-base);
	}

	.smc-bthumb__excerpt {
		display: none;
	}
}

/* 페이지 표지 오른쪽 사진(대표 이미지): 일러스트용 규칙(높이 자동)이 사진에도 걸려 아래가 비던 것을 고침. 사진이 틀을 꽉 채우게 (2026-10-20) */
.smc-page-hero__art--photo .smc-photo__img,
.smc-page-hero__art--photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}


/* ── 본문 통일 손질 (2026-10-20, 사용자 요청) ── */

/* 1) 제목 2 위의 검은 굵은 줄 없앰 (다른 페이지와 같게) */
.site-main[data-mode="mag"] .entry__content h2 {
	padding-top: 0;
	border-top: 0;
}

/* 2) 첫 글자를 크게 파랑으로 보이던 장식 없앰 (사업 소개 3개 · 모든 페이지 같게) */
body.smc-redesign .site-main[data-mode="mag"] .program-page .entry__content > p:first-of-type::first-letter,
.site-main[data-mode="mag"] .program-page .entry__content > p:first-of-type::first-letter {
	float: none;
	padding: 0;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

/* 3) 큰 글자(20px) 소개 문단은 본문 맨 앞 문단(또는 첫 제목 바로 아래 문단)에만. 중간에 처음 나오는 문단은 보통 크기 */
.site-main[data-mode="mag"] .entry__content > p:first-of-type:not(:first-child) {
	font-size: inherit;
}

.site-main[data-mode="mag"] .smc-page-body .entry__content > h2:first-child + p {
	font-size: var(--smc-text-lg);
}

/* 4) 단계 안내(등록은 이렇게 해요): 넓은 화면은 한 줄 4칸, 중간 폭은 2열, 좁으면 한 칸 */
.smc-page-body .smc-pat-steps {
	max-width: none;
}

@media (min-width: 64em) {
	.smc-page-body .smc-pat-steps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 5) 바로 보이는 지도 그림(오시는 길) */
.smc-map--static .smc-map__image {
	display: block;
	overflow: hidden;
	border-radius: var(--smc-radius-xl);
	background: var(--smc-color-teal-tint);
}

.smc-map--static .smc-map__image img {
	display: block;
	width: 100%;
	height: auto;
}

.smc-map--static .smc-map__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--smc-space-1);
	margin: var(--smc-space-2) 0 0;
}

/* 일정 페이지: 접는 칸 안의 월 카드는 본문 폭 전체(3열)를 씀 (접는 칸 안 글 폭 720px 제한을 풀기, 2026-10-20) */
.smc-schedule-body .smc-el-accordion .smc-month-cards,
.smc-schedule-body .smc-el-accordion details > .smc-month-cards {
	max-width: none;
}

/* 단계 안내가 글 폭 720px 제한에 걸려 4칸이 좁게 나오던 것을 고침: 본문 폭 전체를 씀 (2026-10-20) */
.smc-page-body .entry__content > .smc-pat-steps {
	max-width: none;
}

/* ── 오른쪽 빈 공간 줄이기 (2026-10-20): 표와 단계 카드는 본문 폭(1200px) 전체를 씀 ──
   이용 안내의 하루 일과 카드 · 활동 표처럼 글 폭 720px 제한에 걸려 오른쪽이 비던 곳. 글(문단)은 읽기 폭 720px 그대로. */
.smc-page-body .entry__content .wp-block-table {
	max-width: none;
}

.smc-page-body .smc-el-tabs .smc-pat-steps,
.smc-page-body .smc-el-accordion .smc-pat-steps {
	max-width: none;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}


/* ── 번호 옆에 단계 이름, 줄을 바꿔 내용 (2026-10-20): 등록 안내 · 처음 만나요 · 이용 안내의 번호 카드 (--title 이름표가 붙은 목록) ── */
.smc-page-body .smc-pat-steps--title li {
	padding-top: var(--smc-space-3);
}

.smc-page-body .smc-pat-steps--title li::before {
	position: static;
	display: inline-grid;
	place-items: center;
	vertical-align: middle;
	margin: 0 var(--smc-space-1) var(--smc-space-1) 0;
}

.smc-page-body .smc-pat-steps--title li strong {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: var(--smc-space-1);
	font-size: var(--smc-text-lg);
}

/* 아래 파란 띠(궁금한 점 있으세요?)와 바닥글 사이의 빈 줄을 없애 두 개를 붙임 (2026-10-20, 사용자 결정) */
body:has(.smc-cta-band) .site-footer {
	margin-top: 0;
}

body:has(.smc-cta-band) .site-main {
	padding-bottom: 0;
}


/* ── 등록 안내 "등록은 이렇게 해요" A안 (2026-10-20, 사용자 결정): 왼쪽 세로 타임라인 + 오른쪽 준비 서류 카드 · 안내 상자 ── */
.smc-page-body .smc-reg {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-4);
	align-items: start;
	max-width: none;
	margin: var(--smc-space-2) 0 var(--smc-space-3);
}

@media (min-width: 64em) {
	.smc-page-body .smc-reg {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	}
}

.smc-page-body .smc-reg > .wp-block-column {
	flex-basis: auto;
	margin: 0;
}

/* 세로 타임라인: 왼쪽에 번호 원과 이어진 선, 오른쪽에 카드 */
.smc-page-body .smc-reg .smc-reg-steps {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-2);
	max-width: none;
	margin: 0;
	padding: 0 0 0 3.25rem;
	list-style: none;
}

.smc-page-body .smc-reg .smc-reg-steps::before {
	content: "";
	position: absolute;
	top: 1.5rem;
	bottom: 1.5rem;
	left: 1.0625rem;
	width: 2px;
	background: var(--smc-color-line);
}

.smc-page-body .smc-reg .smc-reg-steps li {
	position: relative;
	margin: 0;
	padding: var(--smc-space-2) var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-page-body .smc-reg .smc-reg-steps li::before {
	position: absolute;
	top: var(--smc-space-2);
	left: -3.25rem;
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 2px solid var(--smc-color-teal);
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal-tint);
	color: var(--smc-color-teal);
	font-size: var(--smc-text-base);
	font-weight: var(--smc-weight-bold);
}

.smc-page-body .smc-reg .smc-reg-steps li strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: var(--smc-text-lg);
}

/* 오른쪽: 준비 서류 카드 */
.smc-page-body .smc-reg-docs {
	margin: 0 0 var(--smc-space-2);
	padding: var(--smc-space-3);
	border: var(--smc-border-width) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-reg-docs h3 {
	margin: 0 0 var(--smc-space-1);
	color: var(--smc-color-teal-dark);
	font-size: var(--smc-text-lg);
}

.smc-page-body .smc-reg-docs ul {
	margin: 0;
	padding-left: var(--smc-space-3);
}

/* 오른쪽: 안내 상자(아이콘 + 한 문장) */
.smc-page-body .entry__content .smc-reg-note {
	position: relative;
	max-width: none;
	margin: 0 0 var(--smc-space-1);
	padding: var(--smc-space-2) var(--smc-space-2) var(--smc-space-2) 3.5rem;
	border: var(--smc-border-width) solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
	font-size: var(--smc-text-base);
}

.smc-page-body .smc-reg-note::before {
	content: "";
	position: absolute;
	top: var(--smc-space-2);
	left: var(--smc-space-2);
	width: 2rem;
	height: 2rem;
	border-radius: var(--smc-radius-circle);
	background: var(--smc-color-teal-tint);
}

.smc-page-body .smc-reg-note::after {
	content: "";
	position: absolute;
	top: calc(var(--smc-space-2) + 0.375rem);
	left: calc(var(--smc-space-2) + 0.375rem);
	width: 1.25rem;
	height: 1.25rem;
	background-color: var(--smc-color-teal);
	-webkit-mask: var(--smc-reg-ico) center / contain no-repeat;
	mask: var(--smc-reg-ico) center / contain no-repeat;
}

.smc-page-body .smc-reg-note--file { --smc-reg-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%203H7a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V8z%27%2F%3E%3Cpath%20d%3D%27M14%203v5h5M9%2013h6M9%2017h6%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-reg-note--people { --smc-reg-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%279%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M3%2020a6%206%200%200%201%2012%200%27%2F%3E%3Cpath%20d%3D%27M15%2020a4.5%204.5%200%200%201%206-4.2%27%2F%3E%3C%2Fsvg%3E"); }
.smc-page-body .smc-reg-note--info { --smc-reg-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.75%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%2011v5M12%208h.01%27%2F%3E%3C%2Fsvg%3E"); }

/* 등록 안내 타임라인: 단계 이름이 블록이라 줄바꿈(br)이 빈 줄을 하나 더 만들던 것을 없앰 (2026-10-20) */
.smc-page-body .smc-reg .smc-reg-steps li br {
	display: none;
}

/* 일정 월 카드(접는 칸 안): 카드 안 여백을 사방으로 넉넉히, 월 알약과 아래 글 사이도 넓게 (2026-10-20) */
.smc-schedule-body .smc-el-accordion .wp-block-details > .smc-month-cards {
	margin: 0;
	padding: var(--smc-space-1) var(--smc-space-3) var(--smc-space-3);
}

.smc-schedule-body .smc-el-accordion .smc-month-cards li {
	margin: 0;
	padding: var(--smc-space-3) var(--smc-space-3) var(--smc-space-3) calc(var(--smc-space-3) + var(--smc-space-2));
	gap: var(--smc-space-2);
}

/* 월 알약은 제자리(왼쪽 여백 24px), 아래 일정 글만 오른쪽으로 한 단계(16px) 들여씀 */
.smc-schedule-body .smc-el-accordion .smc-month-cards li strong {
	margin-left: calc(-1 * var(--smc-space-2));
	padding: 0.25rem var(--smc-space-2);
}

/* ── 페이지마다 표지 높이와 화면 폭이 조금씩 달라 메뉴 · 탭 위치가 흔들리던 것을 통일 (2026-10-20) ── */

/* 세로 스크롤 막대가 있는 글과 없는 짧은 글의 폭 차이(약 15px)로 머리글과 본문이 옆으로 밀리지 않게 막대 자리를 늘 남겨 둠 */
html {
	scrollbar-gutter: stable;
}

/* 넓은 화면(가로 2칸 표지): 표지 높이를 412px 로 같게 해서 탭 줄 · 본문 시작 위치가 페이지마다 같게.
   그림 틀과 사진은 그 높이를 꽉 채움(오시는 길의 사진 표지도 같은 높이). 글이 더 길면 그만큼만 늘어남 */
@media (min-width: 64em) {
	.smc-page-hero {
		min-height: 25.75rem;
	}

	.smc-page-hero__art {
		align-self: stretch;
	}

	.smc-page-hero__art--photo .smc-photo {
		height: 100%;
		aspect-ratio: auto;
	}
}

/* 카드 · 미리보기 목록의 "날짜 | 작성자" 줄 (2026-10-20) */
.post-meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--smc-space-1);
}

.post-meta__sep {
	color: var(--smc-color-line);
}


/* ── 게시판 보기 방식 고르기(게시판형 · 사진형) (2026-10-20) ── */
.smc-board__views {
	display: flex;
	justify-content: flex-end;
	gap: var(--smc-space-1);
	margin: var(--smc-space-2) 0 0;
}

.smc-board__view {
	display: inline-flex;
	align-items: center;
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-width) solid var(--smc-color-line);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-ink);
	font-size: var(--smc-text-sm);
	font-weight: var(--smc-weight-bold);
	text-decoration: none;
}

.smc-board__view[aria-current="true"] {
	border-color: var(--smc-color-teal);
	background: var(--smc-color-teal);
	color: var(--smc-on-teal);
}

.smc-board__view:hover:not([aria-current="true"]) {
	border-color: var(--smc-color-teal);
	color: var(--smc-color-teal);
}

.smc-board__view:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

/* ── 기관 소개 카드(우리가 가는 방향 · 닮고 싶은 사람): 아이콘을 제목 옆(왼쪽)으로 (2026-10-20) ── */
.smc-page-body .smc-pat-cards--leaders > .wp-block-column {
	padding: var(--smc-space-3);
}

.smc-page-body .smc-pat-cards--leaders > .wp-block-column > h3,
.smc-page-body .smc-pat-cards--leaders > .wp-block-column > p:first-child {
	display: flex;
	align-items: center;
	min-height: 3rem;
	margin: 0 0 var(--smc-space-1);
	padding-left: calc(3rem + var(--smc-space-2));
}

/* ── 번호 카드(하루 일과 · 처음 만나요): 번호 원은 왼쪽 칸에 두고 제목과 내용을 같은 줄에서 시작(내용을 제목 글자에 맞춰 들여씀) ── */
.smc-page-body .smc-pat-steps--title li {
	padding: var(--smc-space-3) var(--smc-space-3) var(--smc-space-3) calc(var(--smc-space-3) + var(--smc-step-num) + var(--smc-space-1));
}

.smc-page-body .smc-pat-steps--title li::before {
	position: absolute;
	top: var(--smc-space-3);
	left: var(--smc-space-3);
	display: grid;
	margin: 0;
}

.smc-page-body .smc-pat-steps--title li strong {
	display: block;
	min-height: var(--smc-step-num);
	margin-bottom: var(--smc-space-1);
	line-height: var(--smc-step-num);
}

.smc-page-body .smc-pat-steps--title li br {
	display: none;
}

/* ── 접는 칸 · 탭 안의 표: 본문 폭을 꽉 채우고 내용 칸을 길게, 머리 줄이 칸 가장자리에 겹치지 않게 (2026-10-20) ── */
.smc-el-accordion .wp-block-details > .wp-block-table,
.smc-el-tabs .smc-el-tab > .wp-block-table {
	width: auto;
	max-width: none;
}

.smc-el-accordion .wp-block-details > .wp-block-table {
	margin: var(--smc-space-1) var(--smc-space-3) var(--smc-space-3);
}

/* 표 상자(흰 둥근 카드)에 사방 안쪽 여백을 줘서 머리 줄(연한 파랑)이 상자 모서리에 붙어 겹쳐 보이지 않게.
   위쪽 여백이 0이던 "열린 칸 아래 본문" 규칙을 이 표 상자에서만 덮어씀. 표는 상자 폭을 꽉 채움 */
.smc-el-accordion .wp-block-details > .wp-block-table,
.smc-el-tabs .smc-el-tab > .wp-block-table {
	padding: var(--smc-space-2);
}

.smc-page-body .smc-el-accordion .wp-block-table table,
.smc-page-body .smc-el-tabs .wp-block-table table {
	max-width: none;
}

.smc-page-body .smc-el-accordion .wp-block-table table,
.smc-page-body .smc-el-tabs .wp-block-table table {
	width: 100%;
	table-layout: fixed;
}

.smc-page-body .smc-el-accordion .wp-block-table :is(th, td):first-child,
.smc-page-body .smc-el-tabs .wp-block-table :is(th, td):first-child {
	width: 11rem;
}

/* ── 파스텔 부품 색감 (2026-10-20, 사용자 결정) ──────────────────────────────
 * 머리글 팔레트 버튼(또는 사용자 정의하기 "사이트 색")으로 <html data-smc-theme="pastel"> 일 때만 적용.
 * 바꾸는 것은 바탕(미색) · 버튼 · 칩 · 아이콘 원 · 카드뿐. 구성 · 글자 · 머리글 · 바닥글 · 링크 색은 그대로.
 * 중장기 발전계획의 인재상 3색: 배움 파랑(tone1) · 나눔 주황(tone2) · 이룸 분홍(tone3). 값은 tokens.css.
 * 사업과 색의 짝: 등록·회복·취업 지원 = 주황, 배움과 성장 = 파랑, 자치·동아리·문화활동 = 분홍. */

/* 버튼: 파랑(기본) · 주황(후원 · 전화 · 안내) · 분홍 선(보조). 글자는 본문색이라 또렷함 */
:root[data-smc-theme="pastel"] .smc-btn {
	border-color: var(--smc-tone1);
	background: var(--smc-tone1);
	color: var(--smc-color-ink);
	box-shadow: 0 3px 0 rgb(31 41 51 / 14%);
}
:root[data-smc-theme="pastel"] .smc-btn:hover {
	border-color: #7AA3D8;
	background: #7AA3D8;
	color: var(--smc-color-ink);
}
:root[data-smc-theme="pastel"] .smc-btn--accent {
	border-color: var(--smc-tone2);
	background: var(--smc-tone2);
}
:root[data-smc-theme="pastel"] .smc-btn--accent:hover {
	border-color: #EFA24F;
	background: #EFA24F;
}
:root[data-smc-theme="pastel"] .smc-btn--line {
	border-color: var(--smc-tone3);
	background: transparent;
	color: var(--smc-tone3-deep);
	box-shadow: none;
}
:root[data-smc-theme="pastel"] .smc-btn--line:hover {
	border-color: var(--smc-tone3);
	background: var(--smc-tone3-soft);
	color: var(--smc-tone3-deep);
}
:root[data-smc-theme="pastel"] .smc-btn--white {
	border-color: var(--smc-color-white);
	background: transparent;
	color: var(--smc-color-white);
	box-shadow: none;
}

/* 칩 */
:root[data-smc-theme="pastel"] .smc-chip {
	background: var(--smc-tone1-soft);
	color: var(--smc-tone1-deep);
}
:root[data-smc-theme="pastel"] .smc-chip--amber {
	background: var(--smc-tone2-soft);
	color: var(--smc-tone2-deep);
}

/* 홈 01 카드: 위에 색 띠 + 연한 색 바탕 + 같은 색 아이콘 원 */
:root[data-smc-theme="pastel"] .smc-home-card {
	position: relative;
	overflow: hidden;
	padding-top: calc(var(--smc-space-4) + 0.5rem);
	border-color: transparent;
}
:root[data-smc-theme="pastel"] .smc-home-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 0.5rem;
	background: var(--smc-card-tone);
}
:root[data-smc-theme="pastel"] .smc-home-card__icon {
	background: var(--smc-card-tone);
	color: var(--smc-color-ink);
}
:root[data-smc-theme="pastel"] .smc-home-card--consumer-support { --smc-card-tone: var(--smc-tone2); background: var(--smc-tone2-soft); }
:root[data-smc-theme="pastel"] .smc-home-card--empowerment { --smc-card-tone: var(--smc-tone1); background: var(--smc-tone1-soft); }
:root[data-smc-theme="pastel"] .smc-home-card--consumer-led { --smc-card-tone: var(--smc-tone3); background: var(--smc-tone3-soft); }

/* 홈 03 소식 · 일정 카드 두 개 */
:root[data-smc-theme="pastel"] .smc-home-news__card {
	position: relative;
	overflow: hidden;
	padding-top: calc(var(--smc-space-3) + 0.5rem);
	border-color: transparent;
}
:root[data-smc-theme="pastel"] .smc-home-news__card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 0.5rem;
}
:root[data-smc-theme="pastel"] .smc-home-news__card:nth-child(odd) { background: var(--smc-tone1-soft); }
:root[data-smc-theme="pastel"] .smc-home-news__card:nth-child(odd)::before { background: var(--smc-tone1); }
:root[data-smc-theme="pastel"] .smc-home-news__card:nth-child(even) { background: var(--smc-tone2-soft); }
:root[data-smc-theme="pastel"] .smc-home-news__card:nth-child(even)::before { background: var(--smc-tone2); }

/* 본문 카드 3개(.smc-pat-cards): 파랑 · 주황 · 분홍 띠와 연한 바탕 */
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards > .wp-block-column {
	position: relative;
	overflow: hidden;
	border-color: transparent;
	padding-top: calc(var(--smc-space-4) + 0.5rem);
}
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards > .wp-block-column::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 0.5rem;
	background: var(--smc-card-tone, var(--smc-tone1));
}
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards > .wp-block-column:nth-child(3n+1) { --smc-card-tone: var(--smc-tone1); background: var(--smc-tone1-soft); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards > .wp-block-column:nth-child(3n+2) { --smc-card-tone: var(--smc-tone2); background: var(--smc-tone2-soft); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards > .wp-block-column:nth-child(3n+3) { --smc-card-tone: var(--smc-tone3); background: var(--smc-tone3-soft); }
/* 아이콘 원을 쓰는 "닮고 싶은 사람" 카드는 위 띠를 쓰지 않고 바탕과 아이콘 색만 */
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards--leaders > .wp-block-column::before { inset: auto; top: var(--smc-space-3); left: var(--smc-space-3); width: 3rem; height: 3rem; background: var(--smc-color-white); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(1)::after { background-color: var(--smc-tone1-deep); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(2)::after { background-color: var(--smc-tone2-deep); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-cards--leaders > .wp-block-column:nth-child(3)::after { background-color: var(--smc-tone3-deep); }

/* 단계 카드: 번호 원마다 파랑 · 주황 · 분홍 */
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-steps li:nth-child(3n+1)::before { background: var(--smc-tone1); color: var(--smc-color-ink); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-steps li:nth-child(3n+2)::before { background: var(--smc-tone2); color: var(--smc-color-ink); }
:root[data-smc-theme="pastel"] .smc-page-body .smc-pat-steps li:nth-child(3n+3)::before { background: var(--smc-tone3); color: var(--smc-color-ink); }

/* ── 열린 접는 칸: 머리(제목 줄)와 안쪽 흰 카드가 붙어 색이 겹쳐 보이지 않게 (2026-10-20) ──
   제목 줄 아래에 옅은 선을 긋고, 안쪽 첫 블록과 사이를 16px 띄움. */
.smc-el-accordion .wp-block-details[open] > summary {
	margin-bottom: var(--smc-space-2);
	border-bottom: var(--smc-border-width) solid color-mix(in srgb, var(--smc-color-teal) 25%, transparent);
}

.smc-el-accordion .wp-block-details[open] > summary + * {
	margin-top: var(--smc-space-1);
}

/* ── 글자 크게 보기 알약 버튼 (2026-10-20, 폰 화면 전용) ──────────────────────
 * 머리글 바로 아래 오른쪽. 폰 폭(48em 미만)에서만 보이고, 누르면 html 에 smc-large-text 가 붙어
 * rem 기준 글자가 12.5% 커짐(18px 본문 → 약 20px). 꺼짐: 흰 바탕 · 파란 글자 · 파란 테두리 / 켜짐: 파란 바탕 · 흰 글자. */
.smc-textsize {
	display: none;
}

.smc-textsize__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--smc-space-1);
	min-height: var(--smc-tap-min);
	padding: 0 var(--smc-space-2);
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-pill);
	background: var(--smc-color-white);
	color: var(--smc-color-teal);
	font: inherit;
	font-size: var(--smc-text-btn);
	font-weight: var(--smc-weight-bold);
	cursor: pointer;
}

.smc-textsize__btn[aria-pressed="true"] {
	background: var(--smc-color-teal);
	color: var(--smc-color-white);
}

.smc-textsize__ga {
	font-size: 1.125em;
	font-weight: var(--smc-weight-heavy);
}

.smc-textsize__btn:focus-visible {
	outline: var(--smc-focus-width) solid var(--smc-color-ink);
	outline-offset: var(--smc-focus-offset);
}

@media (max-width: 47.99em) {
	.smc-textsize:not([hidden]) {
		display: flex;
		justify-content: flex-end;
		padding: var(--smc-space-1) var(--smc-gutter) 0;
	}

	html.smc-large-text {
		font-size: 112.5%;
	}
}

/* 홈 중요 공지: 종류 칩(공지 · 채용·모집)을 같은 폭으로 맞춰 제목이 같은 세로줄에서 시작하게 */
.smc-home-list__item > .smc-chip {
	flex: none;
	justify-content: center;
	min-width: 6rem;
}

/* 일정 페이지 "글쓰기" 버튼: 달력 바로 위 오른쪽, 달력과 간격 */
.smc-sched-write {
	margin: 0 0 var(--smc-space-2);
}

/* 글 본문 아래 "수정하기" 버튼(일정 · 공지사항 · 채용·모집, 직원에게만): 본문과 간격을 두고 오른쪽 */
.smc-post-edit {
	margin-top: var(--smc-space-3);
}

/* ── 홈 03 소식·일정 전체 폭 (2026-10-20, 사용자 결정) ──────────────────────────
 * 두 카드를 위아래 전체 폭으로 쌓음. 이번 주 일정은 카드 안에 일정 카드를 개수대로:
 * 1개 = 가로로 넓은 한 장, 2개 = 2열, 3개 이상 = 3열(넘치면 다음 줄), 폰(48em 미만) = 한 장씩.
 * 중요 공지는 전체 폭 한 줄 목록: [종류 칩] 제목 ……… 날짜. */
@media (min-width: 48em) {
	.smc-home-news {
		grid-template-columns: minmax(0, 1fr);
	}
}

.smc-home-news__card .event-list {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--smc-space-2);
}

@media (min-width: 48em) {
	.smc-home-news__card .event-list--n2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.smc-home-news__card .event-list--n3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* 1개일 때: 날짜 · 제목 · 시간 장소를 한 줄에 나란히(좁아지면 줄바꿈) */
	.smc-home-news__card .event-list--n1 .event-item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--smc-space-1) var(--smc-space-3);
	}

	.smc-home-news__card .event-list--n1 .event-item__title {
		flex: 1 1 18rem;
	}
}

.smc-home-news__card .event-item {
	height: 100%;
	background: var(--smc-color-paper);
}

/* 중요 공지 한 줄: 칩 열 · 제목 열(남는 폭) · 날짜 열 */
@media (min-width: 48em) {
	.smc-home-news__card .smc-home-list__item {
		display: grid;
		grid-template-columns: 6rem minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--smc-space-1) var(--smc-space-2);
	}

	.smc-home-news__card .smc-home-list__title {
		flex: none;
	}
}

/* ── 일정 글의 "이 행사의 이야기" (B안, 2026-10-20) ── 일정 정보 바로 아래: 파란 테두리 알림 상자 + 이야기 한 줄 */
.smc-event-story {
	margin: 0 0 var(--smc-space-4);
}

.smc-event-story__box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smc-space-2);
	padding: var(--smc-space-2) var(--smc-space-3);
	border: var(--smc-border-strong) solid var(--smc-color-teal);
	border-radius: var(--smc-radius-lg);
	background: var(--smc-color-white);
}

.smc-event-story__msg {
	display: grid;
	margin: 0;
}

.smc-event-story__msg strong {
	font-size: var(--smc-text-lg);
}

.smc-event-story__msg span {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

.smc-event-story__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smc-space-1) var(--smc-space-2);
	margin: var(--smc-space-1) 0 0;
	padding: var(--smc-space-2) var(--smc-space-1);
}

.smc-event-story__title {
	flex: 1 1 14rem;
	color: var(--smc-color-ink);
	font-weight: var(--smc-weight-bold);
}

.smc-event-story__date {
	color: var(--smc-color-text-muted);
	font-size: var(--smc-text-sm);
}

/* ── 홈 오시는 길 띠와 바닥글 사이 여백 없앰 (2026-10-21, 사용자 요청) ── */

/* 홈: 오시는 길 띠(연한 파랑)가 바닥글에 바로 붙음. 바닥글 위쪽 바깥 여백 72px 만 홈에서 뺌 */
body.home .site-footer {
	margin-top: 0;
}

/* 홈: "처음 오셨나요?" 파랑 띠가 바로 위 흰 구역에 붙음. 위쪽 바깥 여백 72px 만 홈에서 뺌 (위 구역이 아래 안쪽 여백 72px 를 이미 가짐, 2026-10-21, 사용자 요청) */
body.home .first-visit {
	margin-top: 0;
}

/* 바로가기 설치 버튼(푸터) · 기본은 숨김, 설치할 수 있는 브라우저에서만 보임 */
/* 바로가기 목록 안 한 줄(다른 바로가기 버튼과 같은 모양) */
.smc-install .smc-install__btn {
	min-height: var(--smc-tap-min);
	gap: var(--smc-space-1);
}
.smc-install .smc-install__btn img {
	flex: none;
	display: block;
}
.smc-install__note {
	margin: var(--smc-space-1) 0 0;
	color: var(--smc-color-footer-text);
}
.smc-install__dialog {
	max-width: 28rem;
	padding: var(--smc-space-3);
	border: 1px solid var(--smc-color-card-line);
	border-radius: var(--smc-radius-card, 16px);
	background: var(--smc-color-white);
	color: var(--smc-color-text);
}
.smc-install__dialog::backdrop {
	background: rgba(0, 0, 0, 0.5);
}
.smc-install__dialog ol {
	margin: var(--smc-space-2) 0;
	padding-left: 1.5em;
}
