/* =========================================================
 * HIFIMAG — Twenty Twenty-Five / Gutenberg
 * 전체 교체용 정리본 · 2026-10-08
 * 현재 수치·선택자·미디어 조건·캐스케이드 순서 유지.
 * 각 영역의 공통/PC 규칙과 반응형 규칙을 주석으로 구분.
 * !important는 테마·블록 스타일 우선순위가 필요한 곳에 유지.
 * FOOTER: 원본 파일에 전용 규칙 없음.
 * ========================================================= */

/* =========================================================
 * 01. GLOBAL — 변수 / LIGHT·DARK / 기본 스타일
 * ========================================================= */

/* 공통 / PC 기본 규칙 */

:root {
	--hfm-mobile-gutter:16px;
	--hfm-width:1440px;
	--hfm-left:240px;
	--hfm-main:800px;
	--hfm-right:300px;
	--hfm-gap:50px;
	--hfm-bg:#fff;
	--hfm-surface:#fff;
	--hfm-text:#111;
	--hfm-text-muted:#666;
	--hfm-divider:#d6d6d6;
	--hfm-divider-strong:#b4b4b8;
	--hfm-border:#bbb;
	--hfm-border-light:#d6d6d6;
	--hfm-header-nav:#2C2E35;
	--hfm-header-search:#08090C;
	--hfm-header-search-border:#33353c;
	--hfm-mobile-header-bg:#fff;
	--hfm-mobile-header-text:#111;
	--hfm-finder-panel-bg:#fff;
	--hfm-finder-panel-text:#222;
	--hfm-finder-panel-outline:#e2e2e2;
	--hfm-finder-panel-border:#d0d0d4;
	--hfm-finder-scroll-thumb:#999ba1;
	--hfm-finder-clear-bg:#dedfe2;
	--hfm-finder-clear-border:#b8bac0;
	--hfm-finder-clear-text:#222;
}

/* Dark Mode */
html.dark-mode {
	--hfm-bg:#17171C;
	--hfm-surface:#17171C;
	--hfm-text:#f2f2f2;
	--hfm-text-muted:#aaa;
	--hfm-divider:#414248;
	--hfm-divider-strong:#65666d;
	--hfm-border:#3a3b40;
	--hfm-border-light:#2c2d32;
	--hfm-mobile-header-bg:#2C2E35;
	--hfm-mobile-header-text:#fff;
	--hfm-finder-panel-bg:#25262c;
	--hfm-finder-panel-text:#f2f2f2;
	--hfm-finder-panel-outline:transparent;
	--hfm-finder-panel-border:#44464d;
	--hfm-finder-scroll-thumb:#5a5c62;
	--hfm-finder-clear-bg:#4a4c52;
	--hfm-finder-clear-border:#5a5c62;
	--hfm-finder-clear-text:#fff;
}

/* Page Base */
html,
body,
.wp-site-blocks {
	background:var(--hfm-bg);
	color:var(--hfm-text);
}

body {
	transition:background-color 0.2s ease, color 0.2s ease;
}

/* Global Links */
a {
	color:inherit;
}

/* =========================================================
 * 02. ARCHIVE — 컨텍스트 바 / 카드 / 사이드바 / 반응형
 * ========================================================= */

/* Context Bar */
.hfm-context-bar {
	width:min( var(--hfm-width), calc(100% - 40px) );
	max-width:var(--hfm-width) !important;
	display:flex !important;
	align-items:stretch;
	justify-content:flex-start !important;
	gap:8px !important;
	min-height:48px;
	margin-inline:auto !important;
	margin-bottom:24px !important;
	padding:0 !important;
	border-bottom:1px solid var(--hfm-divider);
	box-sizing:border-box;
}

/* 직계 요소 폭/자동 여백 초기화 */
.hfm-context-bar > .hfm-context-path,
.hfm-context-bar > .hifimag-submenu {
	flex:0 0 auto !important;
	width:auto !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
}

/* Current Category Path - 예: HI-FI / 스피커 */
.hfm-context-path {
	display:flex;
	align-items:center;
	height:48px;
	gap:6px;
	font-size:18px !important;
	font-weight:700 !important;
	white-space:nowrap;
}

.hfm-context-path a {
	color:inherit;
	font-size:inherit !important;
	font-weight:inherit !important;
	text-decoration:none !important;
}

.hfm-context-separator {
	margin-left:6px;
	margin-right:3px;
	font-size:15px;
	opacity:0.45;
}

/* Content Type Navigation - ALL / NEWS / REVIEW / FEATURE 등 */
.hfm-context-bar .hifimag-submenu {
	display:flex;
	align-items:stretch;
	height:48px;
}

