/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.2
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
 * Keep split-hero copy aligned with the header logo.
 * These inner text containers were shifted right by centered cross-axis alignment.
 */
.elementor-5920 .elementor-element.elementor-element-c102ab0,
.elementor-618 .elementor-element.elementor-element-34565df,
.elementor-351 .elementor-element.elementor-element-e3b6978,
.elementor-5962 .elementor-element.elementor-element-f194dbc {
	--align-items: flex-start;
}

/*
 * Keep vertical page scrolling native while the page-specific helper handles
 * horizontal swipes on the Waarom Groupmapping card rail.
 */
@media (max-width: 767px) {
	.page-id-5962 .mobile-carousel {
		touch-action: pan-y !important;
		-webkit-user-select: none;
		user-select: none;
	}

	.page-id-5962 .mobile-carousel.is-gm-swiping {
		scroll-behavior: auto !important;
		scroll-snap-type: none !important;
	}
}

/*
 * Keep the shared split heroes fluid on smaller desktop and tablet widths.
 * Elementor stores the inner copy area as a fixed 540px container, which is
 * wider than its 50% column below 1200px and lets copy disappear under the
 * adjacent image. The hero remains split, while its copy and CTAs can shrink
 * and wrap inside the available column.
 */
@media (min-width: 768px) and (max-width: 1199px) {
	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		> .e-con {
		min-width: 0;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		> .e-con:first-child
		.e-con,
	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		> .e-con:first-child
		.elementor-widget {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		h1.elementor-heading-title {
		font-size: clamp(36px, 4.65vw, 56px) !important;
		line-height: 1.05;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		.elementor-widget-text-editor {
		overflow-wrap: break-word;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		.e-con:has(> .elementor-widget-button) {
		--flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		.e-con:has(> .elementor-widget-button)
		> .elementor-widget-button {
		width: auto !important;
		max-width: 100% !important;
		flex: 1 1 190px;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con:first-child:has(h1):has(.elementor-widget-image)
		.e-con:has(> .elementor-widget-button)
		.elementor-button {
		width: 100%;
	}

}

/*
 * Apply the same fluid-width safeguard to split and card content below the
 * hero. Several reusable Elementor blocks contain nested containers of
 * 580px/1000px and text widgets of 560px/600px. At tablet and smaller desktop
 * widths those values can be wider than their actual column. Max-width keeps
 * the original design width where it fits and only lets it shrink when needed.
 */
@media (min-width: 768px) and (max-width: 1199px) {
	.elementor[data-elementor-type="wp-page"] .e-con,
	.elementor[data-elementor-type="wp-page"] .elementor-widget {
		min-width: 0;
		max-width: 100% !important;
	}

	.elementor[data-elementor-type="wp-page"] .elementor-heading-title,
	.elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.elementor[data-elementor-type="wp-page"]
		> .e-con.e-parent:not(:first-child):has(> .e-con .elementor-widget-image):has(> .e-con .elementor-widget-text-editor)
		h3.elementor-heading-title,
	.elementor[data-elementor-type="wp-page"]
		> .e-con.e-parent:not(:first-child):has(> .e-con-inner > .e-con .elementor-widget-image):has(> .e-con-inner > .e-con .elementor-widget-text-editor)
		h3.elementor-heading-title {
		font-size: clamp(36px, 4.65vw, 56px) !important;
		line-height: 1.05;
	}
}
