/* ==========================================================================
   Silicon Wok — Ghost/Koenig cards mapped to tokens.
   Ghost injects its own card CSS (card_assets); selectors here are scoped under .wok-content
   so they win. Square corners, hairline frames, token colours only.
   ========================================================================== */

/* Reading canvas: measure column with wide/full breakouts */
.wok-canvas {
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--gutter), 1fr)
    [wide-start] minmax(0, 7rem)
    [main-start] min(var(--measure), calc(100% - 2 * var(--gutter)))
    [main-end] minmax(0, 7rem)
    [wide-end] minmax(var(--gutter), 1fr) [full-end];
}
.wok-canvas > * { grid-column: main; min-width: 0; }
.wok-canvas > .kg-width-wide, .wok-content > .kg-width-wide { grid-column: wide; }
.wok-canvas > .kg-width-full, .wok-content > .kg-width-full { grid-column: full; }
.wok-content > * { max-width: none; }

/* Images: framed like the feature photo */
.wok-content .kg-image-card, .wok-content .kg-gallery-card { margin: var(--space-5) 0 var(--space-6); }
.wok-content .kg-image-card:not(.kg-width-full), .wok-content .kg-gallery-card:not(.kg-width-full) {
  border: var(--border); padding: 6px; background: var(--surface);
}
.wok-content .kg-width-full.kg-image-card { border-block: var(--border); }
.wok-content .kg-image-card img, .wok-content .kg-gallery-image img { display: block; width: 100%; height: auto; border-radius: 0; }
.wok-content .kg-width-full img { max-width: 100%; }
.wok-content figcaption {
  padding: 6px 2px 0; text-align: left; font-family: var(--f-mono); font-size: .8125rem; line-height: 1.45; color: var(--text-muted);
}
.wok-content .kg-width-full figcaption { padding-inline: var(--gutter); max-width: var(--max-width); margin-inline: auto; }
.wok-content .kg-gallery-container { display: flex; flex-direction: column; gap: 6px; }
.wok-content .kg-gallery-row { display: flex; flex-direction: row; justify-content: center; gap: 6px; }
.wok-content .kg-gallery-image img { height: 100%; object-fit: cover; }

/* Embeds, video, audio, file */
.wok-content .kg-embed-card { margin: var(--space-5) 0; display: flex; flex-direction: column; align-items: center; }
.wok-content .kg-video-card, .wok-content .kg-audio-card, .wok-content .kg-file-card { margin: var(--space-5) 0; border-radius: 0; }
.wok-content .kg-audio-card, .wok-content .kg-file-card a.kg-file-card-container {
  border: var(--border); border-radius: 0; background: var(--surface); color: var(--text); box-shadow: none;
}
.wok-content .kg-file-card-title, .wok-content .kg-audio-title { font-family: var(--f-cond); font-weight: 700; color: var(--text); }
.wok-content .kg-file-card-caption, .wok-content .kg-file-card-metadata { font-family: var(--f-mono); color: var(--text-muted); }

/* Bookmark */
.wok-content .kg-bookmark-card { margin: var(--space-5) 0; }
.wok-content .kg-bookmark-card a.kg-bookmark-container {
  border: var(--border); border-radius: 0; background: var(--surface); color: var(--text); box-shadow: none; text-decoration: none;
}
.wok-content .kg-bookmark-card a.kg-bookmark-container:hover { border-color: var(--mid); }
.wok-content .kg-bookmark-title { font-family: var(--f-cond); font-weight: 700; color: var(--heading); }
.wok-content .kg-bookmark-description { color: var(--text-muted); }
.wok-content .kg-bookmark-metadata { font-family: var(--f-mono); font-size: .75rem; color: var(--text-muted); }
.wok-content .kg-bookmark-thumbnail img { border-radius: 0; }

/* Callout -> Box family */
.wok-content .kg-callout-card {
  margin: var(--space-5) 0; padding: var(--space-4) var(--space-5); border-radius: 0;
  border: 1.5px solid var(--box-border); background: var(--box-bg); color: var(--text);
}
.wok-content .kg-callout-card-grey, .wok-content .kg-callout-card-white { background: var(--surface); border-color: var(--rule); }
.wok-content .kg-callout-card-blue, .wok-content .kg-callout-card-green { background: var(--box-bg); border-color: var(--box-border); }
.wok-content .kg-callout-card-yellow { background: var(--gold-bg); border-color: var(--gold-border); }
.wok-content .kg-callout-card-red, .wok-content .kg-callout-card-pink, .wok-content .kg-callout-card-purple { background: var(--warn-bg); border-color: var(--warn-border); }
.wok-content .kg-callout-card-accent { background: var(--band); border-color: var(--band); color: var(--on-band); }
.wok-content .kg-callout-card-accent a { color: var(--on-band); }
.wok-content .kg-callout-text { font-size: 1rem; line-height: 1.6; }

/* Toggle */
.wok-content .kg-toggle-card { margin: var(--space-4) 0; border: var(--border); border-radius: 0; background: var(--surface); box-shadow: none; padding: var(--space-3) var(--space-4); }
.wok-content .kg-toggle-heading-text { font-family: var(--f-cond); font-weight: 700; font-size: 1.0625rem; color: var(--heading); }
.wok-content .kg-toggle-card svg { color: var(--text-muted); }

/* Button + header card */
.wok-content .kg-button-card { margin: var(--space-5) 0; }
.wok-content .kg-btn, .wok-content .kg-button-card a.kg-btn {
  border-radius: 0; font-family: var(--f-cond); font-weight: 700; letter-spacing: .03em;
  background: var(--deep); color: var(--on-deep); min-height: 44px;
}
.wok-content .kg-btn-accent { background: var(--stall); color: var(--on-stall); }
.wok-content .kg-header-card { border-radius: 0; }
.wok-content .kg-header-card h2.kg-header-card-header, .wok-content .kg-header-card-heading { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; }

/* Product card */
.wok-content .kg-product-card-container { border-radius: 0; border: var(--border); background: var(--surface); box-shadow: none; }
.wok-content .kg-product-card-title { font-family: var(--f-cond); color: var(--heading); }
.wok-content .kg-product-card-button { border-radius: 0; }

/* Blockquote alt */
.wok-content blockquote.kg-blockquote-alt {
  margin: var(--space-6) 0; padding: 0 var(--space-4); border-left: 4px solid var(--quote-rule); text-align: left;
  font-family: var(--f-cond); font-weight: 600; font-style: normal; font-size: 1.5rem; line-height: 1.35; color: var(--heading);
}

/* Signup cards are a members feature; while the hub is read-only (members_enabled off) they are hidden if pasted. */
.wok-readonly .wok-content .kg-signup-card { display: none; }

/* Members-only previews inside {{content}} (Ghost renders partials/content-cta.hbs) */
.wok-content > .wok-gate { grid-column: main; }