.hfm-context-bar .hifimag-submenu-list {
	display:flex !important;
	flex-wrap:nowrap;
	align-items:stretch;
	height:48px;
	gap:0 !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-context-bar .hifimag-submenu-item {
	position:relative;
	display:flex;
	align-items:center;
	height:48px;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-context-bar .hifimag-submenu-link {
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
	padding:0 12px;
	box-sizing:border-box;
	color:inherit;
	font-size:14px !important;
	font-weight:400 !important;
	text-decoration:none !important;
}

/* Active Content Type - 굵기 + 하단 underline */
.hfm-context-bar .hifimag-submenu-item.is-active .hifimag-submenu-link {
	font-weight:700 !important;
}

.hfm-context-bar .hifimag-submenu-item.is-active::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:3px;
	background:currentColor;
}

/* 3 Column Grid */
.wp-block-columns.hfm-archive-layout {
	width:min( var(--hfm-width), calc(100% - 40px) );
	max-width:var(--hfm-width) !important;
	margin-inline:auto !important;
	display:grid !important;
	grid-template-columns:var(--hfm-left) minmax(0, var(--hfm-main)) var(--hfm-right);
	column-gap:var(--hfm-gap) !important;
	row-gap:0 !important;
	align-items:start;
	box-sizing:border-box;
}

.wp-block-columns.hfm-archive-layout > .wp-block-column {
	min-width:0;
	width:auto;
	margin:0;
	flex:none;
}

.hfm-archive-layout > * {
	min-width:0;
}

.hfm-archive-left,
.hfm-archive-main,
.hfm-archive-right {
	width:100%;
	min-width:0;
}

/* Post Template / 공통 포스트 */
.hfm-main-list {
	margin:0;
	padding:0;
	list-style:none;
}

.hfm-main-list > li {
	margin:0;
	padding:28px 0;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-main-list > li:first-child {
	padding-top:0;
}

/* Normal Card */
.hfm-main-list .hfm-card {
	display:grid !important;
	grid-template-columns:385px minmax(0, 1fr) !important;
	gap:30px !important;
	align-items:start;
	width:100%;
	margin:0 !important;
	padding:0 !important;
}

.hfm-main-list .hfm-card-media {
	width:100%;
	min-width:0;
	margin:0 !important;
	padding:0 !important;
}

.hfm-main-list .hfm-card-media .wp-block-post-featured-image {
	float:none !important;
	clear:both !important;
	width:100%;
	margin:0 !important;
}

.hfm-main-list .hfm-card-media .wp-block-post-featured-image a {
	display:block;
}

.hfm-main-list .hfm-card-media img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;
	object-fit:cover;
}

.hfm-main-list .hfm-card-content {
	width:100%;
	min-width:0;
	margin:0 !important;
	padding:0 !important;
}

/* Feature Card - #1 / #6 */
.hfm-main-list > li:nth-child(1) .hfm-card,
.hfm-main-list > li:nth-child(6) .hfm-card {
	display:grid !important;
	grid-template-columns:minmax(0, 1fr) !important;
	row-gap:16px !important;
	column-gap:0 !important;
}

.hfm-main-list > li:nth-child(1) .hfm-card-media,
.hfm-main-list > li:nth-child(6) .hfm-card-media {
	width:100%;
	margin:0 !important;
}

.hfm-main-list > li:nth-child(1) .hfm-card-content,
.hfm-main-list > li:nth-child(6) .hfm-card-content {
	width:100%;
}

/* Meta Row / Labels */
.hfm-card-meta {
	display:flex !important;
	flex-wrap:wrap;
	align-items:center;
	gap:8px !important;
	width:100%;
	margin:0 !important;
	padding:0 !important;
}

.hfm-meta-type,
.hfm-meta-category {
	display:inline-flex;
	align-items:center;
	width:auto !important;
	margin:0 !important;
	padding:2px 7px !important;
	border:1px solid currentColor;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:1.25;
	white-space:nowrap;
}

.hfm-meta-type a,
.hfm-meta-category a {
	color:inherit;
	font-size:inherit !important;
	font-weight:inherit;
	line-height:inherit;
	text-decoration:none !important;
}

.hfm-meta-type a:hover,
.hfm-meta-category a:hover {
	text-decoration:none !important;
}

.hfm-card-date {
	font-size:12px !important;
	font-weight:400 !important;
}

/* 반응형 — (min-width:841px) */
@media (min-width:841px) {

	.hfm-main-list .hfm-card-title {
		font-size:18px !important;
		letter-spacing:-0.3px;
	}

	.hfm-main-list > li:nth-child(1) .hfm-card-title,
	.hfm-main-list > li:nth-child(6) .hfm-card-title {
		font-size:22px !important;
	}

}

/* 공통 / PC 기본 규칙 */

/* 06. ARCHIVE PAGINATION - DESKTOP */
.hfm-pagination {
	display:flex !important;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center !important;
	gap:8px !important;
	width:100%;
	margin-top:40px !important;
	padding:0 !important;
}

.hfm-pagination .wp-block-query-pagination-numbers {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:0 !important;
}

.hfm-pagination .page-numbers {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	margin:0 !important;
	padding:0 !important;
	border:1px solid var(--hfm-divider-strong);
	box-sizing:border-box;
	font-size:16px !important;
	font-weight:600;
	line-height:1;
	color:var(--hfm-text);
	text-decoration:none !important;
}

.hfm-pagination .page-numbers.current {
	color:var(--hfm-bg);
	background:var(--hfm-text);
	border-color:var(--hfm-text);
}

.hfm-pagination a.page-numbers:hover {
	color:var(--hfm-bg);
	background:var(--hfm-text);
	border-color:var(--hfm-text);
}

.hfm-pagination .page-numbers.dots {
	width:auto;
	border:0;
	padding-inline:4px !important;
}

.hfm-pagination .wp-block-query-pagination-previous,
.hfm-pagination .wp-block-query-pagination-next {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:110px;
	height:44px;
	margin:0 !important;
	padding:0 16px !important;
	border:1px solid var(--hfm-divider-strong);
	box-sizing:border-box;
	font-size:15px !important;
	font-weight:600;
	color:var(--hfm-text);
	text-decoration:none !important;
}

.hfm-pagination .wp-block-query-pagination-previous:hover,
.hfm-pagination .wp-block-query-pagination-next:hover {
	color:var(--hfm-bg);
	background:var(--hfm-text);
	border-color:var(--hfm-text);
}

/* 07. ARCHIVE LEFT AD - DESKTOP */
.hfm-archive-ad {
	width:100%;
	min-width:0;
	margin:0;
	padding:0;
}

/* Section / Post Template */
.hfm-side-section {
	width:100%;
	margin:0 0 48px;
	padding:0;
}

.hfm-side-heading {
	margin:0 0 18px !important;
	font-size:18px !important;
	font-weight:700 !important;
	line-height:1.2;
}

.hfm-side-list {
	margin:0;
	padding:0;
	list-style:none;
}

.hfm-side-list > li {
	margin:0;
	padding:16px 0;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-side-list > li:first-child {
	padding-top:0;
}

/* Normal Card */
.hfm-side-card {
	display:grid !important;
	grid-template-columns:96px minmax(0, 1fr);
	column-gap:14px !important;
	align-items:start;
	width:100%;
	margin:0 !important;
	padding:0 !important;
}

.hfm-side-media,
.hfm-side-content {
	width:100%;
	min-width:0;
	margin:0 !important;
	padding:0 !important;
}

.hfm-side-media .wp-block-post-featured-image {
	width:100%;
	margin:0 !important;
}

.hfm-side-media .wp-block-post-featured-image a {
	display:block;
}

.hfm-side-media img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;
	object-fit:cover;
}

/* First Post Feature - 이미지 16:9 */
.hfm-side-list > li:first-child .hfm-side-media img {
	aspect-ratio:16 / 9 !important;
	object-fit:cover;
}

.hfm-side-list > li:first-child .hfm-side-card {
	grid-template-columns:minmax(0, 1fr);
	row-gap:12px !important;
}

.hfm-side-list > li:first-child .hfm-side-media,
.hfm-side-list > li:first-child .hfm-side-content {
	width:100%;
}

/* Sidebar Typography */
.hfm-side-list .wp-block-post-title {
	font-size:15px !important;
	font-weight:700 !important;
	line-height:1.35;
}

.hfm-side-list > li:first-child .wp-block-post-title {
	font-size:17px !important;
	font-weight:700 !important;
	letter-spacing:-0.5px;
	line-height:1.3;
}

/* Container / Title / List */
.hfm-hifi-subnav {
	width:100% !important;
	max-width:none !important;
	margin:0 0 12px !important;
	padding:0 !important;
}

.hfm-hifi-subnav > * {
	width:100% !important;
	max-width:none !important;
	margin-left:0 !important;
	margin-right:0 !important;
	box-sizing:border-box;
}

.hfm-hifi-subnav-title {
	margin:0 !important;
	padding:0 0 12px !important;
	font-size:16px !important;
	font-weight:700;
	line-height:1.2;
	border-bottom:2px solid #111;
}

.hfm-hifi-subnav-title + * {
	margin-block-start:0 !important;
	margin-top:0 !important;
}

.hfm-hifi-subnav-links {
	display:grid !important;
	grid-template-columns:minmax(0, 1fr);
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-hifi-subnav-links li {
	width:100%;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-hifi-subnav-links li > a {
	display:block;
	width:100%;
	padding:6px 0;
	box-sizing:border-box;
	font-size:14px !important;
	font-weight:500 !important;
	color:inherit;
	text-decoration:none !important;
}

/* Current Category Active State */
body.category-speakers .hfm-hifi-subnav-links a[href$="/hifi/speakers/"],
body.category-source .hfm-hifi-subnav-links a[href$="/hifi/source/"],
body.category-amp .hfm-hifi-subnav-links a[href$="/hifi/amp/"],
body.category-acc .hfm-hifi-subnav-links a[href$="/hifi/acc/"],
body.category-interview .hfm-hifi-subnav-links a[href$="/hifi/interview/"] {
	font-weight:800 !important;
}

.hfm-hifi-subnav-links li > a:hover {
	opacity:0.6;
	text-decoration:none !important;
}

/* 10. ARCHIVE RIGHT SIDEBAR AD - DESKTOP */
.hfm-side-ad {
	width:100%;
	max-width:none !important;
	margin:0;
	padding:0;
	box-sizing:border-box;
}

.hfm-hifi-subnav + .hfm-side-ad {
	margin-block-start:0px !important;
	margin-top:0px !important;
}

.hfm-side-ad .adsbygoogle {
	margin-block-start:0 !important;
	margin-block-end:0 !important;
	margin-top:0 !important;
	margin-bottom:0 !important;
}

/* 반응형 — (max-width:1479px) */
@media (max-width:1479px) {

	.wp-block-columns.hfm-archive-layout {
		width:min(1140px, calc(100% - 40px));
		grid-template-columns:minmax(0, 800px) 300px;
		column-gap:40px !important;
	}

	.hfm-archive-left {
		display:none;
	}

	.hfm-archive-main {
		grid-column:1;
	}

	.hfm-archive-right {
		grid-column:2;
	}

}

/* 반응형 — (max-width:1150px) */
@media (max-width:1150px) {

	.wp-block-columns.hfm-archive-layout {
		width:min(800px, calc(100% - 32px));
		grid-template-columns:minmax(0, 1fr);
		column-gap:0 !important;
		row-gap:48px !important;
	}

	.hfm-archive-main,
	.hfm-archive-right {
		grid-column:1;
		width:100%;
	}

	.hfm-archive-left {
		display:none;
	}

	.hfm-archive-right {
		display:grid !important;
		grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
		column-gap:32px !important;
		row-gap:0 !important;
	}

	.hfm-archive-right > .hfm-side-section {
		width:100%;
		min-width:0;
		margin:0 !important;
	}

}

/* 반응형 — (max-width:840px) */
@media (max-width:840px) {

	.hfm-main-list .hfm-card {
		grid-template-columns:minmax(0, 42fr) minmax(0, 58fr) !important;
		gap:24px !important;
	}

	.hfm-main-list > li:nth-child(1) .hfm-card,
	.hfm-main-list > li:nth-child(6) .hfm-card {
		grid-template-columns:minmax(0, 1fr) !important;
		row-gap:16px !important;
	}

}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* Frame / Main List */
	.wp-block-columns.hfm-archive-layout {
		width:calc(100% - 32px);
	}

	.hfm-main-list {
		display:grid !important;
		grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
		column-gap:10px !important;
		row-gap:0 !important;
	}

	.hfm-main-list > li {
		grid-column:1 / -1;
		padding:20px 0;
	}

	.hfm-main-list .hfm-card {
		grid-template-columns:minmax(0, 28fr) minmax(0, 62fr) !important;
		gap:16px !important;
	}

	/* Full Feature - #1 / #6 */
	.hfm-main-list > li:nth-child(1) .hfm-card,
	.hfm-main-list > li:nth-child(6) .hfm-card {
		grid-template-columns:minmax(0, 1fr) !important;
		row-gap:12px !important;
		column-gap:0 !important;
	}

	.hfm-main-list > li:nth-child(1) .hfm-card-media,
	.hfm-main-list > li:nth-child(6) .hfm-card-media {
		width:100%;
	}

	/* 2-up Small Card - #2 / #3 / #7 / #8 */
	.hfm-main-list > li:nth-child(2),
	.hfm-main-list > li:nth-child(3),
	.hfm-main-list > li:nth-child(7),
	.hfm-main-list > li:nth-child(8) {
		grid-column:auto;
	}

	.hfm-main-list > li:nth-child(2) .hfm-card,
	.hfm-main-list > li:nth-child(3) .hfm-card,
	.hfm-main-list > li:nth-child(7) .hfm-card,
	.hfm-main-list > li:nth-child(8) .hfm-card {
		grid-template-columns:minmax(0, 1fr) !important;
		row-gap:10px !important;
		column-gap:0 !important;
	}

	.hfm-main-list > li:nth-child(2) .hfm-card-media,
	.hfm-main-list > li:nth-child(3) .hfm-card-media,
	.hfm-main-list > li:nth-child(7) .hfm-card-media,
	.hfm-main-list > li:nth-child(8) .hfm-card-media {
		width:100%;
	}

	.hfm-main-list > li:nth-child(2) .hfm-card-content,
	.hfm-main-list > li:nth-child(3) .hfm-card-content,
	.hfm-main-list > li:nth-child(7) .hfm-card-content,
	.hfm-main-list > li:nth-child(8) .hfm-card-content {
		width:100%;
	}

	/* Normal Thumbnail - Feature / 2-up 제외, 1:1 */
	.hfm-main-list > li:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(6)):not(:nth-child(7)):not(:nth-child(8)) .hfm-card-media img {
		aspect-ratio:1 / 1 !important;
		object-fit:cover;
	}

	/* Mobile Typography / Meta / Excerpt */
	.hfm-main-list .wp-block-post-excerpt {
		font-size:12px !important;
		display:-webkit-box;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
		overflow:hidden;
	}

	.hfm-main-list .hfm-card-title {
		font-size:15px !important;
	}

	.hfm-main-list > li:nth-child(1) .hfm-card-title,
	.hfm-main-list > li:nth-child(6) .hfm-card-title {
		font-size:20px !important;
	}

	.hfm-main-list > li:nth-child(2) .hfm-card-title,
	.hfm-main-list > li:nth-child(3) .hfm-card-title,
	.hfm-main-list > li:nth-child(7) .hfm-card-title,
	.hfm-main-list > li:nth-child(8) .hfm-card-title {
		font-size:15px !important;
	}

	.hfm-card-date {
		display:none !important;
	}

	.hfm-card-meta + .hfm-card-title {
		margin-block-start:6px !important;
	}

	.hfm-card-title + .wp-block-post-excerpt {
		margin-block-start:8px !important;
	}

	.hfm-meta-type,
	.hfm-meta-category {
		font-size:10px !important;
	}

	/* Right Sidebar - 1열 */
	.hfm-archive-right {
		grid-template-columns:minmax(0, 1fr);
		column-gap:0 !important;
		row-gap:40px !important;
	}

	/* HI-FI Subnav / Right Fixed Ad 숨김 */
	.hfm-hifi-subnav {
		display:none !important;
	}

	.hfm-side-ad {
		display:none !important;
	}

	/* Pagination - 한 줄 / 균등 분배 / Previous-Next 화살표 */
	.hfm-pagination {
		display:flex !important;
		flex-wrap:nowrap !important;
		align-items:center;
		justify-content:stretch !important;
		width:100%;
		gap:4px !important;
		margin-top:28px !important;
	}

	.hfm-pagination .wp-block-query-pagination-numbers {
		display:flex;
		flex:1 1 auto;
		min-width:0;
		gap:4px;
		margin:0 !important;
	}

	.hfm-pagination .page-numbers {
		display:inline-flex;
		flex:1 1 0;
		min-width:0;
		align-items:center;
		justify-content:center;
		width:auto;
		height:32px;
		padding:0 !important;
		font-size:12px !important;
	}

	.hfm-pagination .page-numbers.dots {
		flex:1 1 0;
		width:auto;
		padding:0 !important;
	}

	.hfm-pagination .wp-block-query-pagination-previous,
	.hfm-pagination .wp-block-query-pagination-next {
		flex:0 0 32px;
		min-width:32px;
		width:32px;
		height:32px;
		margin:0 !important;
		padding:0 !important;
		font-size:0 !important;
	}

	.hfm-pagination .wp-block-query-pagination-previous::before {
		content:"‹";
		font-size:20px;
		line-height:1;
	}

	.hfm-pagination .wp-block-query-pagination-next::before {
		content:"›";
		font-size:20px;
		line-height:1;
	}

	/* Context Bar - Desktop 형태 유지 / 넘치면 가로 스크롤 */
	.hfm-context-bar {
		width:calc(100% - 32px);
		flex-wrap:nowrap !important;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		margin-bottom:24px !important;
		white-space:nowrap;
		scrollbar-width:none;
		border-bottom:1px solid var(--hfm-divider);
	}

	.hfm-context-path {
		flex:0 0 auto;
	}

	.hfm-context-bar .hifimag-submenu {
		flex:0 0 auto !important;
	}

	.hfm-context-bar .hifimag-submenu-list {
		flex-wrap:nowrap !important;
	}

	.hfm-context-bar::-webkit-scrollbar {
		display:none;
	}

}

/* =========================================================
 * 03. HEADER — 내비게이션 / 검색 / 드로어 / 모바일
 * ========================================================= */

/* =========================================================
 * HEADER - SCROLL DOWN HIDE / SCROLL UP SHOW
 * ========================================================= */

.header-scroll-updown {
	transition: transform .2s ease;
}

.header-scroll-updown.is-floating {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
}

.header-scroll-updown.is-floating.is-hidden {
	transform: translateY(-100%);
}


/* 공통 / PC 기본 규칙 */

/* Desktop Header Wrapper */
.hfm-header-desktop {
	width:100%;
	margin:0;
	padding:0;
}

/* Header Top */
.hfm-header-top {
	width:min(var(--hfm-width), calc(100% - 40px));
	max-width:var(--hfm-width) !important;
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	min-height:84px;
	margin-inline:auto !important;
	padding:0 !important;
	box-sizing:border-box;
}

/* Header Logo */
.hfm-header-top > .hfm-header-logo {
	flex:0 0 auto;
	align-self:auto !important;
	margin:auto 0 14px !important;
}

/* HEADER - LOGO THEME */
.hfm-header-logo img {
	filter:none;
}

html.dark-mode .hfm-header-logo img {
	filter:invert(1);
}

/* Header Ad */
.hfm-header-ad {
	display:flex !important;
	flex:0 0 468px;
	align-items:center;
	justify-content:flex-end !important;
	width:468px;
	margin:0 0 0 auto !important;
	padding:0 !important;
}

.hfm-header-ad > * {
	margin-left:auto !important;
	margin-right:0 !important;
}

/* Header Navigation Bar */
.hfm-header-nav {
	width:min(var(--hfm-width), calc(100% - 40px));
	max-width:var(--hfm-width) !important;
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	min-height:48px;
	margin-inline:auto !important;
	padding:0 24px !important;
	background:var(--hfm-header-nav);
	color:#fff;
	box-sizing:border-box;
}

/* Desktop Header Internal Spacing */
.hfm-header-desktop > .wp-block-group {
	margin-block-start:0 !important;
	margin-block-end:0 !important;
}

.hfm-header-desktop > .wp-block-group + .wp-block-group {
	margin-top:0 !important;
	margin-block-start:0 !important;
}

/* HEADER - PRIMARY NAVIGATION */
.hfm-primary-nav {
	flex:0 0 auto;
	margin:0 !important;
	padding:0 !important;
}

/* Primary Navigation List */
.hfm-primary-nav-list {
	display:flex;
	align-items:center;
	flex-wrap:nowrap;
	gap:0;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-primary-nav-item {
	margin:0;
	padding:0;
	list-style:none;
}

/* Primary Navigation Link */
.hfm-primary-nav-link {
	display:flex;
	align-items:center;
	height:48px;
	padding:0 14px;
	color:inherit;
	font-size:16px !important;
	font-weight:600;
	text-decoration:none !important;
	white-space:nowrap;
}

.hfm-primary-nav-link:hover {
	opacity:0.7;
}

/* Header Tools */
.hfm-header-tools {
	display:flex !important;
	flex:0 0 auto;
	align-items:center;
	justify-content:flex-end;
	gap:16px !important;
	margin:0 0 0 auto !important;
	padding:0 !important;
}

.hfm-header-tools > * {
	margin:0 !important;
}

/* Header Search */
.hfm-header-search {
	flex:0 0 260px;
	width:260px;
	margin:0 !important;
}

.hfm-header-search .wp-block-search__inside-wrapper {
	display:flex;
	align-items:center;
	width:100%;
	height:34px;
	padding:0;
	border:0;
	background:transparent;
}

/* Header Search Input */
.hfm-header-search .wp-block-search__input {
	min-width:0;
	height:34px;
	margin:0;
	padding:0 12px;
	border:1px solid var(--hfm-header-search-border);
	border-radius:2px;
	background:var(--hfm-header-search);
	color:#fff;
	font-size:14px;
	box-shadow:none;
	outline:none;
}

.hfm-header-search .wp-block-search__input::placeholder {
	color:#777;
}

.hfm-header-search .wp-block-search__input:focus {
	border-color:#666;
	outline:none;
	box-shadow:none;
}

.hfm-header-search .wp-block-search__button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 42px;
	width:42px;
	height:34px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:#fff;
}

.hfm-header-search .wp-block-search__button svg {
	width:18px;
	height:18px;
	fill:currentColor;
}

/* HEADER - THEME TOGGLE */
.hfm-theme-toggle {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
}

.hfm-theme-icon {
	width:22px;
	height:22px;
}

.hfm-theme-icon-dark {
	display:inline-block;
	fill:currentColor;
	stroke:none;
}

.hfm-theme-icon-light {
	display:none;
	fill:currentColor;
	stroke:currentColor;
	stroke-width:2.2;
	stroke-linecap:round;
}

html.dark-mode .hfm-theme-icon-dark {
	display:none;
}

html.dark-mode .hfm-theme-icon-light {
	display:inline-block;
}

/* HEADER - LANGUAGE SWITCH */
.hfm-language-switch {
	display:inline-flex;
	align-items:center;
	flex:0 0 auto;
	gap:5px;
	margin:0 !important;
	padding:0;
	color:inherit;
	white-space:nowrap;
}

.hfm-language-link {
	color:inherit;
	font-size:12px;
	font-weight:400;
	line-height:1;
	text-decoration:none !important;
	opacity:0.55;
}

.hfm-language-link.is-active {
	font-weight:700;
	opacity:1;
}

a.hfm-language-link:hover {
	opacity:1;
}

.hfm-language-link.is-disabled {
	opacity:0.25;
}

.hfm-language-separator {
	font-size:11px;
	font-weight:400;
	opacity:0.35;
}

/* Header Nav Left */
.hfm-header-nav-left {
	display:flex !important;
	align-items:center;
	flex:0 0 auto;
	gap:4px !important;
	margin:0 !important;
	padding:0 !important;
}

/* Drawer Toggle */
.hfm-drawer-toggle {
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	flex:0 0 40px;
	width:40px;
	height:48px;
	gap:4px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
}

.hfm-drawer-toggle span {
	display:block;
	width:18px;
	height:2px;
	background:currentColor;
}

/* Backdrop */
.hfm-drawer-backdrop {
	position:fixed;
	inset:0;
	z-index:9998;
	background:rgba(0, 0, 0, 0.55);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity 0.25s ease, visibility 0.25s ease;
}

/* Drawer Panel */
.hfm-site-drawer {
	position:fixed;
	top:0;
	left:0;
	z-index:9999;
	width:min(380px, 90vw) !important;
	max-width:none !important;
	height:100vh;
	height:100dvh;
	margin:0 !important;
	padding:24px !important;
	overflow-y:auto;
	background:var(--hfm-bg);
	color:var(--hfm-text);
	box-sizing:border-box;
	transform:translateX(-100%);
	visibility:hidden;
	transition:transform 0.28s ease, visibility 0.28s ease;
}

/* Drawer Open State */
html.hfm-drawer-open {
	overflow:hidden;
}

html.hfm-drawer-open .hfm-drawer-backdrop {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

html.hfm-drawer-open .hfm-site-drawer {
	transform:translateX(0);
	visibility:visible;
}

/* Drawer Header */
.hfm-drawer-head {
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	width:100%;
	margin:0 0 24px !important;
	padding:0 !important;
}

.hfm-drawer-close {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	font-size:28px;
	line-height:1;
	cursor:pointer;
}

/* Primary List */
.hfm-drawer-nav {
	width:100%;
	margin:0;
	padding:0;
}

.hfm-drawer-nav-list {
	width:100%;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-drawer-nav-item {
	width:100%;
	margin:0;
	padding:0;
	border-bottom:1px solid var(--hfm-border-light);
	list-style:none;
}

/* Primary Row */
.hfm-drawer-nav-row {
	display:flex;
	align-items:stretch;
	width:100%;
}

.hfm-drawer-nav-link {
	display:flex;
	align-items:center;
	flex:1 1 auto;
	min-width:0;
	padding:14px 0;
	color:inherit;
	font-size:16px;
	font-weight:600;
	text-decoration:none !important;
}

.hfm-drawer-nav-item.is-active > .hfm-drawer-nav-link,
.hfm-drawer-nav-item.is-active > .hfm-drawer-nav-row .hfm-drawer-nav-link {
	font-weight:800;
}

/* HI-FI Accordion Toggle */
.hfm-drawer-submenu-toggle {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 44px;
	width:44px;
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
}

/* HI-FI Accordion Chevron */
.hfm-drawer-chevron {
	display:block;
	width:8px;
	height:8px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:rotate(45deg);
	transition:transform 0.2s ease;
}

.hfm-drawer-nav-item.is-open .hfm-drawer-chevron {
	transform:rotate(225deg);
}

/* HI-FI Secondary Menu */
.hfm-drawer-submenu {
	display:none;
	width:100%;
	margin:0 !important;
	padding:0 0 10px 18px !important;
	list-style:none !important;
	box-sizing:border-box;
}

.hfm-drawer-nav-item.is-open .hfm-drawer-submenu {
	display:block;
}

.hfm-drawer-submenu-item {
	margin:0;
	padding:0;
	list-style:none;
}

.hfm-drawer-submenu-link {
	display:block;
	padding:8px 0;
	color:var(--hfm-text-muted);
	font-size:14px;
	font-weight:500;
	text-decoration:none !important;
}

.hfm-drawer-submenu-item.is-active .hfm-drawer-submenu-link {
	color:var(--hfm-text);
	font-weight:800;
}

/* Primary Navigation inside Drawer */
.hfm-site-drawer .hfm-primary-nav {
	width:100%;
}

.hfm-site-drawer .hfm-primary-nav-list {
	display:flex;
	flex-direction:column;
	align-items:stretch;
	width:100%;
	gap:0;
}

.hfm-site-drawer .hfm-primary-nav-link {
	justify-content:flex-start;
	width:100%;
	height:auto;
	padding:12px 0;
	border-bottom:1px solid var(--hfm-border-light);
}

/* 기본 상태 */
.hfm-header-mobile {
	display:none;
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* Desktop Header 숨김 */
	.hfm-header-desktop {
		display:none !important;
	}

	/* Mobile Header 표시 */
	.hfm-header-mobile {
		display:block;
		width:100% !important;
		max-width:none !important;
		margin:0 !important;
		padding-left:0 !important;
		padding-right:0 !important;
		position:relative;
		background:var(--hfm-mobile-header-bg);
		color:var(--hfm-mobile-header-text);
	}

	/* Mobile Header Bottom Line */
	.hfm-header-mobile::after {
		content:"";
		position:absolute;
		left:16px;
		right:16px;
		bottom:0;
		height:1px;
		background:var(--hfm-border);
	}

	/* Mobile Header Row */
	.hfm-mobile-header-row {
		width:100% !important;
		max-width:none !important;
		display:grid !important;
		grid-template-columns:40px minmax(0, 1fr) 40px;
		align-items:center;
		min-height:48px;
		margin-inline:auto !important;
		padding:0 !important;
		box-sizing:border-box;
	}

	/* Hamburger */
	.hfm-mobile-header-row .hfm-drawer-toggle {
		justify-self:start;
		margin-left:6px;
	}

	/* Mobile Logo */
	.hfm-mobile-logo {
		justify-self:center;
		margin:0 !important;
	}

	.hfm-mobile-logo img {
		display:block;
		width:auto;
		max-height:26px;
		filter:none;
	}

	html.dark-mode .hfm-mobile-logo img {
		filter:invert(1);
	}

}

/* 공통 / PC 기본 규칙 */

/* Drawer Head Tools */
.hfm-drawer-head-tools {
	display:flex !important;
	align-items:center;
	gap:12px !important;
	margin:0 !important;
	padding:0 !important;
}

.hfm-drawer-head .hfm-language-switch {
	margin:0 !important;
}

/* Search Block */
.hfm-drawer-search {
	width:100%;
	margin:0 0 28px !important;
	padding:0;
}

/* Input + Button Wrapper */
.hfm-drawer-search .wp-block-search__inside-wrapper {
	display:flex;
	align-items:center;
	width:100%;
	height:42px;
	margin:0;
	padding:0;
	border:1px solid var(--hfm-border);
	border-radius:3px;
	background:transparent;
	overflow:hidden;
	box-sizing:border-box;
}

/* Search Input */
.hfm-drawer-search .wp-block-search__input {
	flex:1 1 auto;
	min-width:0;
	height:40px;
	margin:0;
	padding:0 12px;
	border:0 !important;
	border-radius:0 !important;
	background:var(--hfm-surface);
	color:var(--hfm-text);
	font-size:14px;
	box-shadow:none !important;
	outline:none;
}

.hfm-drawer-search .wp-block-search__input::placeholder {
	color:var(--hfm-text-muted);
}

/* Search Button */
.hfm-drawer-search .wp-block-search__button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 42px;
	width:42px;
	height:40px;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-left:1px solid var(--hfm-border) !important;
	border-radius:0 !important;
	background:transparent !important;
	color:var(--hfm-text);
	box-shadow:none !important;
}

.hfm-drawer-search .wp-block-search__button svg {
	width:18px;
	height:18px;
	fill:currentColor;
}

/* =========================================================
 * 04. FINDER — 브랜드 필터 / 카드 / 페이지네이션 / 모바일
 * ========================================================= */

/* FINDER - TEMPLATE SPACING */
body.page-id-24412 .wp-site-blocks > .wp-block-post-content,
body.page-id-24797 .wp-site-blocks > .wp-block-post-content {
	margin-block-start:0 !important;
	margin-top:0 !important;
}

.hfm-finder {
	width:min(var(--hfm-width), calc(100% - 40px));
	max-width:var(--hfm-width) !important;
	display:grid;
	grid-template-columns:264px minmax(0, 1fr);
	column-gap:46px;
	align-items:start;
	margin:0 auto !important;
	padding:0;
	box-sizing:border-box;
}

.hfm-finder-content {
	margin-block-start:0 !important;
	margin-top:0 !important;
}

/* Finder Mobile Brands Toggle */
.hfm-finder-mobile-brands-toggle {
	display:none;
}

/* FINDER가 링크로 바뀌면서 생기는 기본 링크 스타일 제거 */
.hfm-finder-context-name {
	color:inherit;
	text-decoration:none !important;
}

.hfm-finder-context-name:hover {
	color:inherit;
	text-decoration:none !important;
}

/* 반응형 — (min-width:601px) */
@media (min-width:601px) {

	.hfm-finder-mobile-scroll {
		display:contents;
	}

}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* Context Bar */
	.hfm-finder-context {
		display:flex !important;
		flex-wrap:nowrap !important;
		align-items:center !important;
		overflow:hidden !important;
	}

	.hfm-finder-context-title {
		flex:0 0 auto;
		display:flex;
		align-items:center;
		gap:8px;
	}

	.hfm-finder-mobile-brands-toggle {
		white-space:nowrap;
	}

	/* BRANDS 앞 chevron */
	.hfm-finder-mobile-brands-chevron {
		width:6px;
		height:6px;
		border-right:1.5px solid currentColor;
		border-bottom:1.5px solid currentColor;
		transform:rotate(45deg) translateY(-2px);
		transform-origin:center;
		transition:transform .2s ease;
	}

	.hfm-finder-mobile-brands-toggle[aria-expanded="true"] .hfm-finder-mobile-brands-chevron {
		transform:rotate(-135deg) translateY(-1px);
	}

	/* BRANDS + Active Chips 전체 가로 스크롤 */
	.hfm-finder-mobile-scroll {
		flex:1 1 auto !important;
		min-width:0 !important;
		display:flex !important;
		align-items:center;
		gap:6px;
		overflow-x:auto !important;
		overflow-y:hidden !important;
		white-space:nowrap;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}

	.hfm-finder-mobile-scroll::-webkit-scrollbar {
		display:none;
	}

	.hfm-finder-mobile-brands-toggle {
		flex:0 0 auto !important;
	}

	.hfm-finder-active-brands {
		flex:0 0 auto !important;
		min-width:auto !important;
		display:flex !important;
		flex-wrap:nowrap !important;
		align-items:center;
		gap:6px;
		overflow:visible !important;
	}

	.hfm-finder-context .hfm-finder-chip {
		flex:0 0 auto;
		white-space:nowrap;
	}

	/* Finder Layout */
	.hfm-finder {
		display:block;
	}

	/* 브랜드 패널은 기본적으로 닫힘 */
	.hfm-finder-sidebar {
		display:none;
		width:100% !important;
		max-width:none !important;
		margin:0 0 24px;
	}

	.hfm-finder-sidebar.is-open {
		display:block;
	}

	.hfm-finder-brand-panel {
		width:100% !important;
		max-width:none !important;
		box-sizing:border-box;
	}

	/* 선택 Chip 중복 패널 / CLEAR FILTERS는 모바일에서 숨김 */
	.hfm-finder-active-panel {
		display:none;
	}

	/* Results */
	.hfm-finder-results {
		width:100%;
		min-width:0;
	}

	.hfm-finder-card-title,
	.hfm-finder-card-title a {
		font-size:15px !important;
		line-height:1.3 !important;
	}

	/* BRANDS Toggle */
	.hfm-finder-mobile-brands-toggle {
		font:inherit;
		font-weight:700;
		cursor:pointer;
		display:inline-flex !important;
		align-items:center;
		gap:5px;
		padding:0 !important;
		margin:0 !important;
		border:0 !important;
		outline:0 !important;
		box-shadow:none !important;
		background:transparent !important;
		color:inherit !important;
		appearance:none !important;
		-webkit-appearance:none !important;
	}

	.hfm-finder-mobile-brands-toggle:focus,
	.hfm-finder-mobile-brands-toggle:focus-visible,
	.hfm-finder-mobile-brands-toggle:active {
		border:0 !important;
		outline:0 !important;
		box-shadow:none !important;
	}

	/* Results - 2 Columns */
	.hfm-finder-grid {
		display:grid !important;
		grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
		column-gap:16px !important;
		row-gap:16px !important;
	}

	/* 모바일에서는 날짜와 요약 숨김 */
	.hfm-finder-card-date,
	.hfm-finder-card-excerpt {
		display:none !important;
	}

	/* 브랜드 패널 펼침 시 결과 영역과 간격 */
	.hfm-finder-sidebar.is-open + .hfm-finder-results {
		margin-top:16px;
	}

}

/* 공통 / PC 기본 규칙 */

/* LEFT - Brand Sidebar */
.hfm-finder-sidebar {
	width:264px;
	min-width:0;
	margin:0;
	padding:0;
}

/* Brand Panel */
.hfm-finder-brand-panel {
	width:100%;
	margin:0;
	padding:16px 14px 12px;
	border:1px solid var(--hfm-finder-panel-outline);
	background:var(--hfm-finder-panel-bg);
	color:var(--hfm-finder-panel-text);
	box-sizing:border-box;
}

/* BRANDS Heading */
.hfm-finder-brand-heading {
	margin:0;
	padding:0 0 12px;
	font-size:16px;
	font-weight:700;
	line-height:1.2;
}

/* Brand List */
.hfm-finder-brand-list {
	max-height:430px;
	overflow-y:auto;
	overflow-x:hidden;
	margin:0 -6px 0 0;
	padding:0 6px 0 0;
	scrollbar-width:thin;
	scrollbar-color:var(--hfm-finder-scroll-thumb) var(--hfm-finder-panel-bg);
}

/* 선택 브랜드가 없어 Brand List가 박스의 마지막 요소일 때만 하단 여백 */
.hfm-finder-brand-list:last-child {
	margin-bottom:12px;
}

/* Chrome / Whale / Safari */
.hfm-finder-brand-list::-webkit-scrollbar {
	width:6px;
}

.hfm-finder-brand-list::-webkit-scrollbar-track {
	background:var(--hfm-finder-panel-bg);
}

.hfm-finder-brand-list::-webkit-scrollbar-thumb {
	background:var(--hfm-finder-scroll-thumb);
	border-radius:6px;
}

.hfm-finder-brand-list::-webkit-scrollbar-thumb:hover {
	background:#707279;
}

/* Brand Item */
.hfm-finder-brand-item {
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	min-height:36px;
	margin:0;
	padding:0 0;
	border-bottom:1px solid var(--hfm-finder-panel-border);
	color:inherit;
	font-size:13px;
	font-weight:400;
	line-height:1.2;
	text-decoration:none !important;
	box-sizing:border-box;
}

.hfm-finder-brand-item:hover {
	text-decoration:none !important;
}

/* ALL BRANDS */
.hfm-finder-brand-all {
	width:calc(100% - 10px);
	font-weight:700;
}

/* Custom Checkbox */
.hfm-finder-check {
	position:relative;
	flex:0 0 14px;
	width:14px;
	height:14px;
	border:1px solid var(--hfm-finder-scroll-thumb);
	border-radius:2px;
	box-sizing:border-box;
}

.hfm-finder-brand-item.is-active .hfm-finder-check {
	border-color:#4285f4;
	background:#4285f4;
}

.hfm-finder-brand-item.is-active .hfm-finder-check::after {
	content:"";
	position:absolute;
	left:3px;
	top:0px;
	width:4px;
	height:8px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(45deg);
}

/* RIGHT - Results */
.hfm-finder-results {
	min-width:0;
	width:100%;
	margin:0;
	padding:0;
}

/* Article Count */
.hfm-finder-count {
	margin:0 0 20px;
	padding:0;
	font-size:12px;
	font-weight:600;
	line-height:1;
	color:var(--hfm-text-muted);
	text-transform:uppercase;
}

/* 3-column Result Grid */
.hfm-finder-grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	column-gap:26px;
	row-gap:50px;
	width:100%;
	margin:0;
	padding:0;
}

