/* ==========================================================================
   BSN케어 WordPress 본문 스타일 — bsncare-content.css
   대상: the_content() 출력(Gutenberg 코어 블록) + BSN 공용 본문 컴포넌트
   전제: styles.css의 토큰(:root)이 먼저 로드되어 있어야 한다.
   정합: bsngroup-wp의 .bsn-note / .bsn-summary / .bsn-spec / .bsn-table / .bsn-source
        컴포넌트 문법과 클래스명을 동일하게 사용한다. 두 사이트에서 같은 블록이
        같은 이름·같은 모양을 갖게 하는 것이 목적이다.
   ========================================================================== */

/* 본문 측정 축 — 블록은 기본 680~720px, wide는 이미지·표에만 */
.guide-article > *,
.entry-content > *{max-width:var(--measure-post);margin-inline:auto;}
.guide-article > .alignwide,
.entry-content > .alignwide{max-width:var(--measure-wide);}
.guide-article > .alignfull,
.entry-content > .alignfull{max-width:none;}

/* ── 코어: 문단 ─────────────────────────────────────────────────────── */
.entry-content p,
.guide-article p{margin:0 0 var(--sp-prose);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);color:var(--text-2);}
.entry-content p.has-large-font-size,
.guide-article p.has-large-font-size{font-size:var(--fs-lead);line-height:1.75;color:var(--text);}
.entry-content p:last-child{margin-bottom:0;}
.entry-content strong{font-weight:var(--fw-head);color:var(--text);}
.entry-content em{font-style:normal;background:linear-gradient(transparent 62%,var(--navy-bg) 62%);}

/* ── 코어: 제목 ─────────────────────────────────────────────────────── */
/* H2는 섹션 경계다. 위쪽 여백과 얇은 규칙선으로 경계를 만든다. */
.entry-content h2,
.guide-article h2{margin:var(--sp-section) 0 var(--sp-item);padding-top:var(--sp-md);border-top:1px solid var(--border);color:var(--navy);font-size:var(--fs-h2);font-weight:var(--fw-head);line-height:var(--lh-title);letter-spacing:var(--ls-title);}
.entry-content > h2:first-child,
.guide-article section > h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.entry-content h3,
.guide-article h3{margin:var(--sp-block) 0 10px;color:var(--text);font-size:var(--fs-h3);font-weight:var(--fw-head);line-height:var(--lh-snug);letter-spacing:var(--ls-head);}
.entry-content h4{margin:var(--sp-md) 0 8px;color:var(--text);font-size:var(--fs-card-title);font-weight:var(--fw-head);letter-spacing:var(--ls-head);}
.entry-content :is(h2,h3,h4){scroll-margin-top:calc(var(--header-h) + 24px);text-wrap:balance;}

/* ── 코어: 목록 ─────────────────────────────────────────────────────── */
.entry-content :is(ul,ol){margin:0 0 var(--sp-prose);padding-left:22px;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-2);}
.entry-content li+li{margin-top:var(--sp-xs);}
.entry-content li::marker{color:var(--border-strong);}
.entry-content ol{list-style:decimal-leading-zero;}
.entry-content ol li::marker{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--navy);letter-spacing:var(--ls-numeral);}
.entry-content li > :is(ul,ol){margin:var(--sp-xs) 0 0;}

/* ── 코어: 인용 ─────────────────────────────────────────────────────── */
.entry-content blockquote,
.entry-content .wp-block-quote{margin:var(--sp-block) 0;padding:0 0 0 var(--sp-md);border-left:2px solid var(--navy);color:var(--navy);font-size:var(--fs-h3);font-weight:var(--fw-label);line-height:var(--lh-snug);letter-spacing:var(--ls-head);}
.entry-content blockquote p{font-size:inherit;line-height:inherit;color:inherit;margin-bottom:var(--sp-item);}
.entry-content blockquote cite,
.entry-content .wp-block-quote cite{display:block;font-family:var(--font-mono);font-size:var(--fs-meta);font-style:normal;font-weight:var(--fw-body);letter-spacing:var(--ls-label-latin);color:var(--text-3);}
.entry-content .wp-block-pullquote{margin:var(--sp-section) 0;padding:var(--pad-card) 0;border-block:1px solid var(--border);border-inline:0;text-align:left;}

