/**
 * Responsive corrections for Elementor templates and selected pages.
 *
 * These rules live in the child theme so plugin updates cannot overwrite them.
 */

/*
 * The header is overlaid above page content. Keep the first page container's
 * top offset consistent so the header border never crosses the first block.
 */
.elementor[data-elementor-type="wp-page"] > .e-con:first-child {
	--padding-top: 280px !important;
}

@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"] > .e-con:first-child {
		--padding-top: 400px !important;
	}
}

/* Footer: keep the address block truly centered on narrow screens. */
@media (max-width: 767px) {
	.elementor-114 [data-id="6f19049d"] {
		width: 100% !important;
		max-width: 100% !important;
		--margin-left: 0px !important;
		--margin-right: 0px !important;
		align-items: center !important;
	}

	.elementor-114 [data-id="40d45930"] {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}
}

/* Header: readable contact rows, centered social links, and no line over the hero slider. */
@media (max-width: 767px) {
	.elementor-97 [data-id="916cf81"] {
		--justify-content: center !important;
		--gap: 12px !important;
		--row-gap: 12px !important;
		--column-gap: 12px !important;
	}

	.elementor-97 [data-id="5b89a0b"] {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		font-size: clamp(12px, 3.4vw, 14px) !important;
		line-height: 1.45 !important;
		text-align: center !important;
	}

	.elementor-97 [data-id="5b89a0b"] .phone {
		display: block !important;
		width: 100% !important;
		white-space: nowrap !important;
	}

	.elementor-97 [data-id="fa5b92f"] {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	.elementor-97 [data-id="fa5b92f"] ul.social_list {
		display: flex !important;
		justify-content: center !important;
	}

}

/* Administration: let card captions fit their content. */
@media (max-width: 1024px) {
	.elementor-244 [data-id="b8042d2"],
	.elementor-244 [data-id="5363a6af"],
	.elementor-244 [data-id="7dd8018"],
	.elementor-244 [data-id="13a77b4"],
	.elementor-244 [data-id="705ba81"],
	.elementor-244 [data-id="f1e5127"],
	.elementor-244 [data-id="baed7d4"],
	.elementor-244 [data-id="0863940"],
	.elementor-244 [data-id="bdabc6f"] {
		--min-height: 0px !important;
		min-height: 0 !important;
		height: auto !important;
	}
}

/* Accessible environment: keep native-size icons beside their descriptions. */
@media (max-width: 767px) {
	.elementor-4253 [data-id="32b8a545"],
	.elementor-4253 [data-id="91ea712"],
	.elementor-4253 [data-id="c668a53"] {
		--flex-direction: column !important;
		--flex-wrap: nowrap !important;
		--flex-wrap-mobile: nowrap !important;
		align-items: stretch !important;
		gap: 14px !important;
	}

	.elementor-4253 [data-id="32b8a545"] > .e-con,
	.elementor-4253 [data-id="91ea712"] > .e-con,
	.elementor-4253 [data-id="c668a53"] > .e-con,
	.elementor-4253 [data-id="691e526"],
	.elementor-4253 [data-id="f992b01"],
	.elementor-4253 [data-id="008caa0"] {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.elementor-4253 [data-id="c529a50"] .profile-card,
	.elementor-4253 [data-id="c73d8b1"] .profile-card,
	.elementor-4253 [data-id="310f662"] .profile-card {
		min-height: 0 !important;
		height: auto !important;
		overflow: hidden !important;
	}

	.elementor-4253 [data-id="c529a50"] .profile-card img,
	.elementor-4253 [data-id="c73d8b1"] .profile-card img,
	.elementor-4253 [data-id="310f662"] .profile-card img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
	}

	.elementor-4253 [data-id="c529a50"] {
		max-width: 380px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.elementor-4253 [data-id="c529a50"] .profile-body,
	.elementor-4253 [data-id="c73d8b1"] .profile-body,
	.elementor-4253 [data-id="310f662"] .profile-body {
		display: none !important;
	}

	.elementor-4253 [data-id="12c352c"],
	.elementor-4253 [data-id="0962815"],
	.elementor-4253 [data-id="ce67400"],
	.elementor-4253 [data-id="84a1af6"],
	.elementor-4253 [data-id="c230765"] {
		--flex-direction: row !important;
		--flex-wrap: nowrap !important;
		--flex-wrap-mobile: nowrap !important;
		align-items: center !important;
		gap: 16px !important;
	}

	/* Long legal-document links need the full mobile width. */
	.elementor-4253 [data-id="12c352c"] {
		--flex-direction: column !important;
		align-items: center !important;
		gap: 12px !important;
	}

	.elementor-4253 [data-id="12c352c"] > .e-con,
	.elementor-4253 [data-id="0962815"] > .e-con,
	.elementor-4253 [data-id="ce67400"] > .e-con,
	.elementor-4253 [data-id="84a1af6"] > .e-con,
	.elementor-4253 [data-id="c230765"] > .e-con {
		flex: 0 0 82px !important;
		width: 82px !important;
		max-width: 82px !important;
	}

	.elementor-4253 [data-id="5350a58"] .profile-card,
	.elementor-4253 [data-id="cf87198"] .profile-card,
	.elementor-4253 [data-id="8996f52"] .profile-card,
	.elementor-4253 [data-id="00f9dd4"] .profile-card,
	.elementor-4253 [data-id="3d3d882"] .profile-card {
		min-height: 0 !important;
		padding: 8px !important;
	}

	.elementor-4253 [data-id="5350a58"] .profile-card img,
	.elementor-4253 [data-id="cf87198"] .profile-card img,
	.elementor-4253 [data-id="8996f52"] .profile-card img,
	.elementor-4253 [data-id="00f9dd4"] .profile-card img,
	.elementor-4253 [data-id="3d3d882"] .profile-card img {
		display: block !important;
		position: static !important;
		inset: auto !important;
		width: auto !important;
		max-width: 65px !important;
		height: auto !important;
		max-height: 81px !important;
		margin: 0 auto !important;
		object-fit: contain !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.elementor-4253 [data-id="5350a58"] .profile-body,
	.elementor-4253 [data-id="cf87198"] .profile-body,
	.elementor-4253 [data-id="8996f52"] .profile-body,
	.elementor-4253 [data-id="00f9dd4"] .profile-body,
	.elementor-4253 [data-id="3d3d882"] .profile-body {
		display: none !important;
	}

	.elementor-4253 [data-id="0ed83f4"],
	.elementor-4253 [data-id="c80f3ac"],
	.elementor-4253 [data-id="f7193b3"],
	.elementor-4253 [data-id="6f89efa"],
	.elementor-4253 [data-id="bcb9579"] {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.elementor-4253 [data-id="12c352c"] [data-id="0ed83f4"] {
		flex-basis: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	.elementor-4253 [data-id="0ed83f4"] a,
	.elementor-4253 [data-id="c80f3ac"] a,
	.elementor-4253 [data-id="f7193b3"] a,
	.elementor-4253 [data-id="6f89efa"] a,
	.elementor-4253 [data-id="bcb9579"] a,
	.elementor-4253 [data-id="ef4f49b"] a {
		overflow-wrap: anywhere;
		word-break: normal;
	}
}

/* Feedback: stack long tab labels instead of letting them overlap. */
@media (max-width: 767px) {
	.elementor-372 [data-id="1747250"] {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
	}

	.elementor-372 [data-id="1747250"] > [data-e-type="e-tab"] {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px !important;
		align-self: stretch !important;
		padding: 10px 12px !important;
		text-align: center !important;
	}

	.elementor-372 [data-id="1747250"] .e-paragraph-base,
	.elementor-372 [data-id="1747250"] .e-paragraph-link-base {
		display: block !important;
		width: 100% !important;
		line-height: 1.35 !important;
		text-align: center !important;
	}
}