/* Card */
.hfm-finder-card {
	display:flex;
	flex-direction:column;
	min-width:0;
	height:100%;
	margin:0;
	padding:0 0 15px;
	border-bottom-color:var(--hfm-border-light);
}

/* Featured Image */
.hfm-finder-card-image {
	display:block;
	width:100%;
	margin:0 0 10px;
	overflow:hidden;
}

.hfm-finder-card-image img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;
	object-fit:cover;
}

/* Meta + Date Row */
.hfm-finder-card-meta-row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	width:100%;
	margin:0 0 10px;
}

.hfm-finder-card-meta {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:5px;
	min-width:0;
}

/* Finder에서는 Archive보다 Meta Label을 조금 작게 */
.hfm-finder-card-meta .hfm-meta-type,
.hfm-finder-card-meta .hfm-meta-category {
	padding:2px 6px !important;
	font-size:10px !important;
	font-weight:600 !important;
	line-height:1.2;
	opacity:0.5;
}

.hfm-finder-card-date {
	flex:0 0 auto;
	color:var(--hfm-text-muted);
	font-size:10px;
	font-weight:400;
	line-height:1;
	white-space:nowrap;
}

/* Title */
.hfm-finder-card-title {
	margin:0 0 8px !important;
	padding:0;
	font-size:17px !important;
	font-weight:600 !important;
	line-height:1.45;
	letter-spacing:-0.25px;
}

