/**
 * EON GRUP — behavioral CSS only.
 *
 * No colors, typography, shadows, or spacing that Divi modules can express.
 * Visual styling lives in Divi 5 module.decoration attrs + global presets.
 */

/* --- Fixed header (position + scroll hook) -------------------------------- */

/* TB header wrapper: collapse layout gap but keep a top stacking layer above #main-content. */
.et-l--header,
.et-l--header > .et_builder_inner_content {
	position: relative;
	z-index: 100000;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: visible !important;
}

body.eon-site.et-tb-has-header #et-main-area,
body.eon-site.et-tb-has-header #main-content {
	position: relative;
	z-index: 1;
}

.eon-site-header,
.eon-site-header.et_pb_section {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000 !important;
	transition:
		background-color 0.3s ease,
		box-shadow 0.3s ease,
		border-color 0.3s ease,
		-webkit-backdrop-filter 0.3s ease,
		backdrop-filter 0.3s ease;
}

/* Beat Divi TB rule: .et-l--header > … .et_pb_section_0_tb_header { background: transparent !important } */
.et-l--header > .et_builder_inner_content .eon-site-header.et_pb_section:not(.is-scrolled) {
	background-color: transparent !important;
}

.et-l--header > .et_builder_inner_content .eon-site-header.et_pb_section.is-scrolled {
	background-color: rgba(255, 255, 255, 0.95) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
	box-shadow: 0 1px 3px rgba(15, 29, 50, 0.08) !important;
	border-bottom: 1px solid #dde3ea !important;
}

.eon-site-header:not(.is-scrolled) {
	background: transparent !important;
}

.eon-site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.95) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 1px 3px rgba(15, 29, 50, 0.08);
	border-bottom: 1px solid #dde3ea;
}

/* Single-line header bar — prevent Divi flex columns stacking/wrapping. */
.eon-site-header .eon-header-bar {
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.eon-site-header .eon-header-bar > [class*="et_flex_column"],
.eon-site-header .eon-header-logo-col,
.eon-site-header .eon-header-nav-col,
.eon-site-header .eon-header-actions-col {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
}

/* Phone/tablet: hide desktop CTAs (hamburger remains). Must beat the rule above. */
@media (max-width: 1279px) {
	.eon-site-header .eon-header-bar > .eon-header-actions-col,
	.eon-site-header .eon-header-actions-col {
		display: none !important;
	}
}

.eon-site-header .eon-header-logo-col,
.eon-site-header .eon-header-actions-col {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0;
}

.eon-site-header .eon-header-nav-col {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0;
	justify-content: center !important;
}

.eon-site-header .eon-header-nav-wrap,
.eon-site-header .eon-header-nav-wrap.et_pb_code,
.eon-site-header .eon-header-nav-wrap .et_pb_code_inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.eon-site-header .eon-header-logo-col .et_pb_image {
	flex: 0 0 auto;
	width: auto !important;
	max-width: 88px;
	margin: 0 !important;
}

.eon-site-header .eon-header-logo-col .et_pb_image img {
	display: block;
	width: auto;
	height: auto;
	max-height: 64px;
}

body.admin-bar .eon-site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .eon-site-header {
		top: 46px;
	}
}

.eon-site-header .eon-header-logo--dark {
	display: none !important;
}

.eon-site-header.is-scrolled .eon-header-logo--light {
	display: none !important;
}

.eon-site-header.is-scrolled .eon-header-logo--dark {
	display: block !important;
}

/* White logo on transparent header — brightness(0) then invert (invert-only turns navy → orange). */
.eon-site-header:not(.is-scrolled) .eon-header-logo--light img,
.eon-site-header:not(.is-scrolled) .eon-header-logo--light .et_overlay {
	filter: brightness(0) invert(1) !important;
}

.eon-site-header.is-scrolled .eon-header-logo--dark img,
.eon-site-header.is-scrolled .eon-header-logo--dark .et_overlay {
	filter: none !important;
}

/* Header section: zero padding at all breakpoints (section() defaults leak 80px on tablet). */
.eon-site-header.et_pb_section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Header CTA buttons — override Divi default button preset on transparent/scrolled states. */
.eon-site-header .eon-header-actions .eon-header-phone-btn.et_pb_button,
.eon-site-header .eon-header-actions .eon-header-contact-btn.et_pb_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	column-gap: 8px !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease !important;
}

/* React header phone uses Lucide Phone — not Divi icon font */
.eon-site-header .eon-header-actions .eon-header-phone-btn.et_pb_button:before {
	content: "" !important;
	display: inline-block !important;
	flex: 0 0 16px !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background-color: currentColor !important;
	-webkit-mask: url("../icons/lucide/phone.svg") center / contain no-repeat !important;
	mask: url("../icons/lucide/phone.svg") center / contain no-repeat !important;
}

.eon-site-header .eon-header-actions .et_pb_button:after {
	display: none !important;
	content: none !important;
}

