/*
Theme Name:   혜택노트 Child
Theme URI:    https://hyetaeknote.com
Description:  Twenty Twenty-Five Child Theme for 혜택노트 — Premium Redesign
Author:       0xNexus
Template:     twentytwentyfive
Version:      1.0.0
Text Domain:  hyetaeknote-child
*/

/* ============================================================
   혜택노트 · 프리미엄 디자인 v2
   실제 hn- 클래스 기반 정밀 오버라이드
   ============================================================ */

:root {
  --wp--style--block-gap: 0px !important;
  --hn-navy-deep:   #0f1e38;
  --hn-navy:        #1a2e4c;
  --hn-navy-mid:    #2c5aa0;
  --hn-orange:      #f4a83a;
  --hn-orange-dark: #e8930f;
  --hn-orange-light:#fef3c7;
  --hn-white:       #ffffff;
  --hn-bg:          #f7f9fc;
  --hn-bg-card:     #ffffff;
  --hn-text:        #1a2332;
  --hn-text-2:      #4a5568;
  --hn-text-3:      #94a3b8;
  --hn-border:      #e8ecf2;
  --hn-border-2:    #d1dae8;
  --hn-shadow-sm:   0 1px 4px rgba(15,30,56,0.08);
  --hn-shadow-md:   0 4px 20px rgba(15,30,56,0.12);
  --hn-shadow-lg:   0 12px 48px rgba(15,30,56,0.18);
  --hn-radius:      16px;
  --hn-radius-sm:   10px;
}

/* ── 기반 ── */
body { font-family: "Pretendard", "Noto Sans KR", -apple-system, sans-serif !important; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-thumb { background: var(--hn-border-2); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--hn-navy-mid); }


/* ============================================================
   HEADER — 스티키 네이비 헤더
   ============================================================ */
header.wp-block-template-part {
  background: var(--hn-navy-deep) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06), 0 4px 24px rgba(0,0,0,0.25) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}
header.wp-block-template-part * {
  box-sizing: border-box !important;
}

/* ── 페이지 제목 숨기기 (문의하기·소개 등 커스텀 페이지) ── */
.page .wp-block-post-title {
  display: none !important;
}

/* ── 푸터 좌우 패딩 ── */
footer.wp-block-template-part {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}
footer.wp-block-template-part * {
  box-sizing: border-box !important;
}

/* 헤더 내 사이트 제목 */
header.wp-block-template-part .wp-block-site-title a,
header.wp-block-template-part .wp-block-site-title {
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

/* 점 강조 */
header.wp-block-template-part .wp-block-site-title a::after {
  content: '●';
  color: var(--hn-orange);
  font-size: 0.45em;
  margin-left: 3px;
  vertical-align: super;
}

/* 헤더 네비 링크 */
header.wp-block-template-part .wp-block-navigation a,
header.wp-block-template-part .wp-block-navigation__container a {
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  padding: 0.45rem 0.8rem !important;
  border-radius: 8px !important;
  transition: color 0.15s, background 0.15s !important;
}

header.wp-block-template-part .wp-block-navigation a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.1) !important;
}

/* 모바일 메뉴 버튼 */
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
  color: white !important;
  stroke: white !important;
}

/* WordPress FSE 루트 패딩·여백 완전 제거 */
.wp-site-blocks {
  padding: 0 !important;
  margin: 0 !important;
}

