/*
 * File: css/layout/section-spacing.theme.css
 * Logic: Uniform vertical rhythm between main content blocks — mobile-first.
 */

body[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area {
  padding-top: var(--content-area-padding-top);
  padding-bottom: var(--content-area-padding-bottom);
}

body.path-frontpage[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area {
  padding-top: var(--content-area-padding-top-front);
}

/* Hide empty region placeholders — avoids phantom stack gaps */
body[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area > :empty {
  display: none;
}

/* Reset ad-hoc block margins — stack gap handles rhythm */
body[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area > * {
  margin-bottom: 0;
}

/* Section blocks — explicit registry (views blocks, SDC sections, map) */
body:not(.wsdt-page-contact)[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area > :is(
  section,
  .wsdt-block,
  .wsdt-quick-actions,
  .wsdt-welcome,
  .wsdt-why-us,
  .wsdt-cta-block,
  .wsdt-map,
  .wsdt-block-front-services,
  .wsdt-block-portfolio,
  .wsdt-block-news,
  .wsdt-block-front-brands,
  .wsdt-block-front-offers,
  .wsdt-block-ref-offers-services,
  .wsdt-block-ref-files-services,
  .wsdt-block-brand-ref-files,
  .wsdt-block-brand-ref-offers,
  .wsdt-block-ref-offers,
  .wsdt-block-relative-services
) + :is(
  section,
  .wsdt-block,
  .wsdt-quick-actions,
  .wsdt-welcome,
  .wsdt-why-us,
  .wsdt-cta-block,
  .wsdt-map,
  .wsdt-block-front-services,
  .wsdt-block-portfolio,
  .wsdt-block-news,
  .wsdt-block-front-brands,
  .wsdt-block-front-offers,
  .wsdt-block-ref-offers-services,
  .wsdt-block-ref-files-services,
  .wsdt-block-brand-ref-files,
  .wsdt-block-brand-ref-offers,
  .wsdt-block-ref-offers,
  .wsdt-block-relative-services
) {
  margin-top: var(--section-gap);
}

/* Fallback — any other direct siblings (not on contact grid) */
body:not(.wsdt-page-contact)[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area > * + * {
  margin-top: var(--section-gap);
}

/* Contact page grid — row rhythm only (avoid margin + gap doubling) */
body.wsdt-page-contact[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area {
  row-gap: var(--section-gap);
}

body.wsdt-page-contact[class*="wsdt-theme--"] .wsdt-main-wrap .wsdt-content-area > * + * {
  margin-top: 0;
}
