/* ──────────────────────────────────────────────────────────────
 * Single Post Content — WP the_content() 출력물 스타일
 *  - .gl-post-content (=.gl-column-view__content) 내부 마크업
 *  - 퍼블리싱 디자인 토큰(--gl-color-*, --gl-font-*)을 사용
 * ────────────────────────────────────────────────────────────── */

.gl-post-content {
    color: var(--gl-color-gray-900);
    font-size: 16px;
    line-height: 1.85;
    word-break: keep-all;
}

.gl-post-content > * + * {
    margin-top: 1em;
}

.gl-post-content h2 {
    font-family: var(--gl-font-serif);
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 700;
    color: var(--gl-color-navy);
    margin: 2.2em 0 0.8em;
    padding-left: 14px;
    border-left: 4px solid var(--gl-color-blue);
    line-height: 1.4;
    letter-spacing: -0.02em;
}

.gl-post-content h3 {
    font-size: clamp(18px, 2.2vw, 22px);
    font-weight: 700;
    color: var(--gl-color-navy);
    margin: 1.8em 0 0.6em;
    line-height: 1.45;
    letter-spacing: -0.01em;
}

.gl-post-content h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--gl-color-gray-900);
    margin: 1.5em 0 0.5em;
}

.gl-post-content p {
    margin: 0 0 1em;
}