/* 블록 사이 gap 제거 */
.wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* wp-site-blocks 직접 자식 풀너비 */
.wp-site-blocks > * {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* is-layout-constrained가 자식에 margin:auto 주입하는 것 차단 */
.wp-site-blocks .is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull),
.wp-site-blocks .is-layout-flow > *,
.wp-site-blocks .wp-block-group > * {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* .hn-hero 부모 블록 직접 타겟 */
.wp-block-html:has(.hn-hero),
.wp-block-group:has(.hn-hero) {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

body { overflow-x: hidden !important; }
body.admin-bar header.wp-block-template-part { top: 32px !important; }


/* ============================================================
   HERO SECTION
   ============================================================ */
.hn-hero {
  background: linear-gradient(135deg, #0f1e38 0%, #1a3a6e 40%, #2c5aa0 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: 5rem 2rem 4rem !important;
  box-sizing: border-box !important;
}

/* 배경 글로우 오브 */
.hn-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -120px !important; right: -80px !important;
  width: 560px !important; height: 560px !important;
  background: radial-gradient(circle, rgba(244,168,58,0.14) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.hn-hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: -100px !important; left: -60px !important;
  width: 400px !important; height: 400px !important;
  background: radial-gradient(circle, rgba(44,90,160,0.5) 0%, transparent 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* 히어로 내부 콘텐츠 센터링 */
.hn-hero-grid {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
  z-index: 1 !important;
}

.hn-hero-left,
.hn-hero-right { position: relative !important; z-index: 1 !important; }

/* 킥커 뱃지 */
.hn-hero-kicker {
  background: rgba(244,168,58,0.18) !important;
  border: 1px solid rgba(244,168,58,0.4) !important;
  color: var(--hn-orange) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 99px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.hn-hero-dot {
  width: 6px !important; height: 6px !important;
  border-radius: 50% !important;
  background: var(--hn-orange) !important;
  box-shadow: 0 0 6px rgba(244,168,58,0.8) !important;
  animation: blink 2s infinite !important;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

/* 타이틀 */
.hn-hero-title {
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.04em !important;
  color: #ffffff !important;
  text-shadow: 0 2px 32px rgba(0,0,0,0.25) !important;
}

.hn-gold { color: var(--hn-orange) !important; }

/* 서브 텍스트 */
.hn-hero-sub {
  color: rgba(255,255,255,0.75) !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* 히어로 메타 (10 공식출처 | 12 카테고리 | 매일) */
.hn-hero-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.hn-hero-meta > * {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  padding: 0.4rem 0.9rem !important;
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.9) !important;
  font-weight: 600 !important;
}

.hn-hero-meta-sep {
  color: rgba(255,255,255,0.25) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 1rem !important;
}

/* 히어로 버튼 */
.hn-btn-primary {
  background: linear-gradient(135deg, var(--hn-orange), var(--hn-orange-dark)) !important;
  color: var(--hn-navy-deep) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  padding: 0.8rem 1.8rem !important;
  border-radius: 99px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(244,168,58,0.45) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.hn-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(244,168,58,0.55) !important;
  color: var(--hn-navy-deep) !important;
}

.hn-btn-ghost {
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.88) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  padding: 0.8rem 1.6rem !important;
  border-radius: 99px !important;
  border: 1.5px solid rgba(255,255,255,0.2) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.hn-btn-ghost:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.4) !important;
  color: #ffffff !important;
}

.hn-btn-ghost-dark {
  background: transparent !important;
  color: var(--hn-navy) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 99px !important;
  border: 1.5px solid var(--hn-border-2) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.hn-btn-ghost-dark:hover {
  border-color: var(--hn-navy-mid) !important;
  background: var(--hn-navy) !important;
  color: #ffffff !important;
}

/* 히어로 우측 이슈 카드 */
.hn-hero-right-label {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.hn-hero-issue {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 14px !important;
  padding: 1rem 1.2rem !important;
  transition: background 0.2s, border-color 0.2s !important;
  text-decoration: none !important;
  display: block !important;
}

.hn-hero-issue:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(244,168,58,0.35) !important;
}

.hn-hero-issue-badge {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  padding: 0.18rem 0.55rem !important;
  border-radius: 99px !important;
  display: inline-block !important;
  margin-bottom: 0.45rem !important;
}

.hn-badge-gov {
  background: rgba(244,168,58,0.2) !important;
  color: var(--hn-orange) !important;
  border: 1px solid rgba(244,168,58,0.3) !important;
}

.hn-badge-realestate {
  background: rgba(100,180,255,0.15) !important;
  color: #7ec8f7 !important;
  border: 1px solid rgba(100,180,255,0.25) !important;
}

/* 히어로 이슈 제목 */
.hn-hero-issue p,
.hn-hero-issue .wp-block-paragraph {
  color: rgba(255,255,255,0.92) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* 히어로 이슈 설명 */
.hn-hero-issue small,
.hn-hero-issue .hn-hero-issue-sub {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.78rem !important;
}

/* 히어로 강조 하이라이트 */
.hn-hero-accent {
  color: var(--hn-orange) !important;
  background: rgba(244,168,58,0.12) !important;
  padding: 0.1em 0.3em !important;
  border-radius: 4px !important;
}


/* ============================================================
   SECTION 공통
   ============================================================ */
.hn-section {
  padding: 5rem 2rem !important;
  background: #ffffff !important;
}

.hn-section-alt {
  padding: 5rem 2rem !important;
  background: var(--hn-bg) !important;
}

.hn-section-dark {
  padding: 5rem 2rem !important;
  background: var(--hn-navy) !important;
}


.hn-section-header { text-align: center !important; margin-bottom: 3rem !important; }

.hn-section-kicker {
  display: inline-block !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--hn-orange) !important;
  background: var(--hn-orange-light) !important;
  padding: 0.3rem 0.8rem !important;
  border-radius: 99px !important;
  margin-bottom: 0.9rem !important;
}

.hn-section-title {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem) !important;
  font-weight: 900 !important;
  color: var(--hn-text) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
  margin-bottom: 0.75rem !important;
}

.hn-title-light { color: #ffffff !important; }

.hn-section-header-dark .hn-section-title { color: #ffffff !important; }
.hn-section-header-dark .hn-section-kicker {
  background: rgba(244,168,58,0.18) !important;
  color: var(--hn-orange) !important;
}

.hn-section-lead {
  font-size: 1rem !important;
  color: var(--hn-text-2) !important;
  line-height: 1.7 !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

.hn-section-dark .hn-section-lead { color: rgba(255,255,255,0.65) !important; }


/* ============================================================
   GOV CARDS (정부지원금)
   ============================================================ */
.hn-gov-grid {
  display: grid !important;
  gap: 1.1rem !important;
}

.hn-gov-card {
  background: var(--hn-bg-card) !important;
  border: 1px solid var(--hn-border) !important;
  border-radius: var(--hn-radius) !important;
  box-shadow: var(--hn-shadow-sm) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
  overflow: hidden !important;
  position: relative !important;
  text-decoration: none !important;
  display: block !important;
}

.hn-gov-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 4px !important; height: 100% !important;
  background: linear-gradient(180deg, var(--hn-orange), var(--hn-navy-mid)) !important;
  opacity: 0 !important;
  transition: opacity 0.22s !important;
}

.hn-gov-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--hn-shadow-md) !important;
  border-color: var(--hn-border-2) !important;
}

.hn-gov-card:hover::before { opacity: 1 !important; }

.hn-gov-card-icon {
  width: 44px !important; height: 44px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(244,168,58,0.15), rgba(44,90,160,0.12)) !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 1.3rem !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s !important;
}

.hn-gov-card:hover .hn-gov-card-icon { transform: scale(1.08) !important; }

.hn-gov-card-body h3,
.hn-gov-card-body .wp-block-heading {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--hn-text) !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 0.3rem !important;
}

.hn-gov-card-body p,
.hn-gov-card-body .wp-block-paragraph {
  font-size: 0.84rem !important;
  color: var(--hn-text-2) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.hn-gov-card-tags {
  display: flex !important; flex-wrap: wrap !important; gap: 0.4rem !important;
}

.hn-gov-card-tags span,
.hn-gov-card-tags > * {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  background: var(--hn-orange-light) !important;
  color: #92400e !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 99px !important;
}

.hn-gov-card-arrow {
  color: var(--hn-text-3) !important;
  transition: transform 0.2s, color 0.2s !important;
  font-size: 1.1rem !important;
}

.hn-gov-card:hover .hn-gov-card-arrow {
  transform: translateX(4px) !important;
  color: var(--hn-orange) !important;
}


/* ============================================================
   TOPIC CARDS (생활 경제·글로벌)
   ============================================================ */
.hn-topic-grid { display: grid !important; gap: 1.1rem !important; }

.hn-topic-card {
  background: var(--hn-bg-card) !important;
  border: 1px solid var(--hn-border) !important;
  border-radius: var(--hn-radius) !important;
  padding: 1.5rem 1.4rem !important;
  box-shadow: var(--hn-shadow-sm) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s !important;
  text-decoration: none !important;
  display: block !important;
}

.hn-topic-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--hn-shadow-md) !important;
  border-color: rgba(244,168,58,0.4) !important;
}

.hn-topic-icon {
  width: 48px !important; height: 48px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--hn-orange-light), rgba(44,90,160,0.08)) !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 1.4rem !important;
  margin-bottom: 1rem !important;
  transition: transform 0.2s !important;
}