.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-phone-btn.et_pb_button {
	background-color: rgba(255, 255, 255, 0.12) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-phone-btn.et_pb_button:hover,
.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-phone-btn.et_pb_button:focus-visible {
	background-color: rgba(255, 255, 255, 0.2) !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
	color: #ffffff !important;
}

.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-contact-btn.et_pb_button {
	background-color: #ffffff !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #1a3a5c !important;
}

.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-contact-btn.et_pb_button:hover,
.eon-site-header:not(.is-scrolled) .eon-header-actions--default .eon-header-contact-btn.et_pb_button:focus-visible {
	background-color: rgba(255, 255, 255, 0.9) !important;
	color: #1a3a5c !important;
}

.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-phone-btn.et_pb_button {
	background-color: transparent !important;
	border: 2px solid #1a3a5c !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #1a3a5c !important;
}

.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-phone-btn.et_pb_button:hover,
.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-phone-btn.et_pb_button:focus-visible {
	background-color: #1a3a5c !important;
	border-color: #1a3a5c !important;
	color: #ffffff !important;
}

.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-contact-btn.et_pb_button {
	background-color: #1a3a5c !important;
	border: 2px solid #1a3a5c !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-contact-btn.et_pb_button:hover,
.eon-site-header.is-scrolled .eon-header-actions--scrolled .eon-header-contact-btn.et_pb_button:focus-visible {
	background-color: #2d6a9f !important;
	border-color: #2d6a9f !important;
	color: #ffffff !important;
}

/* Scrolled header CTA groups — keep flex when toggling visibility. */
.eon-site-header .eon-header-actions--default,
.eon-site-header .eon-header-actions--scrolled {
	display: flex !important;
}

.eon-site-header:not(.is-scrolled) .eon-header-actions--scrolled {
	display: none !important;
}

.eon-site-header.is-scrolled .eon-header-actions--default {
	display: none !important;
}

body.eon-site {
	--eon-header-h: 80px;
	color: #0f1d32;
}

/* Match React body foreground; Divi defaults to muted gray */
#main-content,
#main-content .et_pb_section,
#main-content .et_pb_row,
#main-content .et_pb_column {
	color: #0f1d32;
}

/* Divi theme adds ~10px padding under headings — React headings have none */
#main-content h1,
#main-content h2,
#main-content h3,
#main-content h4 {
	padding-bottom: 0 !important;
}

/* React page hero title: text-4xl / md:text-5xl / lg:text-6xl leading-tight */
#main-content .eon-page-hero h1 {
	font-size: 2.25rem !important;
	line-height: 1.25 !important;
	letter-spacing: normal !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	max-width: 48rem; /* React max-w-3xl */
}

/* React container-max + section-padding !pt-8 + horizontal inset on page heroes */
#main-content .eon-page-hero .eon-page-shell {
	padding-top: 32px !important; /* React !pt-8 */
	padding-left: 16px !important;
	padding-right: 16px !important;
	box-sizing: border-box !important;
}

@media (min-width: 768px) {
	#main-content .eon-page-hero h1 {
		font-size: 3rem !important;
	}

	#main-content .eon-page-hero .eon-page-shell {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
}

@media (min-width: 1024px) {
	#main-content .eon-page-hero h1 {
		font-size: 3.75rem !important;
	}

	#main-content .eon-page-hero .eon-page-shell {
		padding-left: 64px !important;
		padding-right: 64px !important;
	}
}

/* React section titles: text-3xl / md:text-4xl / lg:text-5xl tracking-tight */
#main-content .eon-section-header h2 {
	font-size: 1.875rem !important;
	line-height: 1.25 !important;
	letter-spacing: -0.025em !important;
	font-weight: 700 !important;
}

@media (min-width: 768px) {
	#main-content .eon-section-header h2 {
		font-size: 2.25rem !important;
	}
}

@media (min-width: 1024px) {
	#main-content .eon-section-header h2 {
		font-size: 3rem !important;
	}
}

/*
 * Theme Builder fixed header — hero must start at viewport top (under the header).
 * Do NOT pad #page-container; collapse the TB header placeholder in document flow.
 */
body.eon-site.et-tb-has-header #page-container {
	padding-top: 0 !important;
}

body.eon-site:not(.et-tb-has-header) #page-container {
	padding-top: var(--eon-header-h);
}

body.eon-site.et-tb-has-header #et-main-area,
body.eon-site.et-tb-has-header #main-content,
body.eon-site.et-tb-has-header #main-content .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Home hero — full-bleed under fixed header; top-align like React’s near-full content block */
#main-content .eon-home-hero.et_pb_section {
	margin-top: 0 !important;
	min-height: 100vh !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

/* React live: ~header + 24px to badge (104px @ 80px header). Use header token for WP’s ~88px bar. */
/*#main-content .eon-home-hero .eon-page-shell {*/
/*	padding-top: calc(var(--eon-header-h, 80px) + 24px) !important;*/
/*	padding-bottom: 80px !important;*/
/*	padding-left: 16px !important;*/
/*	padding-right: 16px !important;*/
/*	box-sizing: border-box !important;*/
/*}*/

/*@media (min-width: 768px) {*/
/*	#main-content .eon-home-hero .eon-page-shell {*/
/*		padding-left: 32px !important;*/
/*		padding-right: 32px !important;*/
/*	}*/
/*}*/

/*@media (min-width: 1024px) {*/
/*	#main-content .eon-home-hero .eon-page-shell {*/
/*		padding-left: 64px !important;*/
/*		padding-right: 64px !important;*/
/*	}*/
/*}*/

/* Silver half of the tagline (span sibling of the H1 group) */
#main-content .eon-home-hero .et_pb_text_inner > span {
	font-size: 2.25rem !important;
	line-height: 1.1 !important;
	letter-spacing: -0.025em !important;
	font-weight: 700 !important;
}

#main-content .eon-home-hero .et_pb_text,
#main-content .eon-home-hero .et_pb_group {
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

@media (min-width: 768px) {
	#main-content .eon-home-hero h1,
	#main-content .eon-home-hero .et_pb_text h1,
	#main-content .eon-home-hero .et_pb_text_inner > span {
		font-size: 3rem !important; /* 48px */
	}
}

@media (min-width: 1024px) {
	#main-content .eon-home-hero h1,
	#main-content .eon-home-hero .et_pb_text h1,
	#main-content .eon-home-hero .et_pb_text_inner > span {
		font-size: 4.5rem !important; /* 72px — React lg:text-7xl */
	}
}

/* Don't force the lead paragraph / badge to hero display size */
#main-content .eon-home-hero .et_pb_text_0 .et_pb_text_inner,
#main-content .eon-home-hero .et_pb_text_3 .et_pb_text_inner,
#main-content .eon-home-hero .eon-home-hero__lead .et_pb_text_inner {
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: normal !important;
	line-height: inherit !important;
}

/*
 * Inner-page heroes: React pt-36 pb-20 (horizontal via shell).
 * Divi phone/tablet CSS collapses this to 80px 16px — force React values.
 */
