/**
 * MobiLux – Customer Journey Elementor widget
 * Premium RTL-first process/timeline with safe responsive behavior.
 */
.elementor-widget-mobilux-customer-journey,
.elementor-widget-mobilux-customer-journey * {
	box-sizing: border-box;
}

.elementor-widget-mobilux-customer-journey {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: clip;
}

.mobilux-customer-journey {
	--ml-journey-accent: var(--ml-primary);
	--ml-journey-ink: #191b2c;
	--ml-journey-muted: #737687;
	--ml-journey-border: rgba(31, 33, 54, .08);
	--ml-journey-line: color-mix(in srgb,var(--ml-primary) 14%,transparent);
	--ml-journey-line-active: var(--ml-primary);
	--ml-journey-line-size: 2px;
	--ml-journey-gap: 22px;
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: clip;
	background: #fff;
}

.mobilux-customer-journey::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 8% 14%, color-mix(in srgb,var(--ml-primary) 6%,transparent), transparent 28%),
		radial-gradient(circle at 90% 78%, rgba(37, 99, 235, .045), transparent 28%);
}

.mobilux-customer-journey__container {
	width: 100%;
	max-width: 1320px;
	min-width: 0;
	margin-inline: auto;
	padding-inline: 20px;
}

.mobilux-customer-journey__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
	align-items: end;
	gap: 28px 48px;
	width: 100%;
	min-width: 0;
	margin-bottom: 42px;
}

.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading {
	display: block;
	max-width: 820px;
	margin-inline: auto;
	text-align: center;
}

.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading-desc {
	max-width: 720px;
	margin-inline: auto;
	margin-top: 13px;
}

.mobilux-customer-journey-heading--stacked .mobilux-customer-journey__heading {
	display: block;
	max-width: 880px;
}

.mobilux-customer-journey-heading--stacked .mobilux-customer-journey__heading-desc {
	max-width: 760px;
	margin-top: 13px;
}

.mobilux-customer-journey__heading-main,
.mobilux-customer-journey__heading-desc {
	min-width: 0;
}

.mobilux-customer-journey__kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--ml-journey-accent);
	font-size: 13px;
	font-weight: 850;
	line-height: 1.7;
	letter-spacing: -.015em;
}

.mobilux-customer-journey__kicker::before {
	content: "";
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	opacity: .55;
}

.mobilux-customer-journey__heading-title {
	margin: 9px 0 0;
	color: var(--ml-journey-ink);
	font-size: clamp(29px, 3.25vw, 44px);
	font-weight: 900;
	line-height: 1.42;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.mobilux-customer-journey__heading-desc {
	margin: 0;
	color: var(--ml-journey-muted);
	font-size: 15px;
	font-weight: 450;
	line-height: 1.95;
	text-wrap: pretty;
	overflow-wrap: anywhere;
}

.mobilux-customer-journey__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--ml-journey-gap);
	width: 100%;
	min-width: 0;
	isolation: isolate;
}

.mobilux-customer-journey__connector-base,
.mobilux-customer-journey__connector-progress {
	display: none;
}

