/*
Theme Name:     WayPoint (Astra Child)
Theme URI:      https://waypoint.local/
Description:     WayPoint 전용 Astra 자식 테마 — 네이비+틸 톤, 카드형 글목록, 커스텀 히어로/헤더/푸터/사이드바, 도움 페이지 자동 생성. 전부 파일 기반이라 파일 매니저로 폴더만 올리고 활성화하면 적용됩니다.
Author:         WayPoint
Template:       astra
Version:        1.0.0
Text Domain:    astra-child
*/

/* ==========================================================================
   0. 디자인 토큰 (네이비 + 틸)
   ========================================================================== */
:root {
	--wp-navy:      #1B2A4A;
	--wp-navy-2:    #22356B;
	--wp-navy-3:    #12203D;
	--wp-teal:      #14B8A6;
	--wp-teal-d:    #0D9488;
	--wp-teal-l:    #5EEAD4;
	--wp-bg:        #F7F8FA;
	--wp-card:      #FFFFFF;
	--wp-text:      #1F2933;
	--wp-muted:     #5B6B7B;
	--wp-border:    #E6E9EE;
	--wp-radius:    14px;
	--wp-radius-sm: 10px;
	--wp-shadow:    0 1px 2px rgba(16,30,54,.06), 0 6px 24px rgba(16,30,54,.06);
	--wp-shadow-h:  0 10px 36px rgba(16,30,54,.14);
}

/* ==========================================================================
   1. 전역 톤
   ========================================================================== */
body {
	background-color: var(--wp-bg);
	color: var(--wp-text);
}
h1, h2, h3, h4, h5, h6,
.entry-title, .entry-title a {
	color: var(--wp-navy);
}
a { color: var(--wp-teal-d); }
a:hover { color: var(--wp-teal); }

/* 기본 버튼 톤 */
.wp-block-button__link,
button, input[type="submit"], .button, .ast-button,
.menu-item.wp-cta-item > a {
	border-radius: 999px;
}

/* ==========================================================================
   2. 헤더
   ========================================================================== */
/* 상단 브랜드 라인 (네이비→틸 그라데이션) */
.site-header, #masthead {
	border-top: 3px solid;
	border-image: linear-gradient(90deg, var(--wp-navy) 0%, var(--wp-teal-d) 55%, var(--wp-teal-l) 100%) 1;
}
.main-header-bar {
	background: #fff;
	border-bottom: 1px solid var(--wp-border);
	box-shadow: 0 1px 0 rgba(16,30,54,.02);
	transition: box-shadow .25s ease;
}
/* sticky 시 그림자 강조 */
.ast-header-sticked .main-header-bar,
.ast-sticky-active .main-header-bar,
.ast-primary-sticky-header-active .main-header-bar { box-shadow: 0 8px 28px rgba(16,30,54,.09); }

/* 사이트명: 2톤 브랜딩 + 태그라인 */
.site-title { line-height: 1.04 !important; margin: 0 !important; }
.site-title, .site-title a { color: var(--wp-navy) !important; font-weight: 800; letter-spacing: -.02em; }
.site-title a { display: inline-block; }
.wp-brand-name { display: block; font-size: 25px; font-weight: 800; }
.wp-brand-accent { color: var(--wp-teal) !important; }
.wp-brand-tag {
	display: block; margin-top: 4px;
	font-size: 10.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
	color: var(--wp-muted) !important;
}
.ast-site-identity .site-title a:hover .wp-brand-name { color: var(--wp-teal-d); }

/* 메뉴 타이포 */
.main-header-menu .menu-item > a {
	position: relative; font-weight: 600; font-size: 15px; letter-spacing: -.01em;
	color: var(--wp-navy);
}
.main-header-menu .menu-item:not(.wp-cta-item):hover > a,
.main-header-menu .current-menu-item:not(.wp-cta-item) > a { color: var(--wp-teal-d); }
/* 메뉴 hover — 틸 언더라인 */
.main-header-menu .menu-item:not(.wp-cta-item) > a::after {
	content: ""; position: absolute; left: 16px; right: 16px; bottom: 6px;
	height: 2px; background: var(--wp-teal); border-radius: 2px;
	transform: scaleX(0); transform-origin: left; transition: transform .22s ease;
}
.main-header-menu .menu-item:not(.wp-cta-item):hover > a::after,
.main-header-menu .current-menu-item:not(.wp-cta-item) > a::after { transform: scaleX(1); }

