/* Block content on single-project pages.
   Everything is scoped under .single-project__content (the wrapper around
   the_content() in single-project.php) so nothing leaks into the front
   page or the CF-driven parts of the single view.

   Each rule set below corresponds to a block in the allow-list in
   inc/editor.php — when a block is added there, style it here. */

/* --- Vertical rhythm ------------------------------------------------- */

.single-project__content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.single-project__content > * + * {
  margin-top: var(--space-md);
}

/* Headings open a new section: extra air above. Sizes stay at bodycopy
   scale per the theme's typography system (see typography.css); weight
   already differentiates h2/h3. */
.single-project__content > h2,
.single-project__content > h3 {
  margin-top: var(--space-xl);
}

/* --- Paragraph / lists / quote --------------------------------------- */

.single-project__content ul,
.single-project__content ol {
  padding-left: 1.4em;
}

.single-project__content li + li {
  margin-top: var(--space-xs);
}

.single-project__content .wp-block-quote {
  border-left: 1px solid var(--color-border-soft);
  padding-left: var(--space-md);
  font-style: italic;
}

.single-project__content .wp-block-quote cite {
  display: block;
  margin-top: var(--space-sm);
  font-style: normal;
  font-size: 0.85rem;
  color: var(--color-text-tertiary);
}

/* --- Media: image, gallery, video, embeds ---------------------------- */

.single-project__content .wp-block-image {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.single-project__content .wp-block-image img,
.single-project__content .wp-block-video video {
  display: block;
  width: 100%;
  height: auto;
}

.single-project__content figcaption {
  margin-top: var(--space-sm);
  font-size: 0.85rem;
  line-height: 1.3;
  color: var(--color-text-tertiary);
  text-align: left;
}

.single-project__content .wp-block-gallery {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  --wp--style--gallery-gap-default: var(--space-sm);
}

.single-project__content .wp-block-embed {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

/* --- Table ------------------------------------------------------------ */

.single-project__content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.single-project__content .wp-block-table th,
.single-project__content .wp-block-table td {
  border: 1px solid var(--color-rule);
  padding: var(--space-sm);
  text-align: left;
  vertical-align: top;
}

.single-project__content .wp-block-table th {
  font-weight: 500;
}

/* --- Separator / spacer ------------------------------------------------ */

.single-project__content .wp-block-separator {
  border: 0;
  border-top: 1px solid var(--color-rule);
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}

/* --- Columns ----------------------------------------------------------- */

.single-project__content .wp-block-columns {
  gap: var(--space-lg);
}