#main-content .eon-page-hero.et_pb_section {
	margin-top: 0 !important;
	padding-top: 144px !important;
	padding-bottom: 80px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Phone: stack Divi CSS-grid rows to a single column (home card grids lack eon-* classes). */
@media (max-width: 767px) {
	#main-content .et_grid_row,
	#main-content .eon-grid-row {
		grid-template-columns: minmax(0, 1fr) !important;
		column-gap: 16px !important;
		row-gap: 16px !important;
	}

	/* Flex-based eon-grid rows (some nested home/despre layouts) */
	#main-content .eon-grid-row.et_flex_row,
	#main-content .et_pb_row_nested.eon-grid-row {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		row-gap: 16px !important;
	}

	#main-content .eon-grid-row.et_flex_row > .et_pb_column,
	#main-content .et_pb_row_nested.eon-grid-row > .et_pb_column {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Despre stats: keep 2×2 like a compact phone grid */
	#main-content .eon-about-stats-grid.et_grid_row,
	#main-content .eon-about-stats-grid.eon-grid-row,
	#main-content .eon-about-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 24px !important;
		row-gap: 24px !important;
	}

	#main-content .eon-photo-masonry {
		column-count: 1 !important;
	}

	/* Home hero CTAs — React wraps; prevent side-by-side overflow */
	#main-content .eon-home-hero .et_pb_group:has(.et_pb_button) {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		row-gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#main-content .eon-home-hero .et_pb_button,
	#main-content .eon-home-hero .et_pb_button_module_wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Title line + silver half use full content width */
	#main-content .eon-home-hero h1,
	#main-content .eon-home-hero .et_pb_text h1,
	#main-content .eon-home-hero .et_pb_text_inner > span {
		width: 100% !important;
		max-width: 100% !important;
	}

	#main-content .eon-cf7-grid--2 {
		grid-template-columns: 1fr !important;
	}
}

/* --- Filter visibility (pages.js) ----------------------------------------- */

[data-eon-filter-item].is-hidden,
.eon-filter-item.is-hidden {
	display: none !important;
}

/* Filter active state — .eon-filter-btn IS the <a.et_pb_button>, not a wrapper */
#main-content .eon-filter-bar .eon-filter-btn.is-active,
#main-content .eon-filter-bar a.et_pb_button.eon-filter-btn.is-active {
	background-color: #1a3a5c !important;
	background-image: none !important;
	border-color: #1a3a5c !important;
	color: #ffffff !important;
}

#main-content .eon-filter-bar .eon-filter-btn:not(.is-active),
#main-content .eon-filter-bar a.et_pb_button.eon-filter-btn:not(.is-active) {
	background-color: #f1f4f8 !important;
	background-image: none !important;
	border-color: transparent !important;
	color: #5a6b7d !important;
}

/* --- Gallery masonry layout (column-count not in Divi grid) --------------- */

#main-content .eon-photo-masonry {
	display: block !important;
	column-count: 2;
	column-gap: 16px;
}

#main-content .eon-photo-masonry .eon-photo-tile {
	break-inside: avoid;
	display: block;
	margin: 0 0 16px !important;
	width: 100% !important;
	overflow: hidden;
	border-radius: 16px;
}

/* React cycles aspect-[3/4] / square / aspect-[4/3] by index */
#main-content .eon-photo-masonry .eon-photo-tile:nth-child(3n + 1) {
	aspect-ratio: 3 / 4;
}

#main-content .eon-photo-masonry .eon-photo-tile:nth-child(3n + 2) {
	aspect-ratio: 1 / 1;
}

#main-content .eon-photo-masonry .eon-photo-tile:nth-child(3n) {
	aspect-ratio: 4 / 3;
}

#main-content .eon-photo-masonry .eon-photo-tile .et_pb_image_wrap,
#main-content .eon-photo-masonry .eon-photo-tile img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 768px) {
	#main-content .eon-photo-masonry {
		column-count: 3;
	}
}

@media (min-width: 1024px) {
	#main-content .eon-photo-masonry {
		column-count: 4;
	}
}

/* --- Product / cert card media (aspect-ratio + cover crop) ----------------- */

#main-content .eon-product-card__media,
#main-content .eon-certificate-card__media {
	aspect-ratio: 4 / 3 !important;
	width: 100% !important;
	flex-shrink: 0 !important;
	overflow: hidden !important;
}

#main-content .eon-product-card__media .et_pb_image_wrap,
#main-content .eon-product-card__media img,
#main-content .eon-certificate-card__media .et_pb_image_wrap,
#main-content .eon-certificate-card__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* PDF cert tiles: React overlays a small PDF badge in the top-right */
#main-content .eon-certificate-card__media--pdf {
	position: relative;
	min-height: 0 !important;
}

#main-content .eon-certificate-card__media--pdf .et_pb_text,
#main-content .eon-certificate-card__media--pdf [class*="eon-badge"],
#main-content .eon-certificate-card__media--pdf .preset--module--divi-text--eon-badge-accent {
	position: absolute !important;
	top: 12px;
	right: 12px;
	margin: 0 !important;
}

/* Match React Badge: rounded-full px-3 py-1 text-xs font-semibold, border #dde3ea */
#main-content .eon-badge,
#main-content .preset--module--divi-text--eon-hero-badge,
#main-content .preset--module--divi-text--eon-badge-accent,
#main-content .preset--module--divi-text--eon-badge-light {
	font-weight: 600 !important;
	line-height: 16px !important;
	border-color: #dde3ea !important;
	border-width: 1px !important;
	border-style: solid !important;
}

#main-content .et_pb_button {
	border-radius: 16px !important;
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	/* React gap-2 for Lucide icon + label */
	gap: 8px !important;
	white-space: nowrap !important;
	/* Default size matches React h-11 px-6 */
	padding: 10px 24px !important;
	box-sizing: border-box !important;
	/* React: transition-all duration-300 */
	transition:
		background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#main-content .eon-btn--lg.et_pb_button,
