/* User-requested alignment trial. Remove this stylesheet to restore prior alignment. */
@layer vivero-centered-text-trial {
  /* Navigation, footer and complete FAQ sections keep their original styles. */
  body :not(footer, footer *, .header, .header *, main, section:has(.vo-faq), section:has(.vo-faq) *) { text-align: center !important; }
  body .vo-actions > a { align-self: center !important; }
  body main form button { justify-self: center !important; }
  body main :is([class$="-copy"],[class$="-heading"],[class$="-intro"],[class$="-description"]):not(section:has(.vo-faq) *) { margin-inline: auto !important; }
  body .vo-breadcrumb ol, body main [class$="-actions"] { justify-content: center !important; }
  body main [class$="-actions"] { align-items: center !important; }
  body main [class$="-actions"] > a { align-self: center !important; justify-self: center !important; }
  body select { text-align-last: center !important; }

  /* Center readable text widths within their existing columns. */
  body main :is(h1,h2,h3,h4,h5,h6,p,blockquote,figcaption,dt,dd):not(section:has(.vo-faq) *) {
    margin-inline: auto !important;
  }
  body :is(
    .vo-hero-copy,.grass-hero-copy,.design-hero-copy,.irrigation-hero-copy,
    .maintenance-hero-copy,.editorial-hero-copy,
    .section-heading,.grass-section-heading,.design-section-heading,
    .maintenance-heading,.irrigation-section-intro,.irrigation-process-heading,
    .vo-results-heading,.vo-grass-description,.about-intro-copy,.about-editorial-copy
  ):not(section:has(.vo-faq) *) { margin-inline: auto !important; }
  body .section-head > :only-child:not(section:has(.vo-faq) *) { grid-column: 1 / -1 !important; }

  /* Match text-bearing controls to the centered copy, preserving gallery controls. */
  body :is(.actions,.vo-actions,.vo-results-cta,.grass-choice-consult) {
    justify-content: center !important;
  }
  body main :is(
    .btn,.vo-button,.grass-button,.design-button,.irrigation-button,
    .maintenance-button,.editorial-button,.about-button,.vo-secondary,
    .hero-link,.maintenance-hero-link,.grass-text-link,.vo-results-contact,
    .vo-grass-cta
  ) { justify-content: center !important; }
  /* Center whole CTA elements within their existing columns, not only their labels. */
  body main :is(
    .btn,.vo-button,.grass-button,.design-button,.irrigation-button,
    .maintenance-button,.editorial-button,.about-button,.vo-grass-cta,
    .vo-results-projects-link,.design-text-link,.maintenance-text-link,
    .editorial-text-link,.about-text-link
  ) {
    justify-self: center !important;
    align-self: center !important;
  }
  /* Place closing CTAs below their copy, centered across the full callout. */
  body main :is(
    .grass-choice-consult,.grass-contact-layout,.design-contact-layout,
    .irrigation-contact-layout,.maintenance-contact-layout,
    .editorial-contact-layout,.contact-layout,.about-contact-layout
  ) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    justify-items: center !important;
    gap: 24px !important;
  }
  body :is(.grass-contact-layout,.design-contact-layout,.irrigation-contact-layout,
    .maintenance-contact-layout,.editorial-contact-layout,.about-contact-layout) > a {
    justify-self: center !important;
  }
  body :is(.grass-steps,.design-steps,.irrigation-steps,.maintenance-steps,.editorial-steps) li::before {
    text-align: center !important;
  }
  body :is(.hero-link,.maintenance-hero-link,.grass-text-link) {
    margin-inline: auto !important;
  }
  body :is(.vo-process-step,.grass-steps li) {
    grid-template-columns: minmax(0,1fr) !important;
    justify-items: center !important;
    gap: 12px !important;
  }
  @media (min-width:761px) {
    /* The existing hero scrim follows the text to keep centered white copy legible. */
    body :is(.vo-hero,.grass-hero,.design-hero,.irrigation-hero,.maintenance-hero,.editorial-hero)::before {
      background: rgba(13,37,25,.52) !important;
    }
  }
}
