/* Editorial spacing contract: titles, introductions, separators, then content. */
:root {
 --gladys-section-space: clamp(24px, 3vw, 48px);
 --gladys-title-space: 24px;
}
.section-heading p {
 margin-top: var(--gladys-title-space);
 padding-block: var(--gladys-section-space);
}
.home-section__inner--split,
.home-blog-layout { row-gap: var(--gladys-section-space); }
.home-card-grid, .home-list { margin-top: var(--gladys-section-space); }
.page-header { margin-bottom: var(--gladys-section-space); }
.page-header h1 { padding-bottom: var(--gladys-title-space); }
.gladys-search-section { --gladys-search-heading-gap: var(--gladys-section-space); }
.search-listing__grid { padding-top: var(--gladys-section-space); }
.search-listing--search .search-listing__header { padding-bottom: var(--gladys-title-space); }
.search-detail .search-detail__section { padding-block: var(--gladys-section-space); }
.search-detail .search-detail__section > h2 {
 margin-bottom: var(--gladys-section-space);
}
.search-detail .search-detail__section:has(> .search-detail-tracklist, > .search-detail-related-podcasts, > .search-detail-related-records, > .search-detail-participants) > h2,
.search-detail .search-detail__section--related-programs > h2 {
 padding-bottom: var(--gladys-title-space);
}
.single-news .single-news__section > h2 {
 margin-bottom: var(--gladys-section-space);
}
.single-news .single-news__section--related > h2 { padding-bottom: var(--gladys-title-space); }
.gladys-catalog__title-row { padding-bottom: var(--gladys-title-space); }
.gladys-catalog__intro { padding-block: var(--gladys-section-space); }
body.woocommerce-account .gladys-account--woocommerce .gladys-account__woo-section-header {
 margin-bottom: var(--gladys-section-space);
}
body.woocommerce-account .gladys-account--woocommerce .gladys-account__woo-section-header > div {
 padding-bottom: var(--gladys-title-space);
}
.gladys-shop .gladys-woo-access__intro { padding-block: var(--gladys-section-space); }

/* At the end of a news article, the following section owns the spacing.
   Keep legacy-widget padding elsewhere, including widgets between article blocks. */
.single-news__content > .elementor > .elementor-section:last-child > .elementor-container > .elementor-column > .elementor-widget-wrap:has(> .elementor-widget:last-child > .elementor-widget-container > .gladys-legacy-widget) {
 padding-bottom: 0;
}
.single-news__content > .elementor > .elementor-section:last-child > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget:last-child > .elementor-widget-container > .gladys-legacy-widget,
.single-news__content > .elementor > .e-con:last-child > .elementor-widget:last-child > .elementor-widget-container > .gladys-legacy-widget,
.single-news__content > .elementor > .e-con:last-child > .e-con-inner > .elementor-widget:last-child > .elementor-widget-container > .gladys-legacy-widget {
 padding-bottom: 0;
}
