/* Temporary layout rescue when Elementor page/theme CSS are missing.
   Remove this once original assets/wp-content is restored. */

/* ---- Elementor visibility (normally from Elementor CSS) ---- */
@media (max-width: 767px) {
	.elementor-hidden-mobile,
	.elementor-hidden-phone {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-hidden-tablet {
		display: none !important;
	}
}

@media (min-width: 1025px) {
	.elementor-hidden-desktop {
		display: none !important;
	}
}

/* ---- Global unstick (do not apply to header sticky bar) ---- */
body .elementor-section:not(#masthead *),
body .elementor-container:not(#masthead *),
body .elementor-column:not(#masthead *),
body .elementor-widget-wrap:not(#masthead *),
body .elementor-widget:not(#masthead *),
.elementor-location-single .elementor-element,
.elementor-location-footer .elementor-element {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	inset: auto !important;
}

.elementor-absolute,
.elementor-widget.elementor-absolute,
.e-transform.elementor-absolute {
	position: relative !important;
}

.elementor-section > .elementor-container {
	display: flex !important;
	flex-wrap: wrap !important;
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	gap: 24px;
	padding: 24px 16px !important;
	box-sizing: border-box;
}

.elementor-column {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 280px !important;
	min-height: 0 !important;
}

.elementor-column.elementor-col-100 {
	flex: 1 1 100% !important;
}

.elementor-widget-wrap {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* About page: column background images must fill the column height */
.elementor-91 .elementor-element.elementor-element-c58dbc6 > .elementor-widget-wrap,
.elementor-91 .elementor-element.elementor-element-b4626b9 > .elementor-widget-wrap,
.elementor-91 .elementor-element.elementor-element-7c7dea3 > .elementor-widget-wrap {
	min-height: inherit !important;
}

.elementor-widget {
	margin: 0 0 16px !important;
	width: auto !important;
	max-width: 100% !important;
}

.elementor-heading-title,
.elementor-icon-list-text,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
	position: static !important;
	white-space: normal !important;
	overflow: visible !important;
	line-height: 1.6 !important;
}

.elementor-widget-text-editor p {
	margin: 0 0 0.9em !important;
	max-width: 70ch;
}

.elementor-widget-image img,
.elementor-widget-image a img {
	max-width: 100% !important;
	height: auto !important;
	display: block;
}

/* =========================
   HEADER
   ========================= */
#masthead {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: #ffffff;
	border-bottom: 1px solid #e6e6e6;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

#masthead .elementor,
#masthead .elementor-section,
#masthead .elementor-column,
#masthead .elementor-widget-wrap {
	position: relative !important;
}

/* Hide sticky spacer clone (duplicate header) */
#masthead .vamtam-sticky-header--spacer {
	display: none !important;
}

#masthead .elementor-section {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

#masthead .elementor-section > .elementor-container {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	max-width: 1200px;
	padding: 10px 16px !important;
	min-height: 72px;
}

#masthead .elementor-column {
	flex: 0 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
}

#masthead .elementor-column.elementor-element-209fad66,
#masthead .elementor-column.elementor-element-9aafd6b {
	flex: 0 0 auto !important;
}

#masthead .elementor-column.elementor-element-45d07eaa,
#masthead .elementor-column.elementor-element-cc12e52 {
	flex: 1 1 auto !important;
	display: flex !important;
	justify-content: flex-end !important;
}

#masthead .elementor-column > .elementor-widget-wrap {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 14px !important;
	width: 100%;
}

#masthead .elementor-widget {
	margin: 0 !important;
	width: auto !important;
}

#masthead .elementor-widget-image img {
	width: auto !important;
	max-width: 160px !important;
	max-height: 52px !important;
	object-fit: contain;
}

#masthead .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#masthead .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li {
	display: inline-flex;
	align-items: center;
}

#masthead .elementor-nav-menu .elementor-item {
	display: inline-block;
	padding: 8px 10px;
	color: #1a1a1a !important;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
}

#masthead .elementor-widget-button .elementor-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 10px 16px !important;
	background: #2f3b3f !important;
	color: #ffffff !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	white-space: nowrap;
	font-size: 14px;
	line-height: 1.2;
}

#masthead .elementor-widget-button .elementor-button .elementor-button-text {
	color: #ffffff !important;
}

#masthead .elementor-menu-toggle {
	display: none;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: 1px solid #d0d0d0;
	border-radius: 4px;
	background: #fff;
	color: #1a1a1a;
	font-size: 20px;
}

#masthead .elementor-menu-toggle:before {
	content: "☰";
	font-size: 22px;
	line-height: 1;
}

#masthead .elementor-menu-toggle.elementor-active:before {
	content: "✕";
	font-size: 18px;
}

#masthead .elementor-menu-toggle i,
#masthead .elementor-menu-toggle .elementor-screen-only {
	display: none !important;
}

#masthead nav.elementor-nav-menu--dropdown {
	display: none;
}