.hn-topic-card:hover .hn-topic-icon { transform: scale(1.1) rotate(-3deg) !important; }

.hn-topic-card h3,
.hn-topic-card .wp-block-heading {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--hn-text) !important;
  margin-bottom: 0.4rem !important;
  letter-spacing: -0.02em !important;
}

.hn-topic-card p,
.hn-topic-card .wp-block-paragraph {
  font-size: 0.83rem !important;
  color: var(--hn-text-2) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}


/* ============================================================
   PROCESS (4단계 팩트체크) — 카드 스텝 디자인
   ============================================================ */
.hn-process {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  position: relative !important;
  align-items: stretch !important;
}

/* 스텝 카드 */
.hn-process-step {
  background: #ffffff !important;
  border: 1px solid var(--hn-border) !important;
  border-radius: var(--hn-radius) !important;
  padding: 1.75rem 1.25rem 1.5rem !important;
  text-align: center !important;
  position: relative !important;
  box-shadow: var(--hn-shadow-sm) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
  overflow: hidden !important;
}

/* 스텝 카드 상단 그라디언트 라인 */
.hn-process-step::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--hn-orange), var(--hn-navy-mid)) !important;
}

/* 스텝 번호 순서별 색상 변형 */
.hn-process-step:nth-child(1)::before { background: linear-gradient(90deg, #f4a83a, #fb923c) !important; }
.hn-process-step:nth-child(2)::before { background: linear-gradient(90deg, #fb923c, #2c5aa0) !important; }
.hn-process-step:nth-child(3)::before { background: linear-gradient(90deg, #2c5aa0, #1a2e4c) !important; }
.hn-process-step:nth-child(4)::before { background: linear-gradient(90deg, #1a2e4c, #0f1e38) !important; }

.hn-process-step:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--hn-shadow-md) !important;
}

/* 숫자 배지 */
.hn-process-dot {
  width: 52px !important; height: 52px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--hn-orange) 0%, var(--hn-navy-mid) 100%) !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  margin: 0 auto 1.2rem !important;
  font-weight: 900 !important;
  color: white !important;
  font-size: 1rem !important;
  letter-spacing: -0.02em !important;
  box-shadow: 0 6px 20px rgba(244,168,58,0.3) !important;
  position: relative !important;
  z-index: 1 !important;
}

.hn-process-step:nth-child(1) .hn-process-dot { background: linear-gradient(135deg, #f4a83a, #fb923c) !important; box-shadow: 0 6px 20px rgba(244,168,58,0.4) !important; }
.hn-process-step:nth-child(2) .hn-process-dot { background: linear-gradient(135deg, #fb923c, #2c7be5) !important; box-shadow: 0 6px 20px rgba(44,90,160,0.3) !important; }
.hn-process-step:nth-child(3) .hn-process-dot { background: linear-gradient(135deg, #2c5aa0, #1a2e4c) !important; box-shadow: 0 6px 20px rgba(44,90,160,0.35) !important; }
.hn-process-step:nth-child(4) .hn-process-dot { background: linear-gradient(135deg, #1a2e4c, #0f1e38) !important; box-shadow: 0 6px 20px rgba(15,30,56,0.35) !important; }

/* 개별 hn-process-line 숨김 */
.hn-process-line { display: none !important; }

.hn-process-step h3,
.hn-process-step .wp-block-heading {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--hn-text) !important;
  margin-bottom: 0.6rem !important;
  letter-spacing: -0.02em !important;
}

.hn-process-step p,
.hn-process-step .wp-block-paragraph {
  font-size: 0.82rem !important;
  color: var(--hn-text-2) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* dark 섹션 안의 process */
.hn-section-dark .hn-process-step {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
.hn-section-dark .hn-process-step h3,
.hn-section-dark .hn-process-step .wp-block-heading { color: #ffffff !important; }
.hn-section-dark .hn-process-step p,
.hn-section-dark .hn-process-step .wp-block-paragraph { color: rgba(255,255,255,0.65) !important; }

/* 모바일 */
@media (max-width: 768px) {
  .hn-process { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .hn-process { grid-template-columns: 1fr !important; }
}


/* ============================================================
   SOURCES (공식 기관)
   ============================================================ */
.hn-sources-inner { max-width: 900px !important; margin: 0 auto !important; }

.hn-sources-grid { display: flex !important; flex-wrap: wrap !important; gap: 0.75rem !important; justify-content: center !important; }

.hn-source {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  padding: 0.6rem 1.1rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.hn-source:hover {
  background: rgba(255,255,255,0.13) !important;
  border-color: rgba(244,168,58,0.4) !important;
  color: var(--hn-orange) !important;
  transform: translateY(-2px) !important;
}


/* ============================================================
   LATEST POSTS
   ============================================================ */
.hn-latest-section { background: var(--hn-bg) !important; }

/* ── 최신글 카드 (body 접두사 고특이도 선택자 필수) ── */
body .wp-block-post-content .wp-block-latest-posts,
body .wp-block-post-content ul.wp-block-latest-posts,
body ul.wp-block-latest-posts {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto 80px !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

body .wp-block-latest-posts > li {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: #FFFFFF !important;
  border: 1px solid #E0E6EF !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all .22s ease !important;
}

body .wp-block-latest-posts > li:hover {
  border-color: #2C5AA0 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 32px rgba(26,46,76,0.08) !important;
}

body .wp-block-latest-posts__featured-image {
  margin: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #E8F0FC, #DBE7F7) !important;
}

body .wp-block-latest-posts__featured-image a,
body .wp-block-latest-posts__featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body .wp-block-latest-posts__post-title {
  display: block !important;
  padding: 18px 20px 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  color: #1A2E4C !important;
  text-decoration: none !important;
}

body .wp-block-latest-posts__post-title:hover { color: #2C5AA0 !important; }

body .wp-block-latest-posts__post-date {
  display: block !important;
  padding: 8px 20px 0 !important;
  font-size: 12px !important;
  color: #8A96AC !important;
}

body .wp-block-latest-posts__post-excerpt,
body .wp-block-latest-posts__post-author {
  padding: 10px 20px 0 !important;
  font-size: 13px !important;
  color: #4A5B75 !important;
  line-height: 1.6 !important;
}

body .wp-block-latest-posts > li > *:last-child { padding-bottom: 20px !important; }

@media (max-width: 900px) {
  body .wp-block-post-content .wp-block-latest-posts,
  body ul.wp-block-latest-posts {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  body .wp-block-post-content .wp-block-latest-posts,
  body ul.wp-block-latest-posts {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   FAQ
   ============================================================ */
.hn-faq { max-width: 760px !important; margin: 0 auto !important; }

.hn-faq-wrap { display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }

.hn-faq-item {
  background: var(--hn-bg-card) !important;
  border: 1px solid var(--hn-border) !important;
  border-radius: var(--hn-radius-sm) !important;
  overflow: hidden !important;
  transition: border-color 0.18s !important;
}

.hn-faq-item:hover { border-color: var(--hn-border-2) !important; }

.hn-faq-q {
  padding: 1.1rem 1.3rem !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: var(--hn-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  gap: 1rem !important;
}

.hn-faq-plus {
  color: var(--hn-orange) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  flex-shrink: 0 !important;
}

.hn-faq-a {
  padding: 0 1.3rem 1.1rem !important;
  font-size: 0.88rem !important;
  color: var(--hn-text-2) !important;
  line-height: 1.7 !important;
  border-top: 1px solid var(--hn-border) !important;
  padding-top: 0.9rem !important;
}


/* ============================================================
   CTA SECTION
   ============================================================ */
.hn-cta-section {
  background: linear-gradient(135deg, var(--hn-navy-deep), var(--hn-navy-mid)) !important;
  position: relative !important;
  overflow: hidden !important;
}

.hn-cta-section::before {
  content: '' !important;
  position: absolute !important;
  top: -80px !important; right: -60px !important;
  width: 360px !important; height: 360px !important;
  background: radial-gradient(circle, rgba(244,168,58,0.15) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.hn-cta-inner { position: relative !important; z-index: 1 !important; }

.hn-cta-accent { color: var(--hn-orange) !important; }

.hn-cta-buttons { display: flex !important; gap: 0.9rem !important; flex-wrap: wrap !important; justify-content: center !important; }


/* ============================================================
   FOOTER
   ============================================================ */
.hn-footer {
  background: var(--hn-navy-deep) !important;
  padding: 4rem 1.5rem 2rem !important;
  font-family: "Pretendard", sans-serif !important;
}

.hn-footer-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 2.5rem !important;
}

.hn-footer-brand { max-width: 280px !important; }

.hn-footer-logo {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  text-decoration: none !important;
  margin-bottom: 0.75rem !important;
}

.hn-footer-wordmark {
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
}

.hn-footer-mark {
  width: 28px !important; height: 28px !important;
  background: var(--hn-orange) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  color: var(--hn-navy-deep) !important;
}

.hn-footer-tagline {
  font-size: 0.84rem !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.6 !important;
}

.hn-footer-domain {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.3) !important;
  margin-top: 0.5rem !important;
  font-family: monospace !important;
}

.hn-footer-col { min-width: 0 !important; }

.hn-footer-h {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  margin-bottom: 1rem !important;
}

.hn-footer a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
  transition: color 0.15s !important;
  line-height: 2 !important;
  display: block !important;
}

.hn-footer a:hover { color: var(--hn-orange) !important; }

.hn-footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 1.5rem !important;
  margin-top: 1rem !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.3) !important;
}

.hn-footer-address {
  font-size: 0.78rem !important;
  color: rgba(255,255,255,0.3) !important;
  font-style: normal !important;
}

.hn-footer-notice, .hn-footer-legal {
  font-size: 0.76rem !important;
  color: rgba(255,255,255,0.3) !important;
  line-height: 1.6 !important;
}

.hn-footer-notice a, .hn-footer-legal a {
  color: rgba(255,255,255,0.4) !important;
  text-decoration: underline !important;
  display: inline !important;
}


/* ============================================================
   HOME WRAPPER
   ============================================================ */
.hn-home, .hn-home-part2 { overflow-x: visible !important; }


/* ============================================================
   SINGLE POST — 싱글 포스트 본문 스타일
   ============================================================ */

/* 제목 2중 출력 방지: FSE 템플릿 타이틀 블록 숨김 (본문 H1이 대신함) */
.single .wp-block-post-title { display: none !important; }

/* 본문 좌우 패딩 균등 (데스크탑 + 모바일 공통) */
.single .wp-block-post-content,
.single .entry-content {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}
/* 페이지 콘텐츠 — is-layout-constrained 강제 해제 */
body.page .wp-block-post-content,
body.page .wp-block-post-content.is-layout-constrained,
body.page .wp-block-post-content.is-layout-flow {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page .wp-block-post-content > *,
body.page .wp-block-post-content .wp-block-html,
body.page .wp-block-post-content.is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull) {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 본문 이미지·표·임베드 뷰포트 초과 방지 */
.single .wp-block-post-content img,
.single .wp-block-post-content figure,
.single .wp-block-post-content table,
.single .wp-block-post-content .wp-block-image,
.single .wp-block-post-content iframe {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  overflow-x: auto !important;
}

/* 본문 H1 (포스트 제목) 모바일 폰트 크기 */
@media (max-width: 768px) {
  .single .wp-block-post-content h1 {
    font-size: 1.6rem !important;
    line-height: 1.35 !important;
    word-break: keep-all !important;
  }
  .single .wp-block-post-content h2 {
    font-size: 1.25rem !important;
    word-break: keep-all !important;
  }
  .single .wp-block-post-content h3 {
    font-size: 1.05rem !important;
    word-break: keep-all !important;
  }
  .single .wp-block-post-content p,
  .single .wp-block-post-content li {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    word-break: keep-all !important;
  }
  /* 표 가로 스크롤 허용 */
  .single .wp-block-post-content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}


/* ============================================================
   RESPONSIVE — 태블릿 (900px 이하)
   ============================================================ */
@media (max-width: 900px) {
  .hn-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
  }
  .hn-hero-right { width: 100% !important; }
}

/* ============================================================
   RESPONSIVE — 모바일 (768px 이하)
   ============================================================ */
@media (max-width: 768px) {

  /* 섹션 공통 — 균등 좌우 패딩 */
  .hn-section,
  .hn-section-alt,
  .hn-section-dark {
    padding: 2.5rem 1.25rem !important;
    box-sizing: border-box !important;
  }

  /* 섹션 제목 */
  .hn-section-title { font-size: 1.45rem !important; word-break: keep-all !important; }
  .hn-section-desc  { font-size: 0.85rem !important; }

  /* 히어로 */
  .hn-hero { padding: 2.5rem 1.25rem 3rem !important; }
  .hn-hero-title { font-size: 1.9rem !important; line-height: 1.25 !important; word-break: keep-all !important; }
  .hn-hero-sub   { font-size: 0.88rem !important; }
  .hn-hero-stats { gap: 0.5rem !important; flex-wrap: wrap !important; }
  .hn-cta-buttons {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }
  .hn-btn-primary, .hn-btn-ghost { width: 100% !important; justify-content: center !important; }

  /* 정부지원금 그리드 → 1열 */
  .hn-gov-grid { grid-template-columns: 1fr !important; }

  /* 토픽 그리드 → 1열 */
  .hn-topic-grid { grid-template-columns: 1fr !important; }

  /* process 4단계 → 2열 */
  .hn-process { grid-template-columns: repeat(2, 1fr) !important; }

  /* 최신글 카드 → 2열 */
  body .wp-block-post-content .wp-block-latest-posts,
  body .wp-block-post-content ul.wp-block-latest-posts,
  body ul.wp-block-latest-posts {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 1.25rem !important;
    gap: 12px !important;
    margin-bottom: 2rem !important;
  }
  body .wp-block-latest-posts__post-title {
    font-size: 12px !important;
    padding: 10px 12px 0 !important;
    -webkit-line-clamp: 3 !important;
  }
  body .wp-block-latest-posts__post-date,
  body .wp-block-latest-posts__post-author {
    padding: 5px 12px 0 !important;
    font-size: 10px !important;
  }
  body .wp-block-latest-posts > li > *:last-child { padding-bottom: 12px !important; }

  /* 푸터 */
  .hn-footer-inner { flex-direction: column !important; gap: 2rem !important; }
  .hn-footer-links { flex-direction: column !important; gap: 1.5rem !important; }
}

/* ============================================================
   RESPONSIVE — 소형 모바일 (480px 이하)
   ============================================================ */
@media (max-width: 480px) {

  /* 섹션 패딩 */
  .hn-section,
  .hn-section-alt,
  .hn-section-dark { padding: 2rem 1rem !important; }

  /* 히어로 */
  .hn-hero { padding: 2rem 1rem 2.5rem !important; }
  .hn-hero-title { font-size: 1.65rem !important; }

  /* process → 1열 */
  .hn-process { grid-template-columns: 1fr !important; }

  /* 최신글 → 1열 (핵심: minmax 우회) */
  body .wp-block-post-content .wp-block-latest-posts,
  body .wp-block-post-content ul.wp-block-latest-posts,
  body ul.wp-block-latest-posts {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 1rem !important;
    gap: 12px !important;
  }
  body .wp-block-latest-posts > li { width: 100% !important; }

  body .wp-block-latest-posts__featured-image { aspect-ratio: 16 / 8 !important; }
  body .wp-block-latest-posts__post-title {
    font-size: 14px !important;
    padding: 12px 14px 0 !important;
    -webkit-line-clamp: 2 !important;
  }
  body .wp-block-latest-posts__post-date,
  body .wp-block-latest-posts__post-author {
    padding: 6px 14px 0 !important;
    font-size: 11px !important;
  }
  body .wp-block-latest-posts > li > *:last-child { padding-bottom: 14px !important; }

  /* 섹션 제목 */
  .hn-section-title { font-size: 1.25rem !important; }
}


/* ============================================================
   읽기 진행 표시바
   ============================================================ */
.hn-progress {
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--hn-orange), #fbbf24) !important;
  z-index: 9999 !important;
  transition: width 0.1s linear !important;
  box-shadow: 0 0 10px rgba(244,168,58,0.6) !important;
  pointer-events: none !important;
}
