:root {
	--site-bg: #F8F9FA;
	--content-bg: #fff;
	--text-color: #2D3748;
	--muted-color: #667085;
	--border-color: #e5e7eb;
	--menu-link-color: #333;
	--link-color: #0D6EFD;
	--header-bg: rgba(255, 255, 255, 0.92);
	--footer-bg: #ffffff;
	--radius: 16px;
}

html {
	-webkit-text-size-adjust: 100%;
	color-scheme: light;
}

html.dark-mode {
	--site-bg: #101013;
	--content-bg: #17171C;
	--text-color: #E4E4E5;
	--muted-color: #9ca3af;
	--border-color: #3D3D47;
	--menu-link-color: #E4E4E5;
	--link-color: #4C7DFF;
	--header-bg: #17171C;
	--footer-bg: #17171C;
	color-scheme: dark;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--site-bg);
	color: var(--text-color);
	font-family: -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
	line-height: 1.65;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--header-bg);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--border-color);
}

.site-header-inner {
	width: min(650px, calc(100% - 32px));
	min-height: 60px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.site-header-left {
	display: flex;
	align-items: center;
	gap: 24px;
	min-width: 0;
}

.site-brand {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.site-title {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--text-color);
}

.site-tagline {
	margin-top: 2px;
	font-size: 12px;
	color: var(--muted-color);
}

.site-nav {
	display: flex;
	align-items: center;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu a {
	font-size: 14px;
	font-weight: 500;
	color: var(--muted-color);
}

.primary-menu a:hover {
	color: var(--menu-link-color);
}

/* Dark Mode Button */
.theme-toggle {
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--text-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.theme-toggle:hover {
	color: var(--link-color);
}

.theme-toggle:focus-visible {
	outline: 2px solid var(--link-color);
	outline-offset: 3px;
	border-radius: 4px;
}

.theme-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.theme-icon svg {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.theme-icon-moon {
	display: none;
}

html.dark-mode .theme-icon-sun {
	display: none;
}

html.dark-mode .theme-icon-moon {
	display: inline-flex;
}

/* =========================
   Header Mobile Actions
========================= */

.site-header-right {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.header-icon-button {
	display: none;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--text-color);
	cursor: pointer;
	font-family: inherit;
	line-height: 1;
}

.header-icon-button:hover {
	color: var(--link-color);
}

.header-icon-button:focus-visible {
	outline: 2px solid var(--link-color);
	outline-offset: 3px;
	border-radius: 4px;
}

.header-icon-button svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* 햄버거 아이콘 */

.header-menu-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 20px;
	height: 20px;
}

.header-menu-icon span {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition:
		transform 0.2s ease,
		opacity 0.2s ease;
}

.header-menu-toggle[aria-expanded="true"] .header-menu-icon span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.header-menu-toggle[aria-expanded="true"] .header-menu-icon span:nth-child(2) {
	opacity: 0;
}

.header-menu-toggle[aria-expanded="true"] .header-menu-icon span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}


/* 검색 패널 */

.header-search-panel,
.header-mobile-menu {
	width: min(650px, calc(100% - 32px));
	margin: 0 auto;
}

.header-search-panel[hidden],
.header-mobile-menu[hidden] {
	display: none;
}

.header-search-panel {
	padding: 0 0 14px;
}

.header-search-form {
	position: relative;
	display: flex;
	align-items: center;
}

.header-search-input {
	width: 100%;
	height: 44px;
	padding: 0 48px 0 14px;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	background: var(--content-bg);
	color: var(--text-color);
	font-family: inherit;
	font-size: 14px;
	outline: none;
}

.header-search-input::placeholder {
	color: var(--muted-color);
}

.header-search-input:focus {
	border-color: var(--link-color);
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

.header-search-submit {
	position: absolute;
	top: 50%;
	right: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--muted-color);
	cursor: pointer;
	transform: translateY(-50%);
}

.header-search-submit:hover {
	color: var(--link-color);
}

.header-search-submit svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* 모바일 메뉴 */

.header-mobile-menu {
	padding: 0 0 14px;
}

.header-mobile-menu-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 8px 0;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	background: var(--content-bg);
	list-style: none;
	overflow: hidden;
}

.header-mobile-menu-list li {
	margin: 0;
}

.header-mobile-menu-list a {
	display: block;
	padding: 12px 14px;
	color: var(--text-color);
	font-size: 14px;
	font-weight: 600;
}

.header-mobile-menu-list a:hover,
.header-mobile-menu-list .current-menu-item > a {
	background: var(--site-bg);
	color: var(--link-color);
}

/* Layout */
.site-main {
	padding: 32px 0 56px;
}

.content-area {
	width: min(600px, calc(100% - 32px));
	margin: 0 auto;
	background: var(--content-bg);
	border: 1px solid var(--border-color);
	border-radius: var(--radius);
	padding: 20px;
}

/* Post List */
.post-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.post-item {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border-color);
}

