/* Koenig editor card styles — required by Ghost / gscan.
   Uses theme tokens (--rule, --fg-mute, --bg, --fg, --accent). */

.post-content { font-size: 18px; line-height: 1.7; }
.post-content p { margin: 0 0 1.4em; }
.post-content a { color: var(--accent); text-decoration: underline; }
.post-content h2, .post-content h3 { font-family: var(--serif, inherit); margin: 1.6em 0 0.5em; line-height: 1.2; }
.post-content img { height: auto; }
.post-content blockquote { margin: 1.5em 0; padding-left: 1.2em; border-left: 3px solid var(--accent); font-style: italic; color: var(--fg-mute); }

/* image widths */
.kg-width-wide { position: relative; width: 85vw; min-width: 100%; margin: 1.5em 0; transform: translateX(calc(50% - 50vw + (var(--gap, 0px)))); left: 50%; }
.kg-width-wide { width: min(1100px, 85vw); left: 50%; transform: translateX(-50%); }
.kg-width-full { position: relative; width: 100vw; left: 50%; transform: translateX(-50%); margin: 1.5em 0; }
.kg-image { max-width: 100%; }
figure { margin: 1.5em 0; }
figcaption { text-align: center; font-size: 13px; color: var(--fg-mute); margin-top: 8px; }

/* gallery */
.kg-gallery-container { display: flex; flex-direction: column; margin: 1.5em 0; max-width: 100%; }
.kg-gallery-row { display: flex; flex-direction: row; justify-content: center; gap: 10px; margin-bottom: 10px; }
.kg-gallery-row:last-of-type { margin-bottom: 0; }
.kg-gallery-image img { display: block; margin: 0; width: 100%; height: 100%; object-fit: cover; }

/* bookmark card */
.kg-bookmark-card { width: 100%; margin: 1.5em 0; }
.kg-bookmark-container { display: flex; min-height: 148px; color: var(--fg); border: 1px solid var(--rule); text-decoration: none; }
.kg-bookmark-content { flex: 0 1 auto; display: flex; flex-direction: column; justify-content: flex-start; padding: 20px; overflow: hidden; }
.kg-bookmark-title { font-weight: 600; font-size: 15px; line-height: 1.4; }
.kg-bookmark-description { display: -webkit-box; font-size: 14px; line-height: 1.5; color: var(--fg-mute); margin-top: 8px; max-height: 44px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.kg-bookmark-metadata { display: flex; align-items: center; margin-top: 14px; font-size: 13px; color: var(--fg-mute); }
.kg-bookmark-icon { width: 18px; height: 18px; margin-right: 8px; }
.kg-bookmark-author { font-weight: 500; }
.kg-bookmark-publisher { overflow: hidden; max-width: 240px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.kg-bookmark-publisher::before { content: "•"; margin: 0 6px; }
.kg-bookmark-thumbnail { position: relative; flex: 1 1 24%; min-width: 33%; }
.kg-bookmark-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

/* embed + buttons */
.kg-embed-card { display: flex; flex-direction: column; align-items: center; margin: 1.5em 0; }
.kg-btn { display: inline-block; padding: 10px 18px; background: var(--accent); color: var(--bg); font-weight: 600; }