.hfm-finder-card-title a {
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
	text-decoration:none !important;
}

/* Excerpt */
.hfm-finder-card-excerpt {
	display:-webkit-box;
	margin:0;
	padding:0;
	overflow:hidden;
	color:var(--hfm-text-muted);
	font-size:13px;
	font-weight:400;
	line-height:1.6;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
}

/* FINDER - AJAX STATE */
.hfm-finder-results {
	transition:opacity 0.15s ease;
}

.hfm-finder-results.is-loading {
	opacity:0.35;
	pointer-events:none;
}

/* FINDER - ACTIVE FILTER PANEL */
.hfm-finder-active-panel {
	margin:0 -14px -12px;
	padding:16px 14px 18px;
	border-top:1px solid var(--hfm-finder-panel-border);
	background:var(--hfm-finder-panel-bg);
}

.hfm-finder-active-panel-chips {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 14px;
	padding:0;
}

.hfm-finder-panel-chip {
	display:inline-flex;
	align-items:center;
	gap:4px;
	min-height:26px;
	padding:0 10px;
	border:1px solid #d4aa32;
	color:var(--hfm-text);
	font-size:12px;
	font-weight:400;
	line-height:1;
	text-decoration:none !important;
	box-sizing:border-box;
}

.hfm-finder-panel-chip:hover {
	text-decoration:none !important;
}