.post-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.post-item-link {
	display: block;
}

.post-item-title {
	margin: 0;
	font-size: 22px;
	line-height: 1.35;
	letter-spacing: -0.04em;
	color: var(--text-color);
}

.post-item-link:hover .post-item-title {
	color: var(--link-color);
}

.post-item-meta,
.single-meta {
	margin-top: 8px;
	font-size: 13px;
	color: var(--muted-color);
}

.post-item-excerpt {
	margin: 12px 0 0;
	color: var(--muted-color);
}

/* Single / Page */
.single-header,
.page-header {
	margin-bottom: 24px;
}

.single-title,
.page-title {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.05em;
	color: var(--text-color);
	font-weight: 700;
}

.single-thumbnail {
	margin: 24px 0;
	border-radius: var(--radius);
	overflow: hidden;
}

.entry-content {
	font-size: 16px;
	color: var(--text-color);
}

.entry-content p {
	margin: 16px 0;
}

.entry-content a {
	color: var(--link-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry-content h2 {
	margin-top: 40px;
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: -0.04em;
}

.entry-content h2 strong,
.entry-content h3 strong {
	font-weight: 700;
}

.entry-content h3 {
	margin-top: 24px;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: -0.03em;
}

.entry-content ul,
.entry-content ol {
	padding-left: 24px;
}

.entry-content blockquote {
	margin: 24px 0;
	padding: 16px 18px;
	border-left: 4px solid var(--link-color);
	background: var(--site-bg);
	color: var(--muted-color);
}

/* Footer */
.site-footer {
	border-top: 1px solid var(--border-color);
	background: var(--footer-bg);
}

.site-footer-inner {
	width: min(700px, calc(100% - 32px));
	margin: 0 auto;
	padding: 28px 0;
	color: var(--muted-color);
	font-size: 14px;
}

.footer-title {
	margin: 0;
	font-weight: 800;
	color: var(--text-color);
}

.footer-desc,
.footer-copy {
	margin: 6px 0 0;
}

.footer-menu {
	display: flex;
	gap: 12px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.footer-menu a {
	color: var(--muted-color);
}

.footer-menu a:hover {
	color: var(--link-color);
}

/* Pagination */
.pagination {
	margin-top: 24px;
}

.nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--border-color);
	border-radius: 999px;
	background: var(--site-bg);
	color: var(--muted-color);
	font-size: 14px;
	font-weight: 600;
}

.page-numbers.current {
	background: var(--link-color);
	border-color: var(--link-color);
	color: #ffffff;
}

/* Empty */
.empty-text {
	margin: 0;
	color: var(--muted-color);
}

/* Mobile */
@media (max-width: 640px) {
	.site-header-inner {
		width: min(100% - 24px, 700px);
		min-height: 62px;
	}

	.site-header-left {
		gap: 16px;
	}

	.site-tagline {
		display: none;
	}

	.site-nav {
		display: none;
	}

	.header-icon-button {
		display: inline-flex;
	}

	.site-header-right {
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.header-search-panel,
	.header-mobile-menu {
		width: min(100% - 24px, 650px);
	}

	.site-main {
		padding: 24px 0 48px;
	}

	.content-area {
		width: min(100% - 24px, 650px);
		padding: 22px;
	}

	.single-title,
	.page-title {
		font-size: 28px;
	}

	.post-item-title {
		font-size: 20px;
	}

	.entry-content {
		font-size: 16px;
	}

	.entry-content h2 {
		font-size: 18px;
	}

	.entry-content h3 {
		font-size: 17px;
	}
}

/* =========================
   FAQ
========================= */

.h365-faq {
	margin-top: 40px;
	padding-top: 10px;
	border-top: 1px solid var(--border-color);
}

/* 일반 본문 제목 형태 */
.h365-faq-title {
	margin: 0 0 8px;
	color: var(--text-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.04em;
}

h2.h365-faq-title {
	margin-top: 30px;
}

/* 숏코드 사이 자동 생성 br 제거 */
.h365-faq-list > br,
.h365-faq > br {
	display: none;
}

/* FAQ 내용 블록에만 배경 적용 */
.h365-faq-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 16px;
	background: #F8F9FC;
}

/* 숏코드 사이 자동 생성된 br 제거 */
.h365-faq-list > br {
	display: none;
}

.h365-faq-item {
	margin: 0;
	padding: 0 0 6px;
	border: 0;
	background: transparent;
}

.h365-faq-item + .h365-faq-item {
	padding-top: 24px;
}

/* 마지막 FAQ 항목 */
.h365-faq-item:last-of-type {
	padding-bottom: 12px;
	border-bottom: 0;
}

.h365-faq-question {
	margin: 0 0 10px;
	padding: 0;
	color: #344054;
	border-bottom: 1px solid #E4E8EC;
	padding-bottom: 10px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.03em;
	word-break: keep-all;
}

h3.h365-faq-question {
	margin-top: 18px;
}

.h365-faq-answer {
	color: #475467;
	padding-left: 5px;
	font-size: 15px;
	line-height: 1.7;
	word-break: keep-all;
}

.h365-faq-answer p {
	margin: 0;
	color: inherit;
}

.h365-faq-answer p + p {
	margin-top: 10px;
}

.h365-faq-answer ul,
.h365-faq-answer ol {
	margin: 10px 0 0;
	padding-left: 22px;
	color: inherit;
}

.h365-faq-answer li {
	margin: 0;
	color: inherit;
}

.h365-faq-answer li + li {
	margin-top: 5px;
}

/* =========================
   FAQ - Dark Mode
========================= */

html.dark-mode .h365-faq-list {
	background: #1F1F24;
	border: 1px solid #32333B;
}

html.dark-mode .h365-faq-question {
	color: var(--text-color);
}

html.dark-mode .h365-faq-answer {
	color: var(--muted-color);
}

/* =========================
   FAQ - Mobile
========================= */

@media (max-width: 640px) {
	.h365-faq {
		margin-top: 34px;
		padding-top: 24px;
	}

	.h365-faq-title {
		margin-bottom: 14px;
		font-size: 18px;
	}

		.h365-faq-list {
		padding: 16px 14px;
	}

	h2.h365-faq-title {
		margin-top: 20px;
	}

	.h365-faq-item {
		padding-bottom: 12px;
	}

	h3.h365-faq-question {
		margin-top: 10px;
	}

	.h365-faq-item + .h365-faq-item {
		padding-top: 20px;
	}

	.h365-faq-question {
		margin-bottom: 7px;
		font-size: 16px;
		line-height: 1.5;
	}

	.h365-faq-answer {
		font-size: 15px;
		line-height: 1.6;
	}
}

/* =========================
   CPT Common
========================= */

.h365-single-guide-wrap {
	padding: 0;
	overflow: hidden;
}

.h365-single-guide {
	padding: 24px;
}

/* =========================
   Single Guide
========================= */

.h365-guide-header {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.h365-guide-terms {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.h365-guide-term {
	padding: 8px 4px;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	color: var(--muted-color);
	line-height: 1;
}

.h365-guide-category {
	font-size: 16px;
	border-color: rgba(37, 99, 235, 0.2);
	color: var(--link-color);
	font-weight: 700;
	padding-left: 0;
}

.h365-guide-tag {
	padding: 6px 8px;
	font-size: 13px;
	border-radius: 999px;
	color: var(--muted-color);
	font-weight: 500;
}

/* =========================
   Guide Tag Colors by Category
========================= */

/* 지원금 */
.h365-guide-cat-support .h365-guide-tag {
	background: #DEE4FA;
	border-color: var(--border-color);
	color: #6D7EF0;
}

/* 생활 */
.h365-guide-cat-life .h365-guide-tag {
	background: #C8F0DD;
	border-color: var(--border-color);
	color: #22C55E;
}

/* 근로 */
.h365-guide-cat-work .h365-guide-tag {
	background: #FFF3D9;
	border-color: var(--border-color);
	color: #E45600;
}

/* 복지 */
.h365-guide-cat-welfare .h365-guide-tag {
	background: #F8DCDD;
	border-color: var(--border-color);
	color: #F34A4A;
}

/* =========================
   Guide Tag Colors - Dark Mode
========================= */

html.dark-mode .h365-guide-cat-support .h365-guide-tag {
	background: rgba(109, 126, 240, 0.14);
	border-color: rgba(109, 126, 240, 0.24);
	color: #AEB8FF;
}

html.dark-mode .h365-guide-cat-life .h365-guide-tag {
	background: rgba(34, 197, 94, 0.13);
	border-color: rgba(34, 197, 94, 0.23);
	color: #86EFAC;
}

html.dark-mode .h365-guide-cat-work .h365-guide-tag {
	background: rgba(228, 86, 0, 0.15);
	border-color: rgba(228, 86, 0, 0.25);
	color: #FDBA74;
}

html.dark-mode .h365-guide-cat-welfare .h365-guide-tag {
	background: rgba(243, 74, 74, 0.13);
	border-color: rgba(243, 74, 74, 0.23);
	color: #FCA5A5;
}

.h365-guide-title {
	margin: 0;
	font-size: 25px;
	line-height: 1.4;
	letter-spacing: -0.070em;
	color: var(--text-color);
	font-weight: 700;
}

.h365-guide-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
}

.h365-guide-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 4px;
	color: var(--muted-color);
	font-size: 14px;
}

.h365-guide-meta span {
	display: inline-flex;
	align-items: center;
}

.h365-guide-meta span + span::before {
	content: "";
	width: 3px;
	height: 3px;
	margin-right: 10px;
	border-radius: 999px;
	background: var(--muted-color);
	opacity: 0.7;
}

.h365-guide-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

/* =========================
   Guide Header Actions
========================= */

.h365-guide-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.h365-guide-action-button {
	width: 24px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--text-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	cursor: pointer;
	font-family: inherit;
	font-weight: 700;
	line-height: 1;
	transition:
		color 0.2s ease,
		transform 0.2s ease,
		opacity 0.2s ease;
}

.h365-guide-action-button:hover {
	color: var(--link-color);
	transform: translateY(-1px);
}

.h365-guide-action-button:active {
	transform: translateY(0);
	opacity: 0.7;
}

.h365-guide-action-button:focus-visible {
	outline: 2px solid var(--link-color);
	outline-offset: 3px;
	border-radius: 4px;
}

.h365-guide-action-button svg {
	display: block;
	width: 18px;
	height: 18px;
}


/* 채워진 댓글 말풍선 */

.h365-comment-button svg {
	fill: currentColor;
	stroke: none;
}


/* 채워진 공유 아이콘 */

.h365-share-button svg {
	fill: currentColor;
	stroke: none;
}


/* 글자 크기 버튼 */

.h365-font-cycle-button {
	width: 22px;
	font-size: 15px;
	letter-spacing: -0.04em;
}

.h365-font-cycle-button.is-large-mode {
	font-size: 18px;
}

.h365-font-cycle-button.is-small-mode {
	font-size: 13px;
}

/* =========================
   Guide Contents
========================= */

.h365-guide-divider {
	margin: 12px -10px 0;
	border-top: 1px solid var(--border-color);
}

.h365-guide-thumbnail {
	margin: 18px 0 22px;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--site-bg);
}

.h365-guide-thumbnail img {
	width: 100%;
}

.h365-guide-content {
	padding-bottom: 8px;
}

.h365-guide-content.is-font-small {
	font-size: 15px;
}

.h365-guide-content.is-font-large {
	font-size: 18px;
}

.entry-content mark,
.entry-content mark.has-inline-color,
.entry-content mark.has-inline-background-color {
	padding: 0 2px;
	border-radius: 2px;
	background-color: transparent !important;
	background-image: linear-gradient(
		to top,
		rgba(37, 99, 235, 0.16) 48%,
		transparent 32%
	);
	color: inherit;
}

html.dark-mode .entry-content mark,
html.dark-mode .entry-content mark.has-inline-color,
html.dark-mode .entry-content mark.has-inline-background-color {
	background-color: transparent !important;
	background-image: linear-gradient(
		to top,
		rgba(37, 99, 235, 0.42) 48%,
		transparent 32%
	);
	color: inherit;
}

/* =========================
   Auto TOC
========================= */

.h365-auto-toc {
	margin: 24px 0 30px;
	padding: 18px;
	border: 1px solid #E2E7F0;
	border-radius: var(--radius);
	background: #F8F9FC;
}

.h365-auto-toc-title {
	margin-bottom: 12px;
	color: #344054;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.h365-auto-toc-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding-left: 18px;
}

.h365-auto-toc-item {
	color: #475467;
	font-size: 15px;
	line-height: 1.5;
}

.h365-auto-toc-item a {
	color: inherit;
	text-decoration: none;
}

.h365-auto-toc-item a:hover {
	color: var(--link-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.h365-auto-toc-level-3 {
	margin-left: 14px;
	font-size: 14px;
}

html.dark-mode .h365-auto-toc {
	background-color: #1F1F24;
	border: 1px solid #32333B;
}

html.dark-mode .h365-auto-toc-title {
	color: var(--text-color);
}

html.dark-mode .h365-auto-toc-item {
	color: var(--menu-link-color);
}

/* =========================
   Guide Bottom Sections
========================= */

.h365-guide-related,
.h365-guide-comments-section {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--border-color);
	scroll-margin-top: 84px;
}

.h365-guide-section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
}

.h365-guide-section-title {
	margin: 0;
	color: var(--text-color);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.045em;
}

.h365-guide-comment-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--site-bg);
	color: var(--muted-color);
	font-size: 12px;
	font-weight: 700;
}


