/*
Theme Name: Theforeon
Theme URI: https://theforeon.co.kr
Author: bluefoxdev
Author URI: https://theforeon.co.kr
Description: 올림픽파크포레온 전문 부동산(THE 포레온) 웹사이트용 FSE 독립 테마. 재사용·판매 가능 수준.
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.0.45
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theforeon
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, translation-ready, wide-blocks, block-styles, accessibility-ready

Copyright (C) 2025 bluefoxdev
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/

/* KHU palette in theme.json: placeholder. 공식 CI 확정 후 교체. */

/* 전역 콘텐츠 가로 넓이: theme.json layout.contentSize = 1200px. 모든 페이지 동일.
   constrained 레이아웃 블록이 이 너비를 사용. 100% 예외: 히어로(메인 비주얼) 등. */

/* Block styles (register_block_style) */
.wp-block-button.is-style-khu-cta .wp-block-button__link {
	font-weight: 600;
	padding: 0.65em 1.25em;
	border-radius: 4px;
}
.wp-block-heading.is-style-khu-section {
	border-bottom: 2px solid var(--wp--preset--color--khu-secondary, #0066b3);
	padding-bottom: 0.35em;
	margin-bottom: 0.75em;
}
.wp-block-paragraph.is-style-khu-lead {
	font-size: 1.125em;
	line-height: 1.6;
	color: var(--wp--preset--color--contrast, #1a1a1a);
}

/* 전역 박스모델 통일 — width:100% + padding 이 뷰포트를 넘지 않도록(모바일 가로 오버플로 방지) */
*, *::before, *::after {
	box-sizing: border-box;
}

/* Link styles */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.1em;
}

/* Focus styles (accessibility) */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* ========== 전역 페이지 진입·스크롤 애니메이션 (모든 페이지 main 직계 자식) ========== */
.theforeon-animate > * {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.theforeon-animate > *.theforeon-in-view {
	opacity: 1;
	transform: translateY(0);
}
/* 스태거: 직계 자식 순차 등장 (50ms 간격) */
.theforeon-animate > *:nth-child(1) { transition-delay: 0ms; }
.theforeon-animate > *:nth-child(2) { transition-delay: 50ms; }
.theforeon-animate > *:nth-child(3) { transition-delay: 100ms; }
.theforeon-animate > *:nth-child(4) { transition-delay: 150ms; }
.theforeon-animate > *:nth-child(5) { transition-delay: 200ms; }
.theforeon-animate > *:nth-child(6) { transition-delay: 250ms; }
.theforeon-animate > *:nth-child(7) { transition-delay: 300ms; }
.theforeon-animate > *:nth-child(8) { transition-delay: 350ms; }
.theforeon-animate > *:nth-child(9) { transition-delay: 400ms; }
.theforeon-animate > *:nth-child(n+10) { transition-delay: 450ms; }
@media (prefers-reduced-motion: reduce) {
	.theforeon-animate > *,
	.theforeon-animate > *.theforeon-in-view {
		opacity: 1;
		transform: none;
		transition-duration: 0.001ms;
	}
}

/* Typography: reduce widows/orphans */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/* PDF/파일 다운로드 블록 (시행세칙 등) */
.wp-block-file a {
	color: var(--wp--preset--color--khu-primary, #003366);
}
.wp-block-file a:hover {
	text-decoration: underline;
}

/* 교수 소개: 소속·보직·연락처 (플러그인 shortcode [professor_meta_info]) */
.theforeon-professor-meta-info {
	margin: 1em 0;
}
.theforeon-professor-meta-info dt {
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 0.15em;
	color: var(--wp--preset--color--contrast, #1a1a1a);
}
.theforeon-professor-meta-info dt:first-child {
	margin-top: 0;
}
.theforeon-professor-meta-info dd {
	margin-left: 0;
}
.theforeon-professor-meta-info dd a {
	color: var(--wp--preset--color--khu-primary, #003366);
}

/* 교수진 아카이브 카드 (2열, 이미지 왼쪽·텍스트 오른쪽) */
.theforeon-professor-card {
	--khu-card-red: var(--wp--preset--color--khu-red, #C41E3A);
}
.theforeon-professor-card .wp-block-columns {
	align-items: flex-start;
}
.theforeon-professor-card__image {
	display: block;
}
.theforeon-professor-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
}
.theforeon-professor-card__name {
	border-bottom: 2px solid var(--khu-card-red);
	padding-bottom: 0.2em;
	margin-top: 0;
	margin-bottom: 0.75em;
	display: inline-block;
}
.theforeon-professor-card__name a {
	color: inherit;
	text-decoration: none;
}
.theforeon-professor-card__name a:hover {
	color: var(--khu-card-red);
}
.theforeon-professor-card__details {
	font-size: 0.95em;
	line-height: 1.6;
	margin-bottom: 1em;
	color: var(--wp--preset--color--contrast, #1a1a1a);
}
.theforeon-professor-card__details .theforeon-professor-card__label {
	font-weight: 500;
}
.theforeon-professor-card .theforeon-professor-official-link {
	margin: 0;
}
.theforeon-professor-card__more {
	display: inline-block;
	padding: 0.4em 1em;
	border: 1px solid var(--khu-card-red);
	border-radius: 4px;
	color: var(--khu-card-red) !important;
	background: transparent;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
.theforeon-professor-card__more:hover {
	background-color: var(--khu-card-red);
	color: #fff !important;
}

/* 교수진 목록 숏코드 [theforeon_professor_list]: 2열 그리드 (아카이브와 동일) */
.theforeon-professor-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 var(--wp--preset--spacing--30);
}
@media (max-width: 781px) {
	.theforeon-professor-list {
		grid-template-columns: 1fr;
	}
}
.theforeon-professor-card__image--placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	background: var(--wp--preset--color--light-gray, #f5f5f5);
}

/* 교수 상세: 자세히 보기 — 래퍼를 버튼처럼 보이게, 내부 링크는 투명하게 */
.theforeon-professor-official-link__btn-wrap {
	display: inline-block;
	border: 1px solid var(--wp--preset--color--khu-red, #C41E3A);
	border-radius: 4px;
	background: transparent;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.theforeon-professor-official-link__btn-wrap:hover {
	background-color: var(--wp--preset--color--khu-red, #C41E3A);
}
.theforeon-professor-official-link__btn-wrap .theforeon-professor-official-link__btn {
	display: inline-block;
	padding: 0.5em 1.25em;
	color: var(--wp--preset--color--khu-red, #C41E3A) !important;
	background: none !important;
	text-decoration: none !important;
	text-underline-offset: unset !important;
	text-decoration-thickness: unset !important;
	font-weight: 500;
	cursor: pointer;
	transition: color 0.2s ease;
	border: none;
	box-shadow: none;
}
.theforeon-professor-official-link__btn-wrap:hover .theforeon-professor-official-link__btn {
	color: #fff !important;
	text-decoration: none !important;
}

/* 상단 바 — 브랜드 그린 배경, 밝은 텍스트 */
.theforeon-top-bar {
	background-color: #0F2C23;  /* FOREON 브랜드 그린 */
}
.theforeon-top-bar .wp-block-navigation a,
.theforeon-top-bar .wp-block-navigation .wp-block-navigation-item__content {
	color: #fff !important;
}
.theforeon-top-bar .wp-block-navigation a:hover {
	opacity: 0.92;
}

/* 다국어: 헤더 상단 바 언어 전환 (Polylang) */
.theforeon-lang-switcher__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.theforeon-lang-switcher__list li {
	margin: 0;
}
.theforeon-top-bar .theforeon-lang-switcher a {
	color: #fff;
	text-decoration: none;
	font-size: 0.875em;
}
.theforeon-top-bar .theforeon-lang-switcher a:hover {
	opacity: 0.9;
}
/* 현재 선택된 언어 표시 (언어 스위치) */
.theforeon-top-bar .theforeon-lang-switcher .current-lang a {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	opacity: 1;
}
.theforeon-top-bar .theforeon-lang-switcher .current-lang a:hover {
	opacity: 0.95;
}

/* 헤더: 로고 옆 제목·부제 — 제목 크게, 부제 작고 회색, 위아래 간격 축소 */
.theforeon-header-inner .theforeon-site-title,
.theforeon-header-inner .wp-block-site-title,
.theforeon-header-inner .wp-block-site-title a {
	font-size: 1.25rem !important;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
	color: inherit;
	text-decoration: none;
}
.theforeon-header-inner .theforeon-site-tagline,
.theforeon-header-inner .wp-block-site-tagline {
	font-size: 0.8125rem !important;
	color: #555 !important;
	font-weight: 400;
	margin: 0.2em 0 0 0;
	line-height: 1.35;
}

/* 메인 메뉴: 경희대 참고 사이트(khu.ac.kr) 수준으로 크기·굵기 강조 */
.theforeon-header-inner .wp-block-navigation .wp-block-navigation-item__content,
.theforeon-header-inner .wp-block-navigation a {
	color: var(--wp--preset--color--contrast, #1a1a1a);
	text-decoration: none;
	transition: color 0.2s ease;
	font-size: 1.0625rem !important;   /* 17px, 참고 사이트 메뉴 크기 */
	font-weight: 600;
}
.theforeon-header-inner .wp-block-navigation .wp-block-navigation-item__content:hover,
.theforeon-header-inner .wp-block-navigation a:hover {
	color: var(--wp--preset--color--khu-red, #C41E3A) !important;
}
.theforeon-header-inner .wp-block-navigation .current-menu-item .wp-block-navigation-item__content,
.theforeon-header-inner .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.theforeon-header-inner .wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--khu-red, #C41E3A) !important;
	font-weight: 600;
}

/* 헤더·본문·푸터 콘텐츠 폭 통일 (theme.json contentSize 1200px + 동일 좌우 여백) */
.theforeon-header-inner,
.theforeon-footer-bottom,
.theforeon-notice-popup {
	box-sizing: border-box;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* 메인 메뉴 2Depth 드롭다운 — 상단과 간격 두고 플랫·깔끔하게 */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border: 1px solid var(--wp--preset--color--light-gray, #eee);
	border-radius: 6px;
	min-width: 12rem;
	z-index: 100;
	margin-top: 0.5rem;
	padding: 0.375rem 0;
	list-style: none;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}
.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:focus-within .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/* 드롭다운 열렸을 때 부모 항목도 경희대 Red */
.theforeon-header-inner .wp-block-navigation .has-child:hover > .wp-block-navigation-item__content,
.theforeon-header-inner .wp-block-navigation .has-child:focus-within > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--khu-red, #C41E3A) !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 1rem;
	display: block;
	border-radius: 4px;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background-color: rgba(0, 0, 0, 0.04);
}

/* ============================================================
 * 플로팅(고정) 헤더 — 메인은 히어로 위 투명 오버레이, 스크롤 시 흰색.
 * 그 외 페이지는 흰색 고정 헤더 + 본문 상단 여백.
 * ============================================================ */
.theforeon-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 2px 16px rgba(0, 0, 0, 0.05);
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
/* 로그인(관리자바) 시 고정 헤더가 툴바 아래로 내려가도록 보정 */
@media screen and (min-width: 783px) { body.admin-bar .theforeon-header { top: 32px; } }
@media screen and (max-width: 782px) { body.admin-bar .theforeon-header { top: 46px; } }
/* 로고 살짝 키워 헤더를 더 크게 (고객 요청). */
.theforeon-header .wp-block-site-logo img {
	transition: filter 0.3s ease;
}
.theforeon-header-inner {
	padding-top: clamp(12px, 1.4vw, 18px);
	padding-bottom: clamp(12px, 1.4vw, 18px);
}
/* 헤더 본문 행: 로고·메뉴 수직 중앙 정렬 강제 (위아래 간격 균일화) */
.theforeon-header-inner > .wp-block-group {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center !important;
	justify-content: space-between;
	min-height: 52px;
	margin: 0;
}
.theforeon-header-inner > .wp-block-group > * { align-self: center !important; margin-top: 0; margin-bottom: 0; }
.theforeon-header-inner .wp-block-navigation { margin: 0; }
.theforeon-header .theforeon-brand { align-self: center !important; margin: 0; }
/* 헤더 로고: 심볼 마크만 표시(텍스트 제거) + 메뉴 높이에 맞춘 컴팩트 크기 (고객 요청) */
.theforeon-header .wp-block-site-logo {
	width: auto;
	line-height: 0;
	display: flex;
	align-items: center;
	margin: 0;
}
.theforeon-header .wp-block-site-logo .custom-logo,
.theforeon-header .wp-block-site-logo img { display: none !important; }
.theforeon-header .wp-block-site-logo a,
.theforeon-header .wp-block-site-logo a.custom-logo-link {
	display: block;
	width: 42px;
	height: 44px;
	margin: 0;
	background: url(assets/images/logo-symbol.png) center/contain no-repeat;
}
/* 투명(최상단): 흰색 심볼 */
.theforeon-transparent-header .theforeon-header:not(.is-scrolled) .wp-block-site-logo a {
	background-image: url(assets/images/logo-symbol-white.png);
}

/* 고정 헤더 아래 본문이 가리지 않도록 — 히어로 오버레이(메인) 외 페이지는 헤더 높이만큼 내림. */
body:not(.theforeon-transparent-header) .wp-site-blocks {
	padding-top: var(--theforeon-header-h, 132px);
}
/* 고정 헤더가 main의 앞 형제라 생기는 blockGap 상단 여백 제거 — 히어로/본문 위 빈 간격(회색) 방지 */
.wp-site-blocks > .theforeon-main,
.wp-site-blocks > main.theforeon-main {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}
/* 홈에서만: 녹색 CTA 섹션과 푸터 사이 흰 띠 제거.
   푸터는 .wp-block-template-part 래퍼로 감싸져 있고 이 래퍼가 main의 형제라 blockGap 24px 상단 여백이 붙음.
   전역 제거하면 내부 페이지(아카이브/단일)에서 푸터가 본문에 딱 붙으므로 홈(.home)으로만 한정. */
.home .wp-site-blocks > .wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* 메인: 최상단에서 투명 오버레이 (히어로 위에 겹침) */
.theforeon-transparent-header .theforeon-header {
	background: transparent;
	box-shadow: none;
}
/* 투명 헤더: 스크림(상단 회색 띠) 없이, 글자/로고 그림자로만 가독성 확보 */
.theforeon-transparent-header .theforeon-header .theforeon-top-bar {
	background-color: transparent;
}
/* 투명 상태: 로고 흰색, 메뉴 흰색 */
.theforeon-transparent-header .theforeon-header .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}
/* 흰 심볼 로고에 그림자 — 밝은 이미지 위 가독성 */
.theforeon-transparent-header .theforeon-header:not(.is-scrolled) .wp-block-site-logo a {
	filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5));
}
.theforeon-transparent-header .theforeon-header-inner .wp-block-navigation a,
.theforeon-transparent-header .theforeon-header-inner .wp-block-navigation .wp-block-navigation-item__content,
.theforeon-transparent-header .theforeon-header-inner .wp-block-navigation__container > li > a {
	color: #fff !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65), 0 1px 8px rgba(0, 0, 0, 0.45);
}

/* 메인에서 스크롤하면 흰색 고정 헤더로 전환 */
.theforeon-transparent-header .theforeon-header.is-scrolled {
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 2px 16px rgba(0, 0, 0, 0.05);
}
.theforeon-transparent-header .theforeon-header.is-scrolled .theforeon-top-bar {
	background-color: #0F2C23;
}
.theforeon-transparent-header .theforeon-header.is-scrolled .wp-block-site-logo img {
	filter: none;
}
.theforeon-transparent-header .theforeon-header.is-scrolled .theforeon-header-inner .wp-block-navigation a,
.theforeon-transparent-header .theforeon-header.is-scrolled .theforeon-header-inner .wp-block-navigation .wp-block-navigation-item__content,
.theforeon-transparent-header .theforeon-header.is-scrolled .theforeon-header-inner .wp-block-navigation__container > li > a {
	color: var(--wp--preset--color--contrast, #1a1a1a) !important;
	text-shadow: none;
}

/* ========== 프론트 페이지: 메인 비주얼(히어로) ========== */
.theforeon-hero {
	background-color: var(--wp--preset--color--khu-primary, #003366);
}
.theforeon-hero .wp-block-cover__inner-container {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
/* 히어로: 제목 크게, 부제 작게 구분 */
.theforeon-hero .wp-block-heading,
.theforeon-hero h1 {
	font-size: 1.75rem !important;
	font-weight: 700;
	margin: 0 0 0.1em 0 !important;
}
.theforeon-hero .has-large-font-size,
.theforeon-hero p.has-large-font-size {
	font-size: 1rem !important;
	font-weight: 400;
	margin: 0 0 0.5rem 0 !important;
	opacity: 0.95;
}
.theforeon-hero .wp-block-buttons {
	margin-top: 0.25rem !important;
}
.theforeon-hero .wp-block-button__link:hover {
	opacity: 0.95;
}

/* ========== 프론트 페이지: 공지 탭 + 팝업존 2단 (mediacom.khu.ac.kr main_notice 스타일) ========== */
.theforeon-notice-popup .wp-block-columns {
	align-items: flex-start;
}
/* 왼쪽 공지 영역: 왼쪽 파란 강조선 + 제목 색·폰트(참고: mediacom.khu.ac.kr) */
.theforeon-main-notice {
	border-left: 4px solid var(--wp--preset--color--khu-secondary, #0066b3);
	padding-left: 1rem;
	font-family: "Noto Sans KR", sans-serif;
}
.theforeon-main-notice-title {
	color: #5e5e5e !important;
	font-size: 1.25rem !important;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 1rem;
}
/* [home_tabs] 출력: KBoard 연동 시 탭·리스트 스타일 통일 */
.theforeon-main-notice .theforeon-home-tabs {
	margin-top: 0;
}
.theforeon-main-notice .theforeon-home-tabs__nav {
	border-bottom-color: #e0e0e0;
}
.theforeon-main-notice .theforeon-home-tabs__nav-btn {
	color: #5e5e5e;
	font-size: 0.9375rem;
}
.theforeon-main-notice .theforeon-home-tabs__nav-btn.is-active {
	color: var(--wp--preset--color--khu-secondary, #0066b3);
	border-bottom-color: var(--wp--preset--color--khu-secondary, #0066b3);
}
.theforeon-main-notice .theforeon-home-tabs__panel {
	color: #333;
	font-size: 0.9375rem;
}
.theforeon-main-notice .theforeon-home-tabs__panel a {
	color: var(--wp--preset--color--khu-primary, #003366);
}
/* 메인용 KBoard 최신 5건: 테이블을 목록 형태로 표시 (페이징·검색 없음) */
.theforeon-kboard-preview {
	margin-top: 0.5rem;
}
.theforeon-kboard-preview #kboard-default-latest,
.theforeon-kboard-preview .kboard-default-latest {
	width: 100%;
	border: none;
}
.theforeon-kboard-preview #kboard-default-latest thead,
.theforeon-kboard-preview .kboard-default-latest thead {
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}
.theforeon-kboard-preview #kboard-default-latest tbody tr,
.theforeon-kboard-preview .kboard-default-latest tbody tr {
	display: block;
	border-bottom: 1px solid #eee;
	padding: 0.4rem 0;
}
.theforeon-kboard-preview #kboard-default-latest tbody tr:last-child,
.theforeon-kboard-preview .kboard-default-latest tbody tr:last-child {
	border-bottom: none;
}
.theforeon-kboard-preview #kboard-default-latest .kboard-latest-title,
.theforeon-kboard-preview .kboard-default-latest .kboard-latest-title {
	display: block;
	border: none;
	padding: 0 0 0.15rem 0;
}
.theforeon-kboard-preview #kboard-default-latest .kboard-latest-date,
.theforeon-kboard-preview .kboard-default-latest .kboard-latest-date {
	display: block;
	border: none;
	padding: 0;
	font-size: 0.8125rem;
	color: #777;
}
.theforeon-kboard-preview .kboard-latest-empty-list-message {
	color: #777;
	font-size: 0.9375rem;
	margin: 0.5rem 0 0;
}

/* ========== KBoard 게시판 — 디자인 시스템 통일 (default 스킨) ========== */
#kboard-default-list,
#kboard-default-document,
#kboard-default-editor {
	--khu-board-border: var(--wp--preset--color--light-gray, #f5f5f5);
	--khu-board-text: var(--wp--preset--color--contrast, #1a1a1a);
	--khu-board-muted: var(--wp--preset--color--gray, #4a4a4a);
	--khu-board-accent: var(--wp--preset--color--khu-primary, #003366);
	--khu-board-accent-hover: var(--wp--preset--color--khu-red, #C41E3A);
	--khu-board-spacing: var(--wp--preset--spacing--40, 24px);
	font-size: 0.9375rem;
	color: var(--khu-board-text);
}

/* 목록: 헤더·전체 수·정렬 */
#kboard-default-list .kboard-list-header {
	padding-bottom: var(--wp--preset--spacing--30, 16px);
}
#kboard-default-list .kboard-list-header .kboard-total-count {
	font-size: 0.9375rem;
	color: var(--khu-board-muted);
}
#kboard-default-list .kboard-list-header .kboard-sort select,
#kboard-default-list .kboard-search select,
#kboard-default-list .kboard-search input[type="text"] {
	font-size: 0.875rem;
	color: var(--khu-board-text);
	border: 1px solid var(--khu-board-border);
	border-radius: 4px;
	padding: 0.35em 0.6em;
	background: var(--wp--preset--color--base, #fff);
}
#kboard-default-list .kboard-list-header .kboard-sort select:focus,
#kboard-default-list .kboard-search select:focus,
#kboard-default-list .kboard-search input:focus {
	border-color: var(--wp--preset--color--khu-secondary, #0066b3);
	outline: none;
}

/* 목록: 테이블 */
#kboard-default-list .kboard-list {
	background: transparent;
}
#kboard-default-list .kboard-list table {
	font-size: 0.9375rem;
}
#kboard-default-list .kboard-list thead tr td {
	color: var(--khu-board-muted);
	font-weight: 600;
	border-bottom: 2px solid var(--wp--preset--color--khu-secondary, #0066b3);
	padding: 0.6rem 0.5rem;
}
#kboard-default-list .kboard-list tbody tr td {
	border-bottom: 1px solid var(--khu-board-border);
	padding: 0.6rem 0.5rem;
}
#kboard-default-list .kboard-list tbody tr:hover {
	background-color: rgba(0, 51, 102, 0.04);
}
#kboard-default-list .kboard-list tbody tr.kboard-list-notice {
	background-color: rgba(0, 102, 179, 0.06);
}
#kboard-default-list .kboard-list table a {
	color: var(--khu-board-accent);
	text-decoration: none;
}
#kboard-default-list .kboard-list table a:hover {
	color: var(--khu-board-accent-hover);
}
#kboard-default-list .kboard-list tbody td.kboard-list-title .kboard-comments-count {
	color: var(--wp--preset--color--khu-secondary, #0066b3);
}

/* 목록: 카테고리 탭 */
#kboard-default-list .kboard-category .kboard-category-list,
#kboard-default-list .kboard-tree-category {
	background-color: var(--khu-board-border);
	border-radius: 4px;
}
#kboard-default-list .kboard-category .kboard-category-list li a,
#kboard-default-list .kboard-tree-category li a {
	color: var(--khu-board-muted);
}
#kboard-default-list .kboard-category .kboard-category-list li.kboard-category-selected a,
#kboard-default-list .kboard-tree-category li.kboard-category-selected a {
	font-weight: 600;
	border-bottom-color: var(--wp--preset--color--khu-red, #C41E3A);
	color: var(--khu-board-accent-hover);
}

/* 목록: 버튼 — 새글 등 (KHU Red 계열) */
#kboard-default-list .kboard-control a.kboard-default-button-small,
#kboard-default-list .kboard-search button.kboard-default-button-small,
#kboard-default-document .kboard-control a.kboard-default-button-small,
#kboard-default-editor .kboard-control input.kboard-default-button-small,
#kboard-default-editor .kboard-control button.kboard-default-button-small,
a.kboard-default-button-small,
input.kboard-default-button-small,
button.kboard-default-button-small {
	color: var(--khu-board-accent-hover) !important;
	background: transparent !important;
	border: 1px solid var(--khu-board-accent-hover) !important;
	border-radius: 4px;
	padding: 0.4em 1em;
	font-size: 0.875rem;
	font-weight: 500;
	transition: background-color 0.2s, color 0.2s;
}
#kboard-default-list .kboard-control a.kboard-default-button-small:hover,
#kboard-default-list .kboard-search button.kboard-default-button-small:hover,
a.kboard-default-button-small:hover,
input.kboard-default-button-small:hover,
button.kboard-default-button-small:hover {
	background: var(--khu-board-accent-hover) !important;
	color: var(--wp--preset--color--base, #fff) !important;
}

/* 목록: 페이징 */
#kboard-default-list .kboard-pagination {
	padding: var(--wp--preset--spacing--40, 24px) 0;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li a {
	color: var(--khu-board-muted);
	background-color: var(--khu-board-border);
	border-radius: 4px;
	padding: 0.35em 0.75em;
	font-size: 0.875rem;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li:hover a,
#kboard-default-list .kboard-pagination .kboard-pagination-pages li.active a {
	color: var(--khu-board-accent-hover);
	background-color: rgba(196, 30, 58, 0.08);
}

/* 목록: New 뱃지 */
#kboard-default-list .kboard-default-new-notify {
	background-color: var(--khu-board-accent-hover);
	font-size: 0.625rem;
	padding: 2px 4px;
	border-radius: 2px;
}

/* 문서(글 보기): 제목·상세·본문 */
#kboard-default-document .kboard-title h1 {
	color: var(--khu-board-text);
	font-size: 1.375rem;
	font-weight: 600;
	padding: var(--wp--preset--spacing--30, 16px) 0;
	border-bottom: 2px solid var(--wp--preset--color--khu-secondary, #0066b3);
}
#kboard-default-document .kboard-detail {
	background-color: var(--khu-board-border);
	border-top: 1px solid var(--khu-board-border);
	border-bottom: 1px solid var(--khu-board-border);
}
#kboard-default-document .kboard-detail .detail-attr .detail-name,
#kboard-default-document .kboard-detail .detail-attr .detail-value {
	color: var(--khu-board-muted);
}
#kboard-default-document .kboard-detail .detail-attr .detail-value a {
	color: var(--khu-board-accent);
}
#kboard-default-document .kboard-content .content-view {
	padding: var(--wp--preset--spacing--40, 24px) 0;
	line-height: 1.7;
}
#kboard-default-document .kboard-document-navi a {
	color: var(--khu-board-accent);
}
#kboard-default-document .kboard-document-navi a:hover {
	color: var(--khu-board-accent-hover);
}

/* 문서: 첨부·액션 버튼 */
#kboard-default-document .kboard-button-action {
	border-color: var(--khu-board-border);
	border-radius: 4px;
	color: var(--khu-board-muted);
}
#kboard-default-document .kboard-button-action:hover {
	border-color: var(--wp--preset--color--khu-secondary, #0066b3);
	color: var(--khu-board-accent);
}
#kboard-default-document .kboard-button-like {
	color: var(--khu-board-accent-hover);
}