.gl-post-content a {
    color: var(--gl-color-blue-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}
.gl-post-content a:hover {
    color: var(--gl-color-navy);
}

.gl-post-content strong, .gl-post-content b {
    color: var(--gl-color-navy);
    font-weight: 700;
}

.gl-post-content ul,
.gl-post-content ol {
    margin: 1em 0;
    padding-left: 1.5em;
    list-style: revert;
}
.gl-post-content li {
    margin: 0.3em 0;
}
.gl-post-content li::marker {
    color: var(--gl-color-blue);
}

.gl-post-content blockquote {
    margin: 1.5em 0;
    padding: 18px 24px;
    background: rgba(67, 163, 221, 0.06);
    border-left: 4px solid var(--gl-color-blue);
    color: var(--gl-color-gray-700);
    font-style: italic;
    border-radius: 0 6px 6px 0;
}
.gl-post-content blockquote p { margin: 0; }

.gl-post-content table {
    width: 100%;
    margin: 1.5em 0;
    border-collapse: collapse;
    font-size: 15px;
}
.gl-post-content th,
.gl-post-content td {
    padding: 12px 14px;
    border: 1px solid rgba(13, 46, 61, 0.12);
    text-align: left;
    vertical-align: top;
}
.gl-post-content th {
    background: rgba(13, 46, 61, 0.04);
    font-weight: 700;
    color: var(--gl-color-navy);
}

.gl-post-content figure {
    margin: 1.5em 0;
}
.gl-post-content figure img,
.gl-post-content img {
    border-radius: 8px;
    height: auto;
    max-width: 100%;
}
.gl-post-content figcaption {
    margin-top: 8px;
    font-size: 13px;
    color: var(--gl-color-gray-700);
    text-align: center;
}

.gl-post-content hr {
    margin: 2em 0;
    border: 0;
    border-top: 1px solid rgba(13, 46, 61, 0.12);
}

.gl-post-content code {
    padding: 2px 6px;
    background: rgba(13, 46, 61, 0.06);
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.9em;
}
.gl-post-content pre {
    margin: 1.5em 0;
    padding: 16px 20px;
    background: var(--gl-color-navy);
    color: #e8eef3;
    border-radius: 8px;
    overflow-x: auto;
    font-size: 14px;
}
.gl-post-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

/* ── WP 자동발행 에이전트 .wpa-* 호환 ── */
.gl-post-content .wpa-callout {
    margin: 1.5em 0;
    padding: 18px 22px;
    background: rgba(67, 163, 221, 0.08);
    border-radius: 8px;
    border-left: 4px solid var(--gl-color-blue);
}
.gl-post-content .wpa-callout strong {
    display: block;
    margin-bottom: 6px;
    color: var(--gl-color-navy);
}

/* ════════════════════════════════════════════════════════════════
 * 법률정보 글 본문 디자인 — 성공사례 글의 디자인 토큰을 클래스 CSS로 재현
 *  - 타이포(17px/1.95), 클린 H2/H3, 연회색 보더 박스, 표/FAQ/CTA 등
 *  - 성공사례 글은 자체 인라인 스타일이라 영향 없음
 * ════════════════════════════════════════════════════════════════ */
.gl-post-content { font-size: 17px; line-height: 1.95; color: #1F2937; }
.gl-post-content > * + * { margin-top: 0; }
.gl-post-content p { margin: 0 0 22px; line-height: 1.95; color: #1F2937; }
.gl-post-content h2 { font-family: var(--gl-font-sans); font-size: 26px; font-weight: 800; color: #111827; margin: 48px 0 22px; padding: 0; border: 0; line-height: 1.4; letter-spacing: -0.02em; }
.gl-post-content h3 { font-size: 20px; font-weight: 700; color: #1B2A4A; margin: 40px 0 14px; padding: 0; line-height: 1.4; letter-spacing: -0.01em; }
.gl-post-content h4 { font-size: 16px; font-weight: 700; color: #1B2A4A; margin: 28px 0 12px; }
.gl-post-content a { color: #1B2A4A; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.gl-post-content strong, .gl-post-content b { color: #111827; font-weight: 700; }
.gl-post-content ul, .gl-post-content ol { margin: 0 0 22px; padding-left: 1.4em; }
.gl-post-content li { margin: 0 0 10px; line-height: 1.85; }
.gl-post-content li::marker { color: #1B2A4A; }
.gl-post-content hr { border: 0; border-top: 1px solid #E5E7EB; margin: 60px 0 28px; }

/* 박스 공통 (callout/definition/summary/key-summary) — 투명배경 + 연한 보더 */
.gl-post-content .wpa-callout,
.gl-post-content .wpa-definition-box,
.gl-post-content .wpa-summary-box,
.gl-post-content .wpa-key-summary {
    background: transparent; border: 1px solid #E5E7EB; border-left: 1px solid #E5E7EB; border-radius: 10px; padding: 22px 26px; margin: 24px 0;
}
.gl-post-content .wpa-callout-title,
.gl-post-content .wpa-key-summary-title,
.gl-post-content .wpa-toc-title {
    display: block; color: #1B2A4A; font-weight: 700; font-size: 16px; margin: 0 0 12px;
}

/* 체크리스트 */
.gl-post-content .wpa-checklist { list-style: none; margin: 18px 0; padding: 0; }
.gl-post-content .wpa-checklist li { position: relative; padding-left: 26px; margin: 0 0 10px; line-height: 1.85; }
.gl-post-content .wpa-checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #1B2A4A; font-weight: 700; }

/* 표 */
.gl-post-content .wpa-table-wrap { overflow-x: auto; margin: 28px 0 32px; border: 1px solid #E5E7EB; border-radius: 10px; }
.gl-post-content .wpa-table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.7; margin: 0; }
.gl-post-content .wpa-table th { background: transparent; color: #1B2A4A; padding: 14px 18px; text-align: left; font-weight: 700; border-bottom: 1px solid #F1F2F4; vertical-align: top; }
.gl-post-content .wpa-table td { padding: 14px 18px; border-bottom: 1px solid #F1F2F4; vertical-align: top; color: #4B5563; }

/* 인용 */
.gl-post-content .wpa-blockquote { margin: 24px 0; padding: 14px 24px; background: transparent; border-left: 3px solid #1B2A4A; color: #4B5563; font-style: normal; border-radius: 0; }

/* 통계 강조 */
.gl-post-content .wpa-stat-highlight { text-align: center; padding: 28px 20px; border: 1px solid #E5E7EB; border-radius: 10px; margin: 24px 0; }
.gl-post-content .wpa-stat-number { font-size: 40px; font-weight: 800; color: #1B2A4A; line-height: 1.1; }
.gl-post-content .wpa-stat-label { margin-top: 8px; color: #4B5563; font-size: 15px; }

/* FAQ 아코디언 */
.gl-post-content .wpa-faq-item { border: 1px solid #E5E7EB; border-radius: 10px; margin-bottom: 12px; background: transparent; padding: 0; }
.gl-post-content .wpa-faq-item > summary { padding: 18px 22px; font-weight: 700; color: #1B2A4A; cursor: pointer; font-size: 16px; list-style: none; line-height: 1.5; }
.gl-post-content .wpa-faq-item > summary::-webkit-details-marker { display: none; }
.gl-post-content .wpa-faq-answer { padding: 0 22px 20px; line-height: 1.95; color: #1F2937; }

/* CTA 박스 */
.gl-post-content .wpa-cta-block { border: 1px solid #E5E7EB; border-radius: 10px; padding: 26px; margin: 28px 0; text-align: center; }
.gl-post-content .wpa-cta-title { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 8px; }
.gl-post-content .wpa-cta-desc { color: #4B5563; margin-bottom: 14px; line-height: 1.75; }
.gl-post-content .wpa-cta-phone { font-size: 22px; font-weight: 800; color: #1B2A4A; }
.gl-post-content .wpa-cta-firm { margin-top: 8px; color: #4B5563; font-size: 14px; }

/* 인라인 이미지 / 카드뉴스 */
.gl-post-content figure.wpa-inline-image, .gl-post-content figure.wpa-card-news { margin: 28px 0; }
.gl-post-content .wpa-inline-image img, .gl-post-content .wpa-card-news img { border-radius: 10px; max-width: 100%; height: auto; }