/* 헤더 CTA 버튼 (메뉴에 주입) — 아웃라인 스타일 */
.main-header-menu .wp-cta-item { display: flex; align-items: center; margin-left: 8px; }
.main-header-menu .wp-cta-item > a,
.main-header-menu .wp-cta-item > a:hover {
	margin: 0;
	padding: 7px 16px !important;
	background: transparent;
	color: var(--wp-teal-d) !important;
	border: 1.5px solid var(--wp-teal);
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: none;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.main-header-menu .wp-cta-item > a:hover { background: var(--wp-teal); color: #fff !important; border-color: var(--wp-teal); }
.main-header-menu .wp-cta-item > a::after { display: none; }

/* 구독 CTA 매끄러운 스크롤 */
html { scroll-behavior: smooth; }
#wp-subscribe { scroll-margin-top: 90px; }

/* ==========================================================================
   3. 히어로 (커스텀)
   ========================================================================== */
.wp-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(1200px 500px at 80% -10%, rgba(20,184,166,.22), transparent 60%),
		linear-gradient(160deg, var(--wp-navy) 0%, var(--wp-navy-3) 100%);
	color: #fff;
	padding: clamp(48px, 7vw, 92px) 0;
}
/* 좌표 그리드 패턴 */
.wp-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: radial-gradient(900px 500px at 30% 30%, #000 30%, transparent 75%);
}
.wp-hero__inner {
	position: relative;
	max-width: 1200px; margin: 0 auto; padding: 0 24px;
	display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center;
}
.wp-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13px; font-weight: 700; letter-spacing: .02em;
	color: var(--wp-teal-l);
	background: rgba(20,184,166,.12);
	border: 1px solid rgba(94,234,212,.25);
	padding: 7px 14px; border-radius: 999px; margin-bottom: 20px;
}
.wp-hero__eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--wp-teal-l); box-shadow: 0 0 0 4px rgba(94,234,212,.2); }
.wp-hero h1 {
	color: #fff; font-size: clamp(30px, 4.4vw, 52px); line-height: 1.18;
	letter-spacing: -.02em; margin: 0 0 18px;
}
.wp-hero h1 .accent {
	background: linear-gradient(90deg, var(--wp-teal-l), var(--wp-teal));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.wp-hero__sub { color: rgba(255,255,255,.78); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.7; max-width: 560px; margin: 0 0 26px; }
.wp-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.wp-hero__chips span {
	font-size: 13px; font-weight: 600; color: #dbe7ff;
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
	padding: 6px 12px; border-radius: 999px;
}
.wp-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-hero__cta a { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.wp-hero__cta .primary { background: var(--wp-teal); color: #fff; box-shadow: 0 10px 24px rgba(20,184,166,.4); }
.wp-hero__cta .primary:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(20,184,166,.5); }
.wp-hero__cta .ghost { color: #fff; border: 1px solid rgba(255,255,255,.28); }
.wp-hero__cta .ghost:hover { background: rgba(255,255,255,.08); }

/* 우측: AI 검색 결과 카드 목업 (비일반적 요소 — GEO 컨셉 시각화) */
.wp-hero__mock {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 18px; padding: 18px;
	backdrop-filter: blur(6px);
	box-shadow: 0 30px 60px rgba(0,0,0,.35);
}
.wp-hero__mock .q { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.08); border-radius: 12px; padding: 12px 14px; color: #cdd9ee; font-size: 14px; }
.wp-hero__mock .q svg { flex: none; }
.wp-hero__mock .ai { margin-top: 14px; padding: 14px; border-radius: 12px; background: rgba(20,184,166,.1); border: 1px solid rgba(20,184,166,.25); }
.wp-hero__mock .ai .label { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: var(--wp-teal-l); }
.wp-hero__mock .ai p { color: #e8eefb; font-size: 13.5px; line-height: 1.6; margin: 8px 0 12px; }
.wp-hero__mock .ai .cite { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: #fff; background: var(--wp-teal-d); padding: 5px 11px; border-radius: 999px; }
.wp-hero__mock .bars { margin-top: 14px; display: grid; gap: 8px; }
.wp-hero__mock .bars i { display: block; height: 9px; border-radius: 6px; background: rgba(255,255,255,.1); }
.wp-hero__mock .bars i:nth-child(1){ width: 92%; } .wp-hero__mock .bars i:nth-child(2){ width: 78%; } .wp-hero__mock .bars i:nth-child(3){ width: 64%; }

@media (max-width: 921px) {
	.wp-hero__inner { grid-template-columns: 1fr; gap: 32px; }
	.wp-hero__mock { order: 2; }
}

/* ==========================================================================
   4. 글 목록 — 1열 목록형 (가로 카드: 이미지 좌 + 내용 우)
   ========================================================================== */
.ast-blog-layout-5-grid #main {
	display: flex !important;
	flex-direction: column;
	gap: 20px;
}
.ast-blog-layout-5-grid #main > .ast-pagination,
.ast-blog-layout-5-grid #main > nav,
.ast-blog-layout-5-grid #main > .no-results { width: 100%; }

/* 목록 아이템 본체 */
.blog .ast-article-post,
.archive .ast-article-post {
	background: var(--wp-card);
	border: 1px solid var(--wp-border);
	border-radius: var(--wp-radius);
	overflow: hidden;
	box-shadow: var(--wp-shadow);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	margin: 0;
}
.blog .ast-article-post:hover,
.archive .ast-article-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp-shadow-h);
	border-color: #d5dbe6;
}
/* 가로 배치: 이미지(좌) + 내용(우) */
.blog .ast-article-inner,
.archive .ast-article-inner {
	display: flex; flex-direction: row; align-items: stretch;
	height: 100%; border: 0 !important; box-shadow: none !important; background: transparent;
}

/* 이미지 영역 (자동 썸네일) */
.blog .ast-blog-featured-section,
.archive .ast-blog-featured-section {
	flex: 0 0 300px; width: 300px !important; max-width: 40% !important;
	margin: 0; align-self: stretch; overflow: hidden;
}
.blog .ast-blog-featured-section a,
.archive .ast-blog-featured-section a { display: block; height: 100%; overflow: hidden; }
.blog .ast-blog-featured-section img,
.archive .ast-blog-featured-section img {
	width: 100%; height: 100%; min-height: 210px; object-fit: cover; display: block; transition: transform .4s ease;
}
.blog .ast-article-post:hover .ast-blog-featured-section img,
.archive .ast-article-post:hover .ast-blog-featured-section img { transform: scale(1.04); }

/* 썸네일 없을 때 플레이스홀더 */
.blog .ast-no-thumb .ast-blog-featured-section,
.archive .ast-no-thumb .ast-blog-featured-section { display: block !important; position: relative; background: linear-gradient(135deg, var(--wp-navy), var(--wp-teal-d)); }
.blog .ast-no-thumb .ast-blog-featured-section::after,
.archive .ast-no-thumb .ast-blog-featured-section::after {
	content: "WayPoint"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	color: rgba(255,255,255,.85); font-weight: 800; letter-spacing: .04em;
}

/* 내용 영역 */
.blog .post-content,
.archive .post-content {
	flex: 1; width: auto !important; max-width: 100% !important; min-width: 0;
	padding: 22px 28px; display: flex; flex-direction: column; gap: 11px; justify-content: center;
}

/* 카테고리 뱃지 */
.blog .ast-taxonomy-container,
.archive .ast-taxonomy-container { order: -1; margin: 0; }
.blog .cat-links a,
.archive .cat-links a {
	display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .02em;
	color: var(--wp-teal-d); background: rgba(20,184,166,.1);
	padding: 4px 10px; border-radius: 999px; text-decoration: none;
}
.blog .cat-links a:hover, .archive .cat-links a:hover { background: var(--wp-teal); color: #fff; }

.blog .entry-title,
.archive .entry-title { font-size: 21px; line-height: 1.4; margin: 0; }
.blog .entry-title a,
.archive .entry-title a { color: var(--wp-navy); }
.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--wp-teal-d); }

.blog .ast-excerpt-container,
.archive .ast-excerpt-container {
	color: var(--wp-muted); font-size: 14.5px; line-height: 1.7;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
/* 발췌 안에 끼어든 인라인 이미지/위젯은 목록에서 숨김 (텍스트만) */
.blog .ast-excerpt-container img,
.archive .ast-excerpt-container img,
.blog .ast-excerpt-container .TyagGW_tableContainer,
.archive .ast-excerpt-container .TyagGW_tableContainer { display: none !important; }

.blog .entry-meta,
.archive .entry-meta { color: var(--wp-muted); font-size: 12.5px; }
.blog .read-more,
.archive .read-more { margin-top: 4px; }
.blog .read-more a,
.archive .read-more a { font-weight: 700; color: var(--wp-teal-d); }

/* 모바일: 세로 스택 */
@media (max-width: 600px) {
	.blog .ast-article-inner,
	.archive .ast-article-inner { flex-direction: column; }
	.blog .ast-blog-featured-section,
	.archive .ast-blog-featured-section { flex: none; width: 100% !important; max-width: 100% !important; }
	.blog .ast-blog-featured-section img,
	.archive .ast-blog-featured-section img { height: 200px; min-height: 0; }
	.blog .post-content, .archive .post-content { padding: 18px 20px 20px; }
}

/* ==========================================================================
   5. 사이드바 (커스텀 위젯)
   ========================================================================== */
#secondary .wp-widget {
	background: var(--wp-card);
	border: 1px solid var(--wp-border);
	border-radius: var(--wp-radius);
	padding: 20px;
	box-shadow: var(--wp-shadow);
	margin-bottom: 24px;
}
#secondary .wp-widget__title {
	font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
	color: var(--wp-navy); margin: 0 0 16px; display: flex; align-items: center; gap: 8px;
}
#secondary .wp-widget__title::before { content: ""; width: 6px; height: 16px; border-radius: 3px; background: var(--wp-teal); display: inline-block; }

