.elementor-widget-cpw_cleaning_process {
	background: #f7f5f0;
}

.cpw-process {
	--cpw-columns: 4;
	--cpw-gold: #d89d13;
	--cpw-soft-gold: #ecd592;
	--cpw-connector: #d89d13;
	--cpw-circle-size: 86px;
	display: grid;
	grid-template-columns: repeat(var(--cpw-columns), minmax(0, 1fr));
	column-gap: 20px;
	row-gap: 20px;
	max-width: 1110px;
	margin: 0 auto;
	padding: 36px 0 18px;
	background: transparent;
}

.cpw-step {
	position: relative;
	text-align: center;
	min-width: 0;
}

.cpw-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(var(--cpw-circle-size) / 2 - 5px);
	left: calc(50% + var(--cpw-circle-size) / 2 + 9px);
	width: calc(100% - var(--cpw-circle-size) - 18px);
	border-top: 2px dashed var(--cpw-connector);
	opacity: .72;
}

.cpw-no-connector .cpw-step::after {
	display: none;
}

.cpw-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--cpw-circle-size);
	height: var(--cpw-circle-size);
	margin: 0 auto 15px;
	border: 3px solid var(--cpw-soft-gold);
	border-radius: 50%;
	background: #fffefa;
	box-shadow: 0 22px 38px rgba(17, 24, 39, .05);
	z-index: 1;
}

.cpw-number {
	position: absolute;
	top: -4px;
	left: -4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: var(--cpw-gold);
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 3px #fffefa;
}

.cpw-icon,
.cpw-icon-img {
	display: inline-flex;
	width: 31px;
	height: 31px;
	color: var(--cpw-gold);
}

.cpw-icon-img {
	display: block;
	object-fit: contain;
}

.cpw-icon svg,
.cpw-icon i {
	width: 100%;
	height: 100%;
	color: currentColor;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cpw-elementor-icon svg {
	fill: currentColor;
	stroke: none;
}

.cpw-title {
	margin: 0 0 10px;
	color: #111827;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.32;
	letter-spacing: 0;
}

.cpw-description {
	max-width: 260px;
	margin: 0 auto;
	color: #4b5563;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

@media (min-width: 1025px) {
	.cpw-hide-desktop {
		display: none;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.cpw-process {
		--cpw-columns: 2;
		row-gap: 34px;
	}

	.cpw-step::after {
		display: none;
	}

	.cpw-hide-tablet {
		display: none;
	}
}

@media (max-width: 767px) {
	.cpw-process {
		--cpw-columns: 1;
		padding-top: 20px;
		row-gap: 32px;
	}

	.cpw-step::after {
		display: none;
	}

	.cpw-hide-mobile {
		display: none;
	}
}
