/* ==================================================
   DBL — BLOCK STYLES
   Gutenberg Editor + Elementor Post Content
================================================== */

/* ==================================================
   DBL — ARTICLE BODY
================================================== */

.editor-styles-wrapper p.wp-block-paragraph {
  line-height: 1.6 !important;
}

/* Elementor Post Content */
.single-post .elementor-widget-theme-post-content > p {
  line-height: 1.6;
}


/* ==================================================
   QUOTE
================================================== */

/* Speaker / attribution line */
:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) p:has(+ .wp-block-quote) {
  font-size: 16px;
  line-height: 1.4;

  /* Separation from preceding body copy */
  margin-top: var(--space-3) !important;

  /* Speaker → quotation */
  margin-bottom: var(--space-1) !important;
}


/* Quote block */
:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-quote {
  margin-top: 0;
  margin-bottom: clamp(48px, 4vw, 72px);
  margin-left: 0;
  margin-right: 0;

  padding: 0;
  border: 0;
}


/* Quote text */
:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-quote p {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--w-400);
  line-height: 1.6;
  letter-spacing: var(--ls-body);

  font-style: normal;

  margin: 0 0 1.25em;
}

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-quote p:last-child {
  margin-bottom: 0;
}

/* ==================================================
   DBL — PULLQUOTE
================================================== */

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-pullquote {

  /* Component spacing */
  margin-block: clamp(64px, 6vw, 96px) !important;

  padding: 0;
  border: 0;
  text-align: left;
}


/* Pullquote structure */

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-pullquote blockquote {

  margin: 0;

  padding:
    0
    0
    0
    clamp(18px, 2vw, 28px);

  max-width: 48ch;

  border: 0;
  border-left: 2px solid rgba(36, 38, 40, .35);
}


/* Pullquote text */

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-pullquote p {

  margin: 0;

  font-family: var(--font-body);
  font-size: clamp(26px, 2.4vw, 38px);
  font-weight: var(--w-500);

  line-height: 1.18;
  letter-spacing: -0.025em;

  font-style: normal;
  text-transform: none;
  text-align: left;

  text-wrap: balance;
}


/* Attribution */

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-pullquote cite {

  display: block;

  margin-top: 14px;

  font-family: var(--font-body);
  font-size: 12px;
  font-weight: var(--w-600);

  line-height: 1.4;
  letter-spacing: .08em;

  text-transform: uppercase;
  font-style: normal;

  opacity: .55;
}


:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-pullquote cite::before {
  content: "— ";
}


/* ==================================================
   DBL — QUOTE SPEAKER RHYTHM
================================================== */

/*
   Speaker paragraph immediately before
   a Gutenberg Quote block
*/

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) p:has(+ .wp-block-quote) {

  margin-bottom: 24px;
}


/* Give the complete Quote block breathing room */

:is(
  .editor-styles-wrapper,
  .elementor-widget-theme-post-content
) .wp-block-quote {

  margin-top: 0;
  margin-bottom: clamp(48px, 4vw, 72px);
}