/* Shared spacing for normal-flow content. Photographic heroes and sticky scenes
   retain their own geometry; section heights must follow the actual content. */
.nuxt-page-shell {
  --section-space: 48px;
  --section-content-gap: 28px;
}
.nuxt-page-shell .home-content > .section,
.nuxt-page-shell #industries,
.nuxt-page-shell #product-cases,
.nuxt-page-shell :is(
  .product-catalog, .faqs, .latest-cases, .applications,
  .product-overview, .product-features, .feature-stories, .technical-specs,
  .quality-applications, .related-products, .detail-faq,
  .resource-content, .support-services, .solution-showcase, .solution-cases,
  .article-detail, .news-related, .event-article,
  .news-main, .office-section, .service-benefits, .service-types,
  .service-specialist, .service-products, .service-cases, .ci-journey,
  .career-story, .positions, .certificates, .compliance, .events-main,
  .partner-events, .customer-filter, .faq-section,
  .sd-gallery, .sd-videos, .sd-cases, .sd-products, .sd-applications,
  .industry-detail-overview, .industry-detail-applications,
  .industry-detail-objects, .industry-detail-cases, .industry-detail-products
) {
  height: auto !important;
  min-height: 0 !important;
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}

/* Remove the accumulated heading/grid margins without changing card geometry. */
.nuxt-page-shell .home-content :is(.industry-grid, .product-row, .case-row, .news-grid, .resource-panels),
.nuxt-page-shell :is(.feature-grid, .spec-table-wrap, .application-grid,
  .benefit-grid, .type-matrix, .service-product-grid, .sd-gallery-grid),
.nuxt-page-shell :is(.latest-cases, .service-cases) .case-viewport,
.nuxt-page-shell .solution-case-viewport,
.nuxt-page-shell .sd-videos .sd-track-shell {
  margin-top: var(--section-content-gap) !important;
}
.nuxt-page-shell .feature-stories article {
  margin-bottom: var(--section-space) !important;
}
.nuxt-page-shell .feature-stories article:last-child {
  margin-bottom: 0 !important;
}
.nuxt-page-shell .home-content .news-grid article + article::before {
  height: 100% !important;
}

/* About content previously used fixed scene heights despite normal-flow cards. */
.nuxt-page-shell :is(.about-intro, .about-partners, .about-more) {
  height: auto !important;
  min-height: 0 !important;
  padding-block: var(--section-space) !important;
}
.nuxt-page-shell .about-intro h2,
.nuxt-page-shell .about-more .about-shell {
  padding-top: 0 !important;
}
.nuxt-page-shell :is(.about-stat-grid, .more-grid) {
  margin-top: var(--section-content-gap) !important;
}
.nuxt-page-shell .about-partners {
  margin-top: 0 !important;
}
.nuxt-page-shell .about-partners :is(.partner-logo-grid, .software-strip) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: var(--section-content-gap) auto 0 !important;
}

/* Leave room for the floating back control on pages without a hero. */
.nuxt-page-shell :is(.compare-section, .news-main) {
  padding-top: 72px !important;
  padding-bottom: var(--section-space) !important;
  min-height: 0 !important;
}
@media (max-width: 760px) {
  .nuxt-page-shell {
    --section-space: 32px;
    --section-content-gap: 24px;
  }
  .nuxt-page-shell :is(.compare-section, .news-main) {
    padding-top: 40px !important;
  }
}

.nuxt-page-shell .home-content .resource-title {
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  .nuxt-page-shell .home-content .core-advantages,
  .nuxt-page-shell .partner-form-section,
  .nuxt-page-shell .quality-policy,
  .nuxt-page-shell .ci-timeline {
    padding-block: var(--section-space) !important;
  }
  /* Thumbnails stay a compact row below the main image, not three full cards. */
  .nuxt-page-shell .product-overview .overview-gallery .thumbs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    height: auto !important;
    gap: 12px !important;
  }
  .nuxt-page-shell .product-overview .overview-gallery .thumbs button {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  .nuxt-page-shell .product-overview :is(.precision-card, .overview-actions) {
    margin-top: var(--section-content-gap) !important;
  }
}