#main-content .preset--module--divi-button--eon-button-lg.et_pb_button {
	padding: 14px 32px !important;
}

#main-content .eon-btn--outline.et_pb_button,
#main-content .eon-product-card .et_pb_button {
	padding: 6px 16px !important;
}

/* Kill Divi’s default hover padding collapse / icon-slide padding */
#main-content .et_pb_button:hover,
#main-content .et_pb_button:focus-visible,
#main-content .et_pb_module .et_pb_button:hover,
#main-content .et_pb_bg_layout_light.et_pb_button:hover,
#main-content .et_pb_bg_layout_light .et_pb_button:hover {
	padding: 10px 24px !important;
	border-style: solid !important;
	gap: 8px !important;
	column-gap: 8px !important;
}

#main-content .eon-btn--lg.et_pb_button:hover,
#main-content .eon-btn--lg.et_pb_button:focus-visible,
#main-content .preset--module--divi-button--eon-button-lg.et_pb_button:hover,
#main-content .preset--module--divi-button--eon-button-lg.et_pb_button:focus-visible {
	padding: 14px 32px !important;
}

#main-content .eon-btn--outline.et_pb_button:hover,
#main-content .eon-btn--outline.et_pb_button:focus-visible,
#main-content .eon-product-card .et_pb_button:hover,
#main-content .eon-product-card .et_pb_button:focus-visible {
	padding: 6px 16px !important;
}

/* React default: hover:bg-navy-light (#2d6a9f) + hover:shadow-lg */
#main-content .et_pb_button:not(.eon-btn--outline):not(.eon-btn--accent):hover,
#main-content .et_pb_button:not(.eon-btn--outline):not(.eon-btn--accent):focus-visible,
#main-content .eon-btn--primary:hover,
#main-content .eon-btn--primary:focus-visible,
#main-content .eon-btn--lg:not(.eon-btn--outline):hover,
#main-content .eon-btn--lg:not(.eon-btn--outline):focus-visible {
	background-color: #2d6a9f !important;
	background-image: none !important;
	border-color: #2d6a9f !important;
	color: #ffffff !important;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

/* React accent: hover:bg-accent/90 */
#main-content .eon-btn--accent:hover,
#main-content .eon-btn--accent:focus-visible {
	background-color: rgba(45, 106, 159, 0.9) !important;
	background-image: none !important;
	border-color: transparent !important;
	color: #ffffff !important;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

/* React outline: hover:bg-primary hover:text-primary-foreground */
#main-content .eon-btn--outline:hover,
#main-content .eon-btn--outline:focus-visible,
#main-content .eon-product-card .et_pb_button:hover,
#main-content .eon-product-card .et_pb_button:focus-visible {
	background-color: #1a3a5c !important;
	background-image: none !important;
	border-color: #1a3a5c !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

/* React ArrowRight — Lucide stroke, always visible (not Divi ETmodules glyph) */
#main-content .et_pb_button:after {
	content: "" !important;
	display: inline-block !important;
	flex: 0 0 16px !important;
	position: static !important;
	opacity: 1 !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	line-height: 0 !important;
	font-size: 0 !important;
	font-family: inherit !important;
	speak: never;
	transform: none !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	background-color: currentColor !important;
	-webkit-mask: url("../icons/lucide/arrow-right.svg") center / contain no-repeat !important;
	mask: url("../icons/lucide/arrow-right.svg") center / contain no-repeat !important;
	transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#main-content .et_pb_button:hover:after,
#main-content .et_pb_button:focus-visible:after {
	opacity: 1 !important;
	transform: none !important;
	left: auto !important;
	right: auto !important;
	background-color: currentColor !important;
}

#main-content .et_pb_button:before {
	display: none !important;
	content: none !important;
}

/* React size=lg uses ArrowRight h-5 w-5 (20px) */
#main-content .eon-btn--lg.et_pb_button:after,
#main-content .preset--module--divi-button--eon-button-lg .et_pb_button:after,
#main-content .preset--module--divi-button--eon-button-lg.et_pb_button:after {
	width: 20px !important;
	height: 20px !important;
	flex-basis: 20px !important;
}

#main-content .eon-filter-bar .et_pb_button:after,
#main-content .eon-filter-btn .et_pb_button:after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	flex: 0 0 0 !important;
}

#main-content .eon-product-card .et_pb_button {
	border-radius: 12px !important;
	min-height: 36px !important;
	padding: 6px 16px !important;
}

/* React CheckCircle (circle-check-big) — accent stroke, size set per list */
#main-content .eon-check-row .et_pb_svg svg,
#main-content .eon-check-list .et_pb_svg svg {
	stroke: #2d6a9f !important;
	color: #2d6a9f !important;
}

#main-content .eon-check-row .et_pb_svg {
	flex-shrink: 0 !important;
}

/* React contact submit: Send icon before label (not ArrowRight) */
#main-content .eon-cf7-form .wpcf7-submit,
#main-content .eon-cf7-form input[type="submit"] {
	gap: 8px !important;
}

#main-content .eon-cf7-form .wpcf7-submit:before,
#main-content .eon-cf7-form input[type="submit"]:before {
	content: "" !important;
	display: inline-block !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background-color: currentColor !important;
	-webkit-mask: url("../icons/lucide/send.svg") center / contain no-repeat !important;
	mask: url("../icons/lucide/send.svg") center / contain no-repeat !important;
}

#main-content .eon-cf7-form .wpcf7-submit:after,
#main-content .eon-cf7-form input[type="submit"]:after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
}
/*
 * Home “why us” cards — React CardContent p-8 + flex gap-5 (icon → copy).
 */
#main-content .eon-home-why-card.eon-card,
#main-content .eon-home-why-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	column-gap: 20px !important;
	height: auto !important;
	min-height: 100% !important;
	overflow: visible !important;
	padding: 32px !important;
	box-sizing: border-box !important;
}

