/* conjunto built-in block styles. Themes can override any of these; colours use
   custom properties so a theme only needs to set the --cj-* tokens. */

:root {
  --cj-tok-comment: #6a737d;
  --cj-tok-string: #2a7a3b;
  --cj-tok-number: #b35c00;
  --cj-tok-keyword: #b8492b;
  --cj-tok-type: #1b5e9b;
  --cj-tok-function: #6f42c1;
  --cj-tok-builtin: #1b5e9b;
  --cj-tok-constant: #b35c00;
  --cj-tok-attr: #7a5c00;
  --cj-tok-punct: inherit;
}

/* Responsive 16:9 video (G15) */
.cj-video { position: relative; width: 100%; max-width: 960px; aspect-ratio: 16 / 9; margin: 1.5em 0; }
.cj-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Bandcamp */
.cj-bandcamp { margin: 1.5em 0; max-width: 100%; }
.cj-bandcamp iframe { display: block; }

/* Audio */
.cj-audio { margin: 1em 0; }
.cj-audio figcaption { font-size: 0.9em; margin-top: 0.25em; }
.cj-audio audio { width: 100%; max-width: 560px; }
.cj-playlist { list-style: none; padding: 0; margin: 1em 0; }
.cj-playlist li { margin: 0 0 0.75em; }

/* Gallery */
.cj-gallery { display: grid; grid-template-columns: repeat(var(--cj-cols, auto-fill), minmax(min(200px, 100%), 1fr)); gap: 1rem; margin: 1.5em 0; }
.cj-gallery figure { margin: 0; }
.cj-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.cj-gallery figcaption { font-size: 0.85em; margin-top: 0.25em; }

/* Figure */
.cj-figure { margin: 1.5em 0; }
.cj-figure img { max-width: 100%; height: auto; display: block; }
.cj-figure figcaption { font-size: 0.9em; margin-top: 0.4em; }

/* Code */
pre.code { overflow-x: auto; }
.tok-comment { color: var(--cj-tok-comment); font-style: italic; }
.tok-string { color: var(--cj-tok-string); }
.tok-number { color: var(--cj-tok-number); }
.tok-keyword { color: var(--cj-tok-keyword); }
.tok-type { color: var(--cj-tok-type); }
.tok-function { color: var(--cj-tok-function); }
.tok-builtin { color: var(--cj-tok-builtin); }
.tok-constant { color: var(--cj-tok-constant); }
.tok-attr { color: var(--cj-tok-attr); }
.tok-punct { color: var(--cj-tok-punct); }

/* Build errors are visible on the page */
.conjunto-error { border: 2px solid #c0392b; background: #fdecea; color: #7b1d12; padding: 0.75em 1em; margin: 1em 0; font-family: monospace; }