/* Active Brand Chip - Name / Remove */
.hfm-finder-panel-chip > span:first-child {
	color:var(--hfm-text);
}

.hfm-finder-panel-chip .hfm-finder-chip-remove {
	margin-left:3px;
	color:#d4aa32;
	font-size:10px;
	font-weight:500;
	line-height:1;
}

.hfm-finder-chip-remove {
	font-weight:500;
}

.hfm-finder-clear {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	padding:0 14px;
	border:1px solid var(--hfm-finder-clear-border);
	background:var(--hfm-finder-clear-bg);
	color:var(--hfm-finder-clear-text);
	font-size:12px;
	font-weight:700;
	text-decoration:none !important;
	box-sizing:border-box;
}

.hfm-finder-clear:hover {
	text-decoration:none !important;
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	.hfm-finder-clear {
		display:none !important;
	}

}

/* 공통 / PC 기본 규칙 */

/* Finder Title */
.hfm-finder-context-title {
	display:flex;
	align-items:center;
	flex:0 0 auto;
	height:48px;
	gap:0;
	white-space:nowrap;
}

.hfm-finder-context-name {
	font-size:18px;
	font-weight:700;
}

.hfm-finder-context-title .hfm-context-separator {
	margin-left:8px;
	margin-right:4px;
}

/* Active Brand Chips */
.hfm-finder-active-brands {
	display:flex;
	align-items:center;
	flex:0 1 auto;
	gap:8px;
	min-width:0;
	height:48px;
	margin:0 !important;
	padding:0 !important;
	overflow-x:auto;
	overflow-y:hidden;
	white-space:nowrap;
	scrollbar-width:none;
}

.hfm-finder-active-brands::-webkit-scrollbar {
	display:none;
}

/* Context Bar Brand Chip */
.hfm-finder-context .hfm-finder-chip {
	display:inline-flex;
	align-items:center;
	flex:0 0 auto;
	gap:5px;
	height:26px;
	padding:0 11px;
	border:1px solid #6e5b24;
	border-radius:3px;
	background:#4a4022;
	color:#ebc857;
	font-size:12px;
	font-weight:600;
	line-height:1;
	text-decoration:none !important;
	box-sizing:border-box;
	opacity:0.8;
}

.hfm-finder-context .hfm-finder-chip:hover {
	background:#554925;
	text-decoration:none !important;
}

/* X는 브랜드명보다 작게 */
.hfm-finder-context .hfm-finder-chip-remove {
	color:#e2c45e;
	font-size:10px;
	font-weight:700;
	line-height:1;
}

/* Pagination 전체 */
.hfm-finder-pagination {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	margin-top:40px;
	padding:0;
}