#main-content .eon-home-why-card .et_pb_svg {
	flex-shrink: 0 !important;
}

#main-content .eon-home-why-card .et_pb_group {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

/* React: text-muted-foreground on card body (second text module) */
#main-content .eon-home-why-card .et_pb_group > .et_pb_text:last-child .et_pb_text_inner {
	color: #5a6b7d !important;
}

/*
 * Home / feature service cards — React CardContent rhythm:
 * icon mb-5 (20), badge mb-3 (12), title mb-2 (8), link mt-4 (16);
 * description flex-1 so Detalii aligns at the bottom of equal-height cards.
 * Live Acasă cards lack .eon-home-service-card / .eon-card — target by grid structure.
 */
#main-content .eon-home-service-card,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	height: 100% !important;
	min-height: 100% !important;
}

#main-content .eon-home-service-card > .et_pb_svg,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_svg {
	margin-bottom: 20px !important;
	flex: 0 0 auto !important;
}

#main-content .eon-home-service-card > .et_pb_svg + .et_pb_text,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_svg + .et_pb_text {
	margin-bottom: 12px !important;
	flex: 0 0 auto !important;
}

#main-content .eon-home-service-card > .et_pb_svg + .et_pb_text + .et_pb_text,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_svg + .et_pb_text + .et_pb_text {
	margin-bottom: 8px !important;
	flex: 0 0 auto !important;
}

#main-content .eon-home-service-card > .et_pb_svg + .et_pb_text + .et_pb_text + .et_pb_text,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_svg + .et_pb_text + .et_pb_text + .et_pb_text {
	flex: 1 1 auto !important;
	margin-bottom: 0 !important;
}

#main-content .eon-home-service-card > .et_pb_button_module_wrapper,
#main-content .eon-home-service-card > .et_pb_button,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_button_module_wrapper,
#main-content .eon-grid-row--3 > .et_pb_column > .et_pb_group.et_flex_group:has(> .et_pb_svg):not(.eon-home-why-card) > .et_pb_button {
	margin-top: 16px !important;
	flex: 0 0 auto !important;
}

/*
 * Servicii detail cards — React CardContent: flex flex-col lg:flex-row gap-8.
 */
#main-content .et_pb_section .eon-service-card > .et_pb_group.et_flex_group {
	display: flex !important;
	column-gap: 32px !important;
	row-gap: 32px !important;
	align-items: flex-start !important;
}

@media (max-width: 980px) {
	#main-content .et_pb_section .eon-service-card > .et_pb_group.et_flex_group {
		flex-direction: column !important;
	}
}

/* React StaggerContainer gap-6; keep auto rows so equal-height Divi attrs can’t clip */
#main-content .eon-grid-row--2.eon-grid-row {
	grid-template-rows: none !important;
	align-items: stretch !important;
}

#main-content .eon-grid-row--2 > .et_pb_column {
	height: auto !important;
	min-height: 0 !important;
}

/*
 * Homepage section footer CTAs (direct column children — not hero/card buttons).
 * React: text-center mt-12; solid / outline Button lg; why-section = text link.
 */
#main-content .et_pb_column > .et_pb_button_module_wrapper {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: center !important;
	flex: 0 0 auto !important;
}

/* Full-width shell columns so CTAs center on the page (partners/gallery were ~768px). */
#main-content .et_pb_column.eon-page-shell,
#main-content .et_pb_column.eon-container {
	width: 100% !important;
	max-width: 1280px !important;
	flex: 1 1 100% !important;
	min-width: 0 !important;
}

#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	box-sizing: border-box !important;
}

/* Why-section: React text link (not a bordered button) */
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--eon-button-outline,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.eon-btn--outline {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	color: #1a3a5c !important;
	border-radius: 0 !important;
}

#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--eon-button-outline:hover,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--eon-button-outline:focus-visible,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.eon-btn--outline:hover,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.eon-btn--outline:focus-visible {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	gap: 12px !important;
	column-gap: 12px !important;
}

/* Solid + outline Button lg — React h-13 px-8 rounded-xl, border-primary */
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--default,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button:not(.preset--module--divi-button--eon-button-outline):not(.eon-btn--outline) {
	padding: 14px 32px !important;
	border-radius: 12px !important;
	border-width: 2px !important;
	border-style: solid !important;
	border-color: #1a3a5c !important;
	font-weight: 600 !important;
}

#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--default:hover,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button.preset--module--divi-button--default:focus-visible,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button:not(.preset--module--divi-button--eon-button-outline):not(.eon-btn--outline):hover,
#main-content .et_pb_column > .et_pb_button_module_wrapper .et_pb_button:not(.preset--module--divi-button--eon-button-outline):not(.eon-btn--outline):focus-visible {
	padding: 14px 32px !important;
	border-color: #1a3a5c !important;
}

/* React contact card: space-y-6 between items, gap-4 icon→copy */
#main-content .eon-contact-blurb {
	row-gap: 24px !important;
}

#main-content .eon-contact-info-item {
	column-gap: 16px !important;
}

/* React FAQ accordion is full container width (header alone is max-w-3xl). */
#main-content .eon-contact-faq-shell {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
}

#main-content .eon-faq-card {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 24px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 1px 3px rgba(15, 29, 50, 0.04), 0 8px 24px rgba(15, 29, 50, 0.06) !important;
}

/* Match React AccordionItem / AccordionTrigger / AccordionContent */
#main-content .eon-faq-card .et_pb_toggle {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid #dde3ea !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#main-content .eon-faq-card .et_pb_toggle_title {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 20px 0 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 24px !important;
	color: #0f1d32 !important;
	text-align: left !important;
	cursor: pointer !important;
	transition: color 0.2s ease !important;
}

#main-content .eon-faq-card .et_pb_toggle_title:hover {
	color: #2d6a9f !important;
}