/* ── 코어: 표 ───────────────────────────────────────────────────────── */
.entry-content .wp-block-table{max-width:var(--measure-table);margin:var(--sp-block) auto;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.entry-content .wp-block-table table,
.entry-content table,
.bsn-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--fs-small);line-height:var(--lh-meta);font-variant-numeric:tabular-nums;}
.entry-content th,.bsn-table th{padding:13px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--border-strong);color:var(--navy);font-weight:var(--fw-head);text-align:left;letter-spacing:var(--ls-head);}
.entry-content td,.bsn-table td{padding:13px 14px;border-bottom:1px solid var(--border);color:var(--text-2);}
.entry-content :is(th,td).num,.bsn-table :is(th,td).num,.bsn-table td.unit-price{text-align:right;letter-spacing:var(--ls-numeral);}
.entry-content .wp-block-table figcaption,
.bsn-table__caption{margin:12px 0 0;color:var(--text-3);font-size:var(--fs-meta);line-height:var(--lh-meta);}
.bsn-table-wrap{max-width:var(--measure-table);margin:var(--sp-block) auto;overflow-x:auto;}

/* ── 코어: 이미지 · 갤러리 ──────────────────────────────────────────── */
.entry-content :is(.wp-block-image,figure.wp-block-image){margin:var(--sp-block) 0;}
.entry-content .wp-block-image img{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);}
.entry-content figcaption{margin-top:10px;color:var(--text-3);font-size:var(--fs-meta);line-height:var(--lh-meta);text-align:left;}
.entry-content .wp-block-gallery{gap:var(--sp-item);margin:var(--sp-block) 0;}
.entry-content .wp-block-embed{margin:var(--sp-block) 0;}
.entry-content .wp-block-embed iframe{width:100%;border-radius:var(--radius);}

/* ── 코어: 구분선 · 버튼 · 코드 ─────────────────────────────────────── */
.entry-content .wp-block-separator{max-width:32px;margin:var(--sp-section) 0;border:0;border-top:2px solid var(--navy);opacity:1;}
.entry-content .wp-block-separator.is-style-wide{max-width:var(--measure-post);border-top-width:1px;border-color:var(--border);}
.entry-content .wp-block-buttons{margin:var(--sp-block) 0;gap:10px;}
.entry-content .wp-block-button__link{min-height:var(--hit-secondary);padding:0 20px;display:inline-flex;align-items:center;border-radius:var(--radius);background:var(--navy);color:#fff;font-size:var(--fs-small);font-weight:var(--fw-head);letter-spacing:var(--ls-head);text-decoration:none;}
.entry-content .wp-block-button__link:hover{background:var(--navy-hover);color:#fff;}
.entry-content .is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--border-strong);color:var(--navy);}
.entry-content :is(code,kbd){padding:2px 6px;border-radius:3px;background:var(--bg-subtle);font-family:var(--font-mono);font-size:.92em;color:var(--ink);}

/* ── 코어: 색·정렬 프리셋 (theme.json 팔레트와 1:1) ─────────────────── */
.entry-content .has-accent-color{color:var(--navy);}
.entry-content .has-accent-background-color{background-color:var(--navy);}
.entry-content .has-base-subtle-background-color{background-color:var(--bg-subtle);}
.entry-content .has-navy-deep-background-color{background-color:var(--navy-deep);color:#fff;}
.entry-content .has-contrast-3-color{color:var(--text-3);}

/* ==========================================================================
   BSN 공용 본문 컴포넌트 — bsngroup-wp와 동일 클래스·동일 형태
   블록 패턴(patterns/*.php)이 이 마크업을 삽입한다.
   ========================================================================== */

/* 짚고 갈 점 (L2) — 놓치기 쉬운 조건 1개, 3줄 이내 */
.bsn-note{margin:var(--sp-block) 0;padding:var(--sp-md) var(--pad-card);border-left:2px solid var(--state-alert);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-subtle);}
.bsn-note__label{margin:0 0 var(--sp-xs)!important;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-body);letter-spacing:var(--ls-label-latin);color:var(--state-alert);}
.bsn-note p:last-child{margin:0;font-size:var(--fs-small);line-height:1.8;color:var(--text-2);}

/* 출처 캡션 (L1) — 수치·법규 바로 아래 한 문단 */
.bsn-source{margin:calc(var(--sp-prose) * -0.55) 0 var(--sp-md)!important;font-size:var(--fs-meta)!important;line-height:1.7;color:var(--text-3)!important;}

/* 원문 링크 구분선 단일화 */
.guide-article > :is(.case-source,section[aria-labelledby="guide-source"]) > .guide-source{margin:0;padding-top:0;border-top:0;}