.hfm-finder-pagination > ul.page-numbers {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-finder-pagination > ul.page-numbers > li {
	margin:0;
	padding:0;
	list-style:none !important;
}

/* 숫자 버튼 */
.hfm-finder-pagination > ul.page-numbers > li > .page-numbers {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	margin:0 !important;
	padding:0 !important;
	border:1px solid var(--hfm-text);
	box-sizing:border-box;
	color:var(--hfm-text);
	font-size:16px;
	font-weight:600;
	line-height:1;
	text-decoration:none !important;
}

/* Hover */
.hfm-finder-pagination > ul.page-numbers > li > .page-numbers.current {
	background:var(--hfm-text) !important;
	border-color:var(--hfm-text) !important;
	color:var(--hfm-bg) !important;
}

/* 말줄임표 */
.hfm-finder-pagination .page-numbers.dots {
	width:auto;
	border:0;
	padding-inline:4px !important;
}

/* Previous / Next */
.hfm-finder-pagination .page-numbers.prev,
.hfm-finder-pagination .page-numbers.next {
	width:auto;
	min-width:110px;
	padding:0 16px !important;
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	.hfm-finder-pagination {
		width:100%;
		margin-top:28px;
	}

	.hfm-finder-pagination > ul.page-numbers {
		flex-wrap:nowrap;
		width:100%;
		gap:4px;
	}

	.hfm-finder-pagination > ul.page-numbers > li {
		flex:1 1 0;
		min-width:0;
	}

	.hfm-finder-pagination > ul.page-numbers > li > .page-numbers {
		width:100%;
		height:32px;
		font-size:12px;
	}

	.hfm-finder-pagination > ul.page-numbers > li:has(> .prev),
	.hfm-finder-pagination > ul.page-numbers > li:has(> .next) {
		flex:0 0 32px;
	}

	.hfm-finder-pagination .page-numbers.prev,
	.hfm-finder-pagination .page-numbers.next {
		min-width:32px;
		width:32px;
		padding:0 !important;
		font-size:0;
	}

	.hfm-finder-pagination .page-numbers.prev::before {
		content:"‹";
		font-size:20px;
		line-height:1;
	}

	.hfm-finder-pagination .page-numbers.next::before {
		content:"›";
		font-size:20px;
		line-height:1;
	}

	.hfm-finder-pagination .page-numbers.dots {
		width:100%;
		padding:0 !important;
	}

}

/* =========================================================
 * 05. SINGLE — 3열 / TOC / 본문 / 관련 글 / 모바일
 * ========================================================= */

/* 공통 / PC 기본 규칙 */

/* SINGLE - DESKTOP LAYOUT */
.hfm-single-header {
	width:min(var(--hfm-width), calc(100% - 40px));
	max-width:var(--hfm-width) !important;
	margin-inline:auto !important;
	padding-inline:0 !important;
}

.hfm-single-content-frame {
	width:min(var(--hfm-width), calc(100% - 40px));
	max-width:var(--hfm-width) !important;
	margin-inline:auto !important;
	padding-inline:0 !important;
}

.hfm-single-layout {
	display:grid !important;
	grid-template-columns:240px minmax(0, 800px) 300px !important;
	gap:50px !important;
	align-items:start;
}

.hfm-single-left {
	position:sticky;
	top:80px;
	align-self:start;
	min-width:0;
	height:fit-content;
}

.hfm-single-main,
.hfm-single-right {
	min-width:0;
}

/* Single - Right Sidebar Sticky */
.hfm-single-sidebar {
	position:sticky;
	top:80px;
	align-self:start;
}

.hfm-single-toc-link:hover {
	color:var(--hfm-text);
	text-decoration:none !important;
}

/* 현재 읽고 있는 Section */
.hfm-single-toc-link.is-active {
	color:var(--hfm-text);
	font-weight:700;
	opacity:1;
}

/* Active Indicator */
.hfm-single-toc-item:has(.hfm-single-toc-link.is-active)::before {
	content:"";
	position:absolute;
	left:-12px;
	top:4px;
	bottom:4px;
	width:2px;
	background:currentColor;
}

.hfm-single-toc-post-title {
	margin:0 0 22px;
	padding:0 0 16px;
	border-bottom:1px solid var(--hfm-divider);
	font-size:17px;
	font-weight:600;
	line-height:1.45;
	letter-spacing:-0.3px;
}

.hfm-single-toc-label {
	margin:0 0 18px;
	font-size:10px;
	font-weight:700;
	letter-spacing:.1em;
	color:var(--hfm-text-muted);
}

/* TOC - Gutenberg 기본 여백 제거 */
.hfm-single-toc-inner ul,
.hfm-single-toc-inner li,
.hfm-single-toc-inner p,
.hfm-single-toc-inner a {
	margin:0 !important;
	padding:0 !important;
}

.hfm-single-toc {
	min-width:0;
	padding-inline:0 !important;
}

.hfm-single-toc > * {
	width:100% !important;
	max-width:none !important;
	margin-inline:0 !important;
}

/* TOC List 간격 정리 */
.hfm-single-toc-list {
	display:flex;
	flex-direction:column;
	gap:14px !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-single-toc-item {
	position:relative;
	height:auto !important;
	min-height:0 !important;
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.hfm-single-toc-item::marker {
	content:"";
}

/* TOC Link */
.hfm-single-toc-link {
	transition:color .15s ease, font-weight .15s ease, opacity .15s ease;
	display:block;
	gap:8px !important;
	margin:0 !important;
	padding:0 !important;
	white-space:normal !important;
	min-height:0 !important;
	font-size:15px;
	font-weight:500;
	line-height:1.3;
	color:var(--hfm-text-muted);
	text-decoration:none !important;
}

.hfm-single-toc-link br {
	display:none !important;
}

/* 혹시 링크 내부에 p가 생성되더라도 높이 제거 */
.hfm-single-toc-link p {
	margin:0 !important;
	padding:0 !important;
	line-height:inherit !important;
}

/* H3 */
.hfm-single-toc-item.is-h3 .hfm-single-toc-link {
	padding-left:14px !important;
	font-size:11px;
	opacity:.72;
}

/* SINGLE - RELATED CONTENTS */
.hfm-single-related {
	margin-top:72px;
}

/* Section */
.hfm-single-related-section {
	margin-top:56px;
}

.hfm-single-related-section:first-child {
	margin-top:0;
}

/* Heading */
.hfm-single-related-heading {
	margin:0 0 20px;
	padding-bottom:12px;
	border-bottom:1.5px solid var(--hfm-divider-strong);
	font-size:20px;
	font-weight:700;
	line-height:1.3;
}

/* List */
.hfm-single-related-list {
	display:flex;
	flex-direction:column;
	gap:0;
}

/* Card */
.hfm-single-related-card {
	display:grid;
	grid-template-columns:240px minmax(0, 1fr);
	gap:22px;
	padding:20px 0;
	border-bottom:1px solid var(--hfm-divider);
}

/* Image */
.hfm-single-related-image {
	display:block;
	min-width:0;
	aspect-ratio:16 / 9;
	overflow:hidden;
}

.hfm-single-related-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Content */
.hfm-single-related-content {
	min-width:0;
}

.hfm-single-related-meta {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:8px;
}

/* Title */
.hfm-single-related-title {
	margin:0;
	font-size:18px;
	font-weight:700;
	line-height:1.35;
}

.hfm-single-related-title a {
	color:inherit;
	text-decoration:none !important;
}

/* Date */
.hfm-single-related-date {
	display:block;
	margin-top:8px;
	font-size:11px;
	color:var(--hfm-text-muted);
}

/* Excerpt */
.hfm-single-related-excerpt {
	margin-top:10px;
	font-size:13px;
	line-height:1.55;
	color:var(--hfm-text-muted);
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	.hfm-single-related-card {
		grid-template-columns:120px minmax(0, 1fr);
		gap:14px;
	}

	.hfm-single-related-title {
		font-size:15px;
	}

	.hfm-single-related-excerpt {
		display:none;
	}

	.hfm-single-related-date {
		font-size:10px;
	}

	/* Header / Content 공통 폭 */
	.hfm-single-header,
	.hfm-single-content-frame {
		width:calc(100% - 32px) !important;
		max-width:none !important;
		margin-inline:auto !important;
		padding-inline:0 !important;
	}

	/* 3열 → 중앙 1열 */
	.hfm-single-layout {
		display:block !important;
		width:100% !important;
		max-width:none !important;
		margin:0 !important;
	}

	/* TOC / Right Sidebar 제거 */
	.hfm-single-left,
	.hfm-single-right {
		display:none !important;
	}

	/* Main Content */
	.hfm-single-main {
		width:100% !important;
		max-width:none !important;
		min-width:0 !important;
		margin:0 !important;
	}

	/* 본문 하단 Related Contents */
	.hfm-single-related {
		width:100%;
		max-width:none;
	}

	.hfm-single-hero {
		width:100% !important;
		height:auto !important;
		aspect-ratio:16 / 9;
		overflow:hidden;
	}

	.hfm-single-hero img {
		display:block;
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}

	.hfm-single-header-columns {
		gap:0 !important;
	}

}

/* 공통 / PC 기본 규칙 */

/* Single Title */
.hfm-single-title,
.hfm-single-title a {
	line-height:1.3 !important;
}

/* Single Excerpt */
.hfm-single-excerpt {
	color:var(--hfm-text-muted) !important;
	opacity:.75;
	line-height:1.55 !important;
}

/* Single Meta */
.hfm-single-meta {
	display:flex !important;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
}

/* 날짜 */
.hfm-single-date {
	font-size:13px;
	line-height:1;
	color:var(--hfm-text-muted);
}

/* 태그 */
.hfm-single-tags {
	display:flex !important;
	align-items:center;
	flex-wrap:wrap;
	gap:6px;
	margin:0 !important;
}

.hfm-single-tags a {
	display:inline-flex;
	align-items:center;
	min-height:26px;
	padding:0 9px;
	border:1px solid var(--hfm-border);
	border-radius:14px;
	font-size:12px;
	font-weight:500;
	line-height:1;
	color:var(--hfm-text-muted);
	text-decoration:none !important;
}

.hfm-single-content .wp-block-separator {
	margin-block:40px !important;
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* Single - Body Text */
	.hfm-single-content h2 {
		font-size:22px !important;
		line-height:1.4;
	}

	.hfm-single-content h3 {
		font-size:19px !important;
		line-height:1.4;
	}

	.hfm-single-content p,
	.hfm-single-content li {
		font-size:16px !important;
		line-height:1.7;
	}

}

/* =========================================================
 * 06. HOME — PC 카드 / 모바일 배치 / 광고 / 간격
 * ========================================================= */

/* 공통 / PC 기본 규칙 */

.hfm-home-top-layout,
.hfm-home-feed-layout {
	display:grid !important;
	grid-template-columns:240px minmax(0, 800px) 300px !important;
	gap:50px !important;
	align-items:start;
}

/* HOME - TOP MAIN FEATURE */
.hfm-home-top-main-query {
	margin:0;
}

/* Post Template */
.hfm-home-top-main-query .wp-block-post-template {
	margin:0;
	padding:0;
}

.hfm-home-top-main-query .wp-block-post {
	margin:0;
	padding:0;
}

/* Featured Image */
.hfm-home-top-main-query .wp-block-post-featured-image {
	width:100%;
	aspect-ratio:16 / 9;
	margin:0 0 14px !important;
	overflow:hidden;
}

.hfm-home-top-main-query .wp-block-post-featured-image a {
	display:block;
	width:100%;
	height:100%;
}

.hfm-home-top-main-query .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Title */
.hfm-home-top-main-query .wp-block-post-title {
	margin:10px 0 0 !important;
	font-size:26px;
	font-weight:700;
	line-height:1.35;
}

.hfm-home-top-main-query .wp-block-post-title a {
	color:inherit;
	text-decoration:none !important;
}

/* Excerpt */
.hfm-home-top-main-query .wp-block-post-excerpt {
	margin:10px 0 0 !important;
}

.hfm-home-top-main-query .wp-block-post-excerpt__excerpt {
	margin:0 !important;
	font-size:13px;
	line-height:1.6;
	color:var(--hfm-text-muted);
}

/* HOME - TOP LEFT */
.hfm-home-top-left-query {
	margin:0;
}

.hfm-home-top-left-query .wp-block-post-template {
	display:flex;
	flex-direction:column;
	gap:40px;
	margin:0;
	padding:0;
}

.hfm-home-top-left-query .wp-block-post {
	margin:0;
	padding:0;
}

/* Featured Image */
.hfm-home-top-left-query .wp-block-post-featured-image {
	width:100%;
	aspect-ratio:16 / 9;
	margin:0 0 10px !important;
	overflow:hidden;
}

.hfm-home-top-left-query .wp-block-post-featured-image a {
	display:block;
	width:100%;
	height:100%;
}

.hfm-home-top-left-query .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Title */
.hfm-home-top-left-query .wp-block-post-title {
	margin:8px 0 0 !important;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
}

.hfm-home-top-left-query .wp-block-post-title a {
	color:inherit;
	text-decoration:none !important;
}

/* 왼쪽 작은 카드에서는 Excerpt 숨김 */
.hfm-home-top-left-query .wp-block-post-excerpt {
	display:none;
}

/* HOME - Card Meta */
.hfm-home-meta {
	display:flex !important;
	align-items:center;
	justify-content:flex-start !important;
	flex-wrap:wrap;
	gap:6px !important;
	margin:0 !important;
}

.hfm-home-meta > * {
	flex:0 0 auto !important;
	width:auto !important;
	margin:0 !important;
}

.hfm-home-meta .wp-block-post-terms,
.hfm-home-meta .wp-block-post-date {
	margin:0 !important;
	font-size:10px !important;
	line-height:1.2;
}

.hfm-home-meta a {
	font-size:inherit !important;
	line-height:inherit;
}

.hfm-home-date {
	flex:0 0 auto !important;
	width:auto !important;
	margin:0 !important;
}

/* HOME - TOP RIGHT */
.hfm-home-top-right-query {
	margin:0;
}

.hfm-home-top-right-query .wp-block-post-template {
	margin:0;
	padding:0;
}

/* #4 - Large Card */
.hfm-home-top-right-query .wp-block-post-template > li:first-child {
	margin:0 0 20px !important;
	padding:0 0 20px !important;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image {
	width:100%;
	aspect-ratio:16 / 9;
	margin:0 0 10px !important;
	overflow:hidden;
}

.hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image a {
	display:block;
	width:100%;
	height:100%;
}

.hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

.hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-title {
	margin:9px 0 0 !important;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
}

.hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-excerpt {
	display:none;
}

/* #5 / #6 - Small Horizontal Card */
.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) {
	display:grid !important;
	grid-template-columns:120px minmax(0, 1fr);
	grid-template-rows:auto auto;
	column-gap:14px;
	row-gap:7px;
	align-items:start;
	margin:0 !important;
	padding:16px 0 !important;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-featured-image {
	grid-column:1;
	grid-row:1 / span 2;
	width:120px;
	aspect-ratio:4 / 3;
	margin:0 !important;
	overflow:hidden;
}

.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Meta */
.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .hfm-home-meta {
	grid-column:2;
	grid-row:1;
	display:flex !important;
	align-items:center;
	justify-content:flex-start !important;
	flex-wrap:wrap;
	gap:5px !important;
	margin:0 !important;
}

/* 작은 카드에서는 라벨만 표시하고 날짜는 숨김 */
.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .hfm-home-date {
	display:none !important;
}

/* Title */
.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-title {
	grid-column:2;
	grid-row:2;
	margin:0 !important;
	font-size:13px !important;
	font-weight:700;
	line-height:1.4;
}

/* Excerpt는 숨김 */
.hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-excerpt {
	display:none !important;
}

/* HOME - MAIN FEED */
.hfm-home-feed-main-query {
	margin:0;
}

.hfm-home-feed-main-query .wp-block-post-template {
	margin:0;
	padding:0;
}

/* Feed Item */
.hfm-home-feed-main-query .wp-block-post {
	display:grid !important;
	grid-template-columns:350px minmax(0, 1fr);
	column-gap:24px;
	align-items:start;
	margin:0 !important;
	padding:24px 0 !important;
	border-bottom:1px solid var(--hfm-divider);
}

/* 첫 글 상단 여백 제거 */
.hfm-home-feed-main-query .wp-block-post:first-child {
	padding-top:0 !important;
}

/* Image */
.hfm-home-feed-main-query .wp-block-post-featured-image {
	grid-column:1;
	grid-row:1 / span 3;
	width:100%;
	aspect-ratio:16 / 9;
	margin:0 !important;
	overflow:hidden;
}

.hfm-home-feed-main-query .wp-block-post-featured-image a {
	display:block;
	width:100%;
	height:100%;
}

.hfm-home-feed-main-query .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* Meta */
.hfm-home-feed-main-query .hfm-home-meta {
	grid-column:2;
	margin:0 0 5px !important;
}

/* Title */
.hfm-home-feed-main-query .wp-block-post-title {
	grid-column:2;
	margin:0 !important;
	font-size:18px;
	font-weight:700;
	line-height:1.4;
}

.hfm-home-feed-main-query .wp-block-post-title a {
	color:inherit;
	text-decoration:none !important;
}

.hfm-home-feed-main-query .wp-block-post-excerpt__excerpt {
	margin:0 !important;
	font-size:13px;
	line-height:1.55;
	color:var(--hfm-text-muted);
}

.hfm-home-feed-content {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	min-width:0;
	margin:0 !important;
	padding:0 !important;
}

/* 메타 → 제목 */
.hfm-home-feed-content .hfm-home-meta {
	margin:0 0 12px !important;
}

/* 제목 */
.hfm-home-feed-content .wp-block-post-title {
	margin:0 !important;
}

/* 제목 → 요약 */
.hfm-home-feed-content .wp-block-post-excerpt {
	margin:12px 0 0 !important;
}

/* HOME - SIDE SECTION HEADING */
.hfm-home-side-heading {
	margin:0 0 12px !important;
	padding:0 0 8px;
	border-bottom:1px solid var(--hfm-divider-strong);
	font-size:14px;
	font-weight:700;
	line-height:1.3;
}

/* HOME - FEATURE COLUMN */
.hfm-home-feature-query .wp-block-post-template {
	margin:0;
	padding:0;
}

/* First Post - Large */
.hfm-home-feature-query .wp-block-post-template > li:first-child {
	margin:0 0 12px !important;
	padding:0 0 16px !important;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-home-feature-query .wp-block-post-template > li:first-child .wp-block-post-featured-image {
	width:100%;
	aspect-ratio:16 / 9;
	margin:0 0 9px !important;
	overflow:hidden;
}

.hfm-home-feature-query .wp-block-post-template > li:first-child .wp-block-post-featured-image a {
	display:block;
	width:100%;
	height:100%;
}

.hfm-home-feature-query .wp-block-post-template > li:first-child .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

.hfm-home-feature-query .wp-block-post-template > li:first-child .wp-block-post-title {
	margin:8px 0 0 !important;
	font-size:15px;
	font-weight:700;
	line-height:1.4;
}

.hfm-home-feature-query .wp-block-post-template > li:first-child .wp-block-post-excerpt {
	display:none;
}

/* Post #2+ - Compact */
.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) {
	display:grid !important;
	grid-template-columns:minmax(0, 1fr) 72px;
	column-gap:10px;
	align-items:center;
	margin:0 !important;
	padding:12px 0 !important;
	border-bottom:1px solid var(--hfm-divider);
}

/* Image - Right */
.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-featured-image {
	grid-column:2;
	grid-row:1;
	width:72px;
	aspect-ratio:4 / 3;
	margin:0 !important;
	overflow:hidden;
}

.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-featured-image img {
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

/* 작은 카드에서는 Meta / Excerpt 숨김 */
.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) .hfm-home-meta,
.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-excerpt {
	display:none !important;
}

/* Title - Left */
.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-title {
	grid-column:1;
	grid-row:1;
	margin:0 !important;
	font-size:12px;
	font-weight:600;
	line-height:1.4;
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* 슬라이더 아래 콘텐츠 — 좌우 여백 */
	.hfm-home-top,
	.hfm-home-feed {
		box-sizing:border-box;
		width:100%;
		max-width:100%;
		padding-left:16px !important;
		padding-right:16px !important;
	}

	/* 목록: 2열 기반, Feature·일반형은 전체 폭 */
	.hfm-home-feature-query .wp-block-post-template {
		display:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr));
		column-gap:16px;
		row-gap:0;
	}

	.hfm-home-feature-query .wp-block-post-template > li {
		min-width:0;
	}

	/* 이미지 링크·이미지 공통 */
	.hfm-home-feature-query .wp-block-post-featured-image a {
		display:block;
		width:100%;
		height:100%;
		line-height:0;
	}

	.hfm-home-feature-query .wp-block-post-featured-image img {
		display:block;
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}

	.hfm-home-feature-query .wp-block-post-title a {
		font-size:inherit !important;
		font-weight:inherit !important;
		line-height:inherit !important;
	}

	/* #1 - 기존 Feature형 유지 */
	.hfm-home-feature-query .wp-block-post-template > li:first-child {
		grid-column:1 / -1;
	}

	/* #2·#3 - 2-UP */
	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) {
		display:block !important;
		margin:0 0 16px !important;
		padding:0 !important;
		border-bottom:0;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) .wp-block-post-featured-image {
		width:100% !important;
		aspect-ratio:16 / 9;
		margin:0 0 8px !important;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) .hfm-home-meta {
		display:flex !important;
		margin:0 !important;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) .wp-block-post-title {
		margin:7px 0 0 !important;
		font-size:15px !important;
		font-weight:600;
		line-height:1.4;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) .hfm-home-date {
		display:none !important;
	}

	/* FEATURE #2·#3 2-UP — 날짜 숨김 */
	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+2):nth-child(-n+3) :is(.hfm-home-date, .wp-block-post-date) {
		display:none !important;
	}

	/* FEATURE와 REVIEW 사이 광고 — 모바일 숨김 */
	.hfm-home-right-ad {
		display:none !important;
	}

	/* #4~#6 - 최신글과 동일한 일반형 */
	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+4) {
		grid-column:1 / -1;
		display:grid !important;
		grid-template-columns:128px minmax(0,1fr);
		grid-template-rows:max-content max-content auto;
		column-gap:14px;
		row-gap:0;
		align-items:start;
		align-content:start;
		margin:0 !important;
		padding:16px 0 !important;
		border-bottom:1px solid var(--hfm-divider);
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+4) .wp-block-post-featured-image {
		grid-column:1;
		grid-row:1 / span 3;
		align-self:start;
		width:128px !important;
		aspect-ratio:4 / 3;
		margin:0 !important;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+4) .hfm-home-meta {
		display:flex !important;
		grid-column:2;
		grid-row:1;
		margin:0 !important;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+4) .wp-block-post-title {
		grid-column:2;
		grid-row:2;
		margin:6px 0 0 !important;
		font-size:15px !important;
		font-weight:600;
		line-height:1.4;
	}

	.hfm-home-feature-query .wp-block-post-template > li:nth-child(n+4) .hfm-home-date {
		display:block !important;
		grid-column:2;
		grid-row:3;
	}

}

