/* ==========================================================================
   Ritmo verticale — spacing tra sezioni via blocco Spacer (margin-top blocchi a 0)
   Padding interno al contenuto resta nei CSS blocco.
   ========================================================================== */

#main-content > :is(
  .hero,
  .page-intro,
  .breadcrumb-block,
  .company-network,
  .brands-block,
  .team-banner,
  .team-grid,
  .valuation-form-block,
  .image-banner,
  .image-banner-no-content,
  .counter-banner,
  .text-image-section,
  .location-text-image-cta,
  .locations-map,
  .service-cards,
  .service-section,
  .quick-find,
  .quick-find-inline,
  .locations-newsletter,
  .chiamata-gratuita,
  .product-detail__hero,
  .product-detail-quote,
  .product-detail-back,
  .product-detail-related,
  .product-detail-help,
  .nolves-spacer,
  .faq-section,
  .news-section,
  .product-section,
  .geda-block,
  .catalog-hero,
  .catalog-search,
  .catalog-filters,
  .catalog-products,
  .catalog-types,
  .catalog-final-cta,
  .search-results
) {
  margin-top: 0;
}

#main-content > :first-child {
  margin-top: 0;
}

/* Coppie adiacenti — margin 0 (52px netti via padding-top del blocco successivo) */
#main-content > .product-section--nuovo + .geda-block,
#main-content > .geda-block + .service-section {
  margin-top: 0;
}

/* Zona prodotti home — Selection + Nuovo attaccate (un capitolo editoriale) */
#main-content > .product-section--selection + .product-section--nuovo {
  margin-top: 0;
}

/* Catalogo: search bar (blocco) → breadcrumb → hero (mockup Nuovo mobile) */
#main-content > .catalog-search + .breadcrumb-block {
  margin-top: calc(var(--figma-px) * 16);
}

#main-content > .breadcrumb-block + .catalog-hero {
  margin-top: calc(var(--figma-px) * 32);
}

/* Hero catalogo testuale (senza immagine) → prima sezione contenuto */
#main-content > .catalog-hero + :is(
  .catalog-products,
  .catalog-types,
  .service-section,
  .product-section,
  .catalog-final-cta,
  .team-banner,
  .faq-section
) {
  margin-top: var(--section-gap-tight);
}

#main-content > .catalog-hero + .catalog-products {
  padding-top: 0;
}
