/* EDA Solution hub page (post 21208) — layout-only helper CSS. */

/* ===== Step timeline cards (2x2) ===== */
.elementor-21208 .ednc-eda-cards.e-con,
.elementor-21208 .ednc-eda-cards.e-grid,
.elementor-21208 .edasol-step-grid.e-con,
.elementor-21208 .edasol-step-grid.e-grid,
.elementor-21208 .ednc-eda-cards > .e-con-inner,
.elementor-21208 .edasol-step-grid > .e-con-inner {
	--display: grid !important;
	--e-con-grid-template-columns: 1fr 1fr !important;
	--align-items: stretch !important;
	--gap: 32px 32px !important;
	--row-gap: 32px !important;
	--column-gap: 32px !important;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 32px !important;
	align-items: stretch !important;
}

.elementor-21208 .ednc-eda-hero {
	background-color: #020617 !important;
	background-image: radial-gradient(ellipse at top, rgba(0, 100, 110, 0.42) 0%, rgba(2, 6, 23, 0.92) 46%, #020617 100%) !important;
}

.elementor-21208 .ednc-eda-card,
.elementor-21208 .edasol-step-card {
	background: #ffffff !important;
	border: 1px solid #f1f5f9 !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 30px rgb(0, 0, 0, 0.04) !important;
	overflow: hidden;
}

.elementor-21208 .edasol-step-grid .edasol-step-card,
.elementor-21208 .edasol-step-card.ednc-eda-card {
	--display: flex !important;
	--flex-direction: column !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	align-self: stretch !important;
}

.elementor-21208 .edasol-step-card .edasol-product-list {
	--display: flex !important;
	--flex-direction: column !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	min-height: 0;
}

.elementor-21208 .edasol-step-card .edasol-product-list > .elementor-element:nth-last-child(2),
.elementor-21208 .elementor-element-1b,
.elementor-21208 .elementor-element-2f,
.elementor-21208 .elementor-element-3d,
.elementor-21208 .elementor-element-4b {
	margin-top: auto !important;
}

.elementor-21208 .edasol-step-badge,
.elementor-21208 .ednc-eda-card > .elementor-widget-heading:first-child {
	width: auto !important;
	max-width: max-content !important;
	align-self: flex-start !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 0 14px !important;
}

.elementor-21208 .edasol-step-badge .elementor-heading-title,
.elementor-21208 .ednc-eda-card > .elementor-widget-heading:first-child .elementor-heading-title {
	display: inline-flex !important;
	align-items: center;
	padding: 6px 12px !important;
	background: #f1f5f9 !important;
	color: #3b82f6 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	letter-spacing: 0.04em;
	line-height: 1.3 !important;
}

.elementor-21208 .edasol-product-line {
	border-top: 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	width: 100%;
	padding: 16px 0 !important;
}

.elementor-21208 .edasol-product-list > .elementor-element:last-child .edasol-product-line,
.elementor-21208 .edasol-product-list > .edasol-product-line:last-child {
	border-bottom: 0;
}

.elementor-21208 .edasol-product-line .elementor-heading-title {
	line-height: 1.55;
}

.elementor-21208 .edasol-product-line h4.elementor-heading-title,
.elementor-21208 .edasol-product-line .elementor-widget-heading:first-child .elementor-heading-title {
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 !important;
}

.elementor-21208 .edasol-product-line p.elementor-heading-title,
.elementor-21208 .edasol-product-line .elementor-widget-heading:last-child,
.elementor-21208 .edasol-product-line .elementor-widget-heading:last-child .elementor-heading-title {
	color: #64748b !important;
	font-weight: 400 !important;
}

.elementor-21208 .edasol-product-line .elementor-widget-heading:last-child {
	margin-top: 4px !important;
}

/* ===== Workflow table ===== */
.elementor-21208 .elementor-element-97,
.elementor-21208 .elementor-element-94,
.elementor-21208 .edasol-table,
.elementor-21208 .edasol-wf-table {
	max-width: 1200px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.elementor-21208 .edasol-table,
.elementor-21208 .edasol-wf-table {
	border-collapse: collapse;
	text-align: left;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
	background: #ffffff;
}

.elementor-21208 .edasol-table-row,
.elementor-21208 .edasol-wf-row,
.elementor-21208 .edasol-wf-head {
	--display: flex !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	width: 100%;
	align-items: stretch !important;
	transition: background 0.2s ease;
}

.elementor-21208 .edasol-table-row > .elementor-element,
.elementor-21208 .edasol-wf-row > .elementor-element,
.elementor-21208 .edasol-wf-head > .elementor-element {
	box-sizing: border-box !important;
	padding: 24px !important;
	text-align: left !important;
	word-break: keep-all !important;
	line-height: 1.6 !important;
}

.elementor-21208 .edasol-table-row > .elementor-element:nth-child(1),
.elementor-21208 .edasol-wf-row > .elementor-element:nth-child(1),
.elementor-21208 .edasol-wf-head > .elementor-element:nth-child(1) {
	flex: 0 0 15% !important;
	width: 15% !important;
	max-width: 15% !important;
	--width: 15% !important;
}

.elementor-21208 .edasol-table-row > .elementor-element:nth-child(2),
.elementor-21208 .edasol-wf-row > .elementor-element:nth-child(2),
.elementor-21208 .edasol-wf-head > .elementor-element:nth-child(2) {
	flex: 0 0 35% !important;
	width: 35% !important;
	max-width: 35% !important;
	--width: 35% !important;
}

.elementor-21208 .edasol-table-row > .elementor-element:nth-child(3),
.elementor-21208 .edasol-wf-row > .elementor-element:nth-child(3),
.elementor-21208 .edasol-wf-head > .elementor-element:nth-child(3) {
	flex: 0 0 25% !important;
	width: 25% !important;
	max-width: 25% !important;
	--width: 25% !important;
}

.elementor-21208 .edasol-table-row > .elementor-element:nth-child(4),
.elementor-21208 .edasol-wf-row > .elementor-element:nth-child(4),
.elementor-21208 .edasol-wf-head > .elementor-element:nth-child(4) {
	flex: 0 0 25% !important;
	width: 25% !important;
	max-width: 25% !important;
	--width: 25% !important;
}

.elementor-21208 .edasol-table-row .elementor-heading-title,
.elementor-21208 .edasol-wf-row .elementor-heading-title,
.elementor-21208 .edasol-wf-head .elementor-heading-title {
	text-align: left !important;
	word-break: keep-all !important;
	line-height: 1.6 !important;
}

.elementor-21208 .edasol-table-row:first-child,
.elementor-21208 .edasol-wf-head {
	background: #f8fafc !important;
	border-bottom: 2px solid #cbd5e1 !important;
}

.elementor-21208 .edasol-wf-head .elementor-heading-title,
.elementor-21208 .edasol-table-row:first-child .elementor-heading-title {
	color: #0f172a !important;
	font-weight: 700 !important;
}

.elementor-21208 .edasol-table-row:not(:first-child):hover,
.elementor-21208 .edasol-wf-row:hover {
	background: #f0f9ff !important;
}

.elementor-21208 .edasol-wf-pills-widget,
.elementor-21208 .edasol-wf-pills-widget .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-21208 .edasol-wf-pills,
.elementor-21208 .edasol-wf-pills-widget ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.elementor-21208 .edasol-wf-pills li,
.elementor-21208 .edasol-wf-pills-widget ul li {
	display: inline-flex;
	align-items: center;
	background: #f1f5f9;
	color: #334155;
	padding: 4px 10px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

@media (max-width: 767px) {
	.elementor-21208 .ednc-eda-cards.e-con,
	.elementor-21208 .ednc-eda-cards.e-grid,
	.elementor-21208 .edasol-step-grid.e-con,
	.elementor-21208 .edasol-step-grid.e-grid,
	.elementor-21208 .ednc-eda-cards > .e-con-inner,
	.elementor-21208 .edasol-step-grid > .e-con-inner {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.elementor-21208 .edasol-table-row,
	.elementor-21208 .edasol-wf-row,
	.elementor-21208 .edasol-wf-head {
		flex-wrap: wrap !important;
	}

	.elementor-21208 .edasol-table-row > .elementor-element,
	.elementor-21208 .edasol-wf-row > .elementor-element,
	.elementor-21208 .edasol-wf-head > .elementor-element {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		--width: 100% !important;
		padding: 16px 20px !important;
	}

	.elementor-21208 .edasol-table-row > .elementor-element:not(:first-child),
	.elementor-21208 .edasol-wf-row > .elementor-element:not(:first-child) {
		border-top: 1px dashed #e2e8f0;
	}
}

/* ===== Enterprise light portfolio cards (21208) ===== */
.elementor-21208 .edasol-port-section--verify {
	background: #f8fafc;
}

.elementor-21208 .edasol-port-grid.e-con,
.elementor-21208 .edasol-port-grid.e-flex,
.elementor-21208 .edasol-port-grid.e-grid,
.elementor-21208 .edasol-port-grid > .e-con-inner {
	--display: grid !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 28px !important;
	align-items: stretch !important;
	width: 100% !important;
}

.elementor-21208 .edasol-port-grid--design.e-con,
.elementor-21208 .edasol-port-grid--design.e-flex,
.elementor-21208 .edasol-port-grid--design.e-grid,
.elementor-21208 .edasol-port-grid--design > .e-con-inner {
	--display: flex !important;
	--e-con-grid-template-columns: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: 24px !important;
	grid-template-columns: none !important;
}

.elementor-21208 .edasol-port-grid--design > .edasol-port-card,
.elementor-21208 .edasol-port-grid--design > .e-con-inner > .edasol-port-card {
	flex: 0 0 calc(33.333% - 16px) !important;
	width: calc(33.333% - 16px) !important;
	max-width: calc(33.333% - 16px) !important;
	grid-column: auto !important;
}

.elementor-21208 .edasol-port-card.e-con,
.elementor-21208 a.edasol-port-card {
	--display: flex !important;
	--flex-direction: column !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	text-decoration: none !important;
	box-shadow: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elementor-21208 .edasol-port-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(15, 23, 42, 0.06);
}

.elementor-21208 .edasol-port-card__visual {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 16px 16px 0 0;
}

.elementor-21208 .edasol-port-card__thumb,
.elementor-21208 .edasol-port-card__visual .elementor-widget-image {
	margin: 0 !important;
	width: 100%;
}

.elementor-21208 .edasol-port-card img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 180px !important;
	object-fit: cover;
	object-position: center;
	border-radius: 16px 16px 0 0;
}

.elementor-21208 .edasol-port-card__featured,
.elementor-21208 .elementor-element-ep1o,
.elementor-21208 .elementor-element-ep1x {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	z-index: 2;
	width: auto !important;
	max-width: max-content !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.elementor-21208 .edasol-port-card__featured .elementor-widget-container,
.elementor-21208 .edasol-port-card__featured .elementor-heading-title {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	background: rgba(15, 23, 42, 0.7) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	line-height: 1.3 !important;
}

.elementor-21208 .edasol-port-card__body.e-con,
.elementor-21208 .edasol-port-card__body {
	--display: flex !important;
	--flex-direction: column !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	padding: 24px !important;
	min-width: 0;
}

.elementor-21208 .edasol-port-card .elementor-widget.edasol-port-card__badge,
.elementor-21208 .edasol-port-card .elementor-element.edasol-port-card__badge,
.elementor-21208 .edasol-port-section--verify .edasol-port-card__badge,
.elementor-21208 .elementor-element-ep1h,
.elementor-21208 .elementor-element-ep1q,
.elementor-21208 .elementor-element-ep1z,
.elementor-21208 .edasol-port-card__badge .elementor-widget-container {
	display: inline-flex !important;
	align-items: center !important;
	align-self: flex-start !important;
	width: fit-content !important;
	max-width: fit-content !important;
	--width: fit-content !important;
	padding: 0 !important;
	margin: 0 0 10px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.elementor-21208 .edasol-port-card .edasol-port-card__badge .elementor-heading-title,
.elementor-21208 .edasol-port-section--verify .edasol-port-card__badge .elementor-heading-title,
.elementor-21208 .elementor-element-ep1h .elementor-heading-title,
.elementor-21208 .elementor-element-ep1q .elementor-heading-title,
.elementor-21208 .elementor-element-ep1z .elementor-heading-title {
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	max-width: fit-content !important;
	padding: 4px 12px !important;
	border-radius: 99px !important;
	background: #f1f5f9 !important;
	color: #3b82f6 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: -0.3px !important;
	line-height: 1.3 !important;
}

.elementor-21208 .edasol-port-card__title .elementor-heading-title {
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.elementor-21208 .edasol-port-card__desc .elementor-heading-title {
	font-size: 14px;
	font-weight: 400;
	color: #64748b;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.elementor-21208 .edasol-port-card__cta {
	margin-top: auto !important;
	padding-top: 16px;
}

.elementor-21208 .edasol-port-card__cta .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.4;
}

.elementor-21208 .edasol-port-card__cta .elementor-heading-title::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 6px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.22 3.22a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L11.44 9H2.75a.75.75 0 0 1 0-1.5h8.69L8.22 4.28a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8.22 3.22a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L11.44 9H2.75a.75.75 0 0 1 0-1.5h8.69L8.22 4.28a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.25s ease;
}

.elementor-21208 .edasol-port-card:hover .edasol-port-card__cta .elementor-heading-title::after {
	transform: translateX(3px);
}

@media (max-width: 1024px) {
	.elementor-21208 .edasol-port-grid.e-con,
	.elementor-21208 .edasol-port-grid.e-grid,
	.elementor-21208 .edasol-port-grid > .e-con-inner {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.elementor-21208 .edasol-port-grid--design.e-con,
	.elementor-21208 .edasol-port-grid--design.e-flex,
	.elementor-21208 .edasol-port-grid--design.e-grid,
	.elementor-21208 .edasol-port-grid--design > .e-con-inner {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
	}

	.elementor-21208 .edasol-port-grid--design > .edasol-port-card,
	.elementor-21208 .edasol-port-grid--design > .e-con-inner > .edasol-port-card {
		flex: 0 0 calc(50% - 12px) !important;
		width: calc(50% - 12px) !important;
		max-width: calc(50% - 12px) !important;
		grid-column: auto !important;
	}
}

@media (max-width: 767px) {
	.elementor-21208 .edasol-port-grid.e-con,
	.elementor-21208 .edasol-port-grid.e-grid,
	.elementor-21208 .edasol-port-grid > .e-con-inner,
	.elementor-21208 .edasol-port-grid--design.e-con,
	.elementor-21208 .edasol-port-grid--design.e-grid,
	.elementor-21208 .edasol-port-grid--design > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	.elementor-21208 .edasol-port-grid--design > .edasol-port-card,
	.elementor-21208 .edasol-port-grid--design > .e-con-inner > .edasol-port-card {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

.elementor-21208 .edasol-overview-copy,
.elementor-21208 .elementor-element-a,
.elementor-21208 .elementor-element-b,
.elementor-21208 .edasol-overview-copy .elementor-widget-container,
.elementor-21208 .elementor-element-a .elementor-widget-container,
.elementor-21208 .elementor-element-b .elementor-widget-container {
	max-width: 800px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.elementor-21208 .edasol-overview-copy .elementor-heading-title,
.elementor-21208 .elementor-element-a .elementor-heading-title,
.elementor-21208 .elementor-element-b .elementor-heading-title {
	word-break: keep-all !important;
	line-height: 1.6 !important;
}

.elementor-21208 .ednc-eda-cta-outer {
	background: #f8fafc !important;
}

.elementor-21208 .ednc-eda-cta {
	background: #0f172a !important;
	border: 0 !important;
	border-radius: 24px !important;
	padding: 60px !important;
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18) !important;
}

.elementor-21208 .ednc-eda-cta .elementor-heading-title {
	color: #ffffff !important;
}

.elementor-21208 .ednc-eda-cta .elementor-element-c5 .elementor-heading-title,
.elementor-21208 .ednc-eda-cta .elementor-element-c9 .elementor-heading-title {
	color: rgba(255, 255, 255, 0.72) !important;
}

.elementor-21208 .ednc-eda-cta .elementor-element-c6 .elementor-button {
	background: #ffffff !important;
	color: #0f172a !important;
}

.elementor-21208 .ednc-eda-cta .elementor-element-c7 .elementor-button {
	background: transparent !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

@media (max-width: 767px) {
	.elementor-21208 .ednc-eda-cta {
		padding: 40px 24px !important;
	}
}