/* =========================
   Related Guides
========================= */

.h365-guide-related-list {
	display: flex;
	flex-direction: column;
}

.h365-guide-related-item {
	border-bottom: 1px solid var(--border-color);
}

.h365-guide-related-item:first-child {
	border-top: 1px solid var(--border-color);
}

.h365-guide-related-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
}

.h365-guide-related-text {
	min-width: 0;
	flex: 1;
}

.h365-guide-related-title {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--text-color);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.035em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.h365-guide-related-date {
	display: block;
	margin-top: 6px;
	color: var(--muted-color);
	font-size: 12px;
	line-height: 1.4;
}

.h365-guide-related-thumbnail {
	width: 84px;
	height: 62px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--site-bg);
}

.h365-guide-related-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.h365-guide-related-link:hover .h365-guide-related-title {
	color: var(--link-color);
}


/* =========================
   Guide Comments
========================= */

.h365-guide-comments-content {
	color: var(--text-color);
}

.h365-guide-comments-content .comments-area {
	margin: 0;
}

.h365-guide-comments-content .comments-title {
	display: none;
}

.h365-guide-comments-content .comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.h365-guide-comments-content .comment {
	padding: 18px 0;
	border-bottom: 1px solid var(--border-color);
}

.h365-guide-comments-content .comment-body {
	margin: 0;
}

