/*
 * Conversi + Elementor (Zevonix, 2026-11-02): Bootstrap / WPBakery grid
 * behaviour for pages rebuilt in Elementor with the theme's class names.
 */
.elementor .e-con.zvx-container { --width: 100%; width: 100% !important; max-width: 1170px; margin-left: auto !important; margin-right: auto !important; padding-left: 15px !important; padding-right: 15px !important; }
@media (max-width: 1199px) { .elementor .e-con.zvx-container { max-width: 970px; } }
@media (max-width: 991px) { .elementor .e-con.zvx-container { max-width: 750px; } }
@media (max-width: 767px) { .elementor .e-con.zvx-container { max-width: none; } }
.elementor .e-con.zvx-row { --width: calc(100% + 30px); width: calc(100% + 30px) !important; max-width: none !important; margin-left: -15px !important; margin-right: -15px !important; }
.elementor .e-con.zvx-col { --padding-left: 15px; --padding-right: 15px; }
.elementor .e-con.zvx-col-inner { --padding-left: 15px; --padding-right: 15px; }
.elementor .e-con.zvx-gap-30 > .e-con { --padding-left: 15px; --padding-right: 15px; --padding-top: 15px; --padding-bottom: 15px; }
.elementor .zvx-content-element { margin-bottom: 35px; }
.elementor .elementor-widget-text-editor > :last-child,
.elementor .elementor-widget-text-editor .elementor-widget-container > :last-child { margin-bottom: 0; }
.elementor .zvx-figure img { display: block; }
.elementor .elementor-widget-image { text-align: inherit; }
.elementor .wpb_map_wraper iframe { display: block; width: 100%; border: 0; }
.elementor .e-con.zvx-row.zvx-container { --width: 100%; width: 100% !important; max-width: 1170px !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 1199px) { .elementor .e-con.zvx-row.zvx-container { max-width: 970px !important; } }
@media (max-width: 991px) { .elementor .e-con.zvx-row.zvx-container { max-width: 750px !important; } }
@media (max-width: 767px) { .elementor .e-con.zvx-row.zvx-container { max-width: none !important; } }
.elementor .wpb_map_wraper iframe { height: 300px; background: #f5f5f5; }
/* Feature boxes are centred, as in the theme. */
.elementor .affa-feature-img, .elementor .affa-feature-img * { text-align: center; }
.elementor .affa-feature-img img { margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .elementor .text-center-xs, .elementor .text-center-xs * { text-align: center; } }

/* Picture + text rows (How it works, Need Help, Who We Are): centre the picture
   against its text instead of top-aligning it while the text sits 100-120px lower
   (the old col-txt padding). Owner request 2026-11-02. */
@media (min-width: 768px) {
	.zvx-row:has(> .zvx-col .col-txt40, > .zvx-col .col-txt60, > .zvx-col .col-txt80, > .zvx-col .col-txt100, > .zvx-col .col-txt120) {
		align-items: center;
	}
	/* outranks the per-page spacing rules (.elementor .e-con.zvx-p...) */
	.elementor .zvx-row .e-con.col-txt40, .elementor .zvx-row .e-con.col-txt60, .elementor .zvx-row .e-con.col-txt80, .elementor .zvx-row .e-con.col-txt100, .elementor .zvx-row .e-con.col-txt120 {
		padding-top: 0 !important;
	}
}
