/* Approved publication snapshot 2026-10-22; regenerate with ops/build-approved-publication.ps1. */
/*
 * Phase 2 — Refinement
 * Typography, spacing, color and component alignment for linked review drafts.
 * Offer v2 keeps its dedicated visual system; only neutral shared refinements apply there.
 */

body.bzp-published.bzp-public-phase2-refinement {
  --bzp-refine-ink: var(--bzp-ds-color-heading, #101a36);
  --bzp-refine-copy: var(--bzp-ds-color-text, #47516a);
  --bzp-refine-muted: var(--bzp-ds-color-text-muted, #687086);
  --bzp-refine-accent: var(--bzp-ds-color-brand, #8a0644);
  --bzp-refine-accent-strong: var(--bzp-ds-color-brand-hover, #700337);
  --bzp-refine-blue: var(--bzp-ds-color-info, #263ed2);
  --bzp-refine-surface: var(--bzp-ds-color-surface, #fff);
  --bzp-refine-soft: var(--bzp-ds-color-surface-subtle, #f6f7fb);
  --bzp-refine-soft-blue: var(--bzp-ds-color-surface-soft-blue, #f1f3ff);
  --bzp-refine-line: var(--bzp-ds-color-border, #dfe4ee);
  --bzp-refine-control-line: var(--bzp-ds-color-border-strong, #aeb7ca);
  --bzp-refine-space-2xs: var(--bzp-ds-space-2xs, 8px);
  --bzp-refine-space-xs: var(--bzp-ds-space-xs, 12px);
  --bzp-refine-space-sm: var(--bzp-ds-space-sm, 16px);
  --bzp-refine-space-md: var(--bzp-ds-space-md, 24px);
  --bzp-refine-space-lg: var(--bzp-ds-space-lg, 32px);
  --bzp-refine-space-xl: var(--bzp-ds-space-section, clamp(40px, 5vw, 64px));
  --bzp-refine-space-2xl: var(--bzp-ds-space-section-large, clamp(56px, 7vw, 88px));
  --bzp-refine-radius-sm: var(--bzp-ds-radius-sm, 8px);
  --bzp-refine-radius-md: var(--bzp-ds-radius-md, 14px);
  --bzp-refine-radius-lg: var(--bzp-ds-radius-lg, 20px);
  --bzp-refine-shadow-card: var(--bzp-ds-shadow-card, 0 12px 32px rgb(16 26 54 / 7%));
  --bzp-refine-shadow-raised: var(--bzp-ds-shadow-raised, 0 20px 48px rgb(16 26 54 / 12%));
  --bzp-refine-reading-measure: var(--bzp-ds-layout-measure, 72ch);
  --bzp-refine-body-size: var(--bzp-ds-type-size-body, clamp(1rem, .975rem + .12vw, 1.075rem));
  --bzp-refine-body-leading: var(--bzp-ds-type-leading-body, 1.72);
  color: var(--bzp-refine-copy);
}

body.bzp-published.bzp-public-phase2-refinement .entry-content :where(h1, h2, h3, h4) {
  letter-spacing: -.018em;
  text-wrap: balance;
}

body.bzp-published.bzp-public-phase2-refinement .entry-content :where(p, li, dd, td, th) {
  line-height: var(--bzp-refine-body-leading);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(p, li, dd) {
  font-size: var(--bzp-refine-body-size);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-content, .bzp-original-content) > p,
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-content, .bzp-original-content) > :where(ul, ol) > li {
  line-height: var(--bzp-refine-body-leading) !important;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-merged-article,
  .bzp-merged-page,
  .bzp-conversion-shell,
  .bzp-trust-shell,
  .bzp-decision-shell
) > :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-article-intro,
  .bzp-wave13-lead,
  .bzp-wave13-legal,
  .bzp-wave13-verdict,
  .bzp-wave13-visual,
  .bzp-hub-hero,
  .bzp-hub-directory,
  .bzp-conversion-intro,
  .bzp-conversion-layout,
  .bzp-trust-intro,
  .bzp-trust-identity,
  .bzp-trust-story,
  .bzp-trust-documents
) + :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-article-intro,
  .bzp-wave13-lead,
  .bzp-wave13-legal,
  .bzp-wave13-verdict,
  .bzp-wave13-visual,
  .bzp-hub-hero,
  .bzp-hub-directory,
  .bzp-conversion-intro,
  .bzp-conversion-layout,
  .bzp-trust-intro,
  .bzp-trust-identity,
  .bzp-trust-story,
  .bzp-trust-documents
) {
  margin-top: var(--bzp-refine-space-xl);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-wave13-legal
) > :where(h2, h3) {
  color: var(--bzp-refine-ink);
  margin-bottom: var(--bzp-refine-space-sm);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-wave13-legal
) > h2 {
  font-size: clamp(1.75rem, 1.43rem + 1.15vw, 2.55rem);
  line-height: 1.16;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-wave13-legal
) > h3 {
  font-size: clamp(1.28rem, 1.16rem + .45vw, 1.65rem);
  line-height: 1.24;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-content,
  .bzp-original-content,
  .bzp-wave13-legal
) > :where(p, ul, ol) {
  max-width: var(--bzp-refine-reading-measure);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(p, ul, ol) + :where(p, ul, ol) {
  margin-top: var(--bzp-refine-space-sm);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-content, .bzp-original-content) > :where(ul, ol) {
  padding-left: 1.35em;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-content, .bzp-original-content) > ul li::marker {
  color: var(--bzp-refine-accent);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content a:not(.wp-element-button, .wp-block-button__link, [class*="button"], [class*="card"]) {
  color: var(--bzp-refine-accent);
  text-decoration-color: color-mix(in srgb, var(--bzp-refine-accent) 45%, transparent);
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content a:not(.wp-element-button, .wp-block-button__link, [class*="button"], [class*="card"]):hover {
  color: var(--bzp-refine-accent-strong);
  text-decoration-color: currentColor;
}

/* Shared surface language for cards already present in the draft templates. */
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-offer-snapshot-card,
  .bzp-wave13-cards > article,
  .bzp-scenario-grid > article,
  .bzp-coverage-grid > article,
  .bzp-layer-grid > div,
  .bzp-scope-strip > div,
  .bzp-contact-shortcuts > a,
  .bzp-office-list > article
) {
  background: var(--bzp-refine-surface);
  border: 1px solid var(--bzp-refine-line);
  border-radius: var(--bzp-refine-radius-md);
  box-shadow: var(--bzp-refine-shadow-card);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-wave13-cards > article,
  .bzp-scenario-grid > article,
  .bzp-coverage-grid > article,
  .bzp-layer-grid > div,
  .bzp-scope-strip > div
) {
  padding: var(--bzp-refine-space-md);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-wave13-cards > article,
  .bzp-scenario-grid > article,
  .bzp-coverage-grid > article
) > :first-child {
  margin-top: 0;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-wave13-cards > article,
  .bzp-scenario-grid > article,
  .bzp-coverage-grid > article
) > :last-child {
  margin-bottom: 0;
}

/* Table of contents: one restrained navigation component across long pages. */
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc {
  background: var(--bzp-refine-soft);
  border: 1px solid var(--bzp-refine-line);
  border-top: 3px solid var(--bzp-refine-blue);
  border-radius: var(--bzp-refine-radius-md);
  box-shadow: none;
  padding: var(--bzp-refine-space-md);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc > h2 {
  color: var(--bzp-refine-ink);
  font-size: clamp(1.45rem, 1.24rem + .7vw, 1.9rem);
  margin: 0 0 var(--bzp-refine-space-sm);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc :where(ol, ul) {
  gap: var(--bzp-refine-space-xs) var(--bzp-refine-space-lg);
  margin-bottom: 0;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc a {
  color: var(--bzp-refine-accent);
  font-size: .95em;
  font-weight: 650;
  line-height: 1.45;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc li::marker {
  color: var(--bzp-refine-blue);
  font-weight: 700;
}

/* Tables use the same density, alignment and quiet zebra treatment. */
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-table-wrap, .wp-block-table) {
  background: var(--bzp-refine-surface);
  border: 1px solid var(--bzp-refine-line);
  border-radius: var(--bzp-refine-radius-md);
  box-shadow: var(--bzp-refine-shadow-card);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table {
  border-collapse: separate;
  border-spacing: 0;
  color: var(--bzp-refine-copy);
  font-size: .95em;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table :where(th, td) {
  border-color: var(--bzp-refine-line);
  padding: var(--bzp-refine-space-xs) var(--bzp-refine-space-sm);
  text-align: left;
  vertical-align: top;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table thead th {
  background: var(--bzp-refine-ink);
  color: var(--bzp-refine-surface);
  font-weight: 700;
  letter-spacing: .01em;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table tbody tr:nth-child(even) {
  background: var(--bzp-refine-soft);
}

/* FAQ, sources and related links should read as supporting modules, not primary content. */
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-faq {
  border-top: 1px solid var(--bzp-refine-line);
  padding-top: var(--bzp-refine-space-lg);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-faq details {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--bzp-refine-line);
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-faq summary {
  color: var(--bzp-refine-ink);
  font-weight: 700;
  line-height: 1.4;
  min-height: 52px;
  padding: var(--bzp-refine-space-sm) var(--bzp-refine-space-lg) var(--bzp-refine-space-sm) 0;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-faq details > :not(summary) {
  max-width: var(--bzp-refine-reading-measure);
  padding-right: var(--bzp-refine-space-lg);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-sources, .bzp-context-links, .bzp-related) {
  background: var(--bzp-refine-soft);
  border: 1px solid var(--bzp-refine-line);
  border-radius: var(--bzp-refine-radius-md);
  box-shadow: none;
  padding: var(--bzp-refine-space-md);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-sources, .bzp-context-links, .bzp-related) :where(p, li) {
  color: var(--bzp-refine-muted);
  font-size: .94em;
}

/* Forms share label weight, input radius and calm surfaces without changing fields or validation. */
body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.wpcf7-form, .bzp-tool) label {
  color: var(--bzp-refine-ink);
  font-weight: 700;
  line-height: 1.4;
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.wpcf7-form, .bzp-tool) :where(input:not([type="checkbox"], [type="radio"], [type="submit"]), select, textarea) {
  background: var(--bzp-refine-surface);
  border: 1px solid var(--bzp-refine-control-line);
  border-radius: var(--bzp-refine-radius-sm);
  color: var(--bzp-refine-ink);
  padding: var(--bzp-refine-space-xs) var(--bzp-refine-space-sm);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.wpcf7-form, .bzp-tool) :where(input, select, textarea):focus {
  border-color: var(--bzp-refine-blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bzp-refine-blue) 16%, transparent);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(input[type="submit"], .wp-block-button__link, .wp-element-button) {
  border-radius: var(--bzp-refine-radius-sm);
  font-weight: 700;
  letter-spacing: .005em;
  padding: var(--bzp-refine-space-xs) var(--bzp-refine-space-md);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content input[type="submit"] {
  background: var(--bzp-refine-accent);
  border-color: var(--bzp-refine-accent);
  color: var(--bzp-refine-surface);
}

body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.wp-block-image, .wp-block-uagb-image):not(.is-style-rounded) img {
  border-radius: var(--bzp-refine-radius-md);
}

@media (max-width: 720px) {
  body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content .bzp-toc,
  body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(.bzp-sources, .bzp-context-links, .bzp-related) {
    padding: var(--bzp-refine-space-sm);
  }

  body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content :where(
    .bzp-hub-card,
    .bzp-decision-card,
    .bzp-path-card,
    .bzp-context-card,
    .bzp-wave13-cards > article,
    .bzp-scenario-grid > article,
    .bzp-coverage-grid > article,
    .bzp-layer-grid > div,
    .bzp-scope-strip > div
  ) {
    border-radius: var(--bzp-refine-radius-sm);
    padding: var(--bzp-refine-space-sm);
  }

  body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table {
    font-size: .9rem;
  }

  body.bzp-published.bzp-public-phase2-refinement:not(.bzp-template-offer-v2) .entry-content table :where(th, td) {
    padding: var(--bzp-refine-space-xs);
  }
}
