/*
 * GVD sections inside Elementor.
 *
 * A page built from the GVD widgets is one full-width container holding the
 * sections in order. Elementor gives containers and widgets their own
 * padding, gaps and widths; here they are zeroed so the sections sit flush,
 * exactly as on the hand-built pages.
 */

.elementor .e-con:has(> [class*="elementor-widget-gvd-"]) {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	--row-gap: 0;
	--column-gap: 0;
	--content-width: 100%;
	--container-max-width: 100%;
	padding: 0;
	gap: 0;
}

.elementor .e-con:has(> [class*="elementor-widget-gvd-"]) > .e-con-inner {
	max-width: none;
	padding: 0;
	gap: 0;
}

.elementor [class*="elementor-widget-gvd-"] {
	width: 100%;
	margin: 0;
}

/*
 * Elementor resets every image in its content area (height, max-width,
 * border, radius, shadow). The partner logos are sized and framed by
 * pages/home.css; these restore that against Elementor's reset.
 */
.elementor .gvd-home__logo img {
	max-width: none;
	height: 4rem;
	border: 1px solid rgba(229, 231, 235, 0.7);
	border-radius: 0.75rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.elementor .gvd-home__logo img:hover {
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

@media (min-width: 640px) {
	.elementor .gvd-home__logo img { height: 5rem; }
}

/* The offices map image fills its panel; Elementor's reset sets height:auto. */
.elementor .gvd-map__img { height: 100%; }
