/* ── ad_money 티스토리 발행 스킨 (한 번만 설정, 계속 재사용) ─────────────
   설치: 티스토리 관리 → 꾸미기 → 스킨 편집 → html편집 → [CSS] 탭 맨 아래에 붙여넣고 저장.
   목적: 글 본문에 무거운 인라인 CSS를 매번 넣지 않도록, 디자인을 스킨에 1회 등록.
         편집가는 가벼운 시맨틱 HTML(+ .am-* 클래스)만 출력 → 토큰 절감.
   팔레트: 본문 #1f2937 · 제목 #111827 · 주색 #2563eb · 요약 #eff6ff/#bfdbfe.
   ※ 본문은 .am-post 로 감싼다. .am-* 박스 클래스가 붙여넣기에서 유지돼야 스타일이 적용됨
     (안 되면 박스만 인라인으로 되돌리면 됨 — 본문 바탕은 그대로 예쁨). ────────── */

.am-post {
  font-family:-apple-system,'Apple SD Gothic Neo','Segoe UI',Roboto,'Noto Sans KR','Malgun Gothic',sans-serif;
  color:#1f2937; font-size:17px; line-height:1.8; word-break:keep-all;
}
.am-post p { margin:0 0 20px; font-size:17px; line-height:1.8; color:#1f2937; }
.am-post strong { color:#1d4ed8; font-weight:700; }
.am-post a { color:#2563eb; text-decoration:underline; }

.am-post h2 {
  margin:44px 0 16px; padding-left:12px; border-left:5px solid #2563eb;
  font-size:24px; line-height:1.4; font-weight:700; color:#111827;
}
.am-post h3 { margin:32px 0 12px; font-size:20px; line-height:1.45; font-weight:700; color:#1f2937; }

.am-post ul, .am-post ol { margin:0 0 20px; padding-left:22px; }
.am-post li { margin:0 0 8px; font-size:17px; line-height:1.75; color:#1f2937; }

.am-post blockquote {
  margin:24px 0; padding:14px 20px; background:#f1f5f9; border-left:4px solid #94a3b8;
  border-radius:0 8px 8px 0; font-size:17px; line-height:1.75; color:#374151;
}
.am-post blockquote cite { display:block; margin-top:8px; font-size:14px; color:#5a6678; font-style:normal; }

.am-post figure { margin:28px 0; text-align:center; }
.am-post img { display:block; width:100%; max-width:800px; height:auto; margin:0 auto; border-radius:12px; border:1px solid #e2e8f0; }
.am-post figcaption { margin-top:10px; font-size:14px; line-height:1.6; color:#5a6678; }

.am-post table { width:100%; border-collapse:collapse; margin:24px 0; font-size:15px; line-height:1.6; color:#1f2937; }
.am-post th { padding:10px 12px; background:#f1f5f9; border:1px solid #e2e8f0; text-align:left; font-weight:700; color:#111827; }
.am-post td { padding:10px 12px; border:1px solid #e2e8f0; }
.am-post tbody tr:nth-child(even) td { background:#f8fafc; }

/* 리드문(첫 문단·핵심 답변) */
.am-post .am-lead {
  margin:0 0 28px; padding:2px 0 2px 16px; border-left:4px solid #2563eb;
  font-size:19px; line-height:1.75; color:#374151; font-weight:500;
}

/* 핵심 요약 박스 */
.am-post .am-summary {
  margin:0 0 32px; padding:20px 22px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px;
}
.am-post .am-summary > b { display:block; margin:0 0 12px; font-size:15px; font-weight:700; color:#1d4ed8; }
.am-post .am-summary ul { margin:0; padding-left:20px; }

/* 목차(TOC) */
.am-post .am-toc {
  margin:0 0 32px; padding:18px 22px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px;
}
.am-post .am-toc > b { display:block; margin:0 0 12px; font-size:15px; font-weight:700; color:#111827; }
.am-post .am-toc ol { margin:0; padding-left:22px; }
.am-post .am-toc li { color:#374151; font-size:16px; }

/* 팁 / 주의 / 위험 박스 */
.am-post .am-tip, .am-post .am-warn, .am-post .am-danger {
  margin:24px 0; padding:16px 18px; border-radius:10px; border:1px solid; border-left-width:4px;
}
.am-post .am-tip { background:#f0fdf4; border-color:#bbf7d0; border-left-color:#15803d; }
.am-post .am-warn { background:#fffbeb; border-color:#fde68a; border-left-color:#b45309; }
.am-post .am-danger { background:#fef2f2; border-color:#fecaca; border-left-color:#b91c1c; }
.am-post .am-tip > b { color:#15803d; }
.am-post .am-warn > b { color:#b45309; }
.am-post .am-danger > b { color:#b91c1c; }
.am-post .am-tip > b, .am-post .am-warn > b, .am-post .am-danger > b { display:block; margin:0 0 6px; font-size:14px; font-weight:700; }
.am-post .am-tip p, .am-post .am-warn p, .am-post .am-danger p { margin:0; font-size:16px; line-height:1.7; color:#1f2937; }

/* 카드 그리드(분류형) */
.am-post .am-cards { display:flex; flex-wrap:wrap; gap:14px; margin:24px 0; }
.am-post .am-card { flex:1 1 240px; min-width:0; padding:16px 18px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; }
.am-post .am-card > b { display:block; margin:0 0 6px; font-size:16px; font-weight:700; color:#111827; }
.am-post .am-card p { margin:0; font-size:15px; line-height:1.7; color:#1f2937; }

/* 핵심 정리 박스 */
.am-post .am-outro {
  margin:36px 0 24px; padding:22px 22px 8px; background:#f8fafc; border:1px solid #e2e8f0;
  border-top:3px solid #2563eb; border-radius:12px;
}
.am-post .am-outro > b { display:block; margin:0 0 14px; font-size:17px; font-weight:700; color:#111827; }
.am-post .am-outro ul { margin:0; padding-left:20px; list-style:none; }
.am-post .am-outro li { margin:0 0 10px; }
.am-post .am-outro li::before { content:"✓ "; color:#2563eb; font-weight:700; }

/* FAQ */
.am-post .am-faq { margin:14px 0; padding:18px 20px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; }
.am-post .am-faq .am-q { margin:0 0 8px; font-size:17px; font-weight:700; color:#111827; }
.am-post .am-faq .am-a { margin:0; font-size:16px; line-height:1.75; color:#1f2937; }

/* 추천 상품(제휴) */
.am-post .am-deal { margin:28px 0; padding:18px 20px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; }
.am-post .am-deal > b { display:block; margin:0 0 12px; font-size:16px; font-weight:700; color:#111827; }
.am-post .am-deal-item { padding:14px 0; border-top:1px solid #e2e8f0; }
.am-post .am-deal-item:first-of-type { border-top:none; padding-top:0; }
.am-post .am-deal-item > b { display:block; margin:0 0 4px; font-size:16px; font-weight:700; color:#1f2937; }
.am-post .am-deal-item p { margin:0 0 10px; font-size:15px; line-height:1.7; color:#1f2937; }
.am-post .am-deal-cta {
  display:inline-block; padding:9px 18px; background:#2563eb; color:#fff !important;
  font-size:15px; font-weight:700; text-decoration:none !important; border-radius:8px;
}
.am-post .am-deal-disclosure { margin:14px 0 0; font-size:13px; line-height:1.6; color:#5a6678; }
.am-post .am-deal-banner { margin:6px 0 0; }
.am-post .am-deal-banner img { border:1px solid #e2e8f0; border-radius:8px; max-width:100%; height:auto; }

/* 참고자료 */
/* 관련 글 내부 링크 — 인라인 스타일과 동일한 모양(스킨 없이도 깨지지 않게) */
.am-post .am-related { margin:28px 0 0; padding:16px 18px; border:1px solid #e6e9ef; border-radius:12px; background:#f8fafc; }
.am-post .am-related > p { margin:0 0 8px; font-size:15px; font-weight:700; color:#1f2937; }
.am-post .am-related ul { margin:0; padding-left:18px; }
.am-post .am-related li { margin:6px 0; font-size:14px; line-height:1.7; }
.am-post .am-related a { color:#2563eb; font-weight:600; text-decoration:none; }
.am-post .am-related a:hover { text-decoration:underline; }

.am-post .am-refs { margin:40px 0 8px; padding-top:20px; border-top:1px solid #e2e8f0; }
.am-post .am-refs > b { display:block; margin:0 0 12px; font-size:15px; font-weight:700; color:#111827; }
.am-post .am-refs ol { margin:0; padding-left:20px; }
.am-post .am-refs li { font-size:14px; line-height:1.7; color:#5a6678; }

/* ── 도해(등재 자산) — figures.py 레지스트리가 렌더하는 블록 ───────────── */
.am-post .am-fig { margin: 26px 0; }
.am-post .am-fig-title { display: block; font-size: 17px; font-weight: 800; color: #1f2937; margin-bottom: 12px; }
.am-post .am-fig-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.am-post .am-fig-step { margin: 0; }
.am-post .am-fig-step img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid #e2e8f0; background: #f8fafc; }
.am-post .am-fig-t { margin: 8px 2px 0; font-size: 14px; line-height: 1.55; color: #5a6678; }
.am-post .am-fig-t b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #2563eb; color: #fff; font-size: 13px; font-weight: 800; margin-right: 6px; vertical-align: -5px; }
.am-post .am-fig-cap { margin: 14px 0 0; font-size: 12.5px; color: #5a6678; }
.am-post .am-fig-cap a { color: #2563eb; }
.am-post .am-fig-note { margin: 4px 0 0; font-size: 12.5px; color: #94a3b8; }
@media (max-width: 560px) { .am-post .am-fig-list { grid-template-columns: 1fr; } }

/* ── 글 전용 조석 도해 — 발행 시 자동 삽입(post_figure.figure_html) ───
   여백·가운데 정렬은 위 `.am-post figure` 를 그대로 물려받는다(두 군데서 정하지 않는다).
   SVG 안에 흰 바탕이 들어 있으므로(투명하면 <img> 에서 글자가 안 읽힌다) 테두리만 준다. */
.am-post .am-figimg img { display: block; width: 100%; height: auto; border: 1px solid #e2e8f0; border-radius: 10px; }
.am-post .am-figimg figcaption { margin: 10px 2px 0; font-size: 13px; line-height: 1.6; color: #5a6678; }
.am-post .am-figimg .am-figsrc { display: block; margin-top: 3px; font-size: 12.5px; color: #94a3b8; }

/* ── 쇼츠 링크 블록 — 발행 시 자동 삽입(blog.video_html) ───────────── */
.am-post .am-video { margin: 22px 0; padding: 14px 18px; border: 1px solid #e2e8f0; border-left: 5px solid #2563eb; border-radius: 12px; background: #f8fafc; }
.am-post .am-video b { display: block; font-size: 15px; color: #1f2937; margin-bottom: 4px; }
.am-post .am-video p { margin: 0; font-size: 14.5px; color: #5a6678; line-height: 1.6; }
.am-post .am-video a { color: #2563eb; font-weight: 700; }