/* 관련 콘텐츠 구분선 단일화 */
.guide-article > :is(.guide-related,.guide-case-links,.guide-evidence) > h2{margin:0 0 var(--sp-item);padding-top:0;border-top:0;color:var(--navy);font-size:var(--fs-h2-support);font-weight:var(--fw-head);line-height:var(--lh-title);letter-spacing:var(--ls-title);}

/* 스펙 라인 (L1) — 항목 4개 이상은 --rows */
.bsn-spec{margin:var(--sp-item) 0 var(--sp-md);padding:12px 0;border-block:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-small);line-height:var(--lh-meta);color:var(--text-2);}
.bsn-spec--rows{display:flex;flex-direction:column;gap:0;margin:22px 0 var(--sp-block);padding:0;border-block:0;font-family:var(--font-sans);font-size:var(--fs-ui);line-height:1.9;}
.bsn-spec__row{display:flex;justify-content:space-between;gap:var(--sp-item);margin:0!important;padding:9px 0;border-bottom:1px solid var(--border);}
.bsn-spec__label{color:var(--text-3);}
.bsn-spec__value{flex:0 0 auto;font-weight:var(--fw-head);color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;}

/* 번호 체크리스트 (L2) — 순서 있는 확인 절차 3~5개 */
.bsn-numbered{display:flex;flex-direction:column;gap:var(--sp-md);margin:var(--sp-block) 0;}
.bsn-numbered__item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:0;border:0;}
.bsn-numbered__num{display:block;margin:0!important;font-family:var(--font-mono);font-size:var(--fs-small);font-weight:var(--fw-body);line-height:var(--lh-body);letter-spacing:var(--ls-numeral);color:var(--navy);}
.bsn-numbered h3{margin:0 0 6px!important;font-size:var(--fs-ui);}
.bsn-numbered p{margin:0!important;font-size:var(--fs-ui);line-height:var(--lh-body);color:var(--text-2);}

/* 정리 블록 + 상담 CTA (L3) — 글 맨 끝 1회, 새 정보 금지 */
.bsn-summary{max-width:var(--measure-title)!important;margin:var(--sp-section) auto 0;padding:var(--pad-card) 30px;background:var(--navy-deep);border-radius:var(--radius);}
.bsn-summary__label{margin:0 0 var(--sp-item)!important;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-body);letter-spacing:var(--ls-label-latin);color:#9db0cd;}
.bsn-summary :is(ul,ol){margin:0;padding-left:20px;font-size:var(--fs-ui);line-height:1.9;color:#e8eaed;}
.bsn-summary li+li{margin-top:10px;}
.bsn-summary li::marker{color:rgba(255,255,255,.4);}
.bsn-summary__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:var(--sp-md);border-top:1px solid rgba(255,255,255,.16);}
.bsn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--hit-secondary);padding:0 24px;border:1px solid transparent;border-radius:var(--radius);font-size:var(--fs-small);font-weight:var(--fw-head);text-decoration:none;cursor:pointer;transition:background-color var(--duration) var(--ease);}
.bsn-btn--on-navy{background:#fff;color:var(--navy);}
.bsn-btn--on-navy:hover{background:#e8eaed;color:var(--navy);}
.bsn-btn--on-navy-ghost{border-color:rgba(255,255,255,.34);color:#fff;}

/* 상담 CTA의 반전 색상 유지 */
.guide-article > .guide-contact h2{margin:0;padding-top:0;border-top:0;color:var(--bg);font-size:var(--fs-h2-support);font-weight:var(--fw-head);line-height:var(--lh-title);letter-spacing:var(--ls-title);}
.guide-article > .guide-contact p{margin:12px 0 0;color:var(--on-navy);font-size:var(--fs-ui);line-height:var(--lh-body);letter-spacing:var(--ls-body);}

@media (max-width:639px){
  .bsn-summary{padding:var(--sp-md);}
  .bsn-summary__actions{display:grid;}
  .bsn-summary__actions .bsn-btn{width:100%;}
  .bsn-numbered__item{display:block;padding-inline-start:14px;border-inline-start:2px solid var(--border-strong);}
  .bsn-numbered__num{display:none;}
  .bsn-spec__row{gap:14px;font-size:var(--fs-small);}
  .entry-content h2,.guide-article h2{margin-top:var(--sp-lg);}
}

@media print{
  .bsn-summary{background:none;border:1px solid var(--border-strong);}
  .bsn-summary :is(ul,ol){color:var(--text);}
  .bsn-summary__actions,.entry-content .wp-block-buttons{display:none;}
  .bsn-spec,.bsn-note,.bsn-numbered__item,.entry-content figure,.entry-content table{break-inside:avoid;}
}
