.lib-final-cta-section {
  width: 100%;
  padding-block: var(--lib-space-section-y);
  background: var(--lib-surface-page);
}

.lib-final-cta-section__container {
  width: var(--lib-container-wide);
  margin-inline: auto;
}

.lib-final-cta-section__panel {
  overflow: hidden;
  padding: var(--lib-space-8);
  border: 1px solid var(--lib-border-default);
  border-radius: var(--lib-radius-lg);
  background: var(--lib-surface-elevated);
  box-shadow: var(--lib-shadow-card);
  text-align: center;
}

.lib-final-cta-section__badge {
  display: inline-flex;
  margin-bottom: var(--lib-space-5);
  padding: var(--lib-space-2) var(--lib-space-4);
  border: 1px solid color-mix(in srgb, var(--lib-border-brand) 20%, transparent);
  border-radius: var(--lib-radius-pill);
  color: color-mix(in srgb, var(--lib-text-brand) 45%, var(--lib-text-primary));
  background: var(--lib-surface-section);
  font-size: var(--lib-font-size-caption);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lib-final-cta-section__title {
  margin: 0;
  font-family: var(--lib-font-heading);
  font-size: clamp(2rem, 7vw, 4rem);
  line-height: 1.05;
}

.lib-final-cta-section__accent {
  display: block;
  color: color-mix(in srgb, var(--lib-text-brand) 45%, var(--lib-text-primary));
}

.lib-final-cta-section__lead {
  max-width: 48rem;
  margin: var(--lib-space-5) auto 0;
  color: var(--lib-text-secondary);
}

.lib-final-cta-section__actions {
  display: flex;
  justify-content: center;
  margin-top: var(--lib-space-8);
}

@media (max-width: 540px) {
  .lib-final-cta-section {
    padding-block: var(--lib-space-section-y);
  }

  .lib-final-cta-section__container {
    width: var(--lib-container-wide);
  }

  .lib-final-cta-section__panel {
    padding: var(--lib-space-5);
    border-radius: var(--lib-radius-md);
  }

  .lib-final-cta-section__badge {
    white-space: normal;
  }

  .lib-final-cta-section__title {
    font-size: var(--lib-font-size-title-md);
  }

  .lib-final-cta-section__actions {
    margin-top: var(--lib-space-6);
  }
}

/* Project-owned form slot (WordPress runtime, 2026-10-09). */
.lib-final-cta-section__form {
  margin-top: var(--lib-space-6);
  text-align: start;
}

/* Dark band variant (CTA-01 "Dark Band + Form"), 2026-10-09: used where the
   page composition closes on a dark surface (TPL-010 slot 12, roofing
   blueprint min_dark_sections). Semantic tokens only. */
.lib-final-cta-section--dark .lib-final-cta-section__panel {
  border-color: transparent;
  color: var(--lib-color-inverse);
  background: var(--lib-gradient-deep);
}

.lib-final-cta-section--dark .lib-final-cta-section__title,
.lib-final-cta-section--dark .lib-final-cta-section__accent,
.lib-final-cta-section--dark .lib-section-heading__title {
  color: var(--lib-color-inverse);
}

.lib-final-cta-section--dark .lib-final-cta-section__lead {
  color: color-mix(in srgb, var(--lib-color-inverse) 82%, transparent);
}

.lib-final-cta-section--dark .lib-final-cta-section__badge {
  border-color: color-mix(in srgb, var(--lib-color-inverse) 30%, transparent);
  color: var(--lib-color-inverse);
  background: color-mix(in srgb, var(--lib-color-inverse) 10%, transparent);
}

/* Dark band is full-bleed (a real dark section, so the composer can lead
   into it with a PAT-006 wave), and a project form inside it sits on its
   own light card: form components such as UI-031 are designed for light
   surfaces. 2026-10-09. */
.lib-final-cta-section--dark {
  background: var(--lib-color-deep);
}

.lib-final-cta-section--dark .lib-final-cta-section__form {
  max-width: 48rem;
  margin-inline: auto;
  padding: var(--lib-space-6);
  border-radius: var(--lib-radius-lg);
  color: var(--lib-text-primary);
  background: var(--lib-surface-elevated);
}
