/**
 * Theme T&B — page/post content canvas and typography rhythm.
 *
 * @package Theme_TB
 * @since 1.0.0
 */

.tb-content-canvas,
main.tb-page.tb-content-canvas,
main.tb-page.tb-page--elementor,
main.tb-single.tb-content-canvas {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  min-height: 60vh;
  background:
    linear-gradient(115deg, rgba(37, 99, 235, 0.1) 0%, transparent 42%),
    linear-gradient(245deg, rgba(6, 182, 212, 0.08) 0%, transparent 38%),
    linear-gradient(180deg, #dce8ff 0%, #eef4ff 45%, #f8fafc 100%);
}

.tb-content-canvas__inner {
  width: min(100% - 2rem, var(--tb-container-wide));
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
}

.tb-content-canvas__inner--elementor {
  width: 100%;
  max-width: none;
  padding: clamp(1rem, 3vw, 2rem);
}

.tb-page-content,
.tb-single-content {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: var(--tb-radius-xl);
  box-shadow: var(--tb-shadow-md);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  backdrop-filter: blur(6px);
}

.tb-page-content--elementor {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  backdrop-filter: none;
}

.tb-entry-header {
  margin-bottom: var(--tb-space-xl);
  padding-bottom: var(--tb-space-lg);
  border-bottom: 1px solid var(--tb-color-border);
}

.tb-entry-title {
  margin: 0 0 var(--tb-space-sm);
  font-family: var(--tb-font-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: var(--tb-leading-tight);
}

.tb-entry-subtitle {
  margin: 0;
  color: var(--tb-color-text-muted);
  font-size: var(--tb-text-lg);
  line-height: var(--tb-leading-relaxed);
}

/* Prose rhythm — headings, text, media, tables */
.tb-entry-content {
  color: var(--tb-color-text);
  font-size: var(--tb-text-base);
  line-height: var(--tb-leading-relaxed);
  word-spacing: 0.02em;
}

.tb-entry-content > *:first-child {
  margin-top: 0;
}

.tb-entry-content > *:last-child {
  margin-bottom: 0;
}

.tb-entry-content h1,
.tb-entry-content h2,
.tb-entry-content h3,
.tb-entry-content h4,
.tb-entry-content h5,
.tb-entry-content h6 {
  margin: var(--tb-space-2xl) 0 var(--tb-space-md);
  font-family: var(--tb-font-display);
  line-height: var(--tb-leading-tight);
  color: var(--tb-color-text);
}

.tb-entry-content h1 { font-size: var(--tb-text-3xl); }
.tb-entry-content h2 { font-size: var(--tb-text-2xl); }
.tb-entry-content h3 { font-size: var(--tb-text-xl); }
.tb-entry-content h4 { font-size: var(--tb-text-lg); }

.tb-entry-content p,
.tb-entry-content ul,
.tb-entry-content ol,
.tb-entry-content blockquote,
.tb-entry-content pre,
.tb-entry-content table,
.tb-entry-content figure,
.tb-entry-content .wp-block-image,
.tb-entry-content .wp-block-table {
  margin: 0 0 var(--tb-space-lg);
}

.tb-entry-content li + li {
  margin-top: var(--tb-space-xs);
}

.tb-entry-content img,
.tb-entry-content figure img {
  margin-block: var(--tb-space-lg);
  border-radius: var(--tb-radius-md);
}

.tb-entry-content table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: var(--tb-radius-md);
  border: 1px solid var(--tb-color-border);
}

.tb-entry-content th,
.tb-entry-content td {
  padding: var(--tb-space-sm) var(--tb-space-md);
  border-bottom: 1px solid var(--tb-color-border);
  text-align: start;
}

.tb-entry-content th {
  background: rgba(37, 99, 235, 0.08);
  font-weight: 600;
}

[data-theme="dark"] .tb-content-canvas,
:root.tb-dark .tb-content-canvas {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(37, 99, 235, 0.18), transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(6, 182, 212, 0.12), transparent 45%),
    var(--tb-color-bg);
}

[data-theme="dark"] .tb-page-content,
[data-theme="dark"] .tb-single-content,
:root.tb-dark .tb-page-content,
:root.tb-dark .tb-single-content {
  background: var(--tb-color-card);
}