/* Hide Divi ETmodules icon; use Lucide ChevronDown like React */
#main-content .eon-faq-card .et_pb_toggle_title:before {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	font-size: 0 !important;
}

#main-content .eon-faq-card .et_pb_toggle_title:after {
	content: "" !important;
	display: block !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background-color: #5a6b7d !important;
	-webkit-mask: url("../icons/lucide/chevron-down.svg") center / contain no-repeat !important;
	mask: url("../icons/lucide/chevron-down.svg") center / contain no-repeat !important;
	transition: transform 0.3s ease !important;
	transform: none !important;
	position: static !important;
	right: auto !important;
	left: auto !important;
	top: auto !important;
	font-size: 0 !important;
	line-height: 0 !important;
	opacity: 1 !important;
}

#main-content .eon-faq-card .et_pb_toggle_open .et_pb_toggle_title:after,
#main-content .eon-faq-card .et_pb_toggle[aria-expanded="true"] .et_pb_toggle_title:after,
#main-content .eon-faq-card .et_pb_toggle.is-open .et_pb_toggle_title:after {
	transform: rotate(180deg) !important;
}

#main-content .eon-faq-card .et_pb_toggle_content {
	padding: 0 0 20px !important;
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.625 !important;
	color: #5a6b7d !important;
}

#main-content .eon-faq-card .et_pb_toggle_content p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

/*
 * Home hero trust strip (React gap-6).
 * Live home has no eon-home-hero__trust class yet — target last hero group.
 */
#main-content .eon-home-hero__trust,
#main-content .eon-home-hero .et_pb_column > .et_pb_group.et_flex_group:last-of-type {
	column-gap: 24px !important;
	row-gap: 24px !important;
}

@media (max-width: 767px) {
	#main-content .eon-home-hero__trust,
	#main-content .eon-home-hero .et_pb_column > .et_pb_group.et_flex_group:last-of-type {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px 16px !important;
		column-gap: 16px !important;
		row-gap: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
		align-items: start !important;
	}

	#main-content .eon-home-hero__trust > .et_pb_group,
	#main-content .eon-home-hero .et_pb_column > .et_pb_group.et_flex_group:last-of-type > .et_pb_group {
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: unset !important;
	}
}

/* Despre company badge + year — keep a few px so they never kiss */
#main-content .eon-company-card .et_pb_group.et_flex_group:has(.eon-badge),
#main-content .eon-company-card .et_pb_group.et_flex_group:has([class*="eon-badge"]) {
	column-gap: 8px !important;
	align-items: center !important;
}

#main-content .eon-grid-row {
	row-gap: 24px !important;
	column-gap: 24px !important;
}

/* React despre stats: grid gap-8 (32px) */
#main-content .eon-about-stats-grid.eon-grid-row {
	row-gap: 32px !important;
	column-gap: 32px !important;
}

@media (max-width: 980px) {
	#main-content .eon-grid-row {
		row-gap: 20px !important;
		column-gap: 20px !important;
	}

	#main-content .eon-about-stats-grid.eon-grid-row {
		row-gap: 32px !important;
		column-gap: 32px !important;
	}
}

@media (max-width: 767px) {
	#main-content .eon-grid-row {
		row-gap: 16px !important;
		column-gap: 16px !important;
	}

	#main-content .eon-about-stats-grid.eon-grid-row {
		row-gap: 32px !important;
		column-gap: 32px !important;
	}
}

/* React despre stats: tight number→label (mt-1), regular label weight */
#main-content .eon-about-stats-grid .et_pb_number_counter .percent {
	height: 40px !important;
	min-height: 0 !important;
	max-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 40px !important;
	overflow: hidden !important;
}

#main-content .eon-about-stats-grid .et_pb_number_counter .percent p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 40px !important;
	height: 40px !important;
	font-size: inherit !important;
}

#main-content .eon-about-stats-grid .et_pb_number_counter .percent-value,
#main-content .eon-about-stats-grid .et_pb_number_counter .percent-sign {
	font-size: 36px !important;
	line-height: 40px !important;
	font-weight: 700 !important;
	color: #1a3a5c !important;
	vertical-align: top !important;
}

#main-content .eon-about-stats-grid .et_pb_number_counter h3.title {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	color: #5a6b7d !important;
}

#main-content .eon-about-stats-grid .et_pb_number_counter canvas {
	display: none !important;
}

/* --- Page hero gradient (Divi raw multi-stop gradients often fail to emit) - */

#main-content .eon-page-hero.eon-gradient-hero {
	background-image: linear-gradient(135deg, #0f1d32 0%, #1a3a5c 50%, #2d6a9f 100%) !important;
	background-color: #0f1d32 !important;
}

/* --- Contact form (CF7 internals cannot be styled via Divi options) -------- */

#main-content .eon-cf7-form p {
	margin-bottom: 16px;
}

#main-content .eon-cf7-grid--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

@media (max-width: 640px) {
	#main-content .eon-cf7-grid--2 {
		grid-template-columns: 1fr;
	}
}

#main-content .eon-cf7-grid--2 p {
	margin-bottom: 0;
}

#main-content .eon-cf7-form label {
	display: block;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 14px;
	font-weight: 500;
	color: #0f1d32;
	line-height: 20px;
}

/* CF7 inserts <br> after labels — that alone adds ~20px vs React mb-1.5 (6px). */
#main-content .eon-cf7-form label + br {
	display: none !important;
}

#main-content .eon-cf7-form .wpcf7-form-control-wrap {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

#main-content .eon-cf7-form input[type="text"],
#main-content .eon-cf7-form input[type="email"],
#main-content .eon-cf7-form input[type="tel"],
#main-content .eon-cf7-form textarea {
	width: 100%;
	background: #ffffff;
	border: 1px solid #dde3ea;
	border-radius: 12px;
	padding: 10px 16px;
	font-size: 14px;
	line-height: 1.5;
	color: #0f1d32;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#main-content .eon-cf7-form input[type="text"],
