/*
 * BlueWave — Global Elementor Overrides
 *
 * Elementor flex containers apply a negative --margin-bottom equal to the
 * container's row-gap as compensation for the last flex row. Full-width
 * section widgets (hero, faq, contact, etc.) should always sit flush with
 * zero margin so this compensation doesn't create unwanted spacing.
 */

.elementor-widget-bluewave_hero,
.elementor-widget-bluewave_hero_switcher,
.elementor-widget-bluewave_form_switcher,
.elementor-widget-bluewave_contact_cta,
.elementor-widget-bluewave_faq,
.elementor-widget-bluewave_wave_divider,
.elementor-widget-bluewave_stat_bar,
.elementor-widget-bluewave_industries_carousel,
.elementor-widget-bluewave_promo_cards,
.elementor-widget-bluewave_service_grid,
.elementor-widget-bluewave_roles_grid,
.elementor-widget-bluewave_featured_posts,
.elementor-widget-bluewave_bg_gradient {
	--margin-top: 0px !important;
	--margin-bottom: 0px !important;
	--margin-left: 0px !important;
	--margin-right: 0px !important;
	margin: 0 !important;
	width: 100% !important;
	--container-widget-width: 100% !important;
	--container-widget-flex-grow: 1 !important;
	align-self: stretch !important;
}

/*
 * Full-viewport-width bleed for hero and contact CTA.
 * Uses the classic margin trick so the background + content escape any
 * max-width Elementor container without needing extra markup.
 * NOTE: parent containers must NOT have overflow: hidden for this to work.
 */
.elementor-widget-bluewave_hero .bw-hero,
.elementor-widget-bluewave_contact_cta .bw-contact-cta {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/*
 * Shared button arrow — used by all BlueWave button/CTA elements.
 * Color is inherited from the parent button's color (currentColor).
 * Hover translate is handled per-widget so each selector stays scoped.
 */
.bw-btn-arrow {
	display: inline-block;
	transition: transform .2s ease;
}

/*
 * Elementor native widget typography non-interference.
 *
 * BlueWave widgets scope ALL their CSS under BW-specific class prefixes
 * (e.g. .bw-hero, .bw-switcher, .bw-contact-cta, etc.) and do NOT set any
 * font-family, font-size, font-weight, line-height, or color properties on
 * Elementor's own widget classes such as .elementor-icon-box-description,
 * .elementor-icon-box-title, .elementor-widget-icon-box, or similar.
 *
 * The rules below explicitly ensure no BlueWave CSS property bleeds into
 * Elementor's native widget typography, allowing Elementor's Typography
 * controls to work without interference.
 */
.elementor-widget:not([class*="elementor-widget-bluewave"]) .elementor-icon-box-description,
.elementor-widget:not([class*="elementor-widget-bluewave"]) .elementor-icon-box-title,
.elementor-widget:not([class*="elementor-widget-bluewave"]) .elementor-icon-box-content {
	/* No BlueWave overrides — Elementor typography controls apply freely. */
	font-family: inherit;
}
