/* =====================================================
   Single post / page styles
   ===================================================== */

.post-wrap {
    max-width: var(--container-sm);
    margin: 0 auto;
    padding: var(--space-6) var(--space-5) var(--space-16);
}

.post-header { margin: var(--space-8) 0 var(--space-8); }
.post-header__title {
    font-size: var(--fs-4xl);
    line-height: 1.15;
    margin: 0 0 var(--space-5);
    color: var(--color-ink);
}
.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    font-size: var(--fs-xs);
    color: var(--color-ink-soft);
    margin-bottom: var(--space-4);
    align-items: center;
}
.post-meta > * { display: inline-flex; align-items: center; gap: 4px; }
.post-meta__date,
.post-meta__updated { font-family: var(--font-mono); }
.post-meta__stages,
.post-meta__engines { display: flex; flex-wrap: wrap; gap: 4px; }

.post-excerpt {
    font-size: var(--fs-lg);
    color: var(--color-ink-muted);
    margin: var(--space-4) 0 var(--space-8);
    padding-left: var(--space-4);
    border-left: 3px solid var(--color-accent);
}

/* Prerequisites / Key claims panels */
.post-prereq,
.post-claims {
    background: var(--color-bg-soft);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--space-5) var(--space-6);
    margin: var(--space-8) 0;
}
.post-prereq h3,
.post-claims h3 {
    font-size: var(--fs-sm);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-accent);
    margin: 0 0 var(--space-3);
}
.post-prereq ul,
.post-claims ul {
    margin: 0;
    padding-left: 1.3em;
}
.post-prereq li,
.post-claims li { margin-bottom: var(--space-2); font-size: var(--fs-base); color: var(--color-ink); }

.post-body { margin-top: var(--space-6); }
.post-body > * { max-width: 68ch; }
.post-body figure,
.post-body .wp-block-image,
.post-body .wp-block-table,
.post-body pre { max-width: 100%; }

/* Code block copy button */
.code-wrap { position: relative; }
.code-copy {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(255,255,255,.08);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-sm);
    padding: 4px 10px;
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    cursor: pointer;
    transition: background .16s ease;
}
.code-copy:hover { background: rgba(255,255,255,.16); }
.code-copy.is-copied { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }

/* ===== Citable block ===== */
.wp-block-seogeo-citable {
    background: linear-gradient(135deg, rgba(30,27,75,.04), rgba(202,138,4,.04));
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-md);
    padding: var(--space-5) var(--space-6);
    margin: var(--space-8) 0;
}
.wp-block-seogeo-citable__label {
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-accent);
    margin: 0 0 var(--space-3);
    display: flex; align-items: center; gap: 6px;
}
.wp-block-seogeo-citable__statement {
    font-size: var(--fs-lg);
    font-weight: 600;
    color: var(--color-ink);
    margin: 0 0 var(--space-3);
}
.wp-block-seogeo-citable__source {
    font-size: var(--fs-xs);
    color: var(--color-ink-soft);
    font-family: var(--font-mono);
}

/* ===== Post navigation ===== */
.post-nav {
    margin: var(--space-12) 0 0;
    padding: var(--space-6) 0;
    border-top: 1px solid var(--color-border);
    display: flex;
    gap: var(--space-6);
    justify-content: space-between;
}
.post-nav__link {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-decoration: none;
    padding: var(--space-4);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: #fff;
    transition: border-color .16s ease;
}
.post-nav__link:hover { border-color: var(--color-accent); text-decoration: none; }
.post-nav__link--next { text-align: right; }
.post-nav__label {
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    color: var(--color-ink-soft);
}
.post-nav__title {
    font-size: var(--fs-sm);
    color: var(--color-ink);
    font-weight: 600;
}

@media (max-width: 640px) {
    .post-nav { flex-direction: column; }
    .post-header__title { font-size: var(--fs-3xl); }
}

/* ===== Page templates (method / toolkit / service / about / etc.) ===== */
.page-content {
    max-width: var(--container-sm);
    margin: 0 auto;
    padding: var(--space-6) var(--space-5) var(--space-16);
}
.stage-block {
    margin: var(--space-10) 0;
    padding: var(--space-6);
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}
.stage-block__head {
    display: flex; align-items: baseline; gap: var(--space-3);
    margin-bottom: var(--space-4);
}
.stage-block__num {
    font-family: var(--font-mono);
    font-size: 2rem;
    font-weight: 500;
    color: var(--color-accent);
    letter-spacing: -1px;
}
.stage-block__title { margin: 0; font-size: var(--fs-xl); }
.stage-block__brief { color: var(--color-ink-muted); margin: 0 0 var(--space-4); }
.stage-block ul.stage-posts { list-style: none; padding: 0; margin: 0; }
.stage-block ul.stage-posts li { margin: 0 0 var(--space-2); font-size: var(--fs-sm); }
.stage-block ul.stage-posts a { color: var(--color-ink); }
.stage-block ul.stage-posts a:hover { color: var(--color-accent); }
