/**
 * Site-wide Elementor fixes (staging + production).
 */

/* LYC header — single offset below fixed bar (no duplicate white spacer band) */
html:has(.lyc-site-header) header.elementor-location-header,
html:has(.lyc-site-header) .elementor-location-header .e-con,
html:has(.lyc-site-header) .elementor-location-header .elementor-widget-shortcode,
html:has(.lyc-site-header) .elementor-location-header .elementor-widget-container,
html:has(.lyc-site-header) .elementor-location-header .elementor-shortcode {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

html:has(.lyc-site-header) header.elementor-location-header {
	height: var(--lyc-header-height) !important;
	min-height: 0 !important;
	max-height: var(--lyc-header-height) !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
}

html:has(.lyc-site-header) .lyc-site-header-spacer {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

html:has(.lyc-site-header) .lyc-navigation[hidden] {
	display: none !important;
}

html:has(.lyc-site-header) [data-elementor-type="wp-page"] > .e-con.e-parent:first-child,
html:has(.lyc-site-header) .lyc-hero {
	margin-top: var(--lyc-hero-offset-fix, 0px) !important;
}

/* Legacy body class selectors (auto-inject / replace HFE modes) */
body.lyc-aivan-menu-active header.elementor-location-header,
body.lyc-aivan-menu-active .elementor-location-header .e-con,
body.lyc-aivan-menu-active .elementor-location-header .elementor-widget-shortcode,
body.lyc-aivan-menu-active .elementor-location-header .elementor-widget-container,
body.lyc-aivan-menu-active .elementor-location-header .elementor-shortcode {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

body.lyc-aivan-menu-active header.elementor-location-header {
	height: var(--lyc-header-height) !important;
	min-height: 0 !important;
	max-height: var(--lyc-header-height) !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
}

body.lyc-aivan-menu-active .lyc-site-header-spacer {
	display: none !important;
	height: 0 !important;
}

body.lyc-aivan-menu-active .lyc-navigation[hidden] {
	display: none !important;
}

body.lyc-aivan-menu-active [data-elementor-type="wp-page"] > .e-con.e-parent:first-child,
body.lyc-aivan-menu-active .lyc-hero {
	margin-top: var(--lyc-hero-offset-fix, 0px) !important;
}

/* Newsletter signup — keep Subscribe aligned with inputs when errors appear. */
form.elementor-form[name="Newsletter"] .elementor-form-fields-wrapper,
.elementor-2621 .elementor-element-136c66e1 .elementor-form-fields-wrapper {
	align-items: flex-start !important;
}

form.elementor-form[name="Newsletter"] .elementor-field-type-submit.e-form__buttons,
.elementor-2621 .elementor-element-136c66e1 .elementor-field-type-submit.e-form__buttons {
	align-self: flex-start;
}

form.elementor-form[name="Newsletter"] .elementor-field-group:not(.e-form__buttons),
.elementor-2621 .elementor-element-136c66e1 .elementor-field-group:not(.e-form__buttons) {
	position: relative;
	padding-bottom: 1.5rem;
}

form.elementor-form[name="Newsletter"] .elementor-field-group:not(.e-form__buttons) .elementor-message,
.elementor-2621 .elementor-element-136c66e1 .elementor-field-group:not(.e-form__buttons) .elementor-message {
	position: absolute;
	left: calc(10px / 2);
	right: calc(10px / 2);
	bottom: 0;
	margin: 0;
}

/* Homepage "Our Services" anchor — offset for fixed header */
#services {
	scroll-margin-top: var(--lyc-header-height, 56px);
}
