/*
Theme Name: 브로크라운 Child
Template: generatepress
Version: 1.0.4
Requires PHP: 8.1
Text Domain: brocrown-child
Description: brocrown.com 자식테마 — Astra 시절 본문 호환(색 9개·버튼·Spectra 상자)과 화면 꾸밈(머리·목록·글·바닥)을 담당합니다.
*/

/* ==========================================================================
   [본문 호환] Astra → GeneratePress  (brocrown-child 1.0.0, 2026-10-15)
   근거: audit/phase4/_wf/content_compat.md — 글은 고치지 않고 Astra가 해 주던 일을 대신함
   ========================================================================== */

/* ① Astra 색 9개 — 안전망.
   GP 전역 색상에 같은 이름(ast-global-color-0~8)을 넣으면 GP가 :root에 적은 값이 이긴다
   (html보다 :root가 우선). 전역 색상을 지우거나 이름을 잘못 적어도 본문 색은 여기 값으로 유지. */
html {
	--ast-global-color-0: #74a84a;
	--ast-global-color-1: #2c541d;
	--ast-global-color-2: #000000;
	--ast-global-color-3: #585858;
	--ast-global-color-4: #f6f8f5;
	--ast-global-color-5: #ffffff;
	--ast-global-color-6: rgba(82,104,64,0.8);
	--ast-global-color-7: rgba(82,104,64,0.5);
	--ast-global-color-8: rgba(82,104,64,0.3);
	/* 블록 '링크 색' 설정(var:preset|color|ast-global-color-N)이 찾는 이름 */
	--wp--preset--color--ast-global-color-0: var(--ast-global-color-0);
	--wp--preset--color--ast-global-color-1: var(--ast-global-color-1);
	--wp--preset--color--ast-global-color-2: var(--ast-global-color-2);
	--wp--preset--color--ast-global-color-3: var(--ast-global-color-3);
	--wp--preset--color--ast-global-color-4: var(--ast-global-color-4);
	--wp--preset--color--ast-global-color-5: var(--ast-global-color-5);
	--wp--preset--color--ast-global-color-6: var(--ast-global-color-6);
	--wp--preset--color--ast-global-color-7: var(--ast-global-color-7);
	--wp--preset--color--ast-global-color-8: var(--ast-global-color-8);
}

/* ② 색 클래스 27개 — Astra 때 워드프레스가 만들던 규칙과 같게(!important 포함).
   모두 변수를 가리키므로 GP 전역 색상 값을 바꾸면 함께 바뀐다. */
.has-ast-global-color-0-color{color:var(--ast-global-color-0)!important}
.has-ast-global-color-1-color{color:var(--ast-global-color-1)!important}
.has-ast-global-color-2-color{color:var(--ast-global-color-2)!important}
.has-ast-global-color-3-color{color:var(--ast-global-color-3)!important}
.has-ast-global-color-4-color{color:var(--ast-global-color-4)!important}
.has-ast-global-color-5-color{color:var(--ast-global-color-5)!important}
.has-ast-global-color-6-color{color:var(--ast-global-color-6)!important}
.has-ast-global-color-7-color{color:var(--ast-global-color-7)!important}
.has-ast-global-color-8-color{color:var(--ast-global-color-8)!important}
.has-ast-global-color-0-background-color{background-color:var(--ast-global-color-0)!important}
.has-ast-global-color-1-background-color{background-color:var(--ast-global-color-1)!important}
.has-ast-global-color-2-background-color{background-color:var(--ast-global-color-2)!important}
.has-ast-global-color-3-background-color{background-color:var(--ast-global-color-3)!important}
.has-ast-global-color-4-background-color{background-color:var(--ast-global-color-4)!important}
.has-ast-global-color-5-background-color{background-color:var(--ast-global-color-5)!important}
.has-ast-global-color-6-background-color{background-color:var(--ast-global-color-6)!important}
.has-ast-global-color-7-background-color{background-color:var(--ast-global-color-7)!important}
.has-ast-global-color-8-background-color{background-color:var(--ast-global-color-8)!important}
.has-ast-global-color-0-border-color{border-color:var(--ast-global-color-0)!important}
.has-ast-global-color-1-border-color{border-color:var(--ast-global-color-1)!important}
.has-ast-global-color-2-border-color{border-color:var(--ast-global-color-2)!important}
.has-ast-global-color-3-border-color{border-color:var(--ast-global-color-3)!important}
.has-ast-global-color-4-border-color{border-color:var(--ast-global-color-4)!important}
.has-ast-global-color-5-border-color{border-color:var(--ast-global-color-5)!important}
.has-ast-global-color-6-border-color{border-color:var(--ast-global-color-6)!important}
.has-ast-global-color-7-border-color{border-color:var(--ast-global-color-7)!important}
.has-ast-global-color-8-border-color{border-color:var(--ast-global-color-8)!important}