/* Desktop header */
@media (min-width: 1025px) {
	#masthead .elementor-hidden-desktop {
		display: none !important;
	}

	#masthead .elementor-hidden-mobile.elementor-hidden-tablet,
	#masthead .vamtam-sticky-header:not(.vamtam-sticky-header--spacer) {
		display: block !important;
	}

	#masthead .elementor-nav-menu--main {
		display: block !important;
	}

	#masthead .elementor-menu-toggle,
	#masthead nav.elementor-nav-menu--dropdown {
		display: none !important;
	}
}

/* Mobile / tablet header */
@media (max-width: 1024px) {
	#masthead .elementor-hidden-mobile,
	#masthead .elementor-hidden-tablet,
	#masthead .vamtam-sticky-header:not(.elementor-hidden-desktop) {
		display: none !important;
	}

	#masthead .elementor-hidden-desktop {
		display: block !important;
	}

	#masthead .elementor-section > .elementor-container {
		flex-wrap: nowrap !important;
		min-height: 64px;
		padding: 8px 12px !important;
	}

	#masthead .elementor-widget-image img {
		max-width: 120px !important;
		max-height: 40px !important;
	}

	#masthead .elementor-column.elementor-element-cc12e52 > .elementor-widget-wrap {
		justify-content: flex-end !important;
		gap: 8px !important;
	}

	#masthead .elementor-nav-menu--main {
		display: none !important;
	}

	#masthead .elementor-menu-toggle {
		display: inline-flex !important;
		order: 3;
	}

	#masthead .elementor-widget-button {
		order: 2;
	}

	#masthead .elementor-button {
		padding: 8px 10px !important;
		font-size: 12px !important;
	}

	#masthead nav.elementor-nav-menu--dropdown {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		background: #fff;
		border-top: 1px solid #e6e6e6;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
		padding: 8px 0;
		max-height: calc(100vh - 70px);
		overflow: auto;
		z-index: 10000;
	}

	#masthead .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown,
	#masthead nav.elementor-nav-menu--dropdown.is-open {
		display: block !important;
	}

	#masthead nav.elementor-nav-menu--dropdown .elementor-nav-menu {
		display: block !important;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	#masthead nav.elementor-nav-menu--dropdown .elementor-item,
	#masthead nav.elementor-nav-menu--dropdown .elementor-sub-item {
		display: block;
		padding: 12px 16px;
		color: #1a1a1a !important;
		text-decoration: none;
		border-bottom: 1px solid #f0f0f0;
	}

	#masthead nav.elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu {
		display: none;
		padding-left: 12px;
		background: #fafafa;
	}

	#masthead nav.elementor-nav-menu--dropdown .menu-item-has-children.submenu-open > .sub-menu {
		display: block !important;
	}
}

/* =========================
   FOOTER (full rescue layout — must win over generic column rules)
   ========================= */
footer#colophon,
#colophon {
	background: #101820 !important;
	color: #ffffff;
	margin-top: 40px;
	clear: both;
	overflow: visible;
	padding: 0 80px 28px 20px;
	box-sizing: border-box;
}

#colophon .elementor-987658 {
	background: #101820 !important;
	color: #ffffff !important;
}

#colophon .elementor-heading-title,
#colophon .elementor-icon-list-text,
#colophon a,
#colophon p,
#colophon .elementor-button-text {
	color: #ffffff !important;
}

#colophon body {
	display: contents;
	margin: 0;
	padding: 0;
	background: transparent;
}

#colophon .elementor-widget-wrap {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
}

/* Hide empty decorative footer bands / gutters */
#colophon .elementor-element-2d569c62,
#colophon .elementor-element-19bf5d0a,
#colophon .elementor-element-3d88357d,
#colophon .elementor-element-16ef3f3c,
#colophon .elementor-element-25c830e,
#colophon .elementor-element-4eec4224,
#colophon .elementor-element-60551127 {
	display: none !important;
}

/* CTA row */
#colophon .elementor-element-59a507fe > .elementor-container {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: 16px !important;
	max-width: 1200px;
	margin: 0 auto !important;
	padding: 28px 0 !important;
}

#colophon .elementor-element-33c66d67,
#colophon .elementor-element-2c34d8d9 {
	flex: 1 1 280px !important;
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
}

#colophon .elementor-element-38f910e8 .elementor-button,
#colophon .elementor-element-7b34de33 .elementor-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 20px !important;
	background: #2a3539 !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 2px;
	box-sizing: border-box;
}

/* Main footer block */
#colophon .elementor-element-2bc54634 {
	background: #0c1418 !important;
	padding: 40px 0 24px !important;
}

#colophon .elementor-element-2bc54634 > .elementor-background-overlay,
#colophon .elementor-element-3b3af18a > .elementor-background-overlay {
	display: none !important;
}

#colophon .elementor-element-2bc54634 > .elementor-container {
	display: block !important;
	max-width: 1200px;
	margin: 0 auto !important;
	padding: 0 !important;
}

