/*
 * Desktop alignment safeguards
 *
 * The original section-heading component supports a deliberate two-column
 * variant: a wrapper <div> for the title and a sibling paragraph for the
 * supporting copy. Newer editorial pages also use a flat variant made of an
 * eyebrow, heading and optional copy. Treating that flat markup as the
 * two-column flex component spreads each child across the container.
 */
@media (min-width: 992px) {
  main section > .container > .section-heading:not(:has(> div)) {
    display: block !important;
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  main section > .container > .section-heading:not(:has(> div)) > :is(.eyebrow, h2, p) {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  main section > .container > .section-heading:not(:has(> div)) > h2 {
    max-width: 920px;
  }

  main section > .container > .section-heading:not(:has(> div)) > p {
    width: auto !important;
    max-width: 780px !important;
  }

  /*
   * Lists and long-form fragments occasionally live inside the heading block.
   * Keep those readable while the heading itself remains visually centered.
   */
  main section > .container > .section-heading:not(:has(> div)) > :is(ul, ol, .content-list) {
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
  }

  /*
   * Center constrained standalone copy/FAQ columns within the full container.
   * Their text remains left-aligned for scanning and accessibility.
   */
  main section > .container > :is(
    .section-intro,
    .faq-list,
    .generator-faq,
    .restore-faq
  ) {
    margin-right: auto;
    margin-left: auto;
  }
}