/* One-row desktop journey track. */
@media (min-width: 1025px) {
	.mobilux-customer-journey.has-connector.is-desktop-single-row .mobilux-customer-journey__connector-base,
	.mobilux-customer-journey.has-connector.is-desktop-single-row .mobilux-customer-journey__connector-progress {
		display: block;
		position: absolute;
		z-index: 0;
		inset-block-start: 52px;
		inset-inline-start: calc((100% / var(--ml-journey-cols, 4)) / 2);
		inset-inline-end: calc((100% / var(--ml-journey-cols, 4)) / 2);
		height: var(--ml-journey-line-size);
		border-radius: 999px;
		pointer-events: none;
	}

	.mobilux-customer-journey.has-connector.is-desktop-single-row .mobilux-customer-journey__connector-base {
		background: var(--ml-journey-line);
	}

	.mobilux-customer-journey.has-connector.is-desktop-single-row .mobilux-customer-journey__connector-progress {
		background: linear-gradient(90deg, var(--ml-journey-line-active), color-mix(in srgb, var(--ml-journey-line-active) 72%, #3b82f6));
		transform: scaleX(0);
		transform-origin: right center;
		opacity: .9;
		transition: transform 1s cubic-bezier(.2,.75,.25,1);
	}

	.mobilux-customer-journey.has-connector.is-desktop-single-row.is-visible .mobilux-customer-journey__connector-progress,
	.mobilux-customer-journey:not(.has-reveal).has-connector.is-desktop-single-row .mobilux-customer-journey__connector-progress {
		transform: scaleX(1);
	}

	.mobilux-customer-journey-desktop-cols-1 { --ml-journey-cols: 1; }
	.mobilux-customer-journey-desktop-cols-2 { --ml-journey-cols: 2; }
	.mobilux-customer-journey-desktop-cols-3 { --ml-journey-cols: 3; }
	.mobilux-customer-journey-desktop-cols-4 { --ml-journey-cols: 4; }
	.mobilux-customer-journey-desktop-cols-5 { --ml-journey-cols: 5; }
	.mobilux-customer-journey-desktop-cols-6 { --ml-journey-cols: 6; }
}

.mobilux-customer-journey__card {
	--ml-journey-item-accent: var(--ml-journey-accent);
	position: relative;
	z-index: 1;
	min-width: 0;
	max-width: 100%;
	border: 1px solid var(--ml-journey-border);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 15px 46px rgba(28, 29, 52, .055);
	overflow: hidden;
	transition: transform .32s cubic-bezier(.2,.75,.3,1), border-color .32s ease, box-shadow .32s ease, background-color .32s ease;
	contain: layout paint;
}

.mobilux-customer-journey-equal-height-yes .mobilux-customer-journey__card,
.mobilux-customer-journey-equal-height-yes .mobilux-customer-journey__card-link,
.mobilux-customer-journey-equal-height-yes .mobilux-customer-journey__card-inner {
	height: 100%;
}

.mobilux-customer-journey__card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.mobilux-customer-journey__card-link:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ml-journey-item-accent) 35%, transparent);
	outline-offset: -3px;
}

.mobilux-customer-journey__card-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 26px 24px 24px;
}

.mobilux-customer-journey__card::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset-inline: 22%;
	inset-block-end: 0;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: linear-gradient(90deg, transparent, var(--ml-journey-item-accent), transparent);
	opacity: .42;
	transform: scaleX(.55);
	transform-origin: center;
	transition: opacity .32s ease, transform .32s ease;
	pointer-events: none;
}

.mobilux-customer-journey__card:hover {
	transform: translateY(-5px);
	border-color: color-mix(in srgb, var(--ml-journey-item-accent) 24%, transparent);
	box-shadow: 0 24px 64px rgba(28, 29, 52, .10);
}

.mobilux-customer-journey__card:hover::after,
.mobilux-customer-journey__card.is-featured::after {
	opacity: .95;
	transform: scaleX(1);
}

.mobilux-customer-journey__card.is-featured {
	border-color: color-mix(in srgb, var(--ml-journey-item-accent) 25%, transparent);
	box-shadow: 0 20px 58px color-mix(in srgb, var(--ml-journey-item-accent) 10%, transparent);
}

.mobilux-customer-journey__step-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	min-width: 0;
	margin-bottom: 22px;
}

.mobilux-customer-journey__number {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	flex: 0 0 52px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--ml-journey-item-accent);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 8px 25px color-mix(in srgb, var(--ml-journey-item-accent) 22%, transparent);
	font-variant-numeric: tabular-nums;
}

.mobilux-customer-journey__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border: 1px solid color-mix(in srgb, var(--ml-journey-item-accent) 12%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--ml-journey-item-accent) 10%, #fff);
	color: var(--ml-journey-item-accent);
	font-size: 22px;
	line-height: 1;
	transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}

.mobilux-customer-journey__icon i,
.mobilux-customer-journey__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	font-size: inherit;
	fill: currentColor;
}