#main-content .eon-cf7-form input[type="email"],
#main-content .eon-cf7-form input[type="tel"] {
	height: 44px;
}

#main-content .eon-cf7-form textarea {
	min-height: 130px;
	resize: vertical;
}

#main-content .eon-cf7-form input::placeholder,
#main-content .eon-cf7-form textarea::placeholder {
	color: #5a6b7d;
	opacity: 0.8;
}

#main-content .eon-cf7-form input:focus,
#main-content .eon-cf7-form textarea:focus {
	outline: none;
	border-color: #2d6a9f;
	box-shadow: 0 0 0 2px rgba(45, 106, 159, 0.25);
}

#main-content .eon-cf7-form input[type="submit"],
#main-content .eon-cf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 32px;
	background: #1a3a5c;
	color: #ffffff;
	border: 0;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

#main-content .eon-cf7-form input[type="submit"]:hover,
#main-content .eon-cf7-form .wpcf7-submit:hover {
	background: #2d6a9f;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

#main-content .eon-cf7-form .wpcf7-spinner {
	display: none;
}

#main-content .eon-cf7-form .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 12px;
	color: #b91c1c;
}

/* --- Map iframe aspect ratio ---------------------------------------------- */

#main-content .eon-contact-map {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

#main-content .eon-contact-map__frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --- Floating action buttons (fixed position only) -------------------------- */

.eon-floating-actions {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.eon-floating-actions a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 9999px;
	color: #ffffff !important;
	box-shadow: 0 10px 15px -3px rgba(15, 29, 50, 0.2), 0 4px 6px -4px rgba(15, 29, 50, 0.15);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.eon-floating-actions a:hover {
	transform: scale(1.05);
	box-shadow: 0 20px 25px -5px rgba(15, 29, 50, 0.25), 0 8px 10px -6px rgba(15, 29, 50, 0.2);
}

.eon-floating-actions__whatsapp {
	background-color: #25d366 !important;
}

.eon-floating-actions__phone {
	background-color: #1a3a5c !important;
}

.eon-floating-actions svg {
	width: 1.5rem;
	height: 1.5rem;
	stroke: currentColor;
	fill: none;
}

/* --- Footer (Theme Builder — Divi flex/grid + bg_layout_light overrides) ------- */

.et-l--footer .eon-site-footer .eon-footer-grid.et_pb_row {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3rem;
	align-items: start;
}

.et-l--footer .eon-site-footer .eon-footer-grid > .et_pb_column {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	flex: none !important;
}

.et-l--footer .eon-site-footer h4 {
	color: rgba(255, 255, 255, 0.9) !important;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.et-l--footer .eon-site-footer .eon-footer-nav,
.et-l--footer .eon-site-footer .eon-footer-nav .et_pb_menu_inner_container,
.et-l--footer .eon-site-footer .eon-footer-nav .et_pb_menu__wrap {
	justify-content: flex-start !important;
	text-align: left !important;
}

.et-l--footer .eon-site-footer .eon-footer-nav .et-menu {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.5rem;
	/* Cancel Divi menu.css: .et_pb_menu .et-menu { margin-left/right: -11px } */
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.et-l--footer .eon-site-footer .eon-footer-nav .et-menu > li {
	display: block !important;
	width: 100%;
	margin: 0 !important;
	/* Cancel Divi menu.css: .et_pb_menu .et-menu > li { padding-left/right: 11px } */
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.et-l--footer .eon-site-footer .eon-footer-nav .et-menu a,
.et-l--footer .eon-site-footer .eon-footer-nav .nav a {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 14px;
	line-height: 1.6;
	transition: color 0.2s ease;
}

/*
 * Footer “Navigare” — always show the link list; never Divi’s mobile hamburger.
 * Divi hides .et_pb_menu__menu and shows .et_mobile_nav_menu under 980px.
 */
.et-l--footer .eon-site-footer .et_pb_menu .et_mobile_nav_menu,
.et-l--footer .eon-site-footer .eon-footer-nav .et_mobile_nav_menu,
.et-l--footer .eon-site-footer .et_pb_menu .mobile_nav,
.et-l--footer .eon-site-footer .et_pb_menu .et_mobile_menu {
	display: none !important;
}

.et-l--footer .eon-site-footer .et_pb_menu .et_pb_menu__menu,
.et-l--footer .eon-site-footer .eon-footer-nav .et_pb_menu__menu {
	display: block !important;
}

.et-l--footer .eon-site-footer .et_pb_menu .et_pb_menu__wrap,
.et-l--footer .eon-site-footer .eon-footer-nav .et_pb_menu__wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.et-l--footer .eon-site-footer .et_pb_menu .et-menu-nav,
.et-l--footer .eon-site-footer .eon-footer-nav .et-menu-nav {
	display: block !important;
	width: 100% !important;
}

.et-l--footer .eon-site-footer .eon-footer-nav .et-menu a:hover,
.et-l--footer .eon-site-footer .eon-footer-nav .nav a:hover,
.et-l--footer .eon-site-footer .eon-footer-nav .et-menu .current-menu-item > a {
	color: #ffffff !important;
}

.et-l--footer .eon-site-footer .eon-contact-info-item .et_pb_svg {
	flex-shrink: 0;
	width: 40px !important;
	height: 40px !important;
	padding: 10px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.et-l--footer .eon-site-footer .eon-contact-info-item .et_pb_svg .et_pb_svg_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.et-l--footer .eon-site-footer .eon-contact-info-item .et_pb_svg .et_pb_svg_inner svg,
.et-l--footer .eon-site-footer .eon-contact-info-item .et_pb_svg .et_pb_svg_inner svg * {
	stroke: #ffffff !important;
	width: 20px;
	height: 20px;
}

.et-l--footer .eon-site-footer .et_pb_text a {
	color: rgba(255, 255, 255, 0.7) !important;
	transition: color 0.2s ease;
}

.et-l--footer .eon-site-footer .et_pb_text a:hover {
	color: #ffffff !important;
}

.et-l--footer .eon-site-footer .eon-footer-companies {
	list-style: none;
	margin: 0;
	padding: 0;
}

.et-l--footer .eon-site-footer .eon-footer-companies li + li {
	margin-top: 0.5rem;
}

.et-l--footer .eon-site-footer .eon-footer-osim .et_pb_image_wrap {
	background: transparent !important;
}

.et-l--footer .eon-site-footer .eon-footer-osim img {
	display: block;
	width: auto;
	max-width: 80px;
	opacity: 0.7;
}

.et-l--footer .eon-site-footer .eon-footer-inner > .et_pb_text {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 2rem !important;
}

@media (max-width: 980px) {
	.et-l--footer .eon-site-footer .eon-footer-grid.et_pb_row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.5rem;
	}
}

@media (max-width: 767px) {
	.et-l--footer .eon-site-footer .eon-footer-grid.et_pb_row {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/* --- Scroll reveal (React ScrollReveal / StaggerContainer) ----------------- */

#main-content [data-eon-reveal] {
	opacity: 0;
	transform: translate3d(0, 40px, 0);
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

#main-content [data-eon-reveal="down"] {
	transform: translate3d(0, -40px, 0);
}

#main-content [data-eon-reveal="left"] {
	transform: translate3d(40px, 0, 0);
}

#main-content [data-eon-reveal="right"] {
	transform: translate3d(-40px, 0, 0);
}

#main-content [data-eon-reveal="none"] {
	transform: none;
}

#main-content [data-eon-reveal].is-revealed {
	opacity: 1 !important;
	transform: none !important;
}

/* Stagger item distance matches React StaggerItem (y: 30) */
#main-content [data-eon-stagger] > [data-eon-reveal]:not(.is-revealed),
#main-content [data-eon-stagger] [data-eon-reveal]:not(.is-revealed) {
	transform: translate3d(0, 30px, 0);
}