/* 에디터(글쓰기): 입력 필드 */
#kboard-default-editor select,
#kboard-default-editor input[type="text"],
#kboard-default-editor input[type="email"],
#kboard-default-editor input[type="password"],
#kboard-default-editor .kboard-content .editor-textarea {
	border-color: var(--khu-board-border);
	border-radius: 4px;
	color: var(--khu-board-text);
}
#kboard-default-editor select:focus,
#kboard-default-editor input:focus,
#kboard-default-editor .kboard-content .editor-textarea:focus {
	border-color: var(--wp--preset--color--khu-secondary, #0066b3);
	outline: none;
}
#kboard-default-editor .kboard-attr-row .attr-name {
	color: var(--khu-board-muted);
	font-weight: 600;
}

/* Powered by: 은은하게 */
#kboard-default-list .kboard-default-poweredby,
#kboard-default-document .kboard-default-poweredby {
	font-size: 0.75rem;
	color: var(--khu-board-muted);
	padding-top: var(--wp--preset--spacing--30, 16px);
}
#kboard-default-list .kboard-default-poweredby a,
#kboard-default-document .kboard-default-poweredby a {
	color: var(--khu-board-muted);
}
#kboard-default-list .kboard-default-poweredby a:hover,
#kboard-default-document .kboard-default-poweredby a:hover {
	color: var(--khu-board-accent);
}

