/* ============================================================
   GeoCommunity — Post / Prose
   正文排版：段落 / 标题 / 引用 / 表格 / 图片 / Gutenberg 块
   ============================================================ */

.prose {
    font-size: 17px;
    line-height: 1.8;
    color: var(--text-primary);
    word-wrap: break-word;
}

/* ---- 段落 ---- */
.prose p {
    margin: 0 0 1.15em;
}

/* ---- 正文内标题：Serif，H2 上方留足空间 ---- */
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    margin: 2.2em 0 0.7em;
    line-height: 1.35;
}

.prose h2 {
    font-size: 30px;
    letter-spacing: -0.015em;
    scroll-margin-top: calc(var(--header-h) + 24px);
}

.prose h3 {
    font-size: 24px;
    scroll-margin-top: calc(var(--header-h) + 24px);
}

.prose h4 {
    font-size: 19px;
    font-family: var(--font-serif);
    scroll-margin-top: calc(var(--header-h) + 24px);
}

.prose h2 + h3,
.prose h3 + h4 {
    margin-top: 1.1em;
}

/* ---- 列表 ---- */
.prose ul,
.prose ol {
    margin: 0 0 1.15em;
    padding-left: 1.6em;
}

.prose li {
    margin-bottom: 0.4em;
}

.prose li::marker {
    color: var(--text-tertiary);
}

.prose li > ul,
.prose li > ol {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

/* ---- 引用：左侧 2px 强调色，无大色块 ---- */
.prose blockquote,
.prose .wp-block-quote {
    margin: 1.6em 0;
    padding: 0.2em 0 0.2em var(--sp-5);
    border-left: 2px solid var(--accent);
    color: var(--text-secondary);
}

.prose blockquote p,
.prose .wp-block-quote p {
    margin: 0 0 0.6em;
}

.prose blockquote p:last-child,
.prose .wp-block-quote p:last-child {
    margin-bottom: 0;
}

.prose .wp-block-quote cite {
    font-size: 13.5px;
    font-style: normal;
    color: var(--text-tertiary);
}

/* ---- 表格 ---- */
.prose table,
.prose .wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.prose .wp-block-table {
    margin: 1.6em 0;
}

.prose table th,
.prose table td {
    padding: 10px var(--sp-3);
    border: 1px solid var(--border-light);
    text-align: left;
    vertical-align: top;
}

.prose table th {
    background: var(--bg-secondary);
    font-weight: 500;
    font-size: 14px;
    color: var(--text-secondary);
}

.prose table.is-style-stripes tbody tr:nth-child(odd) {
    background: var(--surface-card);
}

/* JS 会为 table 包一层 .table-scroll */
.table-scroll {
    overflow-x: auto;
    margin: 1.6em 0;
    border: 1px solid var(--border-light);
    border-radius: var(--r-3);
}

.table-scroll table { margin: 0; }
.table-scroll table th,
.table-scroll table td { border-style: none solid; }
.table-scroll table th:first-child,
.table-scroll table td:first-child { border-left-style: none; }
.table-scroll table th:last-child,
.table-scroll table td:last-child { border-right-style: none; }
.table-scroll table tr:last-child td { border-bottom-style: none; }

/* ---- 图片 / figure ---- */
.prose img {
    border-radius: var(--r-3);
    border: 1px solid var(--border-light);
}

.prose .wp-block-image {
    margin: 1.8em 0;
}

.prose .wp-block-image img,
.prose figure img {
    cursor: zoom-in;
}

.prose figcaption,
.prose .wp-element-caption,
.prose .wp-caption-text {
    font-size: 13px;
    color: var(--text-tertiary);
    text-align: center;
    margin-top: var(--sp-2);
    line-height: 1.6;
}

/* 画廊 */
.prose .wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--sp-3);
    margin: 1.8em 0;
    padding: 0;
}

.prose .wp-block-gallery .blocks-gallery-item {
    list-style: none;
    margin: 0;
}

/* ---- 分隔线 ---- */
.prose hr,
.prose .wp-block-separator {
    border: none;
    border-top: 1px solid var(--border-light);
    margin: 2.4em auto;
}

/* ---- Gutenberg 常见块兜底 ---- */
.prose .wp-block-code {
    margin: 0; /* 被 JS 包成 .code-block，间距由其负责 */
}

.prose .wp-block-buttons {
    display: flex;
    gap: var(--sp-2);
    margin: 1.4em 0;
}

.prose .wp-block-button__link {
    border-radius: var(--r-2);
    text-decoration: none;
}

/* 经典编辑器 wp-caption */
.prose .wp-caption {
    max-width: 100%;
    margin: 1.8em 0;
}

.prose .wp-caption img {
    margin: 0 auto;
}

/* ---- 强调 / 小元素 ---- */
.prose strong {
    font-weight: 600;
}

.prose kbd {
    font-family: var(--font-mono);
    font-size: 0.8em;
    border: 1px solid var(--border);
    border-bottom-width: 2px;
    border-radius: 5px;
    padding: 1px 5px;
    background: var(--surface-card);
}

.prose mark {
    background: var(--accent-soft);
    color: inherit;
    padding: 0 3px;
    border-radius: 3px;
}

/* 文章页 body 里的链接保持轻下划线，hover 强调色（base.css 已定义全局）*/

/* ---- 文末元信息 ---- */
.entry-footer-meta {
    margin-top: var(--sp-6);
    padding-top: var(--sp-4);
    border-top: 1px solid var(--border-light);
    font-size: 13.5px;
    color: var(--text-tertiary);
}