/* 검색 */
#secondary .wp-search { display: flex; gap: 8px; }
#secondary .wp-search input[type="search"] { flex: 1; min-width: 0; border: 1px solid var(--wp-border); border-radius: 999px; padding: 10px 16px; font-size: 14px; background: var(--wp-bg); }
#secondary .wp-search input[type="search"]:focus { outline: none; border-color: var(--wp-teal); box-shadow: 0 0 0 3px rgba(20,184,166,.15); }
#secondary .wp-search button { flex: none; background: var(--wp-navy); color: #fff; border: 0; border-radius: 999px; width: 42px; cursor: pointer; }
#secondary .wp-search button:hover { background: var(--wp-teal-d); }

/* 카테고리 리스트 */
#secondary .wp-cats { list-style: none; margin: 0; padding: 0; }
#secondary .wp-cats li { margin: 0; }
#secondary .wp-cats li + li { border-top: 1px solid var(--wp-border); }
#secondary .wp-cats a { display: flex; align-items: center; justify-content: space-between; padding: 10px 2px; color: var(--wp-text); text-decoration: none; font-size: 14px; font-weight: 500; }
#secondary .wp-cats a:hover { color: var(--wp-teal-d); }
#secondary .wp-cats .count { font-size: 12px; font-weight: 700; color: var(--wp-muted); background: var(--wp-bg); border-radius: 999px; padding: 2px 9px; }

