/*
 * Block-specific styles for Gutenberg core blocks and Eversoul block style variations.
 * Frontend rules — also imported by editor-style.css for editor preview parity.
 */

/* ---- core/quote ---- */
/* Typography, color, margin, and the (now removed) border live in theme.json
   under styles.blocks["core/quote"]. Only the pseudo-element accent bar
   stays here — theme.json cannot generate ::before. */
.wp-block-quote > :first-child::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 8px;
  margin-right: var(--space-md);
  vertical-align: middle;
  background-color: var(--accent-fill);
}

.wp-block-quote cite {
  display: block;
  margin-top: var(--space-md);
  font-size: var(--font-text-sm);
  font-weight: 400;
  color: var(--text-secondary);
  font-style: normal;
}

.wp-block-quote.is-style-pull {
  border-left: none;
  border-top: 2px solid var(--accent-fill);
  border-bottom: 2px solid var(--accent-fill);
  padding: var(--space-2xl) 0;
  text-align: center;
  font-family: var(--font-heading);
  font-size: var(--font-display-lg);
  font-weight: 700;
  font-style: normal;
  line-height: var(--line-height-display-lg);
  color: var(--text-primary);
}

.wp-block-quote.is-style-pull cite {
  display: block;
  margin-top: var(--space-md);
  font-family: var(--font-body);
  font-size: var(--font-text-sm);
  font-weight: 400;
  font-style: normal;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.wp-block-quote.is-style-highlighted {
  border-left: 4px solid var(--accent-highlight);
  background-color: var(--surface-alt);
  padding: var(--space-lg) var(--space-xl);
}

/* ---- core/pullquote ---- */
/* Default look set via theme.json. */

/* ---- core/separator ---- */
.wp-block-separator {
  border: none;
  border-top: 1px solid var(--border-strong);
  margin: var(--space-2xl) 0;
}

/* ---- core/button ---- */
.wp-block-button .wp-block-button__link {
  border: 2px solid var(--accent-fill);
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.wp-block-button .wp-block-button__link:hover {
  background-color: var(--accent-fill-hover);
  border-color: var(--accent-fill-hover);
}

/* ---- core/code, core/preformatted ---- */
.wp-block-code,
.wp-block-preformatted {
  background-color: var(--surface-alt);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  font-size: var(--font-text-sm);
}

/* ---- core/list ---- */
.wp-block-list {
  padding-left: var(--space-2xl);
  margin: 0 0 var(--space-lg);
}

.wp-block-list li {
  margin-bottom: var(--space-xs);
}

/* ---- term FAQ ---- */
.eversoul-term-faq {
  margin: var(--space-4xl) 0;
  max-width: 70ch;
}

.eversoul-term-faq__title {
  margin: 0 0 var(--space-xl);
}

.eversoul-term-faq__items {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.eversoul-term-faq__item {
  border-top: var(--border-width-thin) solid var(--border-strong);
  padding-top: var(--space-lg);
}

.eversoul-term-faq__item:first-child {
  border-top: none;
  padding-top: 0;
}

.eversoul-term-faq__question {
  margin: 0 0 var(--space-sm);
}

.eversoul-term-faq__answer p:last-child {
  margin-bottom: 0px;
}
