/* Approved publication snapshot 2026-10-22; regenerate with ops/build-approved-publication.ps1. */
/*
 * Phase 3 — Polish
 * Subtle motion, interactive feedback and real form states for linked review drafts.
 * The layer is intentionally visual: it adds no controls, content or business logic.
 */

body.bzp-published.bzp-public-phase3-polish {
  --bzp-polish-motion-fast: var(--bzp-ds-motion-fast, 160ms);
  --bzp-polish-motion-normal: var(--bzp-ds-motion-normal, 240ms);
  --bzp-polish-easing: var(--bzp-ds-motion-easing-standard, cubic-bezier(.2, .8, .2, 1));
  --bzp-polish-lift: var(--bzp-ds-motion-lift-card, -2px);
  --bzp-polish-lift-small: var(--bzp-ds-motion-lift-button, -1px);
  --bzp-polish-shadow-hover: var(--bzp-ds-shadow-interactive, 0 18px 42px rgb(16 26 54 / 12%));
  --bzp-polish-error: var(--bzp-ds-color-error, #a1172f);
  --bzp-polish-error-soft: var(--bzp-ds-color-error-surface, #fff2f4);
  --bzp-polish-success: var(--bzp-ds-color-success, #17643a);
  --bzp-polish-success-soft: var(--bzp-ds-color-success-surface, #eef8f2);
  --bzp-polish-working: var(--bzp-ds-color-working, #263ed2);
  --bzp-polish-working-soft: var(--bzp-ds-color-working-surface, #f1f3ff);
  --bzp-polish-disabled: var(--bzp-ds-color-disabled, #7a8296);
  --bzp-polish-scroll-track: var(--bzp-ds-scrollbar-track, #eef1f7);
  --bzp-polish-scroll-thumb: var(--bzp-ds-scrollbar-thumb, #aeb7ca);
}

body.bzp-published.bzp-public-phase3-polish ::selection {
  background: color-mix(in srgb, var(--bzp-refine-accent, #8a0644) var(--bzp-ds-selection-strength, 22%), white);
  color: var(--bzp-refine-ink, #101a36);
}

body.bzp-published.bzp-public-phase3-polish .entry-content a {
  transition:
    color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    text-decoration-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    background-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    box-shadow var(--bzp-polish-motion-normal) var(--bzp-polish-easing),
    transform var(--bzp-polish-motion-normal) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-contact-card,
  .bzp-related-card,
  .bzp-hub-topic,
  .bzp-hub-crosslink,
  .bzp-contact-shortcuts > a
) {
  transition:
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    box-shadow var(--bzp-polish-motion-normal) var(--bzp-polish-easing),
    transform var(--bzp-polish-motion-normal) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .bzp-wave13-cards > article,
  .bzp-scenario-grid > article,
  .bzp-coverage-grid > article,
  .bzp-office-list > article
):focus-within {
  border-color: color-mix(in srgb, var(--bzp-refine-blue, #263ed2) 52%, transparent);
  box-shadow: var(--bzp-polish-shadow-hover);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .wp-element-button,
  .wp-block-button__link,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .bzp-tool button,
  .bzp-toc-toggle,
  .bzp-offer-cover-action,
  .bzp-mobile-contact-bar__action,
  .bzp-home-button
) {
  transition:
    background-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    box-shadow var(--bzp-polish-motion-normal) var(--bzp-polish-easing),
    opacity var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    transform var(--bzp-polish-motion-normal) var(--bzp-polish-easing);
}

@media (hover: hover) and (pointer: fine) {
  body.bzp-published.bzp-public-phase3-polish .entry-content :where(
    .bzp-hub-card,
    .bzp-decision-card,
    .bzp-path-card,
    .bzp-context-card,
    .bzp-contact-card,
    .bzp-related-card,
    .bzp-hub-topic,
    .bzp-hub-crosslink,
    .bzp-contact-shortcuts > a
  ):hover {
    border-color: color-mix(in srgb, var(--bzp-refine-blue, #263ed2) 48%, transparent);
    box-shadow: var(--bzp-polish-shadow-hover);
    transform: translateY(var(--bzp-polish-lift));
  }

  body.bzp-published.bzp-public-phase3-polish .entry-content :where(
    .wp-element-button,
    .wp-block-button__link,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    .bzp-tool button,
    .bzp-toc-toggle,
    .bzp-offer-cover-action,
    .bzp-mobile-contact-bar__action,
    .bzp-home-button
  ):hover:not(:disabled, [aria-disabled="true"]) {
    box-shadow: var(--bzp-ds-shadow-button-hover, 0 10px 24px rgb(16 26 54 / 14%));
    transform: translateY(var(--bzp-polish-lift-small));
  }
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .bzp-hub-card,
  .bzp-decision-card,
  .bzp-path-card,
  .bzp-context-card,
  .bzp-contact-card,
  .bzp-related-card,
  .bzp-hub-topic,
  .bzp-hub-crosslink,
  .bzp-contact-shortcuts > a
):is(a, button):focus-visible {
  border-color: color-mix(in srgb, var(--bzp-refine-blue, #263ed2) 52%, transparent);
  box-shadow: var(--bzp-polish-shadow-hover);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .wp-element-button,
  .wp-block-button__link,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .bzp-tool button,
  .bzp-toc-toggle,
  .bzp-offer-cover-action,
  .bzp-mobile-contact-bar__action,
  .bzp-home-button
):active:not(:disabled, [aria-disabled="true"]) {
  box-shadow: none;
  transform: translateY(0);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="reset"]),
  select,
  textarea
) {
  transition:
    background-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    box-shadow var(--bzp-polish-motion-fast) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="reset"]),
  select,
  textarea
):hover:not(:focus, :disabled) {
  border-color: color-mix(in srgb, var(--bzp-refine-blue, #263ed2) 52%, var(--bzp-refine-control-line, #aeb7ca));
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  :user-invalid,
  [aria-invalid="true"],
  .wpcf7-not-valid
) {
  background: var(--bzp-polish-error-soft) !important;
  border-color: var(--bzp-polish-error) !important;
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7-not-valid-tip {
  color: var(--bzp-polish-error);
  display: block;
  font-size: .9em;
  font-weight: 700;
  line-height: 1.45;
  margin-top: .4rem;
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7 form .wpcf7-response-output {
  background: var(--bzp-polish-working-soft);
  border: 1px solid var(--bzp-polish-working);
  border-radius: var(--bzp-refine-radius-sm, 8px);
  color: var(--bzp-refine-ink, #101a36);
  margin: .75rem 0 0;
  padding: .9rem 1rem;
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7 form:is(.invalid, .unaccepted, .failed, .aborted, .spam) .wpcf7-response-output {
  background: var(--bzp-polish-error-soft);
  border-color: var(--bzp-polish-error);
  color: var(--bzp-polish-error);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7 form.sent .wpcf7-response-output {
  background: var(--bzp-polish-success-soft);
  border-color: var(--bzp-polish-success);
  color: var(--bzp-polish-success);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7 form.submitting :where(input[type="submit"], button[type="submit"]),
body.bzp-published.bzp-public-phase3-polish .entry-content [aria-busy="true"] {
  cursor: wait;
  opacity: var(--bzp-ds-state-busy-opacity, .72);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7-spinner {
  animation: bzp-polish-spin var(--bzp-ds-motion-spinner, 720ms) linear infinite;
  background: transparent;
  border: 3px solid var(--bzp-polish-working-soft);
  border-radius: var(--bzp-ds-radius-circle, 50%);
  border-top-color: var(--bzp-polish-working);
  height: var(--bzp-ds-spinner-size, 24px);
  margin: 0 0 0 .75rem;
  width: var(--bzp-ds-spinner-size, 24px);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .wpcf7-spinner::before {
  display: none;
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(:disabled, [aria-disabled="true"]) {
  cursor: not-allowed !important;
  filter: saturate(.6);
  opacity: var(--bzp-ds-state-disabled-opacity, .58);
  transform: none !important;
}

body.bzp-published.bzp-public-phase3-polish .entry-content .bzp-faq details {
  transition:
    background-color var(--bzp-polish-motion-normal) var(--bzp-polish-easing),
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .bzp-faq summary {
  cursor: pointer;
  transition: color var(--bzp-polish-motion-fast) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .bzp-faq summary::after {
  transition:
    background-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    border-color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    color var(--bzp-polish-motion-fast) var(--bzp-polish-easing),
    transform var(--bzp-polish-motion-normal) var(--bzp-polish-easing);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .bzp-faq details[open] {
  background: color-mix(in srgb, var(--bzp-refine-soft-blue, #f1f3ff) 68%, transparent);
}

body.bzp-published.bzp-public-phase3-polish .entry-content .bzp-faq details[open] > :not(summary) {
  animation: bzp-polish-reveal var(--bzp-polish-motion-normal) var(--bzp-polish-easing) both;
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(
  .bzp-sources,
  .bzp-context-links,
  .bzp-related,
  .bzp-faq
):empty {
  display: none;
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(.bzp-table-wrap, .wp-block-table, .bzp-diagram-scroll) {
  scrollbar-color: var(--bzp-polish-scroll-thumb) var(--bzp-polish-scroll-track);
  scrollbar-width: thin;
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(.bzp-table-wrap, .wp-block-table, .bzp-diagram-scroll)::-webkit-scrollbar {
  height: var(--bzp-ds-scrollbar-size, 8px);
  width: var(--bzp-ds-scrollbar-size, 8px);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(.bzp-table-wrap, .wp-block-table, .bzp-diagram-scroll)::-webkit-scrollbar-track {
  background: var(--bzp-polish-scroll-track);
  border-radius: var(--bzp-ds-radius-pill, 999px);
}

body.bzp-published.bzp-public-phase3-polish .entry-content :where(.bzp-table-wrap, .wp-block-table, .bzp-diagram-scroll)::-webkit-scrollbar-thumb {
  background: var(--bzp-polish-scroll-thumb);
  border: 2px solid var(--bzp-polish-scroll-track);
  border-radius: var(--bzp-ds-radius-pill, 999px);
}

body.bzp-published.bzp-public-phase3-polish .entry-content [id] {
  scroll-margin-top: var(--bzp-ds-layout-anchor-offset, 112px);
}

@keyframes bzp-polish-reveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bzp-polish-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bzp-published.bzp-public-phase3-polish .entry-content *,
  body.bzp-published.bzp-public-phase3-polish .entry-content *::before,
  body.bzp-published.bzp-public-phase3-polish .entry-content *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  body.bzp-published.bzp-public-phase3-polish .entry-content :where(
    .bzp-hub-card,
    .bzp-decision-card,
    .bzp-path-card,
    .bzp-context-card,
    .bzp-contact-card,
    .bzp-related-card,
    .bzp-hub-topic,
    .bzp-hub-crosslink,
    .bzp-contact-shortcuts > a,
    .wp-element-button,
    .wp-block-button__link,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    .bzp-tool button,
    .bzp-toc-toggle,
    .bzp-offer-cover-action,
    .bzp-mobile-contact-bar__action,
    .bzp-home-button
  ) {
    transform: none !important;
  }
}
