/* ============================================================================
   Koenig editor content classes — required/recommended by Ghost (gscan GS050).
   Styles the cards the editor produces inside {{content}}. Tokenised to Depth Beneath.
   ========================================================================== */

/* Image widths */
.kg-width-wide { position: relative; width: 75vw; max-width: var(--container-max); left: 50%; transform: translateX(-50%); }
.kg-width-full { position: relative; width: 100vw; max-width: 100vw; left: 50%; transform: translateX(-50%); }
.post-content :is(img) { border-radius: var(--radius-m); }
.kg-width-full img { border-radius: 0; }

/* Image card + caption */
.kg-image-card { margin-block: var(--space-l); }
.kg-image-card img { margin-inline: auto; }
.kg-image-card figcaption,
figcaption { text-align: center; font-size: var(--step--1); color: var(--text-muted); margin-top: var(--space-2xs); }

/* Gallery */
.kg-gallery-container { display: flex; flex-direction: column; gap: var(--space-2xs); max-width: var(--container-max); margin-inline: auto; }
.kg-gallery-row { display: flex; gap: var(--space-2xs); }
.kg-gallery-image img { width: 100%; height: 100%; object-fit: cover; }

/* Bookmark card */
.kg-bookmark-card { margin-block: var(--space-l); }
.kg-bookmark-container { display: flex; min-height: 148px; border: var(--border-hair); border-radius: var(--radius-m); overflow: hidden; text-decoration: none; color: inherit; background: var(--bg-surface); }
.kg-bookmark-content { flex: 1; padding: var(--space-m); display: flex; flex-direction: column; }
.kg-bookmark-title { font-weight: var(--weight-semibold); color: var(--text-primary); }
.kg-bookmark-description { color: var(--text-muted); font-size: var(--step--1); margin-top: var(--space-3xs); }
.kg-bookmark-metadata { margin-top: auto; font-size: var(--step--2); color: var(--text-muted); display: flex; gap: var(--space-2xs); align-items: center; }
.kg-bookmark-thumbnail { position: relative; min-width: 33%; max-height: 100%; }
.kg-bookmark-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.kg-bookmark-icon { width: 20px; height: 20px; }

/* Callout / toggle / button cards */
.kg-callout-card { display: flex; gap: var(--space-s); padding: var(--space-m); border-radius: var(--radius-m); background: var(--bg-inset); margin-block: var(--space-l); }
.kg-callout-emoji { font-size: var(--step-2); }
.kg-toggle-card { border-bottom: var(--border-hair); padding-block: var(--space-s); }
.kg-toggle-heading { display: flex; justify-content: space-between; cursor: pointer; font-weight: var(--weight-semibold); }
.kg-button-card { text-align: center; margin-block: var(--space-l); }
.kg-btn { display: inline-flex; align-items: center; min-height: var(--touch-min); padding: var(--space-2xs) var(--space-l); background: var(--accent); color: var(--colour-teal); border-radius: var(--radius-m); text-decoration: none; font-weight: var(--weight-semibold); }
.kg-align-center { text-align: center; }

/* Embed / video / audio / file */
.kg-embed-card, .kg-video-card, .kg-audio-card, .kg-file-card { margin-block: var(--space-l); }
.kg-embed-card iframe { max-width: 100%; }

/* Header / signup cards */
.kg-header-card { padding: var(--space-2xl) var(--space-l); text-align: center; border-radius: var(--radius-l); background: var(--bg-inset); margin-block: var(--space-l); }
.kg-signup-card { margin-block: var(--space-l); }

/* Product / blockquote big */
.kg-blockquote-alt { font-family: var(--font-display); font-style: italic; font-size: var(--step-2); }