/* ③ 버튼 기본 모양 — Astra 테마 버튼(초록·흰 글자·각진 모서리)을 재현.
   선택자 강도: GP 동적 CSS(a.wp-block-button__link:not(.has-background))보다 세고,
   Spectra 글별 규칙(.wp-block-uagb-buttons .uagb-block-xxx …)보다 약하게 맞춤 → Spectra가 정한 색·여백은 그대로 이긴다. */
div.wp-block-button a.wp-block-button__link,
.entry-content .wp-block-file .wp-block-file__button {
	border-color: var(--ast-global-color-0);
	background-color: var(--ast-global-color-0);
	color: var(--ast-global-color-5);
	font-family: inherit;
	font-weight: 400;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: 3px; /* Astra 설정값 그대로. 한글이 벌어져 보이면 디자인 단계에서 지움 */
	text-transform: none;
	border-radius: 0;
	padding: 15px 40px;
}
div.wp-block-button a.wp-block-button__link:hover,
div.wp-block-button a.wp-block-button__link:focus,
.entry-content .wp-block-file .wp-block-file__button:hover,
.entry-content .wp-block-file .wp-block-file__button:focus {
	color: var(--ast-global-color-5);
	background-color: var(--ast-global-color-1);
	border-color: var(--ast-global-color-1);
}
@media (max-width: 921px) {
	div.wp-block-button a.wp-block-button__link,
	.entry-content .wp-block-file .wp-block-file__button { padding: 16px 32px; }
}
@media (max-width: 544px) {
	div.wp-block-button a.wp-block-button__link,
	.entry-content .wp-block-file .wp-block-file__button { font-size: 15px; padding: 15px 28px; }
}
.entry-content > .wp-block-buttons,
.entry-content > .wp-block-uagb-buttons { margin-bottom: 1.5em; }

/* ④ Spectra 상자(alignfull) — Astra(상자형 레이아웃)에서는 본문 폭 안에 있었음.
   GP '사이드바 없음'의 .no-sidebar .entry-content .alignfull(화면 끝까지 늘림)을 되돌림. 사이드바가 있으면 아무 일도 안 함. */
.entry-content .wp-block-uagb-container.uagb-is-root-container.alignfull {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: auto;
}

/* ⑤ Spectra 상자 안 목록 — Spectra가 Astra일 때만(body .ast-container …) 주던 여백을 그대로 */
.entry-content .wp-block-uagb-container > .uagb-container-inner-blocks-wrap > ul,
.entry-content .wp-block-uagb-container > .uagb-container-inner-blocks-wrap ol,
.entry-content .wp-block-uagb-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container > ul,
.entry-content .wp-block-uagb-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container ol {
	max-width: -webkit-fill-available;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-left: 20px;
}

/* ⑥ 구분선·옛 <hr> — Astra: 위 0, 아래 1.5em, 바탕 #ccc / GP 기본: 위아래 40px.
   자체 여백을 준 구분선 49개는 인라인 style이 이긴다. */
.entry-content hr {
	background-color: #ccc;
	margin-top: 0;
	margin-bottom: 1.5em;
}
.entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { margin: 20px auto; }

/* ⑦ 옛 표(블록이 아닌 <table>) — Astra 칸 여백·테두리 색.
   :where()로 강도를 Astra 원래 규칙(td, th)과 같게 둠 → 블록 표(.wp-block-table td)는 지금처럼 워드프레스 규칙을 따른다. */