/* 인기/최신 글 (썸네일) */
#secondary .wp-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
#secondary .wp-posts li { display: flex; gap: 12px; align-items: center; }
#secondary .wp-posts .thumb { flex: none; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: linear-gradient(135deg, var(--wp-navy), var(--wp-teal-d)); }
#secondary .wp-posts .meta a { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--wp-navy); text-decoration: none; }
#secondary .wp-posts .meta a:hover { color: var(--wp-teal-d); }
#secondary .wp-posts .meta .date { font-size: 12px; color: var(--wp-muted); margin-top: 4px; display: block; }

/* CTA 박스 */
#secondary .wp-cta {
	background: linear-gradient(160deg, var(--wp-navy), var(--wp-navy-3));
	border: 0; color: #fff; text-align: center;
}
#secondary .wp-cta .wp-widget__title { color: #fff; justify-content: center; }
#secondary .wp-cta .wp-widget__title::before { display: none; }
#secondary .wp-cta p { color: rgba(255,255,255,.8); font-size: 13.5px; line-height: 1.6; margin: 0 0 16px; }
#secondary .wp-cta a.btn { display: inline-block; background: var(--wp-teal); color: #fff; font-weight: 700; padding: 11px 22px; border-radius: 999px; text-decoration: none; box-shadow: 0 8px 18px rgba(20,184,166,.4); }
#secondary .wp-cta a.btn:hover { background: var(--wp-teal-l); color: var(--wp-navy); }

/* 태그 */
#secondary .wp-tags { display: flex; flex-wrap: wrap; gap: 8px; }
#secondary .wp-tags a { font-size: 12.5px; font-weight: 600; color: var(--wp-muted); background: var(--wp-bg); border: 1px solid var(--wp-border); padding: 5px 11px; border-radius: 999px; text-decoration: none; }
#secondary .wp-tags a:hover { color: #fff; background: var(--wp-teal-d); border-color: var(--wp-teal-d); }

/* 사이드바 sticky */
@media (min-width: 922px) {
	#secondary .sidebar-main { position: sticky; top: 100px; }
}

/* ==========================================================================
   6. 단일 글 / 페이지 본문 가독성
   ========================================================================== */
.single .entry-content, .page .entry-content { font-size: 16.5px; line-height: 1.8; }
.single .entry-content img, .page .entry-content img { border-radius: var(--wp-radius-sm); }
.ast-separate-container .ast-article-single { border-radius: var(--wp-radius); box-shadow: var(--wp-shadow); border: 1px solid var(--wp-border); }