.mobilux-customer-journey__card:hover .mobilux-customer-journey__icon {
	transform: rotate(-4deg) scale(1.035);
	background: color-mix(in srgb, var(--ml-journey-item-accent) 14%, #fff);
	box-shadow: 0 10px 26px color-mix(in srgb, var(--ml-journey-item-accent) 12%, transparent);
}

.mobilux-customer-journey__copy {
	min-width: 0;
}

.mobilux-customer-journey__title {
	margin: 0 0 9px;
	color: #242638;
	font-size: 17px;
	font-weight: 850;
	line-height: 1.65;
	letter-spacing: -.025em;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.mobilux-customer-journey__description {
	margin: 0;
	color: #737687;
	font-size: 13.5px;
	font-weight: 450;
	line-height: 1.95;
	text-wrap: pretty;
	overflow-wrap: anywhere;
}

.mobilux-customer-journey__link-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	margin-top: auto;
	padding-top: 18px;
	color: var(--ml-journey-item-accent);
	font-size: 18px;
	line-height: 1;
	transition: transform .3s ease;
}

.mobilux-customer-journey__card:hover .mobilux-customer-journey__link-arrow {
	transform: translateX(-3px);
}

/* Editorial skin */
.mobilux-customer-journey--editorial .mobilux-customer-journey__card {
	border-width: 0 0 1px;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.mobilux-customer-journey--editorial .mobilux-customer-journey__card:hover {
	transform: none;
	box-shadow: none;
	background: rgba(255,255,255,.74);
}

.mobilux-customer-journey--editorial .mobilux-customer-journey__card::after {
	inset-inline: 0;
	height: 2px;
	transform-origin: right center;
	transform: scaleX(0);
}

/* Glass skin */
.mobilux-customer-journey--glass {
	background: linear-gradient(135deg, color-mix(in srgb,var(--ml-primary) 8%,#fff) 0%, #f7fbff 50%, #fff8fc 100%);
}

.mobilux-customer-journey--glass .mobilux-customer-journey__card {
	border-color: rgba(255,255,255,.78);
	background: rgba(255,255,255,.62);
	box-shadow: 0 16px 44px rgba(32, 33, 57, .075), inset 0 1px 0 rgba(255,255,255,.85);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

/* Minimal skin */
.mobilux-customer-journey--minimal .mobilux-customer-journey__card {
	border: 0;
	border-radius: 18px;
	background: transparent;
	box-shadow: none;
}

.mobilux-customer-journey--minimal .mobilux-customer-journey__card:hover {
	transform: none;
	background: color-mix(in srgb,var(--ml-primary) 3.5%,transparent);
	box-shadow: none;
}

.mobilux-customer-journey--minimal .mobilux-customer-journey__card::after {
	display: none;
}

/* Reveal animation. Content remains visible without JS. */
.mobilux-customer-journey.has-reveal.is-js-ready .mobilux-customer-journey__card {
	opacity: 0;
	transition:
		opacity var(--ml-journey-duration, 620ms) ease var(--ml-journey-delay, 0ms),
		transform var(--ml-journey-duration, 620ms) cubic-bezier(.2,.75,.3,1) var(--ml-journey-delay, 0ms),
		border-color .32s ease,
		box-shadow .32s ease,
		background-color .32s ease;
}

.mobilux-customer-journey.has-reveal.is-js-ready[data-reveal="fade-up"] .mobilux-customer-journey__card {
	transform: translateY(18px);
}

.mobilux-customer-journey.has-reveal.is-js-ready[data-reveal="scale"] .mobilux-customer-journey__card {
	transform: scale(.965);
}

.mobilux-customer-journey.has-reveal.is-js-ready[data-reveal="fade"] .mobilux-customer-journey__card {
	transform: none;
}

.mobilux-customer-journey.has-reveal.is-js-ready.is-visible .mobilux-customer-journey__card {
	opacity: 1;
	transform: none;
}

@media (max-width: 1024px) {
	.mobilux-customer-journey__container {
		padding-inline: 18px;
	}

	.mobilux-customer-journey__heading {
		grid-template-columns: minmax(0, 1fr) minmax(220px, .75fr);
		gap: 22px 32px;
	}

	.mobilux-customer-journey__connector-base,
	.mobilux-customer-journey__connector-progress {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.mobilux-customer-journey__container {
		padding-inline: 14px;
	}

	.mobilux-customer-journey__heading,
	.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading,
	.mobilux-customer-journey-heading--stacked .mobilux-customer-journey__heading {
		display: block;
		max-width: none;
		text-align: right;
	}

	.mobilux-customer-journey__heading-desc,
	.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading-desc {
		max-width: none;
		margin: 11px 0 0;
	}

	.mobilux-customer-journey__heading-title {
		font-size: clamp(25px, 8vw, 34px);
	}

	.mobilux-customer-journey__track {
		gap: 14px;
	}

	.mobilux-customer-journey__card {
		min-height: 0;
	}

	.mobilux-customer-journey__card-inner {
		padding: 20px 18px 19px;
	}

	.mobilux-customer-journey__step-head {
		margin-bottom: 17px;
	}

	/* Vertical connector for the safe single-column mobile layout. */
	.mobilux-customer-journey.has-connector.mobilux-customer-journey-mobile-cols-1 .mobilux-customer-journey__card:not(:last-of-type)::before {
		content: "";
		position: absolute;
		z-index: 3;
		inset-inline-start: 43px;
		inset-block-start: 48px;
		height: calc(100% + var(--ml-journey-gap));
		width: var(--ml-journey-line-size);
		background: linear-gradient(to bottom, var(--ml-journey-line-active), var(--ml-journey-line));
		pointer-events: none;
		opacity: .55;
	}
}

@media (max-width: 380px) {
	.mobilux-customer-journey__container {
		padding-inline: 12px;
	}
	.mobilux-customer-journey__card-inner {
		padding-inline: 15px;
	}
	.mobilux-customer-journey__step-head {
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobilux-customer-journey *,
	.mobilux-customer-journey *::before,
	.mobilux-customer-journey *::after {
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
	}

	.mobilux-customer-journey.has-reveal.is-js-ready .mobilux-customer-journey__card {
		opacity: 1 !important;
		transform: none !important;
	}

	.mobilux-customer-journey.has-connector.is-desktop-single-row .mobilux-customer-journey__connector-progress {
		transform: scaleX(1) !important;
	}
}

/* Reflow also follows the actual Elementor column, not only the viewport. */
@container mobilux-widget (max-width: 1024px){
	.mobilux-customer-journey__container {
		padding-inline: 18px;
	}

	.mobilux-customer-journey__heading {
		grid-template-columns: minmax(0, 1fr) minmax(220px, .75fr);
		gap: 22px 32px;
	}

	.mobilux-customer-journey__connector-base,
	.mobilux-customer-journey__connector-progress {
		display: none !important;
	}
}
@container mobilux-widget (max-width: 767px){
	.mobilux-customer-journey__container {
		padding-inline: 14px;
	}

	.mobilux-customer-journey__heading,
	.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading,
	.mobilux-customer-journey-heading--stacked .mobilux-customer-journey__heading {
		display: block;
		max-width: none;
		text-align: right;
	}

	.mobilux-customer-journey__heading-desc,
	.mobilux-customer-journey-heading--centered .mobilux-customer-journey__heading-desc {
		max-width: none;
		margin: 11px 0 0;
	}

	.mobilux-customer-journey__heading-title {
		font-size: clamp(25px, 8vw, 34px);
	}

	.mobilux-customer-journey__track {
		gap: 14px;
	}

	.mobilux-customer-journey__card {
		min-height: 0;
	}

	.mobilux-customer-journey__card-inner {
		padding: 20px 18px 19px;
	}

	.mobilux-customer-journey__step-head {
		margin-bottom: 17px;
	}

	
	.mobilux-customer-journey.has-connector.mobilux-customer-journey-mobile-cols-1 .mobilux-customer-journey__card:not(:last-of-type)::before {
		content: "";
		position: absolute;
		z-index: 3;
		inset-inline-start: 43px;
		inset-block-start: 48px;
		height: calc(100% + var(--ml-journey-gap));
		width: var(--ml-journey-line-size);
		background: linear-gradient(to bottom, var(--ml-journey-line-active), var(--ml-journey-line));
		pointer-events: none;
		opacity: .55;
	}
}
@container mobilux-widget (max-width: 380px){
	.mobilux-customer-journey__container {
		padding-inline: 12px;
	}
	.mobilux-customer-journey__card-inner {
		padding-inline: 15px;
	}
	.mobilux-customer-journey__step-head {
		gap: 10px;
	}
}

/* v1.0.44: component-specific responsive layout. */

@media(max-width:1024px){.mobilux-customer-journey__heading{grid-template-columns:minmax(0,1fr);gap:16px}
}
@container mobilux-widget (max-width:1024px){.mobilux-customer-journey__heading{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media(max-width:767px){.mobilux-customer-journey__heading{margin-bottom:24px}.mobilux-customer-journey__card-inner{padding:22px 18px}
}
@container mobilux-widget (max-width:767px){.mobilux-customer-journey__heading{margin-bottom:24px}.mobilux-customer-journey__card-inner{padding:22px 18px}
}

/* v1.0.44: component-specific responsive layout. */
.mobilux-customer-journey__track{grid-template-columns:repeat(var(--ml-customer-journey-columns,4),minmax(0,1fr))}
@media(max-width:1024px){.mobilux-customer-journey__track{grid-template-columns:repeat(min(var(--ml-customer-journey-columns,2),2),minmax(0,1fr))}}
@container mobilux-widget (max-width:1024px){.mobilux-customer-journey__track{grid-template-columns:repeat(min(var(--ml-customer-journey-columns,2),2),minmax(0,1fr))}}
@media(max-width:767px){.mobilux-customer-journey__track{grid-template-columns:repeat(min(var(--ml-customer-journey-columns,1),1),minmax(0,1fr))}}
@container mobilux-widget (max-width:767px){.mobilux-customer-journey__track{grid-template-columns:repeat(min(var(--ml-customer-journey-columns,1),1),minmax(0,1fr))}}