:where(.entry-content) table,
:where(.entry-content) td,
:where(.entry-content) th { border-color: #ddd; }
:where(.entry-content) td,
:where(.entry-content) th { padding: .7em 1em; }

/* ⑧ 열(columns)·버튼 묶음 간격 — Astra theme.json의 24px */
.entry-content :where(.is-layout-flex) { gap: 24px; }

/* ⑨ 최신 글 목록 블록(글 23개) — Astra 모양: 제목 28px·검정, 줄 사이 15px.
   새 글꼴 설계에서 목록을 작게 하기로 하면 이 두 줄만 지운다. */
.entry-content .wp-block-latest-posts > li > a { font-size: 28px; color: var(--ast-global-color-2); }
.entry-content .wp-block-latest-posts:not(.is-grid) > li { margin-top: 15px; margin-bottom: 15px; }

/* ==========================================================================
   [화면] 4단계 v1.0 — 설계안 부록 E. 색은 GP 전역 색(:root)이 이기고 아래 html{}은 안전망
   ========================================================================== */
html {
	--contrast: #222222;
	--ast-global-color-0: #74a84a;
	--ast-global-color-1: #2c541d;
	--ast-global-color-2: #000000;
	--ast-global-color-3: #585858;
	--ast-global-color-4: #f6f8f5;
	--ast-global-color-5: #ffffff;
	--ast-global-color-6: rgba(82,104,64,0.8);
	--ast-global-color-7: rgba(82,104,64,0.5);
	--ast-global-color-8: rgba(82,104,64,0.3);
	--bc-text: #1f2024;
	--bc-text-2: #585858;
	--bc-green-dark: #2c541d;
	--bc-green: #74a84a;
	--bc-bg-soft: #f6f8f5;
	--bc-line: #dfe6da;
	--bc-warn-bg: #fff8e6;
	--bc-warn-line: #e0b84a;
}
:root {
	--bc-header-h: 56px;
	--bc-gutter: 18px;
	--bc-content: 780px;
	--bc-container: 1040px;
	--bc-col-gap: 28px;
	--bc-footer-text: #e8f0e1;
	--bc-footer-strong: #ffe08a;
	--bc-focus: 3px solid var(--bc-green-dark);
}
@media (min-width: 769px) { :root { --bc-gutter: 24px; } }
@media (min-width: 1000px) { :root { --bc-header-h: 72px; } }
/* #주소 이동 여백 = 머리글 + 16. Spectra 목차는 자기 스크립트로 움직여 이 값이 안 먹으므로
   functions.php [#25]가 이 값을 목차의 data-offset으로 넘김(값을 바꾸면 BRC_TOC_OFFSET도 같이) */
html { scroll-padding-top: 88px; }
@media (max-width: 999px) { html { scroll-padding-top: 72px; } }

body { background-color: #fff; }
:focus-visible { outline: var(--bc-focus); outline-offset: 2px; }

/* 글자: 낱말 단위 줄바꿈(표 칸 제외), 문단 사이 */
.entry-content p, .entry-content li, .entry-content dt, .entry-content dd, .entry-content blockquote,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6,
.entry-title, .page-title, .bc-card__title, .taxonomy-description { word-break: keep-all; overflow-wrap: break-word; }
.entry-content td, .entry-content th, .entry-content td *, .entry-content th * { word-break: normal; }
.entry-content p { margin-bottom: 1.5em; }
@media (min-width: 1025px) { .entry-content p { margin-bottom: 1.4em; } }

/* 글·페이지 본문 폭(E6 레이아웃 요소와 같은 값) */
.single-post #content, .page #content { max-width: var(--bc-content); margin-left: auto; margin-right: auto; }

/* 머리: 위에 붙음(CSS만), 낮은 화면에서는 풀림 */
.site-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--bc-line); }
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
@media (max-height: 500px) { .site-header { position: static; } }
.inside-header { min-height: var(--bc-header-h); padding: 0 var(--bc-gutter); }
.main-title { white-space: nowrap; font-weight: 800; line-height: 1.2; }
.main-title a, .main-title a:hover { color: var(--bc-green-dark); text-decoration: none; }
.menu-bar-item > a[data-gpmodal-trigger] { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 48px; min-height: 48px; }
.menu-bar-item > a[data-gpmodal-trigger]::after { content: "검색"; font-size: 1rem; font-weight: 700; line-height: 1; }
.search-modal-form .search-field, .search-modal-form .search-field:focus { height: 52px; font-size: 1.125rem; }
.bc-menu-extra { display: none; }