.h365-guide-comments-content .comment-meta {
	margin-bottom: 8px;
	color: var(--muted-color);
	font-size: 13px;
}

.h365-guide-comments-content .comment-author {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-color);
	font-weight: 700;
}

.h365-guide-comments-content .comment-author .avatar {
	width: 30px;
	height: 30px;
	border-radius: 999px;
}

.h365-guide-comments-content .comment-metadata {
	margin-top: 4px;
}

.h365-guide-comments-content .comment-metadata a {
	color: var(--muted-color);
}

.h365-guide-comments-content .comment-content {
	color: var(--text-color);
	font-size: 15px;
	line-height: 1.65;
}

.h365-guide-comments-content .comment-content p {
	margin: 8px 0 0;
}

.h365-guide-comments-content .reply {
	margin-top: 10px;
}

.h365-guide-comments-content .comment-reply-link {
	color: var(--link-color);
	font-size: 13px;
	font-weight: 700;
}

.h365-guide-comments-content .children {
	margin: 16px 0 0 20px;
	padding: 0 0 0 16px;
	border-left: 2px solid var(--border-color);
	list-style: none;
}


/* Comment Form */

.h365-guide-comments-content .comment-respond {
	margin-top: 24px;
}

.h365-guide-comments-content .comment-reply-title {
	margin: 0 0 14px;
	color: var(--text-color);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.h365-guide-comments-content .comment-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.h365-guide-comments-content .comment-form p {
	margin: 0;
}

.h365-guide-comments-content .comment-form label {
	display: block;
	margin-bottom: 6px;
	color: var(--text-color);
	font-size: 13px;
	font-weight: 700;
}

.h365-guide-comments-content .comment-form input:not([type="submit"]),
.h365-guide-comments-content .comment-form textarea {
	width: 100%;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	background: var(--site-bg);
	color: var(--text-color);
	font-family: inherit;
	font-size: 15px;
	outline: none;
}

.h365-guide-comments-content .comment-form input:not([type="submit"]) {
	height: 44px;
	padding: 0 14px;
}

.h365-guide-comments-content .comment-form textarea {
	min-height: 120px;
	padding: 13px 14px;
	resize: vertical;
	line-height: 1.6;
}

.h365-guide-comments-content .comment-form input:focus,
.h365-guide-comments-content .comment-form textarea:focus {
	border-color: var(--link-color);
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

.h365-guide-comments-content .form-submit {
	display: flex;
	justify-content: flex-end;
}

.h365-guide-comments-content .submit {
	min-width: 88px;
	height: 42px;
	padding: 0 18px;
	border: 0;
	border-radius: 10px;
	background: var(--link-color);
	color: #ffffff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.h365-guide-comments-content .submit:hover {
	opacity: 0.9;
}

.h365-guide-comments-content .logged-in-as,
.h365-guide-comments-content .comment-notes,
.h365-guide-comments-content .must-log-in {
	color: var(--muted-color);
	font-size: 13px;
}

/* =========================
   Mobile - Single Guide
========================= */

@media (max-width: 640px) {
	.h365-single-guide {
		padding: 20px;
	}

	.h365-guide-title {
		font-size: 22px;
	}

	.h365-guide-meta-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: row;
		gap: 10px;
	}

	.h365-guide-meta {
		min-width: 0;
		flex: 1;
		flex-wrap: nowrap;
		white-space: nowrap;
		font-size: 13px;
	}

	.h365-guide-actions {
		width: auto;
		justify-content: flex-end;
		flex-shrink: 0;
		gap: 8px;
	}

	.h365-guide-divider {
		margin-left: -20px;
		margin-right: -20px;
	}

	.h365-guide-thumbnail {
		margin-top: 14px;
		margin-bottom: 12px;
	}

	.h365-guide-related,
	.h365-guide-comments-section {
		margin-top: 20px;
		padding-top: 24px;
	}

	.h365-guide-section-title {
		font-size: 19px;
	}

	.h365-guide-related-link {
		gap: 14px;
		padding: 14px 0;
	}

	.h365-guide-related-thumbnail {
		width: 76px;
		height: 58px;
	}

	.h365-guide-comments-content .children {
		margin-left: 8px;
		padding-left: 12px;
	}
}

/* =========================
   Common Summary Box
========================= */

.h365-summary-box {
	--summary-bg: #EDF4FF;
	--summary-title-color: #005DF9;
	--summary-text-color: #1E3F66;
	--summary-marker-color: #3B82F6;

	margin: 24px 0 24px;
	padding: 20px 22px;
	border: 0;
	border-radius: 14px;
	background: var(--summary-bg);
	box-shadow: none;
	color: var(--summary-text-color);
}

/* 구텐베르크 그룹 내부 컨테이너 */
.h365-summary-box > .wp-block-group__inner-container {
	margin: 0;
	padding: 0;
}

/* 구텐베르크 버전에 따라 내부 컨테이너가 없을 때도 대응 */
.h365-summary-box > :first-child,
.h365-summary-box > .wp-block-group__inner-container > :first-child {
	margin-top: 0;
}

.h365-summary-box > :last-child,
.h365-summary-box > .wp-block-group__inner-container > :last-child {
	margin-bottom: 0;
}

/* 제목 문단 */
.h365-summary-box p:first-child,
.h365-summary-box > .wp-block-group__inner-container > p:first-child {
	margin: 0 0 12px;
	color: var(--summary-title-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.03em;
}

/* 제목 안 strong 중복 굵기 정리 */
.h365-summary-box p:first-child strong,
.h365-summary-box > .wp-block-group__inner-container > p:first-child strong {
	color: inherit;
	font-weight: inherit;
}

/* 목록 */
.h365-summary-box ul {
	margin: 0;
	padding-left: 20px;
	color: var(--summary-text-color);
}

/* 목록 항목 */
.h365-summary-box li {
	margin: 0 0 5px;
	padding-left: 3px;
	color: inherit;
	font-size: 16px;
	line-height: 1.65;
	word-break: keep-all;
}

/* 마지막 항목 여백 제거 */
.h365-summary-box li:last-child {
	margin-bottom: 0;
}

/* 불릿 */
.h365-summary-box li::marker {
	color: var(--summary-marker-color);
}

/* 링크가 들어갈 경우 */
.h365-summary-box a {
	color: var(--summary-title-color);
	text-decoration-color: rgba(23, 95, 145, 0.35);
}

/* =========================
   Summary Box - Dark Mode
========================= */

html.dark-mode .h365-summary-box {
	--summary-bg: rgba(0, 93, 249, 0.13);
	--summary-title-color: #4C7DFF;
	--summary-text-color: #D4E3FA;
	--summary-marker-color: #4B8DFF;
}

html.dark-mode .h365-summary-box a {
	color: #86B3FF;
	text-decoration-color: rgba(134, 179, 255, 0.42);
}

/* =========================
   Summary Box - Mobile
========================= */

@media (max-width: 640px) {
	.h365-summary-box {
		margin: 18px 0 18px;
		padding: 18px;
		border-radius: 16px;
	}

	.h365-summary-box p:first-child,
	.h365-summary-box > .wp-block-group__inner-container > p:first-child {
		margin-bottom: 10px;
		font-size: 15px;
		line-height: 1.5;
	}

	.h365-summary-box ul {
		padding-left: 16px;
	}

	.h365-summary-box li {
		margin-bottom: 4px;
		padding-left: 1px;
		font-size: 15px;
		line-height: 1.7;
	}
}

/* =========================
   Process Steps
========================= */

.h365-process {
	--step-color: #005DF9;
	--step-number-bg: #EDF4FF;
	--step-line-color: #DCE5F2;
	--step-title-color: #1D2939;
	--step-desc-color: #667085;

	margin: 28px 0 32px;
}

/* 선택 제목 */
.h365-process-heading {
	margin: 0 0 20px;
	color: var(--text-color);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.04em;
}

/* 기본 ol 스타일 초기화 */
.entry-content .h365-process-list,
.h365-process-list {
	counter-reset: h365-step;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 각 단계 */
.h365-process-step {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	column-gap: 14px;
	min-height: 72px;
	margin: 0;
	padding: 0 0 22px;
	counter-increment: h365-step;
}

/* 마지막 단계 하단 여백 조정 */
.h365-process-step:last-child {
	min-height: 34px;
	padding-bottom: 0;
}

/* 원형 숫자 */
.h365-process-step::before {
	content: counter(h365-step);
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-column: 1;
	grid-row: 1;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--step-number-bg);
	color: var(--step-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

/* 단계 연결선 */
.h365-process-step::after {
	content: "";
	position: absolute;
	top: 41px;
	bottom: 6px;
	left: 16.5px;
	width: 1px;
	background: var(--step-line-color);
}

/* 마지막 항목은 연결선 제거 */
.h365-process-step:last-child::after {
	display: none;
}

/* 제목과 설명 영역 */
.h365-process-content {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	padding-top: 1px;
}

/* 단계 제목 */
.h365-process-title {
	display: block;
	margin: 0;
	color: var(--step-title-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.025em;
	word-break: keep-all;
}

/* 설명 영역 */
.h365-process-desc {
	margin-top: 3px;
	color: var(--step-desc-color);
	font-size: 15px;
	line-height: 1.65;
	word-break: keep-all;
}

/* wpautop으로 생성되는 p 여백 제거 */
.entry-content .h365-process-desc p,
.h365-process-desc p {
	margin: 0;
}

/* 설명이 여러 문단일 때 */
.entry-content .h365-process-desc p + p,
.h365-process-desc p + p {
	margin-top: 6px;
}

/* 단계 안 링크 */
.h365-process-desc a {
	color: var(--step-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================
   Process Steps - Dark Mode
========================= */

html.dark-mode .h365-process {
	--step-color: #5290FF;
	--step-number-bg: rgba(0, 93, 249, 0.18);
	--step-line-color: rgba(148, 163, 184, 0.22);
	--step-title-color: #F1F5F9;
	--step-desc-color: #AEB8C7;
}

/* =========================
   Process Steps - Mobile
========================= */

@media (max-width: 640px) {
	.h365-process {
		margin: 24px 0 28px;
	}

	.h365-process-heading {
		margin-bottom: 18px;
		font-size: 18px;
	}

	.h365-process-step {
		grid-template-columns: 32px minmax(0, 1fr);
		column-gap: 12px;
		min-height: 68px;
		padding-bottom: 20px;
	}

	.h365-process-step::before {
		width: 32px;
		height: 32px;
		font-size: 15px;
	}

	.h365-process-step::after {
		top: 39px;
		left: 15.5px;
		bottom: 5px;
	}

	.h365-process-title {
		font-size: 15px;
		line-height: 1.5;
	}

	.h365-process-desc {
		margin-top: 3px;
		font-size: 14px;
		line-height: 1.65;
	}
}

/* 단계 내부 이미지 */
.h365-process-image {
	margin: 16px 0 4px;
	padding: 0;
}

.h365-process-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #E2E7F0;
	border-radius: 14px;
	background: #F8F9FC;
}

/* 다크모드 */
html.dark-mode .h365-process-image img {
	border-color: rgba(148, 163, 184, 0.2);
	background: #1D1D23;
}

/* 모바일 */
@media (max-width: 640px) {
	.h365-process-image {
		margin-top: 14px;
	}

	.h365-process-image img {
		border-radius: 12px;
	}
}

/* =========================
   Information Note
========================= */

.entry-content p.h365-info-note {
	position: relative;
	display: block;
	margin: 18px 0;
	padding: 8px 14px 8px 28px;

	color: #475467;
	background-color: #F0F4FA;
	border-radius: 16px;

	font-size: 14px;
	line-height: 1.65;
	word-break: keep-all;
	overflow-wrap: break-word;
}

/* 원형 i 아이콘 */
.entry-content p.h365-info-note::before {
	content: "";
	position: absolute;

	top: 50%;
	left: 0;
	transform: translateY(-50%);

	width: 21px;
	height: 21px;
	background-color: #005DF9;

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.entry-content p.h365-info-note {
	padding-left: 38px;
}

.entry-content p.h365-info-note::before {
	left: 10px;
}

/* 링크 */
.entry-content p.h365-info-note a {
	display: inline;
	color: #005DF9;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================
   Information Note - Dark Mode
========================= */

html.dark-mode .entry-content p.h365-info-note {
	background-color: #181D29;
	color: var(--muted-color);
}

html.dark-mode .entry-content p.h365-info-note::before {
	background-color: #98A2B3;
}

html.dark-mode .entry-content p.h365-info-note a {
	color: #5290FF;
}

html.dark-mode .entry-content p.h365-info-note::before {
	background-color: #4C7DFF;
}

/* =========================
   Information Note - Mobile
========================= */

@media (max-width: 640px) {
	.entry-content p.h365-info-note {
		margin: 16px 0;
		padding: 8px 12px 8px 34px;
		font-size: 13px;
		line-height: 1.65;
	}

	.entry-content p.h365-info-note::before {
		top: 50%;
		left: 10px;
		transform: translateY(-50%);
		width: 20px;
		height: 20px;
	}
}