#main-content [data-eon-stagger] [data-eon-reveal="right"]:not(.is-revealed) {
	transform: translate3d(-40px, 0, 0);
}

#main-content [data-eon-stagger] [data-eon-reveal].is-revealed {
	opacity: 1 !important;
	transform: none !important;
}

/* Home hero background slow zoom — React scale 1.08 → 1 over 1.4s */
#main-content .eon-home-hero.eon-hero-zoom-ready {
	--eon-hero-zoom: 1.08;
}

#main-content .eon-home-hero.eon-hero-zoom-ready > .et_pb_background_pattern,
#main-content .eon-home-hero.eon-hero-zoom-ready > .et_pb_background_mask,
#main-content .eon-home-hero.eon-hero-zoom-ready::before,
#main-content .eon-home-hero .eon-home-hero__bg,
#main-content .eon-home-hero.eon-hero-zoom-ready {
	transform-origin: center center;
}

#main-content .eon-home-hero.eon-hero-zoom-ready .et_pb_section > .et_pb_row {
	/* keep content stable; zoom only background layers when present */
}

#main-content .eon-home-hero.eon-hero-zoom-play {
	animation: eon-hero-bg-zoom 1.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes eon-hero-bg-zoom {
	from {
		background-size: 108% auto;
	}
	to {
		background-size: cover;
	}
}

/* Prefer transforming an explicit bg image layer if Divi renders one */
#main-content .eon-home-hero.eon-hero-zoom-ready .et_pb_background .et_pb_background--image,
#main-content .eon-home-hero.eon-hero-zoom-ready [class*="et_pb_background"][style*="background-image"],
#main-content .eon-home-hero.eon-hero-zoom-ready > .et_parallax_bg {
	transform: scale(1.08);
	transform-origin: center center;
	transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

#main-content .eon-home-hero.eon-hero-zoom-play .et_pb_background .et_pb_background--image,
#main-content .eon-home-hero.eon-hero-zoom-play [class*="et_pb_background"][style*="background-image"],
#main-content .eon-home-hero.eon-hero-zoom-play > .et_parallax_bg {
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	#main-content [data-eon-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	#main-content .eon-home-hero.eon-hero-zoom-play,
	#main-content .eon-home-hero.eon-hero-zoom-ready .et_pb_background .et_pb_background--image,
	#main-content .eon-home-hero.eon-hero-zoom-ready [class*="et_pb_background"][style*="background-image"],
	#main-content .eon-home-hero.eon-hero-zoom-ready > .et_parallax_bg {
		animation: none !important;
		transition: none !important;
		transform: none !important;
	}
}

/* Pre-hide auto targets before reveal.js stamps data-eon-reveal (avoids FOUC). */
html.eon-reveal-boot #main-content .eon-page-hero__content:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-section-header:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-company-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-service-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-product-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-certificate-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-why-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-service-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-contact-blurb:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-contact-map-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-contact-form-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-faq-card:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-why-us-copy:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-about-stats-grid:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-partner-category:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-photo-tile:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-cta:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-badge-cloud:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-stats-grid:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-cert-gallery:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-partners-gallery:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-home-gallery-preview:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-filter-bar:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-logo-gallery:not(.is-revealed),
html.eon-reveal-boot #main-content .eon-photo-masonry:not(.is-revealed) {
	opacity: 0;
	transform: translate3d(0, 40px, 0);
}

@media (prefers-reduced-motion: reduce) {
	html.eon-reveal-boot #main-content .eon-page-hero__content:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-section-header:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-company-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-service-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-product-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-certificate-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-why-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-service-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-contact-blurb:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-contact-map-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-contact-form-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-faq-card:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-why-us-copy:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-about-stats-grid:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-partner-category:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-photo-tile:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-cta:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-badge-cloud:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-stats-grid:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-cert-gallery:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-partners-gallery:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-home-gallery-preview:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-filter-bar:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-logo-gallery:not(.is-revealed),
	html.eon-reveal-boot #main-content .eon-photo-masonry:not(.is-revealed) {
		opacity: 1 !important;
		transform: none !important;
	}
}