@media (min-width: 1000px) {
	.main-navigation .main-nav ul li a, .main-navigation .menu-bar-item > a { line-height: 72px; padding-left: 14px; padding-right: 14px; }
	.main-navigation .main-nav ul li a { font-weight: 700; }
	.main-navigation .main-nav ul li.current-menu-item > a,
	.main-navigation .main-nav ul li.current-menu-ancestor > a,
	.main-navigation .main-nav ul li.current-menu-parent > a,
	.main-navigation .main-nav ul li.current-post-ancestor > a,
	.main-navigation .main-nav ul li.current-category-ancestor > a { box-shadow: inset 0 -3px 0 var(--bc-green); }
}

@media (max-width: 999px) {
	.mobile-menu-control-wrapper .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 80px; padding: 0 12px; line-height: 1; font-size: 1.0625rem; font-weight: 700; color: var(--bc-green-dark); }
	.mobile-menu-control-wrapper .menu-bar-item > a { line-height: 1; padding-left: 10px; padding-right: 10px; }
	.has-inline-mobile-toggle #site-navigation.toggled { margin-top: 0; max-height: calc(100vh - var(--bc-header-h)); max-height: calc(100dvh - var(--bc-header-h)); overflow-y: auto; border-top: 1px solid var(--bc-line); }
	.main-navigation.toggled .main-nav ul li a { line-height: 56px; font-size: 1.125rem; font-weight: 700; padding-left: var(--bc-gutter); padding-right: var(--bc-gutter); border-bottom: 1px solid var(--bc-line); }
	.main-navigation.toggled .main-nav ul li.current-menu-item > a,
	.main-navigation.toggled .main-nav ul li.current-post-ancestor > a,
	.main-navigation.toggled .main-nav ul li.current-category-ancestor > a { background: var(--bc-bg-soft); box-shadow: inset 4px 0 0 var(--bc-green); }
	body .has-inline-mobile-toggle #site-navigation.toggled .inside-navigation > .bc-menu-extra { display: flex; flex-basis: 100%; align-items: center; padding: 4px var(--bc-gutter); font-size: 1.0625rem; }
	.bc-menu-extra a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 6px; font-weight: 700; color: var(--bc-green-dark); }
	.bc-menu-extra a:first-child { padding-left: 0; }
	.generate-back-to-top { display: none !important; }
}

/* 맨 위로(PC만) */
.generate-back-to-top { width: 48px; height: 48px; line-height: 48px; }

/* 빵부스러기 */
.bc-breadcrumb { margin: 0 0 4px; font-size: .9375rem; line-height: 1.6; color: var(--bc-text-2); }
.bc-breadcrumb p { margin: 0; }
.bc-breadcrumb a { display: inline-block; padding: 10px 0; color: var(--bc-text-2); text-decoration: underline; text-underline-offset: 3px; }
.bc-breadcrumb .separator { padding: 0 2px; }
.single .rank-math-breadcrumb .last { display: none; }
.single .rank-math-breadcrumb .separator:has(+ .last) { display: none; }

