/* A안: Interactive 상세만의 읽기·탐색. 홈, 책장, 사진 모음에는 적용하지 않는다. */
.esr-single{--esr-ink:#191814;--esr-muted:#777267;--esr-rule:#ddd9cd;--esr-accent:#4a6150;margin:0;min-height:100vh;background:#fbfaf7;color:var(--esr-ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;letter-spacing:-.015em}
.esr-single .esr-grid{display:grid;grid-template-columns:190px minmax(0,700px) minmax(150px,180px);gap:clamp(24px,3vw,44px);max-width:1380px;margin:0 auto;padding:clamp(32px,4vw,56px) 36px 110px;align-items:start;justify-content:center}
.esr-single .esr-grid>*{min-width:0;margin-block:0}
.esr-single a{overflow-wrap:anywhere;text-underline-offset:.2em}
.esr-single a:focus-visible{outline:3px solid #628a6e;outline-offset:3px;border-radius:3px}
.esr-rail-inner{position:sticky;top:26px;max-height:calc(100vh - 52px);overflow-y:auto;display:flex;flex-direction:column;gap:18px}
.esr-logo{display:block;width:fit-content;font-size:1.28rem;font-weight:780;letter-spacing:-.055em;color:var(--esr-ink);text-decoration:none}
.esr-intro{font-size:.77rem;line-height:1.8;color:var(--esr-muted);margin:0}
.esr-site-nav{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--esr-rule);padding-top:16px}
.esr-site-nav strong{color:var(--esr-muted);font-size:.72rem;margin-bottom:8px}
.esr-site-nav a{padding:10px 8px;border-radius:7px;color:#423e35;font-size:.86rem;text-decoration:none}
.esr-site-nav a:hover,.esr-site-nav a:focus-visible{background:#eef1e9;color:var(--esr-accent)}
.esr-months{border-top:1px solid var(--esr-rule);padding:14px 3px;font-size:.8rem}
.esr-months summary{cursor:pointer;color:var(--esr-accent);font-weight:650}
.esr-months ul{padding-left:15px;margin:10px 0 0;max-height:185px;overflow:auto;line-height:2}
.esr-months a{color:#5a574f;text-decoration:none}
.esr-back{font-size:.78rem;color:var(--esr-accent);text-decoration:none}
.esr-article{width:100%;min-width:0}
.esr-article .esr-heading{margin:50px 0 35px}
.esr-article .wp-block-post-title{font-size:clamp(1.9rem,3vw,2.65rem);font-weight:740;letter-spacing:-.05em;line-height:1.32;margin:0 0 13px;word-break:keep-all}
.esr-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--esr-muted);font-size:.79rem;line-height:1.6}
.esr-article .wp-block-post-content{font-size:clamp(1.03rem,1.3vw,1.12rem);line-height:1.98;color:#292823;letter-spacing:-.024em;word-break:keep-all;overflow-wrap:anywhere}
.esr-article .wp-block-post-content>*:not(.alignfull):not(.alignwide){max-width:100%}
.esr-article .wp-block-post-content p{margin-block:0 1.15em}
.esr-article .wp-block-post-content h2{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.45;margin-block:3rem 1rem;scroll-margin-top:30px}
/* 공백 블록은 높이가 있어 소제목의 3rem이 앞 여백과 겹치지 못하고 더해진다. 공백 뒤 소제목은 블록 간격만 둔다 */
.esr-article .wp-block-post-content .wp-block-spacer+h2{margin-top:var(--wp--style--block-gap)}
.esr-article .wp-block-post-content img{max-width:100%;height:auto}
.esr-article .wp-block-post-content blockquote{border-left:3px solid #a2b5a5;padding:15px 23px;background:#f2f2eb;margin-block:2rem}
/* 인용 안 문단도 본문 문단의 아래 여백을 받는다 — 상자의 위아래 여백을 같게 끝 요소에서 덜어 낸다 */
.esr-article .wp-block-post-content blockquote>:first-child{margin-top:0}
.esr-article .wp-block-post-content blockquote>:last-child{margin-bottom:0}
/* 표 블록 CSS는 그 블록이 있는 글에만 실린다. 사용자 정의 HTML 블록에 넣은 표도 같은 모양이 되게 코어 표 규칙을 둔다 */
.esr-article .wp-block-post-content .wp-block-table{overflow-x:auto}
.esr-article .wp-block-post-content table{border-collapse:collapse;width:100%}
.esr-article .wp-block-post-content thead{border-bottom:3px solid}
.esr-article .wp-block-post-content tfoot{border-top:3px solid}
.esr-article .wp-block-post-content :is(td,th){border:1px solid;padding:.5em}
.esr-article .wp-block-post-content pre{overflow-x:auto}
.esr-article .wp-block-post-content .wp-block-gallery{max-width:100%}
.esr-tags{margin-top:42px}.esr-tags .wp-block-post-terms{font-size:.84rem}.esr-tags a{color:var(--esr-accent)}
.esr-related{border-top:1px solid var(--esr-rule);margin-top:38px;padding-top:27px}
.esr-related h2{font-size:1.03rem;letter-spacing:-.025em;margin:0 0 16px}
.esr-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.esr-next-card{display:flex;flex-direction:column;gap:9px;padding:18px;border:1px solid var(--esr-rule);border-radius:10px;background:#fffefa;text-decoration:none;color:var(--esr-ink)}
.esr-next-card:hover{border-color:#94a693;background:#f7faf6}
.esr-next-card small{font-size:.73rem;color:var(--esr-muted)}
.esr-next-card span{font-weight:650;font-size:.88rem;line-height:1.55}
.esr-more{margin-top:20px;padding:22px;background:#f0f1e9;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.esr-more h2{font-size:.93rem;margin:0 0 5px}.esr-more p{font-size:.79rem;line-height:1.5;color:var(--esr-muted);margin:0}
.esr-more>a{font-size:.83rem;font-weight:700;white-space:nowrap;color:var(--esr-accent);text-decoration:none}
.esr-comments{margin-top:58px;border-top:1px solid var(--esr-rule);padding-top:24px}
.esr-comments .wp-block-comments{margin:0!important}
.esr-comments .wp-block-comments>h2{font-size:1.25rem;letter-spacing:-.03em}
.esr-comments .comment-form textarea{max-width:100%;border-radius:7px}
.esr-comments .wp-block-post-comments-form input[type=submit]{border-radius:8px}
.esr-aside{position:sticky;top:42px}
.esr-toc{border-top:1px solid var(--esr-rule);padding-top:17px}
.esr-toc[hidden]{display:none!important}
.esr-toc strong{font-size:.75rem;color:var(--esr-accent)}
.esr-toc ol{padding-left:19px;margin:13px 0;font-size:.78rem;line-height:1.65}
.esr-toc li{padding:5px 0}.esr-toc a{color:#656157;text-decoration:none}
.esr-toc a:hover{text-decoration:underline;color:var(--esr-accent)}
.esr-aside-links{margin-top:23px;border-top:1px solid var(--esr-rule);padding-top:15px;display:flex;flex-direction:column;gap:13px;font-size:.78rem}
.esr-aside-links a{color:var(--esr-accent);text-decoration:none}
@media(max-width:1110px){.esr-single .esr-grid{grid-template-columns:170px minmax(0,700px);gap:28px;max-width:1030px}.esr-aside{display:none}}
@media(max-width:710px){.esr-single .esr-grid{display:block;padding:22px 22px 75px}.esr-rail-inner{position:static;max-height:none;overflow:visible;gap:0}.esr-logo{font-size:1.2rem;margin-bottom:8px}.esr-intro,.esr-site-nav strong,.esr-months,.esr-back{display:none}.esr-site-nav{flex-direction:row;flex-wrap:wrap;gap:4px;border-block:1px solid var(--esr-rule);padding:7px 0;margin-top:6px}.esr-site-nav a{font-size:.76rem;padding:9px 11px}.esr-article .esr-heading{margin:32px 0 30px}.esr-article .wp-block-post-title{font-size:clamp(1.8rem,8vw,2.2rem)}.esr-article .wp-block-post-content{font-size:1.03rem;line-height:1.92}.esr-next-grid{grid-template-columns:1fr}.esr-next-card{padding:14px;gap:5px}.esr-more{padding:18px;align-items:flex-start}.esr-comments{margin-top:48px}}
@media(prefers-reduced-motion:reduce){.esr-single *{scroll-behavior:auto!important}}

/* Prevent wide/full Gutenberg blocks from overflowing the narrow reader column. */
/* The grid already supplies the side gutter; TT5's root padding on the full-aligned post content would inset the body
   from the title and shift .alignfull left by its negative margin. */
.esr-article .wp-block-post-content{--wp--style--root--padding-left:0px;--wp--style--root--padding-right:0px}
.esr-article .wp-block-post-content>.alignwide,
.esr-article .wp-block-post-content>.alignfull{max-width:100%;width:100%}
.esr-side-navigation{display:flex;flex-direction:column;gap:12px}
.esr-side-navigation strong{font-size:.75rem;color:var(--esr-accent)}

/* Comfortable pointer/touch target on the permanent article navigation. */
.esr-site-nav a{display:flex;align-items:center;min-height:48px;box-sizing:border-box}

/* Sticky must be on the grid child; a sticky inner box cannot outlive its short parent. */
@media(min-width:711px) {
	.esr-single .esr-grid>.esr-rail {position:sticky;top:26px;max-height:calc(100vh - 52px);overflow-y:auto}
	.esr-rail-inner {position:static;max-height:none;overflow:visible}
}

/* Login-required comments: Native comment form stays intact; only its logged-out prompt is styled. */
.esr-comments .esr-comment-gate{
	padding:22px 24px;
	margin-block:18px 24px;
	border:1px solid var(--esr-rule);
	border-radius:12px;
	background:#f5f5ef;
}
.esr-comment-gate__title{margin:0 0 8px;font-weight:700;font-size:1rem}
.esr-comment-gate__desc{margin:0 0 16px;font-size:.85rem;line-height:1.8;color:var(--esr-muted)}
.esr-comment-gate__action{margin:0}
.esr-comment-gate__action .nsl-container{max-width:100%;margin:0!important}
.esr-comment-gate__fallback{
	display:inline-flex;min-height:44px;align-items:center;padding:0 18px;
	border-radius:7px;background:var(--esr-accent);color:#fff;text-decoration:none;
	font-size:.87rem;font-weight:650;
}
.esr-comment-gate__fallback:hover{background:#334737;color:#fff}
@media(max-width:710px){.esr-comments .esr-comment-gate{padding:18px}}
/* footer: 본문 영역과 같은 바탕으로 이어 흰 띠를 없애고, 처리방침 링크를 위 격자의 왼쪽 열(rail)에 맞춘다. 격자 값은 .esr-grid와 같아야 한다. */
body:has(.esr-single){background-color:#fbfaf7}
body:has(.esr-single) .eeyoremind-footer{display:grid;grid-template-columns:190px minmax(0,700px) minmax(150px,180px);gap:clamp(24px,3vw,44px);max-width:1380px;margin:0 auto;padding-inline:36px;justify-content:center}
/* 코어의 constrained 레이아웃이 자식 좌우 margin을 auto !important로 주므로 같은 강도로 되돌린다. */
body:has(.esr-single) .eeyoremind-footer>.eeyoremind-footer__privacy{grid-column:1;max-width:none;margin-left:0!important;margin-right:0!important}
@media(max-width:1110px){body:has(.esr-single) .eeyoremind-footer{grid-template-columns:170px minmax(0,700px);gap:28px;max-width:1030px}}
@media(max-width:710px){body:has(.esr-single) .eeyoremind-footer{display:block;padding-inline:22px}}