#colophon .elementor-element-1cd4189f {
	width: 100% !important;
	flex: 1 1 100% !important;
	max-width: 100% !important;
}

/* Logo + tagline */
#colophon .elementor-element-3b3af18a {
	margin-bottom: 32px;
}

footer#colophon .elementor-987658 .elementor-element-3b3af18a > .elementor-container {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 28px !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

#colophon .elementor-element-673f40c1 {
	flex: 0 0 180px !important;
	width: 180px !important;
	max-width: 180px !important;
	min-height: 0 !important;
}

#colophon .elementor-element-8f9c5e {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

#colophon .elementor-element-348b1aa img {
	max-width: 180px !important;
	width: 100% !important;
	height: auto !important;
	filter: none !important;
	display: block;
}

#colophon .elementor-element-213c3d0 .elementor-heading-title {
	font-size: clamp(18px, 2.1vw, 24px) !important;
	line-height: 1.35 !important;
	margin: 0 0 12px !important;
	white-space: normal !important;
	overflow: visible !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

#colophon .elementor-element-14ffe175 p {
	margin: 0 !important;
	max-width: 52ch;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.78) !important;
	text-align: left !important;
}

/* Link columns */
#colophon .elementor-element-702b071a > .elementor-container {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 28px 40px !important;
	padding: 28px 0 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	max-width: none !important;
}

#colophon .elementor-element-2dd9bbe6,
#colophon .elementor-element-69a22c2e,
#colophon .elementor-element-a86656e {
	flex: 1 1 140px !important;
	width: auto !important;
	max-width: 220px !important;
	min-height: 0 !important;
}

#colophon .elementor-element-70704c0 {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	margin-left: auto !important;
}

#colophon .elementor-element-702b071a .elementor-heading-title {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 12px !important;
	color: rgba(255, 255, 255, 0.55) !important;
}

#colophon .elementor-nav-menu--layout-vertical .elementor-nav-menu {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#colophon .elementor-nav-menu--layout-vertical .elementor-item {
	display: block;
	padding: 2px 0;
	color: #ffffff !important;
	font-size: 15px;
}

#colophon .elementor-nav-menu--dropdown {
	display: none !important;
}

#colophon .elementor-social-icons-wrapper {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

#colophon .elementor-social-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff !important;
}

/* Cookie chip: keep off footer link text */
.cky-btn-revisit-wrapper {
	bottom: 18px !important;
	left: auto !important;
	right: 18px !important;
	z-index: 999990 !important;
}

/* Shrink floating rail slightly so it sits in the footer padding gutter */
.pb-floating-actions {
	right: 12px !important;
	bottom: 100px !important;
}

.pb-floating-actions .pb-float {
	width: 42px !important;
	height: 42px !important;
}

@media (max-width: 1024px) {
	#colophon {
		padding-right: 64px;
	}

	#colophon .elementor-element-673f40c1 {
		flex: 0 0 140px !important;
		width: 140px !important;
		max-width: 140px !important;
	}

	#colophon .elementor-element-348b1aa img {
		max-width: 140px !important;
	}
}

@media (max-width: 600px) {
	#colophon {
		padding: 0 16px 24px !important;
	}

	footer#colophon .elementor-987658 .elementor-element-3b3af18a > .elementor-container {
		flex-wrap: wrap !important;
	}

	#colophon .elementor-element-673f40c1 {
		flex: 0 0 160px !important;
		width: 160px !important;
		max-width: 160px !important;
	}

	#colophon .elementor-element-2dd9bbe6,
	#colophon .elementor-element-69a22c2e,
	#colophon .elementor-element-a86656e,
	#colophon .elementor-element-70704c0 {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	#colophon .elementor-social-icons-wrapper {
		justify-content: flex-start;
	}

	.cky-btn-revisit-wrapper {
		bottom: 12px !important;
		right: 12px !important;
	}
}

/* =========================
   OVERLAYS / NOISE
   ========================= */
.cky-consent-container {
	z-index: 100000 !important;
}

.elementor-location-popup {
	display: none !important;
}

/* Floating social rail: keep out of the way on small screens */
@media (max-width: 1024px) {
	.elementor-widget-social-icons,
	.ekit-wid-con .ekit_social_media,
	[class*="floating"] {
		z-index: 20;
	}
}

/* Homepage hero fallback */
.elementor-section[data-settings*="background_slideshow"] {
	min-height: 360px !important;
	background: #0f2a33;
	color: #fff;
}

.elementor-section[data-settings*="background_slideshow"] .elementor-heading-title,
.elementor-section[data-settings*="background_slideshow"] .elementor-icon-list-text,
.elementor-section[data-settings*="background_slideshow"] .elementor-widget-text-editor,
.elementor-section[data-settings*="background_slideshow"] .elementor-widget-text-editor p {
	color: #fff !important;
}