/* 글 머리: 날짜·글쓴이 줄, 안내 한 줄 */
.single-post .entry-header .entry-title { margin-bottom: 4px; }
.entry-meta .bc-date { font-size: .9375rem; line-height: 1.6; color: var(--bc-text-2); }
.bc-date strong { font-weight: 700; color: var(--bc-text); }
.bc-date__tag { white-space: nowrap; }
.bc-notice { margin: 12px 0 0; padding: 8px 12px; font-size: 1rem; line-height: 1.6; color: var(--bc-text); background: var(--bc-bg-soft); border-left: 3px solid var(--bc-green); border-radius: 4px; }
@media (min-width: 769px) { .bc-notice { font-size: .9375rem; } }
.bc-page-link { color: var(--bc-green-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bc-notice .bc-page-link { margin-left: 2px; white-space: nowrap; }

/* 글 끝: 고지 상자, 쿠팡 고지, 공유, 작성자, 관련 글 */
.bc-coupang-note { margin: 0 0 1.5em; padding: 12px 14px; font-size: .9375rem; line-height: 1.6; color: var(--bc-text); background: var(--bc-bg-soft); border: 1px solid var(--bc-line); border-radius: 8px; }
.bc-coupang-note p, .entry-content .bc-coupang-note p { margin: 0; }
.bc-endnote { margin: 32px 0 0; padding: 16px 18px; font-size: 1rem; line-height: 1.7; color: var(--bc-text); background: var(--bc-warn-bg); border: 1px solid var(--bc-warn-line); border-radius: 8px; }
.bc-endnote p { margin: 0 0 .5em; }
.bc-endnote p:last-child { margin-bottom: 0; }
.bc-endnote--giftcard, .bc-endnote--dream { background: var(--bc-bg-soft); border-color: var(--bc-line); }
.bc-share { margin: 32px 0 0; text-align: center; }
.bc-share .bc-share__btn { min-height: 48px; min-width: 160px; padding: 0 24px; font-size: 1.125rem; font-weight: 700; line-height: 1.2; color: #fff; background: var(--bc-green-dark); border: 0; border-radius: 8px; cursor: pointer; }
.bc-share .bc-share__btn:hover, .bc-share .bc-share__btn:focus { color: #fff; background: var(--bc-text); }
.bc-share__msg { min-height: 1.6em; margin: 8px 0 0; font-size: .9375rem; color: var(--bc-text-2); }
.bc-author-slot:empty { display: none; }
.bc-author { display: flex; align-items: flex-start; gap: 16px; margin: 32px 0 0; padding: 20px; background: var(--bc-bg-soft); border: 1px solid var(--bc-line); border-radius: 12px; }
.bc-author__photo { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.bc-author__body { min-width: 0; }
.bc-author p { margin: 0; }
.bc-author__name { margin-bottom: 6px; font-size: 1.125rem; }
.bc-author__bio { font-size: 1.0625rem; line-height: 1.7; }
.bc-author__links { margin-top: 6px; font-size: 1rem; }
.bc-author__links a { display: inline-block; padding: 10px 0; color: var(--bc-green-dark); text-decoration: underline; }
.bc-related { margin: 40px 0 0; }
.bc-related > h2 { margin: 0 0 16px; }
.bc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.bc-card { margin: 0; }
.bc-card__link { display: block; height: 100%; overflow: hidden; color: var(--bc-text); text-decoration: none; background: #fff; border: 1px solid var(--bc-line); border-radius: 8px; }
.bc-card__link:hover .bc-card__title, .bc-card__link:focus .bc-card__title { text-decoration: underline; }
.bc-card__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bc-bg-soft); } /* 그림 파일이 없어도 칸 크기 고정(1.0.2) */
.bc-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bc-card__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 10px 12px 4px; font-size: 1.1875rem; font-weight: 700; line-height: 1.45; }
.bc-card .bc-date { margin: 0 12px 12px; font-size: .9375rem; color: var(--bc-text-2); }
@media (max-width: 768px) {
	.bc-cards { grid-template-columns: 1fr; gap: 0; }
	.bc-card__link { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 14px 0; border: 0; border-bottom: 1px solid var(--bc-line); border-radius: 0; }
	.bc-card--noimg .bc-card__link { display: block; }
	.bc-card__img { grid-row: 1 / span 2; width: 120px; height: 90px; aspect-ratio: auto; border-radius: 8px; }
	.bc-card__img img { width: 120px; height: 90px; border-radius: 8px; }
	.bc-card__title { margin: 0 0 4px; font-size: 1.125rem; }
	.bc-card .bc-date { margin: 0; }
}

/* 목록(홈·카테고리·검색): 제목·설명·하위 바로가기 */
.page-header .page-title { margin-bottom: 8px; }
.taxonomy-description { font-size: 1rem; line-height: 1.7; color: var(--bc-text-2); }
.taxonomy-description p:last-child { margin-bottom: 0; }
.bc-subcats ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.bc-subcats li { margin: 0; }
.bc-subcats a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; font-size: 1.0625rem; color: var(--bc-green-dark); text-decoration: none; background: #fff; border: 1px solid var(--bc-line); border-radius: 999px; }
.bc-subcats a:hover { border-color: var(--bc-green-dark); }
.bc-subcats a[aria-current="page"] { color: #fff; background: var(--bc-green-dark); border-color: var(--bc-green-dark); }
.bc-page-title { margin: 0 0 20px; }

/* 홈 첫머리(E5)·검색창·카테고리 칸 */
.bc-home-intro { margin: 0; }
.bc-home-intro h1 { margin: 0 0 8px; }
.bc-home-intro__lead { margin: 0; font-size: 1.0625rem; line-height: 1.7; color: var(--bc-text-2); }
.bc-home-intro > .bc-page-link { display: inline-block; padding: 10px 0; }
.bc-home-list-title { margin: 28px 0 16px; }
.bc-search { display: flex; gap: 8px; margin: 16px 0; }
.bc-search .bc-search__input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 14px; font-size: 1.125rem; color: var(--bc-text); background: #fff; border: 2px solid var(--bc-line); border-radius: 8px; }
.bc-search .bc-search__input:focus { border-color: var(--bc-green-dark); }
.bc-search .bc-search__btn { flex: 0 0 auto; height: 52px; min-width: 80px; padding: 0 18px; font-size: 1.125rem; font-weight: 700; color: #fff; background: var(--bc-green-dark); border: 0; border-radius: 8px; cursor: pointer; }
.bc-search .bc-search__btn:hover, .bc-search .bc-search__btn:focus { color: #fff; background: var(--bc-text); }
.no-results .search-form { display: flex; gap: 8px; margin: 16px 0; }
.no-results .search-form label { flex: 1 1 auto; min-width: 0; }
.no-results .search-form .search-field { width: 100%; height: 52px; font-size: 1.125rem; }
.no-results .search-form .search-submit { min-width: 52px; height: 52px; }
.bc-tiles-nav { margin: 16px 0 0; }
.bc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 769px) { .bc-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bc-tiles li { margin: 0; }
.bc-tile { display: flex; flex-direction: column; justify-content: center; height: 100%; min-height: 64px; padding: 10px 14px; color: var(--bc-text); text-decoration: none; background: var(--bc-bg-soft); border: 1px solid var(--bc-line); border-radius: 10px; }
.bc-tile:hover { border-color: var(--bc-green-dark); }
.bc-tile__name { font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: var(--bc-green-dark); }
.bc-tile__desc { display: none; }
@media (min-width: 1025px) { .bc-tile__desc { display: block; margin-top: 2px; font-size: .9375rem; line-height: 1.5; color: var(--bc-text-2); } }

/* 목록 카드(GPP Blog 열). 광고·안내 줄은 열 한 줄 전체 */
.generate-columns-container > :not(article) { flex: 1 1 100%; margin-left: var(--bc-col-gap); }
.one-container.blog .generate-columns-container > .post.generate-columns:not(:last-child),
.one-container.archive .generate-columns-container > .post.generate-columns:not(:last-child) { padding-bottom: 0; }
.generate-columns-container .generate-columns .inside-article { position: relative; display: flex; flex-direction: column; padding: 0 0 14px; overflow: hidden; background: #fff; border: 1px solid var(--bc-line); border-radius: 8px; }
.generate-columns-container .generate-columns .inside-article .post-image { order: 0; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bc-bg-soft); } /* 그림 파일이 없어도(깨진 그림) 칸 크기 고정(1.0.2) */
.generate-columns-container .generate-columns .inside-article .post-image a { display: block; width: 100%; height: 100%; }
.generate-columns-container .generate-columns .inside-article .post-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.generate-columns-container .generate-columns footer.entry-meta { order: 1; margin: 12px 14px 0; font-size: .9375rem; }
.generate-columns-container .generate-columns .entry-header { order: 2; padding: 0 14px; }
.generate-columns-container .generate-columns .entry-summary { order: 3; margin: 8px 14px 0; font-size: 1.0625rem; line-height: 1.6; color: var(--bc-text-2); }
.generate-columns-container .generate-columns .entry-summary p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.generate-columns-container .generate-columns .entry-title { display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 12px 0 0; font-size: 1.1875rem; line-height: 1.45; }
.generate-columns-container .generate-columns .entry-title a { color: var(--bc-text); }
.generate-columns-container .generate-columns .entry-title a::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.generate-columns-container .generate-columns .post-image a,
.generate-columns-container .generate-columns .cat-links a { position: relative; z-index: 1; }
.generate-columns-container .generate-columns .entry-header .entry-meta { margin-top: 6px; }
.generate-columns-container .generate-columns .cat-links .gp-icon { display: none; }
.generate-columns-container .generate-columns .cat-links a { color: var(--bc-green-dark); font-weight: 700; }
.category .generate-columns-container .generate-columns footer.entry-meta { display: none; }
@media (max-width: 768px) {
	.generate-columns-container .generate-columns { margin-bottom: 0; }
	.generate-columns-container .generate-columns .inside-article { padding: 14px 0; border: 0; border-bottom: 1px solid var(--bc-line); border-radius: 0; }
	.generate-columns-container .generate-columns.has-post-thumbnail .inside-article { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 14px; align-items: start; }
	.generate-columns-container .generate-columns.has-post-thumbnail .inside-article .post-image { grid-column: 1; grid-row: 1 / span 3; width: 120px; height: 90px; aspect-ratio: auto; border-radius: 8px; }
	.generate-columns-container .generate-columns .inside-article .post-image img { width: 120px; height: 90px; border-radius: 8px; }
	.generate-columns-container .generate-columns.has-post-thumbnail footer.entry-meta,
	.generate-columns-container .generate-columns.has-post-thumbnail .entry-header { grid-column: 2; }
	.generate-columns-container .generate-columns footer.entry-meta { margin: 0 0 4px; }
	.generate-columns-container .generate-columns .entry-header { padding: 0; }
	.generate-columns-container .generate-columns .entry-title { margin: 0; font-size: 1.125rem; }
	.generate-columns-container .generate-columns .entry-summary { display: none; }
}

/* 목록 광고 칸: 안 채워져도 접지 않음 */
.bc-list-ad { min-height: 280px; margin: 32px 0; padding: 12px 0; text-align: center; border-top: 1px solid var(--bc-line); border-bottom: 1px solid var(--bc-line); } /* overflow:hidden 쓰지 않음: 휴대폰 꽉 찬 너비 광고(data-full-width-responsive)가 잘리면 AdSense 정책 위험 */
.generate-columns-container > .bc-list-ad { flex: 1 1 100%; margin-left: var(--bc-col-gap); }
@media (max-width: 767px) { .generate-columns-container > .bc-list-ad { margin-left: 0; } } /* GPP columns.min.css가 767px 이하에서 열 상자 음수 여백을 0으로 만들므로 맞춤 */
@media (min-width: 769px) { .bc-list-ad { min-height: 250px; } }
.bc-ad-label { margin: 0 0 8px; font-size: .875rem; line-height: 1.4; color: var(--bc-text-2); }
.bc-list-ad .widget { margin: 0; padding: 0; background: none; }

/* 쪽 번호 */
.paging-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.paging-navigation .nav-links > * { padding: 0; }
.paging-navigation .nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0 12px; font-size: 1.125rem; color: var(--bc-green-dark); text-decoration: none; border: 1px solid var(--bc-line); border-radius: 8px; }
.paging-navigation .nav-links .page-numbers.current { color: #fff; background: var(--bc-green-dark); border-color: var(--bc-green-dark); }
.paging-navigation .nav-links .page-numbers.dots { border: 0; }

/* 404 */
.bc-404__lead { font-size: 1.0625rem; color: var(--bc-text-2); }
.bc-404__sub { margin: 32px 0 12px; }
.bc-404-recent { margin: 0 0 24px; padding: 0; list-style: none; }
.bc-404-recent li { margin: 0; border-bottom: 1px solid var(--bc-line); }
.bc-404-recent a { display: block; padding: 12px 0; color: var(--bc-text); }
.bc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; font-size: 1.125rem; font-weight: 700; color: #fff; text-decoration: none; background: var(--bc-green-dark); border-radius: 8px; }
.bc-btn:hover, .bc-btn:focus { color: #fff; background: var(--bc-text); }

/* 바닥(진초록 바탕은 GP 설정) */
.site-info .inside-site-info { flex-direction: column; align-items: stretch; padding: 40px var(--bc-gutter); text-align: left; }
.site-info a, .site-info a:hover { color: #fff; }
.site-info :focus-visible { outline-color: #fff; }
.bc-footer { font-size: 1rem; line-height: 1.7; color: var(--bc-footer-text); }
.bc-footer p { margin: 0 0 8px; }
.bc-footer__brand strong { font-size: 1.25rem; color: #fff; }
.bc-footer__note { font-size: .9375rem; }
.bc-footer-menu ul { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 8px 0 12px; padding: 0; list-style: none; }
.bc-footer-menu li { margin: 0; }
.bc-footer-menu a { display: inline-flex; align-items: center; min-height: 48px; font-size: 1.0625rem; text-decoration: underline; text-underline-offset: 3px; }
.site-info .bc-footer-menu .bc-menu-strong a { color: var(--bc-footer-strong); font-weight: 700; }
@media (max-width: 768px) { .bc-footer-menu ul { flex-direction: column; } }
.site-info .copyright-bar { margin-top: 16px; padding-top: 16px; font-size: .9375rem; color: var(--bc-footer-text); border-top: 1px solid rgba(255,255,255,.25); }