/* 공통 / PC 기본 규칙 */

/* HOME - REVIEW COLUMN */
.hfm-home-review-query .wp-block-post-template > li:first-child {
	margin:0 0 12px !important;
	padding:0 0 16px !important;
	border-bottom:1px solid var(--hfm-divider);
}

.hfm-home-review-query .wp-block-post-template > li:nth-child(n+2) {
	display:grid !important;
	grid-template-columns:minmax(0, 1fr) 72px;
	column-gap:10px;
	align-items:center;
	margin:0 !important;
	padding:12px 0 !important;
	border-bottom:1px solid var(--hfm-divider);
}

/* 반응형 — (max-width:600px) */
@media (max-width:600px) {

	/* 상단 3열 → 세로 */
	.hfm-home-top-layout {
		display:flex !important;
		flex-direction:column;
		width:100% !important;
	}

	/* #1 */
	.hfm-home-top-main {
		order:1;
		width:100%;
	}

	/* #2, #3 */
	.hfm-home-top-left {
		order:2;
		width:100%;
	}

	/* #4, #5, #6 */
	.hfm-home-top-right {
		order:3;
		width:100%;
	}

	/* 하단 3열 → 세로 */
	.hfm-home-feed-layout {
		display:flex !important;
		flex-direction:column;
		width:100% !important;
	}

	/* 전체 최신글 #7~ */
	.hfm-home-feed-main {
		order:1;
		width:100%;
	}

	/* FEATURE */
	.hfm-home-feed-left {
		order:2;
		width:100%;
	}

	/* REVIEW */
	.hfm-home-feed-right {
		order:3;
		width:100%;
	}

	.hfm-home-top-layout {
		row-gap:30px !important;
	}

	/* Latest #1 - Main Feature */
	.hfm-home-top-main-query .wp-block-post-featured-image {
		width:100%;
		aspect-ratio:16 / 9;
		margin:0 0 10px !important;
	}

	.hfm-home-top-main-query .wp-block-post-title {
		margin:8px 0 0 !important;
		font-size:21px !important;
		line-height:1.35;
	}

	/* 최신글 #1 Feature - 요약 2줄 */
	.hfm-home-top-main-query .wp-block-post-excerpt {
		display:block !important;
		margin:8px 0 0 !important;
	}

	.hfm-home-top-main-query .wp-block-post-excerpt__excerpt {
		display:-webkit-box;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
		overflow:hidden;
		font-size:13px;
		line-height:1.55;
		color:var(--hfm-text-muted);
	}

	/* Latest #2 / #3 - 2-UP */
	.hfm-home-top-left-query .wp-block-post-template {
		display:grid !important;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		column-gap:16px;
		row-gap:24px;
	}

	.hfm-home-top-left-query .wp-block-post {
		min-width:0;
		margin:0 !important;
		padding:0 !important;
	}

	.hfm-home-top-left-query .wp-block-post-featured-image {
		width:100%;
		aspect-ratio:16 / 9;
		margin:0 0 8px !important;
	}

	.hfm-home-top-left-query .wp-block-post-title {
		margin:7px 0 0 !important;
		font-size:15px !important;
		line-height:1.4;
	}

	.hfm-home-top-left-query .wp-block-post-excerpt {
		display:none !important;
	}

	/* HOME - Latest #2 / #3 2-Up Card */
	.hfm-home-top-left-query .hfm-home-date {
		display:none !important;
	}

	.hfm-home-top-right-query .wp-block-post-template > li .wp-block-post-featured-image {
		grid-column:1 !important;
		grid-row:1 / span 2 !important;
		width:128px !important;
		aspect-ratio:4 / 3 !important;
		margin:0 !important;
		overflow:hidden;
	}

	.hfm-home-top-right-query .wp-block-post-template > li .wp-block-post-featured-image img {
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}

	.hfm-home-top-right-query .wp-block-post-template > li .hfm-home-meta {
		grid-column:2 !important;
		grid-row:1 !important;
		margin:0 !important;
	}

	.hfm-home-top-right-query .wp-block-post-template > li .wp-block-post-title {
		grid-column:2 !important;
		grid-row:2 !important;
		margin:0 !important;
		font-size:15px !important;
		line-height:1.4 !important;
	}

	.hfm-home-top-right-query .wp-block-post-excerpt {
		display:none !important;
	}

	/* #7 ~ #12 */
	.hfm-home-feed-main-query .wp-block-post {
		grid-template-columns:128px minmax(0, 1fr) !important;
		column-gap:14px !important;
		padding:16px 0 !important;
	}

	.hfm-home-feed-main-query .wp-block-post-featured-image {
		width:128px !important;
		aspect-ratio:4 / 3 !important;
	}

	.hfm-home-feed-main-query .hfm-home-feed-content {
		min-width:0;
	}

	.hfm-home-feed-main-query .wp-block-post-title {
		font-size:15px !important;
		line-height:1.4 !important;
		font-weight:600;
	}

	.hfm-home-feed-main-query .wp-block-post-excerpt {
		display:none !important;
	}

	/* #4·#5·#6: 목록 gap 제거 */
	.hfm-home-top-right-query .wp-block-post-template {
		gap:0 !important;
	}

	/* #4·#5·#6: 메타와 제목 행의 높이를 콘텐츠에 맞춤 */
	.hfm-home-top-right-query .wp-block-post-template > li {
		display:grid !important;
		grid-template-columns:128px minmax(0, 1fr) !important;
		column-gap:14px !important;
		align-items:start !important;
		margin:0 !important;
		padding:16px 0 !important;
		border-bottom:1px solid var(--hfm-divider);
		grid-template-rows:min-content min-content !important;
		align-content:start !important;
		row-gap:4px !important;
	}

	/* #6과 #7 사이 와이드 광고 숨김 */
	.hfm-home-wide-ad {
		display:none !important;
	}

	/* 상단 최신글과 하단 최신글 사이 섹션 여백 제거 */
	.hfm-home-top {
		margin-bottom:0 !important;
		padding-bottom:0 !important;
	}

	.hfm-home-feed {
		margin-top:0 !important;
		padding-top:0 !important;
	}

	/* #4: 다른 일반형 카드와 동일한 하단 여백 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:first-child {
		margin-bottom:0 !important;
		padding-bottom:16px !important;
	}

	/* #7: #6의 구분선 아래 상단 여백 확보 */
	.hfm-home-feed-main .hfm-home-feed-main-query .wp-block-post-template > li:first-child {
		margin-top:0 !important;
		padding-top:16px !important;
	}

	/* 첫 Feature 이미지에 남아 있는 여백 초기화 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image {
		margin:0 !important;
		padding:0 !important;
		align-self:start !important;
	}

	/* 링크·이미지 아래 인라인 여백 제거 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image a {
		display:block;
		height:100%;
		line-height:0;
	}

	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:first-child .wp-block-post-featured-image img {
		display:block;
	}

	/* #5·#6: 메타 행은 실제 높이만, 나머지는 제목 행으로 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) {
		grid-template-rows:max-content minmax(0,1fr) !important;
		align-items:start !important;
		align-content:start !important;
		row-gap:4px !important;
	}

	/* 메타 여백 초기화 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .hfm-home-meta {
		margin:0 !important;
	}

	/* 제목 크기·두께·여백 통일 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-title {
		margin:0 !important;
		font-size:15px !important;
		font-weight:600 !important;
		line-height:1.4 !important;
	}

	/* 링크에 별도 지정된 폰트도 제목 기준으로 통일 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .wp-block-post-title a {
		font-size:inherit !important;
		font-weight:inherit !important;
		line-height:inherit !important;
	}

	/* #4~#6: 별도 Grid 행 간격 제거 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n) {
		row-gap:0 !important;
	}

	/* #4~#12: 메타 여백 초기화 */
	:is(.hfm-home-top-right, .hfm-home-feed-main) :is(.hfm-home-top-right-query, .hfm-home-feed-main-query) .wp-block-post-template > li:nth-child(n) .hfm-home-meta {
		margin:0 !important;
	}

	/* #4~#12: 제목 상단 여백으로 간격 통일 */
	:is(.hfm-home-top-right, .hfm-home-feed-main) :is(.hfm-home-top-right-query, .hfm-home-feed-main-query) .wp-block-post-template > li:nth-child(n) .wp-block-post-title {
		margin:8px 0 0 !important;
	}

	/* #5·#6: 날짜 표시 */
	.hfm-home-top-right .hfm-home-top-right-query .wp-block-post-template > li:nth-child(n+2) .hfm-home-date {
		display:block !important;
	}

}
