/**
 * Desktop section rhythm — Figma Design System (≥1021px only).
 * 124px between sections · 32px title→subtitle · 56px heading→content
 * Tablet/mobile pass: separate (do not scope rules below 1021px).
 */

@media (min-width: 1021px) {
	/* —— 124px between consecutive major section parents —— */
	body .e-con.e-parent + .e-con.e-parent:where(
		:has(.elementor-widget-evoport-tri-cards),
		:has(.elementor-widget-evoport-gtm-compare),
		:has(.elementor-widget-evoport-expert-steps),
		:has(.elementor-widget-evoport-gtm-flow),
		:has(.elementor-widget-evoport-gif),
		:has(.elementor-widget-evoport-gif-media),
		:has(.elementor-widget-evo-latest-blogs),
		:has(.elementor-widget-evoport-faq),
		:has(.elementor-widget-html),
		:has(.elementor-widget-evoport-footer),
		:has(.elementor-widget-evo-comparison-table),
		:has(.elementor-widget-evo-split-media-text),
		:has(.elementor-widget-evo-timeline)
	),
	body .e-con.e-parent:has(.elementor-widget-evoport-contact-page) + .e-con.e-parent:has(.elementor-widget-evoport-footer),
	body .evo-page-hero__follow + .e-con.e-parent:has(.elementor-widget-evoport-footer) {
		margin-top: var(--evo-section-gap, 124px) !important;
	}

	/* Manual Elementor class — same rhythm when sections are not direct siblings */
	body .e-con.e-parent.evo-section-gap:not(:first-child) {
		margin-top: var(--evo-section-gap, 124px) !important;
	}

	/* Drop duplicate top inset — section gap handles separation */
	body .e-con.e-parent:has(.evo-gtm-expert-stack) {
		--container-default-padding-top: 0px !important;
		--padding-top: 0px !important;
		padding-top: 0 !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare {
		padding-top: 0 !important;
	}

	/*
	 * GIF Integrate banner — Elementor Advanced often saves padding-top:124px
	 * (Book a Demo). That stacks on the 124px section gap and doubles the white
	 * space above the banner. Kill widget-container vertical pad; gap owns rhythm.
	 */
	.elementor-widget-evoport-gif > .elementor-widget-container {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* —— 56px section heading → content block —— */
	.evo-gtm-flow__head {
		margin-bottom: var(--evo-section-title-offset, 56px) !important;
	}

	.evo-gif-media {
		gap: var(--evo-section-title-offset, 56px) !important;
		padding-top: 0 !important;
	}

	/* —— 32px title → subtitle —— */
	.evo-faq__head {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--evo-hero-title-to-sub, 32px);
	}

	.evo-faq__head[style*="text-align: left"] {
		align-items: flex-start;
	}

	.evo-faq__head[style*="text-align: right"] {
		align-items: flex-end;
	}

	.evo-faq__subtitle {
		margin-top: 0 !important;
	}

	/* Footer in its own section parent — avoid 124px margin + shell pad */
	body .e-con.e-parent:has(.elementor-widget-evoport-footer):not(:has(.elementor-widget-evoport-faq))
		.elementor-widget-evoport-footer .evo-footer__shell {
		--evo-footer-top-pad: 0px;
		padding-top: 0 !important;
	}
}
