/* Final interior-page layer. Homepage and calculator styles remain untouched. */
body:not(.home) :is(.estate-region-button, .estate-about-button, .estate-contacts-request, .estate-pricing-button),
body:not(.home).estate-service-view .estate-entry-content .estate-service-action {
  min-height: 54px;
  border-radius: var(--radius, 12px);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

/* Structural cards share a radius; thumbnails, icons and badges keep theirs. */
body:not(.home) .estate-region :is(.estate-region-hero, .estate-region-card, .estate-region-example),
body:not(.home) .estate-region-catalog .estate-catalog-hero,
body:not(.home) .estate-about :is(.estate-about-hero, .estate-about-service, .estate-about-document),
body:not(.home) .estate-pricing section.estate-pricing-group {
  border-radius: var(--card-radius, 18px);
}

/* Use one section interval instead of stacking padding on both neighbours. */
body:not(.home) .estate-about section.estate-about-story {
  padding: 48px 0 0;
}
body:not(.home) .estate-about :is(section.estate-about-services, section.estate-about-documents, section.estate-about-work) {
  padding: 48px 0 0;
}
body:not(.home) .estate-about section.estate-about-principles {
  margin-top: 48px;
}
body:not(.home) .estate-report-guide > .eyebrow + h2 {
  margin-top: 0;
}

/* Override global section padding only on the regional examples container. */
body:not(.home) .estate-region section.estate-region-examples {
  padding: 32px 0 0;
}
body:not(.home) .estate-region .estate-region-examples h2 {
  margin-top: 0;
  margin-bottom: 24px;
}

/* Both two-card and three-card rows align with the surrounding page blocks.
   WordPress may insert an inner group wrapper; keep only prose constrained. */
@media (min-width: 1001px) {
  body:not(.home) .estate-region > .estate-region-copy:has(.estate-region-examples) {
    max-width: none;
  }
  body:not(.home) .estate-region > .estate-region-copy > .wp-block-group__inner-container {
    max-width: none;
  }
  body:not(.home) .estate-region > .estate-region-copy:has(> .estate-region-examples .estate-region-example-grid > .wp-block-column:nth-child(3):last-child) > :is(table, .wp-block-table),
  body:not(.home) .estate-region > .estate-region-copy > .wp-block-group__inner-container > :is(table, .wp-block-table) {
    max-width: none;
  }
  body:not(.home) .estate-region > .estate-region-copy > :not(.estate-region-examples):not(.wp-block-group__inner-container):not(table):not(.wp-block-table),
  body:not(.home) .estate-region > .estate-region-copy > .wp-block-group__inner-container > :not(.estate-region-examples):not(table):not(.wp-block-table),
  body:not(.home) .estate-region .estate-region-examples :is(h2, .estate-region-examples-intro) {
    max-width: 900px;
  }
}

/* The regional programme table is a page-width panel, not a prose column. */
body:not(.home) .estate-region > .estate-region-copy table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: var(--card-radius, 18px);
  overflow: hidden;
}
body:not(.home) .estate-region > .estate-region-copy table :is(th, td) {
  border: 0;
  border-bottom: 1px solid var(--line);
}
body:not(.home) .estate-region > .estate-region-copy table :is(th, td) + :is(th, td) {
  border-left: 1px solid var(--line);
}
body:not(.home) .estate-region > .estate-region-copy table > :is(tbody, tfoot):last-child > tr:last-child > :is(th, td) {
  border-bottom: 0;
}

@media (max-width: 600px) {
  body:not(.home) .estate-about section.estate-about-story,
  body:not(.home) .estate-about :is(section.estate-about-services, section.estate-about-documents, section.estate-about-work) {
    padding: 32px 0 0;
  }
  body:not(.home) .estate-about section.estate-about-principles {
    margin-top: 32px;
  }
}

/* Suppress the textual no-JS fallback only after navigation is enhanced. */
body:not(.home) .estate-mobile-nav.is-enhanced noscript {
  display: none;
}