.theforeon-popup-placeholder {
	background: var(--wp--preset--color--light-gray, #f5f5f5);
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* 팝업존 갤러리: 여러 이미지 그리드 */
.theforeon-popup-gallery {
	display: grid;
	gap: 0.75rem;
	margin: 0;
}
.theforeon-popup-gallery .wp-block-image {
	margin: 0;
}
.theforeon-popup-gallery .theforeon-popup-gallery__img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* ========== 프론트 페이지: Quick Menu — 가로 100%, 안쪽만 고정폭. 배경 이미지 + 반투명 오버레이 ========== */
.theforeon-quick-menu-section {
	position: relative;
	width: 100%;
	background-image: url(assets/images/quick-menu-bg.png);
	background-size: cover;
	background-position: center;
}
.theforeon-quick-menu-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 51, 102, 0.75);
	pointer-events: none;
}
.theforeon-quick-menu-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.theforeon-quick-menu-section .wp-block-heading {
	margin-top: 0;
	margin-bottom: 1.5rem;
	text-align: left;
}
.theforeon-quick-menu-grid .wp-block-navigation__container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem 0.75rem;
	list-style: none;
	padding: 0;
	margin: 0;
}
@media (max-width: 781px) {
	.theforeon-quick-menu-grid .wp-block-navigation__container {
		grid-template-columns: repeat(2, 1fr);
	}
}
.theforeon-quick-menu-grid .wp-block-navigation-item {
	margin: 0;
	min-width: 0;
}
.theforeon-quick-menu-grid .wp-block-navigation-item__content {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
	color: #333 !important;
	text-align: left;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	min-width: 0;
}
.theforeon-quick-menu-grid .wp-block-navigation-item__content .wp-block-navigation-item__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.theforeon-quick-menu-grid .wp-block-navigation-item__content:hover {
	background: #f8f9fa;
	border-color: var(--wp--preset--color--khu-primary, #003366);
}
.theforeon-quick-menu-grid .wp-block-navigation-item__content::after {
	content: "\203A";
	font-size: 1.1em;
	opacity: 0.6;
	flex-shrink: 0;
}

/* ========== 사이트 링크 바 (Quick Menu ~ 푸터 사이): 개인정보처리방침 + 교내 주요 사이트/경희대 관련기관 셀렉트 박스 ========== */
.theforeon-site-links-bar-wrap {
	width: 100%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.theforeon-site-links-bar {
	width: 100%;
}
.theforeon-site-links-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}
.theforeon-site-links-bar__privacy {
	color: #b8860b !important;
	text-decoration: none;
	font-size: 0.9375rem;
}
.theforeon-site-links-bar__privacy:hover {
	text-decoration: underline;
}
.theforeon-site-links-bar__dropdowns {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.theforeon-site-links-bar__select,
.theforeon-site-links-bar .select,
.theforeon-site-links-bar .select_2th {
	min-width: 10rem;
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	color: #444;
	font-size: 0.9375rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23444' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.6rem center;
}
.theforeon-site-links-bar__select:hover,
.theforeon-site-links-bar .select:hover,
.theforeon-site-links-bar .select_2th:hover {
	border-color: var(--wp--preset--color--khu-primary, #003366);
	background-color: #f8f9fa;
}

/* ========== 푸터 (경희대 본관 khu.ac.kr 참고: 어두운 배경, 밝은 글자) ========== */
/* 푸터 전체 100% 가로, 배경은 바깥에 */
.theforeon-footer {
	width: 100%;
	background-color: #252525;
	border-top: 1px solid rgba(255,255,255,0.08);
}
/* 안쪽 콘텐츠만 가로폭 제한 (1200px) */
.theforeon-footer-bottom {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	background: none;
}
.theforeon-footer-bottom .wp-block-columns {
	align-items: start;
}
.theforeon-footer-logo .wp-block-site-logo {
	margin-bottom: 0.5rem;
}
.theforeon-footer-logo .wp-block-site-logo img {
	filter: brightness(1.05);
}
.theforeon-footer-school-name {
	margin: 0;
	color: #b0b0b0 !important;
	font-size: 0.8125rem !important;
	line-height: 1.4;
}
.theforeon-footer-bottom p,
.theforeon-footer-info p {
	margin-top: 0;
	margin-bottom: 0.5rem;
	color: #b0b0b0 !important;
	font-size: 0.8125rem !important;
	line-height: 1.5;
}
.theforeon-footer-bottom a,
.theforeon-footer-info a {
	color: #8eb8d9 !important;
	text-decoration: none;
}
.theforeon-footer-bottom a:hover,
.theforeon-footer-info a:hover {
	text-decoration: underline;
}
/* 플로팅 "맨 위로" 버튼(공통): 스크롤 시에만 오른쪽 하단 표시. 아이콘: Font Awesome fas fa-arrow-up (테마 공통 아이콘, docs 지침 참고) */
.theforeon-scroll-top {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}
.theforeon-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.theforeon-scroll-top__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	background: var(--wp--preset--color--gray, #4a4a4a);
	color: #fff !important;
	border-radius: 50%;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.theforeon-scroll-top__link:hover {
	background: var(--wp--preset--color--contrast, #1a1a1a);
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.theforeon-scroll-top__link i,
.theforeon-scroll-top__link .fa-arrow-up {
	font-size: 1.25rem;
	font-style: normal;
	display: inline-block;
}

/* 홈 탭 (공지/장학/취업/자료실) */
.theforeon-home-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin-bottom: 1rem;
	border-bottom: 2px solid var(--wp--preset--color--gray, #4a4a4a);
}
.theforeon-home-tabs__nav-btn {
	padding: 0.5rem 1rem;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	cursor: pointer;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast, #1a1a1a);
}
.theforeon-home-tabs__nav-btn:hover,
.theforeon-home-tabs__nav-btn:focus {
	color: var(--wp--preset--color--khu-primary, #003366);
}
.theforeon-home-tabs__nav-btn.is-active {
	border-bottom-color: var(--wp--preset--color--khu-primary, #003366);
	color: var(--wp--preset--color--khu-primary, #003366);
	font-weight: 600;
}
.theforeon-home-tabs__panel {
	display: none;
}
.theforeon-home-tabs__panel.is-active {
	display: block;
}
.theforeon-home-tabs__panel-placeholder {
	padding: 1rem;
	color: var(--wp--preset--color--gray, #666);
	font-size: 0.9375rem;
}
.theforeon-home-tabs__panel .theforeon-tab-more {
	margin-top: 1rem;
	text-align: right;
}
.theforeon-home-tabs__panel .theforeon-tab-more a {
	font-size: 0.875rem;
	color: var(--wp--preset--color--khu-primary, #003366);
}

/* ========== 페이지 상단 고정 커버 (배경 이미지 + 타이틀) ========== */
.theforeon-page-cover {
	position: relative;
	width: 100%;
	min-height: 220px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}
.theforeon-page-cover__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 51, 102, 0.45);
	pointer-events: none;
}
.theforeon-page-cover__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding-left: 1rem;
	padding-right: 1rem;
	text-align: center;
}
.theforeon-page-cover__title {
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
	font-weight: 700;
	line-height: 1.3;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* ========== 상세/목록 페이지 (본문 영역, 왼쪽 세로선 없음) ========== */
.theforeon-content-view {
	font-family: "Noto Sans KR", sans-serif;
}
.theforeon-content-title {
	color: #5e5e5e !important;
	font-size: 1.5rem !important;
	font-weight: 600;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
}

/* ========== FAQ 아코디언 (details/summary) — Q 굵게·배경 / A 배경으로 구분 ========== */
.wp-block-details {
	margin-top: 0;
	margin-bottom: 0.75rem;
	border: 1px solid var(--wp--preset--color--light-gray, #e8e8e8);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.wp-block-details summary {
	display: block;
	font-weight: 700;
	color: var(--wp--preset--color--contrast, #1a1a1a);
	background: rgba(0, 51, 102, 0.06);
	border-left: 4px solid var(--wp--preset--color--khu-secondary, #0066b3);
	padding: 0.875rem 1rem;
	cursor: pointer;
	list-style: none;
	line-height: 1.45;
	transition: background 0.2s ease;
}
.wp-block-details summary::-webkit-details-marker,
.wp-block-details summary::marker {
	display: none;
}
.wp-block-details summary:hover {
	background: rgba(0, 51, 102, 0.09);
}
.wp-block-details[open] summary {
	border-bottom: 1px solid var(--wp--preset--color--light-gray, #e8e8e8);
}
/* A: summary 다음 형제(답변 영역) — 배경·패딩으로 구분 */
.wp-block-details summary ~ * {
	margin: 0;
	padding: 1rem 1rem 1rem 1.25rem;
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #1a1a1a);
	line-height: 1.65;
	border-left: 4px solid transparent;
}
.wp-block-details summary ~ p:first-of-type {
	padding-top: 1rem;
}
.wp-block-details summary ~ *:last-child {
	padding-bottom: 1.25rem;
}

/* 브레드크럼(본문 바로가기) — 반투명 흰 바, 오른쪽 정렬, 어두운 홈+화살표 구분 */
.theforeon-breadcrumb--bar {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
	margin-bottom: 1rem;
	padding: 0.5rem 0;
	border: none;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
.theforeon-breadcrumb__inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.25rem 0;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
	font-size: 0.875rem;
	color: #555;
}
.theforeon-breadcrumb__home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	color: #555 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.theforeon-breadcrumb__home:hover {
	color: #1a1a1a !important;
}
.theforeon-breadcrumb__home i {
	font-size: 0.9375rem;
}
.theforeon-breadcrumb__sep {
	display: inline-flex;
	align-items: center;
	padding: 0 0.35rem;
	color: #999;
	font-size: 0.625rem;
	vertical-align: middle;
}
.theforeon-breadcrumb__sep i {
	font-size: 0.5rem;
}
.theforeon-breadcrumb__item {
	display: inline-flex;
	align-items: center;
}
.theforeon-breadcrumb__item a {
	color: #555;
	text-decoration: none;
}
.theforeon-breadcrumb__item a:hover {
	color: #1a1a1a;
	text-decoration: underline;
}
.theforeon-breadcrumb-current {
	color: #333;
	font-weight: 500;
}

/* 스크린 리더 전용 (커버와 중복 제목 숨김) */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	border: 0;
	word-wrap: normal !important;
}

/* 스크롤 부드럽게 (TOP 링크용) */
html { scroll-behavior: smooth; }

/* ============ 부동산: 모바일 하단 고정 상담 CTA ============ */
.theforeon-sticky-cta { display: none; }
@media (max-width: 768px) {
	.theforeon-sticky-cta {
		display: flex;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 999;
		box-shadow: 0 -2px 10px rgba(0,0,0,.12);
	}
	.theforeon-sticky-cta__item {
		flex: 1;
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		gap: 2px;
		padding: 10px 4px;
		font-size: 12px;
		text-decoration: none;
		color: #fff;
		background: #0F2C23;
	}
	.theforeon-sticky-cta__item i { font-size: 18px; }
	.theforeon-sticky-cta__blog { background: #03C75A; }
	.theforeon-sticky-cta__inquiry { background: #B08D57; }
	/* 고정 바에 가려지지 않도록 하단 여백 확보 */
	body { padding-bottom: 64px; }
}

/* ============ 부동산: 상담문의 폼 ============ */
.theforeon-contact-form { max-width: 560px; }
.theforeon-contact-form input[type="text"],
.theforeon-contact-form textarea,
.theforeon-contact-form select {
	width: 100%; padding: 10px 12px; margin-top: 4px;
	border: 1px solid #d1d5db; border-radius: 6px; box-sizing: border-box;
}
.theforeon-contact-form label { font-weight: 500; }
.theforeon-form-submit {
	background: #0F2C23; color: #fff; border: 0; border-radius: 6px;
	padding: 12px 28px; font-size: 16px; cursor: pointer;
}
.theforeon-form-submit:hover { background: #08201A; }
.theforeon-form-notice { padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; }
.theforeon-form-success { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.theforeon-form-error { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }

/* ===== 메인 메뉴 가로 정렬·간격 — __unstableLocation을 wp_nav_menu로 렌더할 때 블록 gap이 빠지는 문제 보정 ===== */
.theforeon-header-inner .wp-block-navigation > .wp-block-navigation__container,
.theforeon-header-inner ul.wp-block-navigation__container {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 1.7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.theforeon-header-inner .wp-block-navigation__container > li {
	margin: 0;
	position: relative;
}
.theforeon-header-inner .wp-block-navigation__container > li > a,
.theforeon-header-inner .wp-block-navigation__container > li > .wp-block-navigation-item__content {
	display: inline-block;
	color: var(--wp--preset--color--contrast, #111827);
	text-decoration: none;
	font-weight: 600;
	font-size: 1.05rem;
	white-space: nowrap;
	transition: color 0.2s ease;
}
.theforeon-header-inner .wp-block-navigation__container > li > a:hover,
.theforeon-header-inner .wp-block-navigation__container > li.current-menu-item > a {
	color: var(--wp--preset--color--khu-primary, #0F2C23);
}

/* ===== 브레드크럼 (경로 표시: 홈 › 카테고리 › 글) ===== */
.theforeon-breadcrumb {
	font-size: 0.875rem;
	color: var(--wp--preset--color--gray, #6B7280);
	margin: 0 0 1.2rem;
	line-height: 1.5;
}
.theforeon-breadcrumb a {
	color: var(--wp--preset--color--gray, #6B7280);
	text-decoration: none;
}
.theforeon-breadcrumb a:hover {
	color: var(--wp--preset--color--khu-primary, #0F2C23);
	text-decoration: underline;
}
.theforeon-breadcrumb .theforeon-bc__sep {
	color: #c0c4c9;
	margin: 0 0.15rem;
}
.theforeon-breadcrumb .theforeon-bc__current {
	color: var(--wp--preset--color--contrast, #111827);
	font-weight: 600;
}

/* ===== 모바일/태블릿 가로 거터 (A안) — 콘텐츠가 화면 끝에 붙지 않도록 ===== */
/* 데스크탑(>=1240px)은 1200px 중앙정렬 유지, 그 미만에서만 좌우 여백 부여. */
@media (max-width: 1239px) {
	.theforeon-top-bar,
	.theforeon-header-inner,
	.theforeon-footer-bottom,
	.theforeon-main > :not(.theforeon-hero):not(.theforeon-hero-slider) {
		padding-left: clamp(14px, 3vw, 22px);
		padding-right: clamp(14px, 3vw, 22px);
	}
	/* 히어로 내부 텍스트도 작은 화면에서 최소 여백 확보 */
	.theforeon-hero .wp-block-cover__inner-container {
		padding-left: clamp(4px, 2vw, 16px);
		padding-right: clamp(4px, 2vw, 16px);
	}
}

/* ============================================================
 * 프롤로그형 메인 컴포넌트
 * ============================================================ */
/* 대문 슬라이더 */
.theforeon-hero-slider { position:relative; width:100%; height:var(--thfs-h,460px); overflow:hidden; }
.theforeon-hero-slider__track { position:absolute; inset:0; }
.theforeon-hero-slider__slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .8s ease; }
.theforeon-hero-slider__slide.is-active { opacity:1; }
.theforeon-hero-slider__nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:50%; background:rgba(0,0,0,.32); color:#fff; font-size:26px; line-height:1; cursor:pointer; z-index:2; }
.theforeon-hero-slider__prev { left:16px; }
.theforeon-hero-slider__next { right:16px; }
.theforeon-hero-slider__nav:hover { background:rgba(0,0,0,.6); }
.theforeon-hero-slider__dots { position:absolute; bottom:16px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:2; }
.theforeon-hero-slider__dot { width:10px; height:10px; border-radius:50%; border:0; background:rgba(255,255,255,.55); cursor:pointer; padding:0; }
.theforeon-hero-slider__dot.is-active { background:#fff; }
@media (max-width:781px){ .theforeon-hero-slider{ height:clamp(220px,52vw,var(--thfs-h,460px)); } }
/* 풀스크린 히어로: 모든 해상도에서 화면 전체 높이(주소창 대응 svh), 전체 폭 */
.theforeon-hero-slider--full { width:100%; height:100vh; height:100svh; }
@media (max-width:781px){ .theforeon-hero-slider--full { height:100vh; height:100svh; } }
/* 히어로는 진입 애니메이션 제외 — translateY 빈틈에 헤더 스크림이 겹쳐 상단 회색 띠로 보이는 현상 방지 */
.theforeon-animate > .theforeon-hero-slider,
.theforeon-transparent-header .theforeon-animate > *:first-child {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}
/* 슬라이드 캡션: 타이틀·설명·링크 (이미지 위, 가독성 그라데이션) */
.theforeon-hero-slider__caption { position:absolute; inset:0; display:flex; align-items:center; z-index:1; background:linear-gradient(to right, rgba(0,0,0,.6), rgba(0,0,0,.2) 55%, rgba(0,0,0,0) 85%); }
.theforeon-hero-slider__caption-inner { width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,48px); color:#fff; }
.theforeon-hero-slider__title { color:#fff; font-size:clamp(1.7rem,3.6vw,3.1rem); font-weight:800; line-height:1.18; margin:0 0 .5em; text-shadow:0 2px 14px rgba(0,0,0,.45); }
.theforeon-hero-slider__desc { color:#fff; font-size:clamp(1rem,1.7vw,1.3rem); line-height:1.5; margin:0 0 1.3em; max-width:42ch; text-shadow:0 1px 10px rgba(0,0,0,.45); }
.theforeon-hero-slider__btn { display:inline-block; background:var(--wp--preset--color--khu-secondary,#B08D57); color:#fff; padding:12px 28px; border-radius:8px; font-weight:600; text-decoration:none; transition:opacity .2s ease, transform .2s ease; }
.theforeon-hero-slider__btn:hover { opacity:.92; transform:translateY(-1px); }
/* 헤더와 겹치는 첫 화면이므로 캡션을 헤더 높이만큼 살짝 아래로 */
.theforeon-transparent-header .theforeon-hero-slider__caption-inner { padding-top:60px; }
@media (max-width:781px){
	.theforeon-hero-slider__caption { background:linear-gradient(to right, rgba(0,0,0,.66), rgba(0,0,0,.32) 70%, rgba(0,0,0,.12)); }
	.theforeon-hero-slider__desc { max-width:none; }
}

/* 최신글/인기글 카드 */
.theforeon-post-cards { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.theforeon-post-card a { display:flex; gap:14px; align-items:center; text-decoration:none; color:inherit; }
.theforeon-post-card__thumb { flex:0 0 100px; width:100px; height:74px; border-radius:8px; background-size:cover; background-position:center; }
.theforeon-post-card__body { display:flex; flex-direction:column; gap:4px; min-width:0; }
.theforeon-post-card__title { font-weight:600; color:#111827; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.theforeon-post-card__date { font-size:.8rem; color:#9ca3af; }
.theforeon-post-card a:hover .theforeon-post-card__title { color:var(--wp--preset--color--khu-primary,#0F2C23); }

/* 브리핑 카테고리 박스 */
.theforeon-cat-cards { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.theforeon-cat-card a { display:block; text-decoration:none; color:inherit; }
.theforeon-cat-card__thumb { display:block; width:100%; aspect-ratio:4/3; border-radius:10px; background-size:cover; background-position:center; }
.theforeon-cat-card__name { display:block; margin-top:8px; text-align:center; font-weight:600; color:#111827; }
.theforeon-cat-card a:hover .theforeon-cat-card__name { color:var(--wp--preset--color--khu-primary,#0F2C23); }
@media (max-width:900px){ .theforeon-cat-cards{ grid-template-columns:repeat(2,1fr); } }

/* Top-pick 매물 + 네이버 */
.theforeon-top-pick__list { list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:8px; }
.theforeon-top-pick__list a { text-decoration:none; color:#111827; }
.theforeon-top-pick__tag { display:inline-block; background:var(--wp--preset--color--khu-primary,#0F2C23); color:#fff; font-size:.72rem; padding:1px 8px; border-radius:4px; margin-right:4px; }
.theforeon-top-pick__py { color:#6B7280; font-size:.85rem; }
.theforeon-naver-link { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid #03C75A; border-radius:8px; color:#03C75A; font-weight:600; text-decoration:none; }
.theforeon-naver-link:hover { background:#03C75A; color:#fff; }
.theforeon-naver-link__n { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; background:#03C75A; color:#fff; border-radius:5px; font-weight:800; }
.theforeon-naver-link:hover .theforeon-naver-link__n { background:#fff; color:#03C75A; }

/* 프롤로그 썸네일 그리드 + 페이지네이션 */
.theforeon-prologue__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.theforeon-prologue__item a { display:block; text-decoration:none; color:inherit; }
.theforeon-prologue__thumb { display:block; width:100%; aspect-ratio:1/1; border-radius:10px; background-size:cover; background-position:center; }
.theforeon-prologue__title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:8px; font-weight:600; color:#111827; }
.theforeon-prologue__item a:hover .theforeon-prologue__title { color:var(--wp--preset--color--khu-primary,#0F2C23); }
.theforeon-prologue__pager { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:28px; }
.theforeon-prologue__pager .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border:1px solid #e5e7eb; border-radius:8px; text-decoration:none; color:#374151; }
.theforeon-prologue__pager .page-numbers.current { background:var(--wp--preset--color--khu-primary,#0F2C23); color:#fff; border-color:var(--wp--preset--color--khu-primary,#0F2C23); }
.theforeon-prologue__pager .page-numbers:hover:not(.current) { border-color:var(--wp--preset--color--khu-primary,#0F2C23); }
@media (max-width:600px){ .theforeon-prologue__grid{ grid-template-columns:repeat(2,1fr); } }

.theforeon-cards-empty { color:#9ca3af; text-align:center; padding:20px 0; }

/* ===== 브리핑 통합 레이아웃 (좌 2×2 그리드 / 우 최신·인기글) ===== */
.theforeon-brief-row { align-items: stretch; }
/* 좌(브리핑 2×2 그리드)·우(최신/인기) 하단 라인 맞춤 — 좌측 빈 여백 제거 (데스크탑) */
@media (min-width: 782px) {
	.theforeon-brief-row > .wp-block-column { display: flex; flex-direction: column; }
	.theforeon-brief-row .theforeon-cat-cards--overlay { flex: 1 1 auto; grid-auto-rows: 1fr; }
	.theforeon-brief-row .theforeon-cat-cards--overlay .theforeon-cat-card,
	.theforeon-brief-row .theforeon-cat-cards--overlay .theforeon-cat-card a,
	.theforeon-brief-row .theforeon-cat-cards--overlay .theforeon-cat-card__thumb { height: 100%; }
	.theforeon-brief-row .theforeon-cat-cards--overlay .theforeon-cat-card__thumb { aspect-ratio: auto; min-height: 150px; }
}
.theforeon-section-head { margin-bottom: clamp(1rem, 2vw, 1.6rem); }
.theforeon-section-head h2.wp-block-heading { margin-bottom: 0; }
/* 타이틀 바로 옆에 버튼을 붙이는 인라인 헤더 (추천매물 등) */
/* .theforeon-main 접두사로 전역 h2 마진 규칙(.theforeon-main h2.wp-block-heading)을 우선순위로 확실히 이김 */
.theforeon-main .theforeon-section-head--inline { align-items: center; column-gap: clamp(14px, 1.6vw, 22px); row-gap: 8px; margin-bottom: 0; }
.theforeon-main .theforeon-section-head--inline > * { margin-top: 0; margin-bottom: 0; }
.theforeon-main .theforeon-section-head--inline h2.wp-block-heading { line-height: 1.15; margin: 0; }
.theforeon-main .theforeon-section-head--inline p { margin: 0; line-height: 1; }
.theforeon-main .theforeon-section-head--inline .theforeon-naver-link { margin: 0; flex: 0 0 auto; align-self: center; }
.theforeon-more-link { margin: 0; }
.theforeon-more-link a { color: var(--wp--preset--color--khu-primary, #0F2C23); font-weight: 600; font-size: 0.95rem; text-decoration: none; white-space: nowrap; }
.theforeon-more-link a:hover { text-decoration: underline; }

/* 브리핑 카드: 이미지 위 텍스트(오버레이) */
.theforeon-cat-cards--overlay { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.theforeon-cat-cards--overlay .theforeon-cat-card a { position: relative; display: block; border-radius: 12px; overflow: hidden; }
.theforeon-cat-cards--overlay .theforeon-cat-card__thumb { aspect-ratio: 16/10; border-radius: 0; transition: transform .4s ease; }
.theforeon-cat-cards--overlay .theforeon-cat-card a:hover .theforeon-cat-card__thumb { transform: scale(1.05); }
.theforeon-cat-cards--overlay .theforeon-cat-card__name {
	position: absolute; left: 0; right: 0; bottom: 0;
	margin: 0; padding: 30px 18px 16px; text-align: left;
	color: #fff; font-size: 1.3rem; font-weight: 700; letter-spacing: -0.01em;
	background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%);
}
.theforeon-cat-cards--overlay .theforeon-cat-card a:hover .theforeon-cat-card__name { color: #fff; }
@media (max-width: 600px) { .theforeon-cat-cards--overlay { gap: 12px; } .theforeon-cat-cards--overlay .theforeon-cat-card__name { font-size: 1.1rem; padding: 24px 14px 13px; } }

/* 블로그 글 목록(대표이미지 썸네일 카드) */
.theforeon-blog-list { display: flex; flex-direction: column; gap: 24px; margin: 8px 0 30px; }
.theforeon-blog-card { display: flex; gap: 22px; align-items: stretch; }
.theforeon-blog-card__thumb { flex: 0 0 250px; display: block; border-radius: 12px; background-size: cover; background-position: center; min-height: 168px; transition: transform .35s ease; }
.theforeon-blog-card:hover .theforeon-blog-card__thumb { transform: scale(1.02); }
.theforeon-blog-card__body { flex: 1 1 auto; min-width: 0; align-self: center; }
.theforeon-blog-card__title { margin: 0 0 8px; font-size: 1.3rem; line-height: 1.35; }
.theforeon-blog-card__title a { color: #111827; text-decoration: none; }
.theforeon-blog-card__title a:hover { color: var(--wp--preset--color--khu-primary, #0F2C23); }
.theforeon-blog-card__date { color: #6b7280; font-size: 0.85rem; margin-bottom: 10px; }
.theforeon-blog-card__excerpt { color: #374151; line-height: 1.7; }
@media (max-width: 640px) {
	.theforeon-blog-card { flex-direction: column; gap: 12px; }
	.theforeon-blog-card__thumb { flex-basis: auto; width: 100%; aspect-ratio: 16/10; min-height: 0; }
}

/* 모바일: 통합 레이아웃은 세로 스택 */
@media (max-width: 781px) {
	.theforeon-brief-row { flex-wrap: wrap; }
	.theforeon-brief-row > .wp-block-column { flex-basis: 100% !important; }
	.theforeon-brief-row > .wp-block-column:last-child { margin-top: clamp(20px, 5vw, 32px); }
}

/* ===== 추천 매물 이미지 그리드 (Top-pick) ===== */
.theforeon-property-grid { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.theforeon-property-card a { display: block; text-decoration: none; color: inherit; }
.theforeon-property-card__thumb { position: relative; display: block; width: 100%; aspect-ratio: 4/3; border-radius: 12px; background-size: cover; background-position: center; overflow: hidden; }
.theforeon-property-card a:hover .theforeon-property-card__thumb { box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.theforeon-property-card__tag { position: absolute; top: 10px; left: 10px; background: var(--wp--preset--color--khu-primary, #0F2C23); color: #fff; font-size: .75rem; font-weight: 600; padding: 3px 10px; border-radius: 6px; }
.theforeon-property-card__body { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.theforeon-property-card__title { font-weight: 700; color: #111827; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.theforeon-property-card a:hover .theforeon-property-card__title { color: var(--wp--preset--color--khu-primary, #0F2C23); }
.theforeon-property-card__meta { color: #6B7280; font-size: .9rem; }
.theforeon-top-pick__more { margin-top: 6px; }
@media (max-width: 900px) { .theforeon-property-grid:not(.theforeon-property-grid--slider) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .theforeon-property-grid:not(.theforeon-property-grid--slider) { grid-template-columns: 1fr; } }

/* 추천매물 좌우 슬라이더 (캐러셀) */
.theforeon-property-slider { position: relative; }
.theforeon-property-slider__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.theforeon-property-slider__viewport::-webkit-scrollbar { display: none; }
.theforeon-property-grid--slider { display: flex; grid-template-columns: none; gap: 18px; margin: 0 0 20px; }
.theforeon-property-grid--slider .theforeon-property-card { flex: 0 0 calc((100% - 18px * 2) / 3); scroll-snap-align: start; }
.theforeon-property-slider__nav {
	position: absolute; top: calc(50% - 30px); transform: translateY(-50%); z-index: 2;
	width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
	background: #fff; color: var(--wp--preset--color--khu-primary, #0F2C23);
	box-shadow: 0 3px 12px rgba(0,0,0,.18); font-size: 1.8rem; line-height: 1;
	display: flex; align-items: center; justify-content: center; transition: background .15s, color .15s, opacity .15s;
}
.theforeon-property-slider__nav:hover { background: var(--wp--preset--color--khu-primary, #0F2C23); color: #fff; }
.theforeon-property-slider__prev { left: -10px; }
.theforeon-property-slider__next { right: -10px; }
.theforeon-property-slider__nav[disabled] { opacity: 0; pointer-events: none; }
@media (max-width: 900px) {
	.theforeon-property-grid--slider .theforeon-property-card { flex-basis: calc((100% - 18px) / 2); }
	.theforeon-property-slider__prev { left: 4px; }
	.theforeon-property-slider__next { right: 4px; }
}
@media (max-width: 480px) {
	.theforeon-property-grid--slider .theforeon-property-card { flex-basis: 82%; }
}

/* ============================================================
 * 시원시원한 구성 — 넉넉한 여백 · 큰 타이틀 · 큰 이미지 (고객 요청)
 * ============================================================ */
/* 섹션 상하 여백 — 컴팩트(히어로 제외, 위아래 간격 축소) */
.theforeon-main > .wp-block-group {
	padding-top: clamp(14px, 2vw, 28px) !important;
	padding-bottom: clamp(14px, 2vw, 28px) !important;
}
/* 섹션 타이틀 크기 + 아래 여백 컴팩트 */
.theforeon-main h2.wp-block-heading {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin-bottom: clamp(1rem, 2vw, 1.6rem);
}
.theforeon-main h3.wp-block-heading {
	font-size: clamp(1.3rem, 2.1vw, 1.7rem);
	margin-bottom: 1.2rem;
}
/* 대문 더 시원하게 (기본 높이 상향) */
.theforeon-hero-slider { --thfs-h: 600px; }
@media (min-width: 1200px) { .theforeon-hero-slider { --thfs-h: 640px; } }

/* 최신/인기 카드: 썸네일·간격 키움 */
.theforeon-post-cards { gap: 24px; }
.theforeon-post-card__thumb { flex: 0 0 128px; width: 128px; height: 92px; border-radius: 10px; }
.theforeon-post-card__title { font-size: 1.05rem; }

/* 브리핑 카테고리 박스: 간격·라운딩 키움 */
.theforeon-cat-cards { gap: 24px; }
.theforeon-cat-card__thumb { border-radius: 14px; }
.theforeon-cat-card__name { margin-top: 12px; font-size: 1.05rem; }

/* Top-pick 매물: 가독성 */
.theforeon-top-pick__list { gap: 12px; font-size: 1.05rem; }
.theforeon-top-pick__list { margin-bottom: 20px; }

/* 프롤로그 그리드: 큼직하게 */
.theforeon-prologue__grid { gap: 28px; }
.theforeon-prologue__thumb { border-radius: 14px; }
.theforeon-prologue__title { font-size: 1.05rem; margin-top: 12px; }

/* 대표 인사 — 인물 사진 */
.theforeon-ceo-photo img { width: 100%; height: auto; display: block; object-fit: cover; }
@media (max-width: 781px) {
	/* 모바일 세로 적층 시 인물 사진이 과대해지지 않도록 폭 제한·중앙 정렬 */
	.theforeon-ceo-photo { max-width: 300px; margin-left: auto; margin-right: auto; }
}

/* ===== 모바일 메뉴: 2줄 줄바꿈 → 한 줄 가로 스크롤 ===== */
@media (max-width: 781px) {
	/* nav가 메뉴 콘텐츠 폭(뷰포트 초과)으로 늘어나 페이지를 넘치지 않도록 100%로 가둠 */
	.theforeon-header-inner .wp-block-navigation {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	.theforeon-header-inner .wp-block-navigation > .wp-block-navigation__container,
	.theforeon-header-inner ul.wp-block-navigation__container {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 1.15rem;
		max-width: 100%;
		overflow-x: auto;            /* 메뉴는 이 안에서만 가로 스크롤 */
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;        /* Firefox */
		padding-bottom: 2px;
	}
	.theforeon-header-inner .wp-block-navigation__container::-webkit-scrollbar { display: none; } /* Chrome/Safari */
	.theforeon-header-inner .wp-block-navigation__container > li { flex: 0 0 auto; }
	.theforeon-header-inner .wp-block-navigation__container > li > a,
	.theforeon-header-inner .wp-block-navigation__container > li > .wp-block-navigation-item__content { white-space: nowrap; }
}

/* ===== 가로 오버플로 안전망 + 그리드 blowout 방지 ===== */
html, body { overflow-x: hidden; }
.theforeon-main img, .theforeon-main figure, .theforeon-main video, .theforeon-main iframe { max-width: 100%; }
.theforeon-cat-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width:900px){ .theforeon-cat-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.theforeon-prologue__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width:600px){ .theforeon-prologue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== 이미지 라이트박스(모달) — 갤러리 등 공통 ===== */
button.theforeon-prologue__thumb--plain {
	border: 0; padding: 0; margin: 0; cursor: zoom-in; font: inherit; appearance: none;
}
.theforeon-lightbox { display: none; position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; }
.theforeon-lightbox.is-open { display: flex; }
.theforeon-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.9); }
.theforeon-lightbox__img { position: relative; max-width: 92vw; max-height: 88vh; border-radius: 6px; box-shadow: 0 12px 48px rgba(0,0,0,.55); object-fit: contain; }
.theforeon-lightbox__close,
.theforeon-lightbox__prev,
.theforeon-lightbox__next {
	position: absolute; z-index: 1; display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.14); color: #fff; border: 0; cursor: pointer; line-height: 1;
	transition: background .15s ease;
}
.theforeon-lightbox__close:hover,
.theforeon-lightbox__prev:hover,
.theforeon-lightbox__next:hover { background: rgba(255,255,255,.3); }
.theforeon-lightbox__close { top: 18px; right: 22px; width: 44px; height: 44px; border-radius: 50%; font-size: 26px; }
.theforeon-lightbox__prev,
.theforeon-lightbox__next { top: 50%; transform: translateY(-50%); width: 54px; height: 54px; border-radius: 50%; font-size: 34px; }
.theforeon-lightbox__prev { left: 22px; }
.theforeon-lightbox__next { right: 22px; }
.theforeon-lightbox__count { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.85); font-size: 14px; z-index: 1; }
@media (max-width: 600px) {
	.theforeon-lightbox__prev { left: 8px; }
	.theforeon-lightbox__next { right: 8px; }
	.theforeon-lightbox__prev,
	.theforeon-lightbox__next { width: 44px; height: 44px; font-size: 28px; }
}

/* ============================================================
 * 고객 피드백 반영 (헤더 크게·중앙정렬 / 카드 / 네이버 / 공지)
 * ============================================================ */
/* 1·2. 상호 글씨 크게 + 중앙정렬 (반응형) */
.theforeon-brand { gap: 14px; align-items: center; }
.theforeon-site-title { font-size: clamp(1.35rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.2; }
.theforeon-site-title a { text-decoration: none; }
.theforeon-site-tagline { color: #6B7280; }
@media (max-width: 600px) {
	.theforeon-brand { gap: 10px; }
	.theforeon-site-title { font-size: 1.1rem; }
}

/* 5. 브리핑 카테고리 박스: 정사각(약간 길게) + 이름 크게 */
.theforeon-cat-card__thumb { aspect-ratio: 1 / 1; }
.theforeon-cat-card__name { font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 700; margin-top: 14px; }

/* 7. 네이버 부동산 버튼 개선 — 채움형·크게·아이콘 강조 */
.theforeon-naver-link {
	background: #03C75A; color: #fff; border-color: #03C75A;
	padding: 14px 26px; font-size: 1.05rem; border-radius: 10px;
	box-shadow: 0 4px 14px rgba(3,199,90,.28);
}
.theforeon-naver-link:hover { background: #02b350; border-color: #02b350; color: #fff; }
.theforeon-naver-link__n { background: #fff; color: #03C75A; }
.theforeon-naver-link:hover .theforeon-naver-link__n { background: #fff; color: #02b350; }

/* 섹션 타이틀 오른쪽에 붙는 컴팩트 아이콘 링크 버튼 */
.theforeon-naver-link--head { padding: 8px 16px; font-size: .92rem; border-radius: 8px; box-shadow: 0 2px 8px rgba(3,199,90,.22); white-space: nowrap; }
.theforeon-naver-link--head .theforeon-naver-link__n { width: 20px; height: 20px; font-size: .8rem; }
@media (max-width: 600px) {
	.theforeon-section-head:has(.theforeon-naver-link--head) { gap: 10px; }
	.theforeon-naver-link--head { font-size: .85rem; padding: 7px 14px; }
}

/* 4. Top-pick | 급매 공지 — 컴팩트한 라이트 카드 (시스템 통일) */
.theforeon-notice-section { padding-top: clamp(20px, 2.5vw, 36px) !important; padding-bottom: clamp(20px, 2.5vw, 36px) !important; }
.theforeon-notice { border: 1px solid #ececec; border-radius: 10px; background: #fff; }
.theforeon-notice__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 18px; border-bottom: 1px solid #f1f1f1;
}
.theforeon-notice__badge { color: var(--wp--preset--color--khu-primary, #0F2C23); font-weight: 700; font-size: 1.02rem; }
.theforeon-notice__badge::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--khu-secondary, #B08D57); margin-right: 8px; vertical-align: middle; }
.theforeon-notice__more { color: var(--wp--preset--color--khu-secondary, #B08D57); text-decoration: none; font-size: .88rem; white-space: nowrap; }
.theforeon-notice__more:hover { text-decoration: underline; }
.theforeon-notice__list { list-style: none; margin: 0; padding: 4px 0; }
.theforeon-notice__list li { margin: 0; }
.theforeon-notice__list a {
	display: flex; align-items: center; gap: 6px; padding: 8px 18px;
	color: #374151; text-decoration: none; font-size: .95rem;
}
.theforeon-notice__list a:hover { background: #f8f8f6; color: var(--wp--preset--color--khu-primary, #0F2C23); }
.theforeon-notice__dot { color: var(--wp--preset--color--khu-secondary, #B08D57); font-weight: 800; }
.theforeon-notice__date { margin-left: auto; color: #b0b4ba; font-size: .82rem; white-space: nowrap; }
.theforeon-notice__empty { padding: 14px 18px; color: #9ca3af; font-size: .95rem; }

/* 브레드크럼: 상단 배너와 너무 붙지 않게 (margin-collapse 회피 → padding) */
.theforeon-breadcrumb { margin-top: 0; padding-top: 2.6rem; }

/* 빈 상태(empty) — 테두리·배경 없이 미니멀하게 (시스템 디자인 통일) */
.theforeon-empty {
	color: #9ca3af;
	font-size: 1.05rem;
	line-height: 1.6;
	text-align: center;
	padding: 80px 24px;
	margin: 0;
}

/* 글 목록·상세 — 제목 링크 색상 시스템 통일 (브랜드 다크 + 그린 호버) */
.theforeon-main .wp-block-post-title a,
.theforeon-main .wp-block-post-title a:visited {
	color: var(--wp--preset--color--contrast, #111827);
	text-decoration: none;
}
.theforeon-main .wp-block-post-title a:hover {
	color: var(--wp--preset--color--khu-primary, #0F2C23);
	text-decoration: none;
}

/* 브레드크럼 상단 여백: 목록(archive)·상세(single/page) 동일하게.
   상세는 content-view가 전역 큰 섹션 패딩을 받아 더 벌어지던 것 → 상단 패딩 normalize 후 브레드크럼이 단일 소스 */
.theforeon-main > .theforeon-content-view { padding-top: 0 !important; }
.theforeon-breadcrumb { padding-top: 2.4rem; padding-bottom: 0.6rem; }

/* 대표 인사 — 전문(컴팩트): 좁은 줄간격·작은 폰트 */
.theforeon-ceo-greeting p {
	margin: 0 0 0.55em;
	font-size: 0.96rem;
	line-height: 1.55;
	color: #4b5563;
}
.theforeon-ceo-greeting p:last-child { margin-bottom: 0; }
.theforeon-ceo-greeting p strong { color: var(--wp--preset--color--contrast, #111827); }

/* 급매물 공지 — 섹션 위아래 간격 더 컴팩트 */
.theforeon-notice-section { padding-top: clamp(14px, 2vw, 22px) !important; padding-bottom: clamp(14px, 2vw, 22px) !important; }