/* 도움 페이지 공용 컴포넌트 (자동 생성 페이지에서 사용) */
.wp-page-hero { background: linear-gradient(160deg, var(--wp-navy), var(--wp-navy-3)); color:#fff; border-radius: var(--wp-radius); padding: 40px 36px; margin-bottom: 32px; }
.wp-page-hero h2, .wp-page-hero h1 { color:#fff; margin:0 0 10px; }
.wp-page-hero p { color: rgba(255,255,255,.82); margin:0; font-size: 16px; }
.wp-steps { counter-reset: step; display:grid; gap:16px; margin: 24px 0; }
.wp-step { position:relative; background: var(--wp-card); border:1px solid var(--wp-border); border-radius: var(--wp-radius); padding: 20px 22px 20px 64px; box-shadow: var(--wp-shadow); }
.wp-step::before { counter-increment: step; content: counter(step); position:absolute; left:18px; top:18px; width:34px; height:34px; border-radius:50%; background: var(--wp-teal); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.wp-step h3 { margin:0 0 6px; }
.wp-grid-2 { display:grid; grid-template-columns: repeat(2,1fr); gap:16px; }
@media (max-width:768px){ .wp-grid-2 { grid-template-columns:1fr; } }
.wp-feature { background: var(--wp-card); border:1px solid var(--wp-border); border-radius: var(--wp-radius); padding: 22px; box-shadow: var(--wp-shadow); }
.wp-feature h3 { margin:0 0 8px; font-size:17px; }
.wp-feature p { margin:0; color: var(--wp-muted); }
.wp-faq { border:1px solid var(--wp-border); border-radius: var(--wp-radius); background: var(--wp-card); padding: 6px 22px; box-shadow: var(--wp-shadow); }
.wp-faq details { border-bottom:1px solid var(--wp-border); padding: 16px 0; }
.wp-faq details:last-child { border-bottom:0; }
.wp-faq summary { cursor:pointer; font-weight:700; color: var(--wp-navy); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.wp-faq summary::after { content:"+"; color: var(--wp-teal-d); font-size:22px; font-weight:400; }
.wp-faq details[open] summary::after { content:"\2212"; }
.wp-faq p { margin: 12px 0 4px; color: var(--wp-muted); line-height:1.7; }
.wp-glossary { display:grid; gap:14px; }
.wp-term { background: var(--wp-card); border:1px solid var(--wp-border); border-left:4px solid var(--wp-teal); border-radius: var(--wp-radius-sm); padding: 18px 20px; box-shadow: var(--wp-shadow); }
.wp-term h3 { margin:0 0 6px; font-size:17px; }
.wp-term p { margin:0; color: var(--wp-muted); line-height:1.7; }

/* ==========================================================================
   7. 커스텀 푸터 (네이비 4컬럼)
   ========================================================================== */
.wp-footer { background: var(--wp-navy-3); color: rgba(255,255,255,.72); padding: 56px 0 36px; }
.wp-footer__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 36px; }
.wp-footer h4 { color: #fff; font-size: 14px; letter-spacing: .03em; margin: 0 0 16px; }
.wp-footer .brand { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.wp-footer .brand span { color: var(--wp-teal-l); }
.wp-footer .desc { font-size: 14px; line-height: 1.7; margin: 12px 0 0; max-width: 320px; }
.wp-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wp-footer a { color: rgba(255,255,255,.72); text-decoration: none; font-size: 14px; }
.wp-footer a:hover { color: var(--wp-teal-l); }
.wp-footer .news input { width: 100%; box-sizing: border-box; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; border-radius: 999px; padding: 11px 16px; font-size: 14px; margin-bottom: 10px; }
.wp-footer .news input::placeholder { color: rgba(255,255,255,.5); }
.wp-footer .news button { width: 100%; background: var(--wp-teal); color: #fff; border: 0; border-radius: 999px; padding: 11px; font-weight: 700; cursor: pointer; }
.wp-footer .news button:hover { background: var(--wp-teal-l); color: var(--wp-navy); }
@media (max-width: 921px) { .wp-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 540px) { .wp-footer__inner { grid-template-columns: 1fr; } }

/* Astra 기본 카피라이트 바를 푸터 톤에 맞춤 */
.site-below-footer-wrap { background: var(--wp-navy) !important; }
.site-below-footer-wrap .ast-footer-copyright * { color: rgba(255,255,255,.6) !important; }
.site-below-footer-wrap a { color: var(--wp-teal-l) !important; }
.wp-footer .foot-btn { display: inline-block; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); color: #fff; padding: 10px 18px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; }
.wp-footer .foot-btn:hover { background: var(--wp-teal); border-color: var(--wp-teal); color: #fff; }

/* ==========================================================================
   8. 스크롤 등장 애니메이션
   ========================================================================== */
.wp-reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.wp-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .wp-reveal { opacity: 1; transform: none; transition: none; } }

/* ==========================================================================
   9. 블로그 상단 대표 글 (피처드)
   ========================================================================== */
.wp-featured {
	display: grid; grid-template-columns: 1.05fr 1fr; gap: 0;
	background: var(--wp-card); border: 1px solid var(--wp-border); border-radius: var(--wp-radius);
	overflow: hidden; box-shadow: var(--wp-shadow); margin-bottom: 30px; text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.wp-featured:hover { transform: translateY(-4px); box-shadow: var(--wp-shadow-h); }
.wp-featured__media { position: relative; min-height: 260px; background: linear-gradient(135deg, var(--wp-navy), var(--wp-teal-d)); overflow: hidden; }
.wp-featured__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.wp-featured:hover .wp-featured__media img { transform: scale(1.04); }
.wp-featured__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.9); font-weight: 800; font-size: 22px; letter-spacing: .04em; }
.wp-featured__flag { position: absolute; top: 16px; left: 16px; background: var(--wp-teal); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; padding: 5px 12px; border-radius: 999px; box-shadow: 0 6px 16px rgba(20,184,166,.4); }
.wp-featured__body { padding: 30px 32px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.wp-featured__cat { font-size: 12px; font-weight: 800; letter-spacing: .02em; color: var(--wp-teal-d); background: rgba(20,184,166,.1); padding: 5px 12px; border-radius: 999px; align-self: flex-start; }
.wp-featured__title { font-size: clamp(20px, 2.2vw, 27px); line-height: 1.32; margin: 0; color: var(--wp-navy); }
.wp-featured__excerpt { color: var(--wp-muted); font-size: 15px; line-height: 1.7; margin: 0; }
.wp-featured__more { font-weight: 700; color: var(--wp-teal-d); margin-top: 4px; }
@media (max-width: 880px) { .wp-featured { grid-template-columns: 1fr; } .wp-featured__media { min-height: 200px; } }

/* ==========================================================================
   10. 단일 글: 읽는시간 / 목차 / 진행바 / 공유
   ========================================================================== */
/* 진행 바 */
.wp-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: transparent; z-index: 9999; }
.wp-progress > i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--wp-teal), var(--wp-teal-l)); transition: width .1s linear; }

/* 읽는 시간 */
.wp-readbar { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; }
.wp-readbar__time { font-size: 13px; font-weight: 700; color: var(--wp-teal-d); background: rgba(20,184,166,.1); padding: 6px 14px; border-radius: 999px; }

/* 목차 */
.wp-toc { background: var(--wp-bg); border: 1px solid var(--wp-border); border-left: 4px solid var(--wp-teal); border-radius: var(--wp-radius-sm); padding: 18px 22px; margin: 0 0 28px; }
.wp-toc__title { font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--wp-navy); margin-bottom: 12px; }
.wp-toc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.wp-toc li.lvl-h3 { padding-left: 16px; }
.wp-toc li.lvl-h3 a::before { content: "— "; color: var(--wp-muted); }
.wp-toc a { color: var(--wp-muted) !important; text-decoration: none !important; box-shadow: none !important; font-size: 14.5px; font-weight: 500; transition: color .15s ease; }
.wp-toc a:hover, .wp-toc a.is-active { color: var(--wp-teal-d) !important; font-weight: 700; }

/* 공유 */
.wp-share { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 36px 0 6px; padding: 20px 22px; background: var(--wp-bg); border: 1px solid var(--wp-border); border-radius: var(--wp-radius); }
.wp-share__label { font-weight: 700; color: var(--wp-navy); font-size: 15px; }
.wp-share__btns { display: flex; gap: 10px; }
.wp-share__btns button { position: relative; width: 42px; height: 42px; border: 1px solid var(--wp-border); background: #fff; border-radius: 50%; cursor: pointer; font-weight: 800; color: var(--wp-navy); font-size: 15px; display: inline-flex; align-items: center; justify-content: center; transition: all .15s ease; }
.wp-share__btns button:hover { background: var(--wp-navy); color: #fff; border-color: var(--wp-navy); transform: translateY(-2px); }
.wp-share__btns [data-share="copy"] .done { display: none; position: absolute; font-size: 10px; }
.wp-share__btns [data-share="copy"].copied { width: auto; padding: 0 14px; border-radius: 999px; background: var(--wp-teal); color: #fff; border-color: var(--wp-teal); }
.wp-share__btns [data-share="copy"].copied .ico { display: none; }
.wp-share__btns [data-share="copy"].copied .done { display: inline; position: static; }

/* ==========================================================================
   11. 관련 글
   ========================================================================== */
.wp-related { margin: 44px 0 0; }
.wp-related__title { font-size: 20px; margin: 0 0 20px; color: var(--wp-navy); }
.wp-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 880px) { .wp-related__grid { grid-template-columns: 1fr; } }
.wp-rcard { background: var(--wp-card); border: 1px solid var(--wp-border); border-radius: var(--wp-radius); overflow: hidden; box-shadow: var(--wp-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.wp-rcard:hover { transform: translateY(-4px); box-shadow: var(--wp-shadow-h); }
.wp-rcard__media { display: block; height: 140px; overflow: hidden; position: relative; background: linear-gradient(135deg, var(--wp-navy), var(--wp-teal-d)); }
.wp-rcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.wp-rcard:hover .wp-rcard__media img { transform: scale(1.05); }
.wp-rcard__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.9); font-weight: 800; letter-spacing: .04em; }
.wp-rcard__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 9px; }
.wp-rcard__cat { align-self: flex-start; font-size: 11.5px; font-weight: 700; color: var(--wp-teal-d); background: rgba(20,184,166,.1); padding: 4px 10px; border-radius: 999px; text-decoration: none; }
.wp-rcard__heading { font-size: 16px; line-height: 1.45; margin: 0; }
.wp-rcard__heading a { color: var(--wp-navy); text-decoration: none; }
.wp-rcard__heading a:hover { color: var(--wp-teal-d); }
.wp-rcard__date { font-size: 12.5px; color: var(--wp-muted); }

/* ==========================================================================
   12. 풀폭 뉴스레터 CTA 밴드
   ========================================================================== */
.wp-band { background: radial-gradient(900px 400px at 85% 0%, rgba(20,184,166,.25), transparent 60%), linear-gradient(160deg, var(--wp-navy), var(--wp-navy-3)); color: #fff; }
.wp-band__inner { max-width: 1100px; margin: 0 auto; padding: 52px 24px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; }
.wp-band__text h2 { color: #fff; font-size: clamp(20px, 2.4vw, 28px); margin: 0 0 10px; }
.wp-band__text p { color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.7; margin: 0; }
.wp-band__form { display: flex; gap: 10px; }
.wp-band__form input { flex: 1; min-width: 0; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; border-radius: 999px; padding: 14px 20px; font-size: 15px; }
.wp-band__form input::placeholder { color: rgba(255,255,255,.55); }
.wp-band__form input:focus { outline: none; border-color: var(--wp-teal-l); box-shadow: 0 0 0 3px rgba(94,234,212,.2); }
.wp-band__form button { flex: none; background: var(--wp-teal); color: #fff; border: 0; border-radius: 999px; padding: 14px 26px; font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 10px 24px rgba(20,184,166,.4); }
.wp-band__form button:hover { background: var(--wp-teal-l); color: var(--wp-navy); }
@media (max-width: 880px) { .wp-band__inner { grid-template-columns: 1fr; gap: 22px; } }

/* ==========================================================================
   13. 본문 타이포 디테일 (인용구·콜아웃·캡션·드롭캡)
   ========================================================================== */
.single .entry-content blockquote, .page .entry-content blockquote {
	margin: 28px 0; padding: 18px 24px; border: 0; border-left: 4px solid var(--wp-teal);
	background: var(--wp-bg); border-radius: 0 var(--wp-radius-sm) var(--wp-radius-sm) 0;
	color: var(--wp-navy); font-size: 17px; font-style: normal;
}
.single .entry-content blockquote p:last-child, .page .entry-content blockquote p:last-child { margin-bottom: 0; }
.single .entry-content figure.wp-caption, .single .entry-content figure img + figcaption,
.single .entry-content .wp-caption-text, .single .entry-content figcaption {
	text-align: center; font-size: 13px; color: var(--wp-muted); margin-top: 8px;
}
.single .entry-content h2 { margin-top: 1.8em; padding-top: .2em; }
.single .entry-content h2::before { content: ""; display: block; width: 36px; height: 3px; background: var(--wp-teal); border-radius: 3px; margin-bottom: 14px; }
.single .entry-content ul li::marker { color: var(--wp-teal-d); }
/* 콜아웃: <blockquote class="callout"> 또는 그냥 강조용 */
.single .entry-content .callout { border-left-color: var(--wp-navy); }

/* ==========================================================================
   14. 404
   ========================================================================== */
.wp-404 { max-width: 620px; margin: 40px auto; text-align: center; padding: 20px; }
.wp-404__badge { display: inline-block; font-size: 64px; font-weight: 900; letter-spacing: .02em; background: linear-gradient(90deg, var(--wp-navy), var(--wp-teal)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wp-404__title { margin: 6px 0 12px; }
.wp-404__desc { color: var(--wp-muted); line-height: 1.7; margin: 0 0 26px; }
.wp-404__search { display: flex; gap: 10px; max-width: 440px; margin: 0 auto 22px; }
.wp-404__search input { flex: 1; border: 1px solid var(--wp-border); border-radius: 999px; padding: 12px 18px; font-size: 15px; background: #fff; }
.wp-404__search input:focus { outline: none; border-color: var(--wp-teal); box-shadow: 0 0 0 3px rgba(20,184,166,.15); }
.wp-404__search button { background: var(--wp-navy); color: #fff; border: 0; border-radius: 999px; padding: 0 22px; font-weight: 700; cursor: pointer; }
.wp-404__search button:hover { background: var(--wp-teal-d); }
.wp-404__links { display: flex; gap: 12px; justify-content: center; margin-bottom: 34px; }
.wp-404__links a { padding: 12px 24px; border-radius: 999px; font-weight: 700; text-decoration: none; }
.wp-404__links .primary { background: var(--wp-teal); color: #fff; }
.wp-404__links .primary:hover { background: var(--wp-teal-d); }
.wp-404__links .ghost { border: 1px solid var(--wp-border); color: var(--wp-navy); }
.wp-404__links .ghost:hover { border-color: var(--wp-teal); color: var(--wp-teal-d); }
.wp-404__recent { text-align: left; background: var(--wp-card); border: 1px solid var(--wp-border); border-radius: var(--wp-radius); padding: 22px; box-shadow: var(--wp-shadow); }
.wp-404__recent-title { font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--wp-muted); margin-bottom: 12px; }
.wp-404__recent ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wp-404__recent a { color: var(--wp-navy); text-decoration: none; font-weight: 600; }
.wp-404__recent a:hover { color: var(--wp-teal-d); }

/* 검색 결과 없음 */
.search-no-results .no-results, .ast-no-results { text-align: center; }

/* ==========================================================================
   15. 문의하기 페이지 + CF7 폼
   ========================================================================== */
.wp-contact__lead { color: var(--wp-muted); font-size: 16px; line-height: 1.7; max-width: 720px; margin: 0 0 30px; }
.wp-contact__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 30px; align-items: start; }
@media (max-width: 880px) { .wp-contact__grid { grid-template-columns: 1fr; gap: 22px; } }

/* 좌측 안내 카드 */
.wp-contact__info { display: grid; gap: 14px; align-content: start; }
.wp-contact__card {
	display: flex; gap: 14px; align-items: flex-start;
	background: var(--wp-card); border: 1px solid var(--wp-border); border-radius: var(--wp-radius);
	padding: 18px 20px; box-shadow: var(--wp-shadow);
}
.wp-contact__card .ic {
	flex: none; width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
	font-size: 20px; background: rgba(20,184,166,.1);
}
.wp-contact__card h3 { margin: 0 0 4px; font-size: 15.5px; color: var(--wp-navy); }
.wp-contact__card p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--wp-muted); }
.wp-contact__faq {
	display: inline-block; margin-top: 4px; padding: 12px 18px; text-align: center;
	background: var(--wp-navy); color: #fff !important; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none;
	transition: background .18s ease;
}
.wp-contact__faq:hover { background: var(--wp-teal-d); }

/* 우측 폼 카드 */
.wp-contact__form {
	background: var(--wp-card); border: 1px solid var(--wp-border); border-radius: var(--wp-radius);
	padding: clamp(22px, 3vw, 34px); box-shadow: var(--wp-shadow);
}

/* CF7 폼 요소 (테마 톤) */
.wpcf7 .wp-cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 600px) { .wpcf7 .wp-cf-grid { grid-template-columns: 1fr; gap: 0; } }
.wpcf7 .wp-cf-field { margin: 0 0 18px; display: flex; flex-direction: column; gap: 7px; }
.wpcf7 .wp-cf-label { font-weight: 700; font-size: 14px; color: var(--wp-navy); }
.wpcf7 .wp-cf-label .req { color: #e11d48; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 10px;
	padding: 12px 14px; font-size: 15px; background: #fff; color: var(--wp-text);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wpcf7 textarea { min-height: 160px; resize: vertical; }
.wpcf7 select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--wp-muted) 50%), linear-gradient(135deg, var(--wp-muted) 50%, transparent 50%); background-position: calc(100% - 18px) 18px, calc(100% - 13px) 18px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { outline: none; border-color: var(--wp-teal); box-shadow: 0 0 0 3px rgba(20,184,166,.15); }

.wpcf7 .wp-cf-submit { margin: 6px 0 0; }
.wpcf7 .wpcf7-submit {
	background: var(--wp-teal); color: #fff; border: 0; border-radius: 999px;
	padding: 13px 34px; font-weight: 700; font-size: 15px; cursor: pointer;
	transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
	box-shadow: 0 8px 18px rgba(20,184,166,.3);
}
.wpcf7 .wpcf7-submit:hover { background: var(--wp-teal-d); transform: translateY(-1px); box-shadow: 0 10px 22px rgba(20,184,166,.4); }
.wpcf7 .wpcf7-spinner { margin: 0 0 0 12px; }

/* 검증/응답 메시지 */
.wpcf7 .wpcf7-not-valid-tip { color: #e11d48; font-size: 12.5px; margin-top: 5px; }
.wpcf7 .wpcf7-not-valid { border-color: #e11d48 !important; }
.wpcf7-response-output { border-radius: 10px; padding: 12px 16px !important; font-size: 14px; margin: 18px 0 0 !important; }

/* 이미지 캡차(cf7ic) 정렬 */
.wpcf7 .cf7ic, .wpcf7 .cf7-image-captcha { margin: 4px 0 18px; }
