/* tc-editor.css — WordPress block/editor parity and controlled adapters.
   Loaded on the front end (block adapters) and in the editor via add_editor_style().
   The tc-* system stays authoritative; this file adapts core block wrappers to it. */

/* Editor canvas parity */
.editor-styles-wrapper {
  background: var(--tc-bg);
  color: var(--tc-text);
  font-family: var(--tc-sans);
  font-size: var(--tc-fs-body);
  line-height: var(--tc-lh-body);
}
.editor-styles-wrapper .wp-block { max-width: var(--tc-reading-width); }
.editor-styles-wrapper .wp-block[data-align="wide"],
.editor-styles-wrapper .wp-block[data-align="full"] { max-width: none; }
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4 { font-family: var(--tc-sans); letter-spacing: var(--tc-tracking-tight); }
.editor-styles-wrapper .wp-block-post-title { font-size: var(--tc-fs-display); line-height: var(--tc-lh-tight); letter-spacing: -.035em; }

/* Core block adapters — front end and editor */
.wp-block-quote {
  padding-left: var(--tc-space-6);
  border-left: 2px solid var(--tc-primary);
  margin-inline: 0;
}
.wp-block-quote cite { display: block; margin-top: var(--tc-space-3); font-family: var(--tc-mono); font-size: var(--tc-fs-micro); font-style: normal; color: var(--tc-muted); }

.wp-block-pullquote {
  border: 0;
  border-left: 2px solid var(--tc-primary);
  padding: 0 0 0 var(--tc-space-6);
  text-align: left;
  color: var(--tc-text);
}
.wp-block-pullquote blockquote { border: 0; padding: 0; }
.wp-block-pullquote p { font-size: var(--tc-fs-h3); line-height: 1.35; letter-spacing: -.02em; }

.wp-block-code, .wp-block-preformatted {
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  color: var(--tc-text);
  font-family: var(--tc-mono);
  font-size: var(--tc-fs-small);
  line-height: 1.6;
  padding: var(--tc-space-4);
  overflow-x: auto;
  tab-size: 2;
}

.wp-block-table table { border-collapse: collapse; }
.wp-block-table th, .wp-block-table td { border-bottom: 1px solid var(--tc-border); border-inline: 0; padding: var(--tc-space-3) var(--tc-space-4); }
.wp-block-table thead th { background: var(--tc-surface); }
.wp-block-table figcaption { font-family: var(--tc-mono); font-size: var(--tc-fs-micro); color: var(--tc-muted); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--tc-surface); border-bottom-color: var(--tc-border); }

.wp-block-image figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption {
  font-family: var(--tc-mono);
  font-size: var(--tc-fs-micro);
  color: var(--tc-muted);
  text-align: left;
}

.wp-block-separator { border-top: 1px solid var(--tc-border); border-bottom: 0; max-width: 100%; opacity: 1; }
.wp-block-separator.is-style-wide { width: 100%; }

.wp-block-button__link, .wp-element-button {
  background: transparent;
  border: 1px solid var(--tc-primary);
  border-radius: var(--tc-radius);
  color: var(--tc-primary);
  font-family: var(--tc-mono);
  font-size: .8125rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  min-height: var(--tc-hit);
  padding: .6rem 1.125rem;
}
.wp-block-button__link:hover, .wp-element-button:hover { background: var(--tc-primary); color: var(--tc-primary-ink); }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--tc-border-strong); color: var(--tc-text); }

.wp-block-group.has-background { border-radius: var(--tc-radius); padding: var(--tc-space-6); }

.wp-block-list { padding-left: 1.25rem; }
.wp-block-list li::marker { color: var(--tc-muted); }

/* Block style variations registered in inc/blocks.php */
.wp-block-group.is-style-tc-callout,
.wp-block-group.is-style-tc-callout-warning,
.wp-block-group.is-style-tc-callout-lesson {
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  background: var(--tc-surface);
  padding: var(--tc-space-6);
}
.wp-block-group.is-style-tc-callout-warning { border-left: 2px solid var(--tc-warning); }
.wp-block-group.is-style-tc-callout-lesson { border-left: 2px solid var(--tc-primary); }
.wp-block-group.is-style-tc-system-panel {
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  background: var(--tc-surface);
  padding: var(--tc-space-6);
  font-family: var(--tc-mono);
  font-size: var(--tc-fs-small);
}
.wp-block-paragraph.is-style-tc-meta {
  font-family: var(--tc-mono);
  font-size: var(--tc-fs-meta);
  letter-spacing: var(--tc-tracking-meta);
  text-transform: uppercase;
  color: var(--tc-muted);
}
.wp-block-paragraph.is-style-tc-dek { font-size: var(--tc-fs-lead); color: var(--tc-muted); line-height: 1.6; }

/* Never let a plugin or block wrapper repaint the brand system. */
.wp-block-group.has-tc-primary-background-color { color: var(--tc-primary-ink); }
