/*
Theme Name: YUHNJOON Forest
Description: 화이트·우드톤·숲 미니멀 테마 — 텍스트 최소, 안개 낀 숲 풍경 (Twenty Twenty-Five 자식 테마, 2026-11-12 Claude Code)
Template: twentytwentyfive
Version: 1.1.1
Text Domain: yj-forest
*/

html { background: #fbfaf7; }
body { word-break: keep-all; overflow-wrap: anywhere; -webkit-font-smoothing: antialiased; }
::selection { background: #c8a97e; color: #fff; }
:focus-visible { outline: 1px solid #8b6b4a; outline-offset: 3px; }
.yj-skip { position: absolute; left: -999px; }
.yj-skip:focus { left: 1rem; top: 1rem; background: #fbfaf7; padding: .25rem .5rem; z-index: 99; }

/* 첫 화면: 숲 풍경 한 장 + 이름 */
.yj-scene {
  position: relative; min-height: 100vh; min-height: 100svh; margin: 0 !important; padding: 0 !important;
  background: #fbfaf7 url("assets/forest-2.svg") center bottom / cover no-repeat;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
}
.yj-name { margin: 0; padding-top: 24vh; font-size: clamp(.8rem, 1.6vw, 1rem) !important; font-weight: 500 !important; letter-spacing: .6em !important; text-indent: .6em; color: #8b6b4a !important; text-transform: uppercase; }
.yj-name::after { content: ""; display: block; width: 28px; height: 1px; margin: 1.4rem auto 0; background: #c8a97e; }
.yj-corner { position: absolute; right: 1.5rem; bottom: 2.2rem; margin: 0; font-size: .72rem !important; letter-spacing: .2em; }
.yj-corner { top: 1.6rem; bottom: auto !important; }
.yj-corner a { color: #b5ae9f; }
.yj-corner a:hover { color: #8b6b4a; }
body.home .wp-site-blocks { padding: 0 !important; }
body.home .wp-site-blocks > * { margin-block-start: 0 !important; }

/* 그 밖의 페이지(게스트 등): 여백 많은 흰 종이 */
.yj-header { padding: 2.5rem 0 1rem; }
.yj-footer { padding: 4rem 0 2.5rem; color: #b5ae9f; font-size: .75rem; letter-spacing: .15em; }
.yj-footer a { color: #b5ae9f; }
.yj-strip { height: 120px; background: url("assets/forest-2.svg") center bottom / cover no-repeat; opacity: .9; margin-top: 4rem !important; }
.wp-block-post-content a { border-bottom: 1px solid #e6dfd3; }
.wp-block-post-content a:hover { border-color: #8b6b4a; }
.wp-block-table th, .wp-block-table td { border: 0 !important; border-bottom: 1px solid #e6dfd3 !important; padding: .6rem .5rem !important; text-align: left; font-weight: 300; }
.wp-block-table th { color: #8a8578; font-weight: 400; }
.wp-block-table thead { border-bottom: 1px solid #c8a97e !important; }
h1.wp-block-post-title, h1.wp-block-heading { font-weight: 400 !important; letter-spacing: .02em; }
input[type=text], input[type=email], input[type=password], input[type=search], textarea { border: 1px solid #e6dfd3; background: #fff; border-radius: 2px; padding: .5rem .7rem; }

@media (max-width: 600px) { .yj-name { padding-top: 20vh; letter-spacing: .45em !important; text-indent: .45em; } .yj-corner { right: 1rem; } }
.wp-site-blocks { padding-bottom: 0 !important; }
.yj-strip { margin-bottom: 0 !important; }

/* 짧은 페이지에서도 숲 띠가 화면 맨 아래에 */
.wp-site-blocks { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.wp-site-blocks > main, .wp-site-blocks > .wp-block-group:has(> main) { flex: 1 0 auto; }
.wp-site-blocks > footer { margin-top: auto !important; }

/* 카테고리: 이름 아래 작은 글자 한 줄 */
.yj-cats { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem; margin-top: 2.2rem; font-size: .72rem; letter-spacing: .28em; text-transform: lowercase; }
.yj-cats a { color: #8a8578; }
.yj-cats a:hover, .yj-cats a[aria-current] { color: #3d4a35; }
.yj-cats-top { margin: 0 0 3rem; }

/* 카테고리 목록: 사진이 있으면 사진 카드, 없으면 제목만 */
.yj-grid { gap: 2.5rem 1.75rem !important; }
.yj-grid .wp-block-post-featured-image { margin: 0 0 .8rem !important; }
.yj-grid .wp-block-post-featured-image img { border-radius: 2px; aspect-ratio: 4/3; object-fit: cover; transition: opacity .2s; }
.yj-grid .wp-block-post-featured-image a:hover img { opacity: .88; }
.yj-grid .wp-block-post-title { font-size: 1rem !important; font-weight: 400 !important; margin: 0 0 .2rem; letter-spacing: .01em; }
.yj-grid .wp-block-post-title a { color: #3b3a36; }
.yj-grid .wp-block-post-date { font-size: .75rem; color: #b5ae9f; letter-spacing: .08em; }
.yj-empty { color: #c8bfae; letter-spacing: .3em; padding: 4rem 0; }

/* 글 */
.yj-terms, .yj-terms a { font-size: .72rem; letter-spacing: .28em; color: #8a8578; text-transform: lowercase; }
.yj-date { font-size: .75rem; color: #b5ae9f; letter-spacing: .08em; }
.wp-block-post-content img, .wp-block-post-content iframe { border-radius: 2px; }
.yj-scene .yj-cats { max-width: min(90vw, 640px); padding: 0 1rem; box-sizing: border-box; }
@media (max-width: 600px) { .yj-cats { gap: .55rem 1.1rem; letter-spacing: .2em; } }
