/*
Theme Name: HF SEO
Theme URI: https://hf.local
Description: HF SEO 전용 GeneratePress 자식테마. 다크 테크+시안 톤, 가짜 검색창 히어로, 카드형 글목록, 커스텀 사이드바/푸터, 도움 페이지 자동생성 포함.
Author: HF SEO
Template: generatepress
Version: 1.3.0
Text Domain: hf-seo
*/

/* ============================================================
   0. 컬러 시스템 (다크 테크 + 시안)
   ============================================================ */
:root {
	--hf-dark:      #0F172A;
	--hf-dark-2:    #1E293B;
	--hf-dark-3:    #334155;
	--hf-cyan:      #0EA5E9;
	--hf-cyan-600:  #0284C7;
	--hf-cyan-050:  #E0F2FE;
	--hf-bg:        #F8FAFC;
	--hf-card:      #FFFFFF;
	--hf-text:      #1E293B;
	--hf-muted:     #64748B;
	--hf-border:    #E2E8F0;
	--hf-radius:    14px;
	--hf-radius-sm: 10px;
	--hf-shadow:    0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
	--hf-shadow-lg: 0 12px 30px rgba(15,23,42,.10);
	--hf-font:      'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}

/* ============================================================
   1. 전체 톤 / 타이포
   ============================================================ */
body {
	background-color: var(--hf-bg);
	color: var(--hf-text);
	font-family: var(--hf-font);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 { font-family: var(--hf-font); color: var(--hf-dark); font-weight: 700; letter-spacing: -0.02em; }
a { color: var(--hf-cyan-600); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--hf-cyan); }

/* 버튼 공통 */
.hf-btn {
	display: inline-flex; align-items: center; gap: .4em;
	padding: .8em 1.5em; border-radius: 999px; font-weight: 700; font-size: 1rem;
	line-height: 1; cursor: pointer; border: 2px solid transparent; transition: all .18s ease;
	text-decoration: none; white-space: nowrap;
}
.hf-btn--sm { padding: .6em 1.1em; font-size: .9rem; }
.hf-btn--primary { background: var(--hf-cyan); color: #fff; box-shadow: 0 6px 16px rgba(14,165,233,.32); }
.hf-btn--primary:hover { background: var(--hf-cyan-600); color:#fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14,165,233,.4); }
.hf-btn--ghost { background: transparent; color: var(--hf-dark); border-color: var(--hf-border); }
.hf-btn--ghost:hover { border-color: var(--hf-cyan); color: var(--hf-cyan-600); background:#fff; }
.hf-btn--light { background:#fff; color: var(--hf-dark); }
.hf-btn--light:hover { background: var(--hf-cyan-050); color: var(--hf-cyan-600); }

/* ============================================================
   2. 헤더 / 네비게이션 (다크)
   ============================================================ */
.site-header {
	background-color: var(--hf-dark);
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.site-header .main-title a,
.site-header .site-title a { color:#fff !important; font-weight: 800; letter-spacing:-.03em; }
.site-header .main-title a:hover { color: var(--hf-cyan) !important; }
.site-description { color: #94A3B8 !important; font-weight: 500; }

/* 사이트명 앞 시안 악센트 점 */
.site-header .main-title { position: relative; }

/* 네비게이션 바 */
.main-navigation,
.main-navigation ul,
.main-navigation .inside-navigation { background-color: var(--hf-dark); }
.main-navigation .main-nav ul li a { color:#CBD5E1; font-weight: 600; }
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li:hover > a {
	color:#fff; background-color: rgba(14,165,233,.14);
}
.main-navigation .main-nav ul ul { background-color: var(--hf-dark-2); border:1px solid rgba(255,255,255,.08); }
.main-navigation .menu-toggle,
.main-navigation .mobile-bar-items a { color:#fff; }
.navigation-search input[type="search"] { background: var(--hf-dark-2); color:#fff; }
.menu-bar-items .menu-bar-item > a { color:#CBD5E1; }

/* 헤더 CTA 버튼 */
.hf-nav-cta {
	display:inline-flex; align-items:center; margin-left: 12px;
	background: var(--hf-cyan); color:#fff !important; font-weight:700;
	padding: .55em 1.15em; border-radius: 999px; font-size:.92rem;
	box-shadow: 0 4px 12px rgba(14,165,233,.35); transition: all .18s ease;
}
.hf-nav-cta:hover { background:#fff; color: var(--hf-cyan-600) !important; transform: translateY(-1px); }

/* ============================================================
   3. 히어로 (가짜 검색창)
   ============================================================ */
.hf-hero {
	background:
		radial-gradient(1000px 500px at 80% -10%, rgba(14,165,233,.18), transparent 60%),
		radial-gradient(800px 400px at 10% 110%, rgba(14,165,233,.10), transparent 55%),
		linear-gradient(180deg, var(--hf-dark) 0%, #0B1220 100%);
	color:#fff; padding: 74px 0 82px; text-align:center; position:relative; overflow:hidden;
}
.hf-hero::after {
	content:""; position:absolute; inset:0;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 44px 44px; mask-image: radial-gradient(700px 380px at 50% 30%, #000, transparent 75%);
	pointer-events:none;
}
.hf-hero__inner { position: relative; z-index:1; }
.hf-hero__badge {
	display:inline-flex; align-items:center; gap:.5em;
	background: rgba(14,165,233,.14); border:1px solid rgba(14,165,233,.35);
	color:#7DD3FC; padding:.45em 1em; border-radius:999px; font-size:.85rem; font-weight:600; margin-bottom:22px;
}
.hf-hero__dot { width:8px; height:8px; border-radius:50%; background: var(--hf-cyan); box-shadow:0 0 0 4px rgba(14,165,233,.25); }
.hf-hero__title {
	color:#fff; font-size: clamp(1.9rem, 4.4vw, 3rem); line-height:1.2; font-weight:800;
	margin:0 auto 18px; max-width: 15ch;
}
.hf-hero__sub { color:#CBD5E1; font-size: clamp(1rem,1.6vw,1.15rem); margin:0 auto 30px; max-width: 46ch; }

/* 검색창 */
.hf-hero__search {
	display:flex; align-items:center; gap:8px; max-width: 620px; margin:0 auto;
	background:#fff; border-radius:999px; padding:8px 8px 8px 20px;
	box-shadow: 0 20px 50px rgba(2,8,23,.45), 0 0 0 1px rgba(255,255,255,.06);
}
.hf-hero__search-icon { color: var(--hf-muted); display:flex; }
.hf-hero__input {
	flex:1; border:none !important; outline:none; background:transparent; box-shadow:none !important;
	font-size:1.02rem; color: var(--hf-text); padding: 10px 4px; font-family: var(--hf-font);
}
.hf-hero__input::placeholder { color:#94A3B8; }
.hf-hero__submit {
	border:none; background: var(--hf-cyan); color:#fff; font-weight:700; font-family:var(--hf-font);
	padding: 12px 26px; border-radius:999px; cursor:pointer; font-size:1rem; transition: background .15s ease;
}
.hf-hero__submit:hover { background: var(--hf-cyan-600); }

/* 인기 검색어 칩 */
.hf-hero__tags { margin-top:22px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
.hf-hero__tags-label { color:#64748B; font-size:.82rem; margin-right:4px; }
.hf-chip {
	display:inline-flex; align-items:center; padding:.4em .9em; border-radius:999px;
	background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
	color:#CBD5E1 !important; font-size:.85rem; font-weight:500; transition: all .15s ease;
}
.hf-chip:hover { background: rgba(14,165,233,.18); border-color: rgba(14,165,233,.5); color:#fff !important; }

/* 히어로 CTA */
.hf-hero__cta { margin-top:32px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.hf-hero__cta .hf-btn--ghost { color:#fff; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.03); }
.hf-hero__cta .hf-btn--ghost:hover { background:#fff; color: var(--hf-cyan-600); }

/* 통계 스트립 */
.hf-hero__stats {
	margin-top:46px; display:flex; flex-wrap:wrap; justify-content:center; gap: 14px;
	border-top:1px solid rgba(255,255,255,.08); padding-top:30px;
}
.hf-stat { display:flex; flex-direction:column; min-width:120px; }
.hf-stat strong { color:#fff; font-size:1.7rem; font-weight:800; line-height:1; }
.hf-stat span { color:#94A3B8; font-size:.85rem; margin-top:6px; }

/* ============================================================
   4. 글목록 카드형
   ============================================================ */
.blog #main, .archive #main, .search-results #main {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 26px;
	background: transparent !important;
	padding: 0 !important;
	box-shadow:none !important;
}
/* 카드가 아닌 것(페이지헤더/페이징)은 전체폭 */
.blog #main > *:not(article),
.archive #main > *:not(article),
.search-results #main > *:not(article) { grid-column: 1 / -1; }

.blog #main article,
.archive #main article,
.search-results #main article {
	background: var(--hf-card); border:1px solid var(--hf-border); border-radius: var(--hf-radius);
	overflow:hidden; box-shadow: var(--hf-shadow); margin:0 !important; padding:0 !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	display:flex;
}
.blog #main article:hover,
.archive #main article:hover,
.search-results #main article:hover {
	transform: translateY(-4px); box-shadow: var(--hf-shadow-lg); border-color: #CBD5E1;
}
.blog #main .inside-article,
.archive #main .inside-article,
.search-results #main .inside-article {
	display:flex; flex-direction:column; height:100%; width:100%; padding:0;
}

/* 카드 썸네일 (상단 고정) */
.hf-card-media { order:-1; margin:0 !important; }
.hf-card-media a { display:block; line-height:0; }
.hf-card-thumb { width:100%; height:190px; object-fit:cover; display:block; background:#EFF6FF; }
.hf-card-thumb--ph {
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
	height:190px; background: linear-gradient(135deg, var(--hf-dark) 0%, var(--hf-cyan-600) 130%);
}
.hf-ph-mark { color:#fff; font-weight:800; font-size:1.3rem; letter-spacing:-.02em; }
.hf-ph-cat { color: rgba(255,255,255,.75); font-size:.82rem; }

/* 카드 본문 여백 */
.blog #main .entry-header,
.archive #main .entry-header,
.search-results #main .entry-header,
.blog #main .entry-summary,
.archive #main .entry-summary,
.search-results #main .entry-summary { padding: 0 20px; }
.blog #main .entry-header,
.archive #main .entry-header { padding-top:18px; }
.blog #main .entry-summary,
.archive #main .entry-summary { padding-bottom:20px; margin-top:auto; color: var(--hf-muted); font-size:.94rem; }

/* 카테고리 뱃지 */
.hf-cat-badge {
	display:inline-block; margin-bottom:10px; padding:.3em .8em; border-radius:999px;
	background: var(--hf-cyan-050); color: var(--hf-cyan-600) !important; font-size:.76rem; font-weight:700;
	letter-spacing:-.01em;
}
.hf-cat-badge:hover { background: var(--hf-cyan); color:#fff !important; }

/* 카드 제목 */
.blog #main .entry-title,
.archive #main .entry-title,
.search-results #main .entry-title { font-size:1.18rem; line-height:1.4; margin:0 0 10px; }
.blog #main .entry-title a,
.archive #main .entry-title a { color: var(--hf-dark); }
.blog #main .entry-title a:hover,
.archive #main .entry-title a:hover { color: var(--hf-cyan-600); }

/* 카드 메타 + 읽는시간 */
.blog #main .entry-meta,
.archive #main .entry-meta { font-size:.8rem; color: var(--hf-muted); display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.blog #main .entry-meta a,
.archive #main .entry-meta a { color: var(--hf-muted); }
.hf-readtime { display:inline-flex; align-items:center; color: var(--hf-muted); font-size:.8rem; }

/* 페이징 */
.paging-navigation, .pagination { margin-top: 12px; }

/* ============================================================
   5. 사이드바 커스텀 위젯
   ============================================================ */
.inside-right-sidebar .hf-widget { margin-bottom: 24px; background: var(--hf-card); border:1px solid var(--hf-border); border-radius: var(--hf-radius); padding: 20px; box-shadow: var(--hf-shadow); }
.hf-widget-title { font-size:1.02rem; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--hf-border); }

/* 소개 위젯 */
.hf-about-card { text-align:center; }
.hf-about-logo { font-weight:800; font-size:1.25rem; color: var(--hf-dark); margin-bottom:8px; }
.hf-about-logo::before { content:""; display:inline-block; width:8px; height:8px; background: var(--hf-cyan); border-radius:50%; margin-right:7px; vertical-align:middle; }
.hf-about-text { color: var(--hf-muted); font-size:.9rem; margin-bottom:14px; }

/* 인기글 */
.hf-poplist { list-style:none; margin:0; padding:0; }
.hf-poplist__item { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px dashed var(--hf-border); }
.hf-poplist__item:last-child { border-bottom:none; }
.hf-poplist__num { flex:0 0 auto; width:24px; height:24px; border-radius:7px; background: var(--hf-cyan-050); color: var(--hf-cyan-600); font-weight:800; font-size:.82rem; display:flex; align-items:center; justify-content:center; }
.hf-poplist__item a { color: var(--hf-text); font-size:.92rem; font-weight:600; line-height:1.45; }
.hf-poplist__item a:hover { color: var(--hf-cyan-600); }

/* 카테고리 */
.hf-catlist { list-style:none; margin:0; padding:0; }
.hf-catlist li { margin:0; }
.hf-catlist li a {
	display:flex; justify-content:space-between; align-items:center; padding:9px 12px; border-radius: var(--hf-radius-sm);
	color: var(--hf-text); font-size:.92rem; font-weight:500; transition: background .15s ease;
}
.hf-catlist li a:hover { background: var(--hf-bg); color: var(--hf-cyan-600); }
.hf-catlist li a .count, .hf-catlist .post-count { color: var(--hf-muted); }

/* 추천 도구 박스 */
.hf-toolbox { display:flex; flex-direction:column; gap:10px; }
.hf-tool { display:flex; flex-direction:column; padding:12px 14px; border:1px solid var(--hf-border); border-radius: var(--hf-radius-sm); transition: all .15s ease; }
.hf-tool:hover { border-color: var(--hf-cyan); background: var(--hf-cyan-050); transform: translateX(3px); }
.hf-tool__name { font-weight:700; color: var(--hf-dark); font-size:.95rem; }
.hf-tool__desc { color: var(--hf-muted); font-size:.82rem; margin-top:2px; }
.hf-tools-more { display:inline-block; margin-top:12px; font-weight:700; font-size:.9rem; }

/* CTA 박스 */
.hf-widget-cta { background: linear-gradient(160deg, var(--hf-dark) 0%, #0B1220 100%) !important; border:none !important; }
.hf-ctabox { text-align:center; color:#fff; }
.hf-ctabox__emoji { font-size:1.8rem; }
.hf-ctabox__title { color:#fff; font-size:1.05rem; margin:8px 0 6px; }
.hf-ctabox__text { color:#CBD5E1; font-size:.88rem; margin-bottom:14px; }

/* ============================================================
   6. 콘텐츠(단일글/페이지) 영역
   ============================================================ */
.single .site-main > article,
.page .site-main > article,
.single #main > .paging-navigation {
	background: var(--hf-card); border:1px solid var(--hf-border); border-radius: var(--hf-radius);
	box-shadow: var(--hf-shadow); padding: clamp(22px, 4vw, 44px) !important;
}
.entry-content { font-size:1.05rem; }
.entry-content h2 { margin-top:1.8em; padding-bottom:.3em; border-bottom:2px solid var(--hf-cyan-050); }
.entry-content h3 { margin-top:1.5em; }
.entry-content img { border-radius: var(--hf-radius-sm); }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(14,165,233,.4); }
.single .entry-title { font-size: clamp(1.6rem, 3.6vw, 2.3rem); line-height:1.25; }
blockquote { border-left:4px solid var(--hf-cyan); background: var(--hf-bg); margin:1.5em 0; padding:1em 1.4em; border-radius:0 var(--hf-radius-sm) var(--hf-radius-sm) 0; }

/* ============================================================
   7. 생성 페이지 전용 컴포넌트 (.hf-page)
   ============================================================ */
.hf-page .hf-lead { font-size:1.18rem; color: var(--hf-dark-2); font-weight:500; line-height:1.7; margin-bottom:1.6em; }
.hf-page h2 { margin-top:1.8em; }
.hf-callout { background: linear-gradient(160deg, #F0F9FF, #E0F2FE); border:1px solid #BAE6FD; border-radius: var(--hf-radius); padding: 22px 26px; margin: 1.8em 0; }
.hf-callout h3 { margin-top:0; color: var(--hf-cyan-600); }
.hf-callout p:last-child { margin-bottom:0; }
.hf-btnrow { display:flex; gap:12px; flex-wrap:wrap; margin-top:1.6em; }

/* 학습 스텝 */
.hf-steps { display:flex; flex-direction:column; gap:14px; margin:1.6em 0; }
.hf-step { position:relative; background: var(--hf-bg); border:1px solid var(--hf-border); border-left:4px solid var(--hf-cyan); border-radius: var(--hf-radius-sm); padding:18px 20px; }
.hf-step__no { display:inline-block; font-size:.75rem; font-weight:800; color: var(--hf-cyan-600); letter-spacing:.06em; margin-bottom:6px; }
.hf-step h3 { margin:0 0 6px; font-size:1.1rem; }
.hf-step p { margin:0; color: var(--hf-muted); font-size:.95rem; }

/* 도구 카드 */
.hf-toolcards { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:18px; margin:1.6em 0; }
.hf-toolcard { background: var(--hf-card); border:1px solid var(--hf-border); border-radius: var(--hf-radius); padding:22px; box-shadow: var(--hf-shadow); }
.hf-toolcard__head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.hf-toolcard__head h3 { margin:0; font-size:1.15rem; }
.hf-toolcard__badge { font-size:.72rem; font-weight:800; padding:.25em .7em; border-radius:999px; background: var(--hf-dark); color:#fff; }
.hf-toolcard__badge--free { background: var(--hf-cyan); }
.hf-toolcard ul { padding-left:1.1em; color: var(--hf-muted); font-size:.92rem; }
.hf-toolcard li { margin:.3em 0; }

/* FAQ 아코디언 */
.hf-faq { margin:1.4em 0; display:flex; flex-direction:column; gap:12px; }
.hf-faq__item { background: var(--hf-card); border:1px solid var(--hf-border); border-radius: var(--hf-radius-sm); padding: 4px 20px; box-shadow: var(--hf-shadow); }
.hf-faq__item summary { cursor:pointer; font-weight:700; color: var(--hf-dark); padding:16px 0; list-style:none; position:relative; padding-right:30px; }
.hf-faq__item summary::-webkit-details-marker { display:none; }
.hf-faq__item summary::after { content:"+"; position:absolute; right:0; top:14px; font-size:1.4rem; color: var(--hf-cyan); font-weight:400; transition: transform .2s ease; }
.hf-faq__item[open] summary::after { transform: rotate(45deg); }
.hf-faq__a { padding-bottom:16px; color: var(--hf-muted); }
.hf-faq__a p { margin:0; }
.hf-fineprint { color: var(--hf-muted); font-size:.85rem; margin-top:2em; }

/* ============================================================
   8. 푸터
   ============================================================ */
.hf-footer { background: var(--hf-dark); color:#CBD5E1; padding: 56px 0 40px; margin-top: 60px; }
.hf-footer__inner { display:grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; }
.hf-footer__logo { font-weight:800; font-size:1.4rem; color:#fff; margin-bottom:12px; }
.hf-footer__logo::before { content:""; display:inline-block; width:9px; height:9px; background: var(--hf-cyan); border-radius:50%; margin-right:8px; vertical-align:middle; }
.hf-footer__desc { color:#94A3B8; font-size:.92rem; margin:0 0 10px; }
.hf-footer__title { color:#fff; font-size:1rem; margin:0 0 16px; }
.hf-footer__list { list-style:none; margin:0; padding:0; }
.hf-footer__list li { margin:0 0 9px; }
.hf-footer__list a { color:#94A3B8; font-size:.92rem; }
.hf-footer__list a:hover { color: var(--hf-cyan); }
.hf-footer__mini { margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); }
.hf-footer__cta { margin: 6px 0 4px; }

/* 하단 저작권 바 */
.site-info { background: #0B1220; color:#64748B; border-top:1px solid rgba(255,255,255,.06); }
.site-info a { color:#94A3B8; }
.site-info .copyright strong { color:#CBD5E1; }

/* ============================================================
   8.5 v1.1 개선 (헤더/카드/사이드바/단일글/배경)
   ============================================================ */

/* ── 헤더: 태그라인 숨김 + 사이트제목 텍스트 워드마크 로고 ── */
.site-header .site-description { display: none; }
.site-header .main-title { line-height: 1; }
.site-header .main-title a {
	display: inline-flex; align-items: center; white-space: nowrap;
	font-weight: 800 !important; font-size: 1.55rem; letter-spacing: -0.03em;
	color: #fff !important;
}
.site-header .main-title a::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: var(--hf-cyan); margin-right: 9px; flex: 0 0 auto;
	box-shadow: 0 0 0 4px rgba(14,165,233,.22);
}
.site-header .main-title a:hover { color: #7DD3FC !important; }

/* ── 헤더(네비) 스크롤 고정 + 축소 ── */
#site-navigation.main-navigation {
	position: -webkit-sticky; position: sticky; top: 0; z-index: 999;
	transition: box-shadow .2s ease, padding .2s ease, background-color .2s ease;
}
#site-navigation.hf-nav-stuck {
	box-shadow: 0 6px 20px rgba(2,8,23,.35);
	background-color: rgba(15,23,42,.92);
	-webkit-backdrop-filter: saturate(160%) blur(8px);
	backdrop-filter: saturate(160%) blur(8px);
}
#site-navigation.hf-nav-stuck .inside-navigation,
#site-navigation.hf-nav-stuck ul { background-color: transparent; }
#site-navigation.hf-nav-stuck .main-nav ul li a { padding-top: 14px; padding-bottom: 14px; }

/* ── 글목록 섹션 헤더 ── */
.hf-sec-head { text-align: center; padding: 8px 0 6px; margin-bottom: 4px; }
.hf-sec-head__eyebrow {
	display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .14em;
	color: var(--hf-cyan-600); background: var(--hf-cyan-050);
	padding: .35em .9em; border-radius: 999px; margin-bottom: 10px;
}
.hf-sec-head__title { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 6px; }
.hf-sec-head__title::after {
	content: ""; display: block; width: 54px; height: 4px; border-radius: 2px;
	background: linear-gradient(90deg, var(--hf-cyan), var(--hf-cyan-600)); margin: 12px auto 0;
}
.hf-sec-head__sub { color: var(--hf-muted); margin: 12px 0 0; }

/* ── 카드 메타 정리 (GP 기본 메타 숨김 + 커스텀 한 줄) ── */
.blog #main .entry-meta,
.archive #main .entry-meta,
.search-results #main .entry-meta { display: none !important; }
.hf-card-meta {
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
	color: var(--hf-muted); font-size: .82rem; margin-top: 2px;
}
.hf-card-meta .hf-dot { opacity: .5; }
.hf-card-meta time { font-variant-numeric: tabular-nums; }

/* ── 더 읽기(한글 버튼) ── */
.entry-summary .hf-readmore {
	display: inline-block; margin-top: 4px; font-weight: 700; font-size: .88rem;
	color: var(--hf-cyan-600); text-decoration: none;
}
.entry-summary .hf-readmore:hover { color: var(--hf-cyan); }

/* ── 카테고리 뱃지 색상 구분 ── */
.hf-cat-c0 { background: #E0F2FE; color: #0369A1 !important; }   /* sky */
.hf-cat-c1 { background: #DCFCE7; color: #15803D !important; }   /* green */
.hf-cat-c2 { background: #FEF3C7; color: #B45309 !important; }   /* amber */
.hf-cat-c3 { background: #EDE9FE; color: #6D28D9 !important; }   /* violet */
.hf-cat-c4 { background: #FCE7F3; color: #BE185D !important; }   /* pink */
.hf-cat-badge:hover { filter: brightness(.96); }

/* ── 사이드바: 카테고리 카운트 정렬(버그 수정) + 배지 ── */
.hf-catlist li a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 9px 12px; border-radius: var(--hf-radius-sm);
	color: var(--hf-text); font-size: .92rem; font-weight: 500; transition: background .15s ease;
}
.hf-catlist li a:hover { background: var(--hf-bg); color: var(--hf-cyan-600); }
.hf-cat-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hf-cat-count {
	flex: 0 0 auto; min-width: 24px; text-align: center; font-size: .78rem; font-weight: 700;
	color: var(--hf-cyan-600); background: var(--hf-cyan-050); border-radius: 999px; padding: 2px 8px;
}

/* ── 사이드바 스크롤 고정 ── */
@media (min-width: 769px) {
	.inside-right-sidebar {
		position: -webkit-sticky; position: sticky; top: 84px;
	}
}

/* ── 섹션 배경 교차 (히어로 아래 본문 톤 살짝 구분) ── */
.blog .site-content,
.archive .site-content,
.single .site-content {
	background: linear-gradient(180deg, #EEF3F8 0, var(--hf-bg) 340px);
}

/* ── 단일글: 목차(TOC) ── */
.hf-toc {
	background: var(--hf-bg); border: 1px solid var(--hf-border);
	border-left: 4px solid var(--hf-cyan); border-radius: var(--hf-radius-sm);
	padding: 18px 22px; margin: 0 0 28px;
}
.hf-toc__title { font-weight: 800; color: var(--hf-dark); margin-bottom: 10px; }
.hf-toc__list { list-style: none; margin: 0; padding: 0; }
.hf-toc__list li { margin: 5px 0; }
.hf-toc__list a { color: var(--hf-dark-2); text-decoration: none; font-size: .95rem; }
.hf-toc__list a:hover { color: var(--hf-cyan-600); text-decoration: underline; }
.hf-toc__l3 { padding-left: 16px; font-size: .9rem; }
.hf-toc__l3 a { color: var(--hf-muted); }

/* ── 단일글: 관련 글 ── */
.hf-related { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--hf-border); }
.hf-related__title { font-size: 1.3rem; margin: 0 0 18px; }
.hf-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.hf-related__card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius-sm); overflow: hidden; text-decoration: none;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.hf-related__card:hover { transform: translateY(-3px); box-shadow: var(--hf-shadow-lg); border-color: #CBD5E1; }
.hf-related__media { display: block; line-height: 0; }
.hf-related__media .hf-card-thumb { height: 120px; }
.hf-related__name {
	padding: 12px 14px; font-size: .92rem; font-weight: 700; color: var(--hf-dark); line-height: 1.4;
}
.hf-related__card:hover .hf-related__name { color: var(--hf-cyan-600); }

/* ── 단일글: 읽기 진행바 ── */
.hf-progress {
	position: fixed; top: 0; left: 0; height: 3px; width: 0;
	background: linear-gradient(90deg, var(--hf-cyan), #38BDF8);
	z-index: 1000; transition: width .1s linear; box-shadow: 0 0 8px rgba(14,165,233,.6);
}

/* ============================================================
   8.55 SEO 체크리스트 (페이지 + 사이드바 미니)
   ============================================================ */
/* 진행률 */
.hf-check-progress {
	display: flex; align-items: center; gap: 14px; margin-bottom: 24px;
	background: var(--hf-card); border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius); padding: 16px 20px; box-shadow: var(--hf-shadow);
	position: sticky; top: 78px; z-index: 5;
}
.hf-check-progress__bar { flex: 1; height: 10px; border-radius: 999px; background: #E2E8F0; overflow: hidden; }
.hf-check-progress__bar span {
	display: block; height: 100%; width: 0; border-radius: 999px;
	background: linear-gradient(90deg, var(--hf-cyan), #10B981); transition: width .35s ease;
}
.hf-check-progress__text { flex: 0 0 auto; font-weight: 800; font-size: .9rem; color: var(--hf-dark); font-variant-numeric: tabular-nums; }

/* 그룹 */
.hf-check-group { margin-bottom: 22px; }
.hf-check-group h2 {
	font-size: 1.2rem; margin: 0 0 12px; padding-left: 12px;
	border-left: 4px solid var(--hf-cyan); line-height: 1.2;
}

/* 체크 항목 */
.hf-check {
	display: flex; align-items: flex-start; gap: 12px; cursor: pointer;
	background: var(--hf-card); border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius-sm); padding: 14px 16px; margin-bottom: 8px;
	transition: border-color .15s ease, background .15s ease;
}
.hf-check:hover { border-color: #CBD5E1; }
.hf-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.hf-check__box {
	flex: 0 0 auto; width: 22px; height: 22px; border-radius: 7px;
	border: 2px solid #CBD5E1; background: #fff; margin-top: 1px; position: relative;
	transition: all .15s ease;
}
.hf-check input:checked + .hf-check__box {
	background: var(--hf-cyan); border-color: var(--hf-cyan);
}
.hf-check input:checked + .hf-check__box::after {
	content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
	border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}
.hf-check input:focus-visible + .hf-check__box { box-shadow: 0 0 0 4px rgba(14,165,233,.2); }
.hf-check__label { font-size: 1rem; color: var(--hf-text); line-height: 1.5; }
.hf-check.is-done { background: #F0FDF4; border-color: #BBF7D0; }
.hf-check.is-done .hf-check__label { color: var(--hf-muted); text-decoration: line-through; text-decoration-color: #86EFAC; }

.hf-check-reset {
	margin-top: 4px; background: transparent; border: 1.5px solid var(--hf-border);
	color: var(--hf-muted); font-family: var(--hf-font); font-weight: 700; font-size: .88rem;
	padding: .6em 1.2em; border-radius: 999px; cursor: pointer; transition: all .15s ease;
}
.hf-check-reset:hover { border-color: var(--hf-cyan); color: var(--hf-cyan-600); }

/* 사이드바 미니 체크 */
.hf-minicheck { list-style: none; margin: 0 0 12px; padding: 0; }
.hf-minicheck li {
	position: relative; padding: 8px 0 8px 28px; font-size: .9rem; color: var(--hf-text);
	border-bottom: 1px dashed var(--hf-border); line-height: 1.45;
}
.hf-minicheck li:last-child { border-bottom: none; }
.hf-minicheck li::before {
	content: ""; position: absolute; left: 0; top: 11px; width: 16px; height: 16px;
	border-radius: 5px; border: 2px solid var(--hf-cyan); background: var(--hf-cyan-050);
}

/* ============================================================
   8.57 카드 스크롤 등장(fade-in)
   ============================================================ */
.hf-reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.hf-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.hf-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============================================================
   8.6 문의하기 페이지
   ============================================================ */
.hf-contact { margin: 0 auto; max-width: 1000px; }
.hf-contact__intro { text-align: center; margin-bottom: 34px; }
.hf-contact__eyebrow {
	display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .14em;
	color: var(--hf-cyan-600); background: var(--hf-cyan-050);
	padding: .35em .9em; border-radius: 999px; margin-bottom: 12px;
}
.hf-contact__title { font-size: clamp(1.7rem, 3.4vw, 2.3rem); margin: 0 0 10px; }
.hf-contact__lead { color: var(--hf-muted); font-size: 1.05rem; margin: 0; }

.hf-contact__grid {
	display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 26px; align-items: start;
}

/* 정보 사이드 */
.hf-contact__info { display: flex; flex-direction: column; gap: 14px; }
.hf-contact__card {
	display: flex; gap: 14px; align-items: flex-start;
	background: var(--hf-card); border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius); padding: 18px 20px; box-shadow: var(--hf-shadow);
}
.hf-contact__icon {
	flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center; font-size: 1.3rem;
	background: var(--hf-cyan-050);
}
.hf-contact__card-label { font-size: .8rem; color: var(--hf-muted); margin-bottom: 3px; }
.hf-contact__card-value { font-weight: 700; color: var(--hf-dark); word-break: break-all; }
a.hf-contact__card-value:hover { color: var(--hf-cyan-600); }
.hf-contact__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.hf-contact__tags span {
	font-size: .8rem; font-weight: 600; color: var(--hf-cyan-600);
	background: var(--hf-cyan-050); padding: .3em .75em; border-radius: 999px;
}
.hf-contact__tip {
	background: linear-gradient(160deg, #F0F9FF, #E0F2FE); border: 1px solid #BAE6FD;
	border-radius: var(--hf-radius); padding: 16px 18px; font-size: .92rem; color: var(--hf-dark-2);
}
.hf-contact__tip a { font-weight: 700; }

/* 폼 카드 */
.hf-contact__form {
	background: var(--hf-card); border: 1px solid var(--hf-border);
	border-radius: var(--hf-radius); padding: 30px; box-shadow: var(--hf-shadow-lg);
}
.hf-contact__form-title { margin: 0 0 20px; font-size: 1.25rem; }

/* Contact Form 7 스타일링 */
.hf-contact .wpcf7-form p { margin: 0 0 16px; }
.hf-contact .wpcf7-form label {
	display: block; font-weight: 700; font-size: .9rem; color: var(--hf-dark-2); margin-bottom: 7px;
}
.hf-contact .wpcf7-form-control-wrap { display: block; }
.hf-contact input[type="text"],
.hf-contact input[type="email"],
.hf-contact textarea {
	width: 100%; border: 1.5px solid var(--hf-border); border-radius: var(--hf-radius-sm);
	padding: 12px 14px; font-size: 1rem; font-family: var(--hf-font); color: var(--hf-text);
	background: #fff; transition: border-color .15s ease, box-shadow .15s ease; box-sizing: border-box;
}
.hf-contact input[type="text"]:focus,
.hf-contact input[type="email"]:focus,
.hf-contact textarea:focus {
	outline: none; border-color: var(--hf-cyan);
	box-shadow: 0 0 0 4px rgba(14,165,233,.14);
}
.hf-contact textarea { min-height: 150px; resize: vertical; }
.hf-contact input::placeholder,
.hf-contact textarea::placeholder { color: #94A3B8; }
.hf-contact .wpcf7-submit {
	width: 100%; border: none; cursor: pointer; margin-top: 6px;
	background: var(--hf-cyan); color: #fff; font-weight: 800; font-size: 1.05rem;
	font-family: var(--hf-font); padding: 15px 24px; border-radius: 999px;
	box-shadow: 0 8px 20px rgba(14,165,233,.32); transition: all .18s ease;
}
.hf-contact .wpcf7-submit:hover { background: var(--hf-cyan-600); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(14,165,233,.42); }
.hf-contact .wpcf7-not-valid-tip { color: #DC2626; font-size: .82rem; margin-top: 5px; }
.hf-contact .wpcf7-response-output {
	border-radius: var(--hf-radius-sm); margin: 18px 0 0 !important; padding: 12px 16px !important; font-size: .92rem;
}

/* ============================================================
   9. 반응형
   ============================================================ */
@media (max-width: 900px) {
	.hf-footer__inner { grid-template-columns: 1fr 1fr; gap:30px; }
}
@media (max-width: 768px) {
	.hf-hero { padding: 54px 0 60px; }
	.hf-hero__search { flex-wrap:nowrap; padding:6px 6px 6px 16px; }
	.hf-hero__submit { padding:11px 18px; }
	.hf-hero__stats { gap:6px; }
	.hf-stat { min-width: 44%; }
	.hf-nav-cta { display:none !important; } /* 모바일에선 숨김 */
	.hf-related__grid { grid-template-columns: 1fr; }
	.hf-related__media .hf-card-thumb { height: 160px; }
	.hf-contact__grid { grid-template-columns: 1fr; }
	.hf-contact__form { padding: 22px; }

	/* 모바일 햄버거 토글 확실히 표시(로고 왼쪽 · 토글 오른쪽) */
	.site-header .inside-header {
		flex-direction: row !important; flex-wrap: nowrap !important;
		align-items: center; justify-content: space-between;
	}
	.site-header .site-branding { flex: 0 1 auto; margin: 0; }
	.site-header #mobile-menu-control-wrapper {
		display: flex !important; flex: 0 0 auto; margin-left: auto;
		align-items: center; width: auto;
	}
	.site-header #mobile-menu-control-wrapper .menu-toggle {
		display: inline-flex !important; align-items: center; justify-content: center;
		color: #fff !important; padding: 8px; line-height: 1; background: transparent;
	}
	.site-header #mobile-menu-control-wrapper .menu-toggle .gp-icon svg {
		width: 30px; height: 30px; fill: #fff;
	}

	/* 히어로 가로 넘침 방지 (그리드컨테이너보다 높은 우선순위) */
	.hf-hero .hf-hero__inner {
		padding-left: 18px !important; padding-right: 18px !important;
		box-sizing: border-box; width: 100%; max-width: 100%;
	}
	.hf-hero .hf-hero__search { max-width: 100% !important; }
	.hf-hero .hf-hero__title {
		max-width: 100%; font-size: 1.6rem; line-height: 1.3; word-break: keep-all;
	}
	.hf-hero__sub { font-size: 0.95rem; word-break: keep-all; }
	.hf-hero .hf-hero__stats { width: 100%; box-sizing: border-box; }
	.hf-hero .hf-stat { min-width: 40%; }
	.hf-hero__cta .hf-btn { font-size: 0.92rem; padding: 0.75em 1.15em; }
	/* 모바일은 사이드바 sticky 해제(위 min-width 769 로 이미 적용 안 됨) */
}
@media (max-width: 600px) {
	.hf-footer__inner { grid-template-columns: 1fr; gap:26px; }
	.hf-hero__submit { font-size:0; padding:12px 15px; } /* 아이콘성 축소 */
	.hf-hero__submit::after { content:"→"; font-size:1.1rem; }
}
