.hc-steps {
	--hc-steps-accent: #163c74;
	--hc-steps-secondary: #f0ac63;
	--hc-steps-text: #163c74;
	--hc-steps-divider: rgba(31, 81, 156, 0.12);
	padding: 0;
	background: transparent;
}

.hc-steps__inner {
	width: min(100%, 1240px);
	margin: 0 auto;
}

.hc-steps__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px;
	align-items: start;
	position: relative;
}

.hc-steps__card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px 32px 30px;
	text-align: center;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88));
	border-radius: 28px;
	min-height: 100%;
	z-index: 1;
	box-shadow: 0 18px 34px rgba(22, 60, 116, 0.07);
	border: 1px solid rgba(22, 60, 116, 0.06);
	overflow: visible;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.hc-steps__card:nth-child(2),
.hc-steps__card:nth-child(4) {
	transform: translateY(18px);
}

.hc-steps__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 26px 44px rgba(22, 60, 116, 0.11);
	border-color: rgba(22, 60, 116, 0.12);
}

.hc-steps__count {
	position: absolute;
	top: -16px;
	right: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
	border: 1px solid rgba(240, 172, 99, 0.38);
	border-radius: 999px;
	background: linear-gradient(180deg, #fffaf5, #ffefdc);
	color: #d78528;
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	box-shadow: 0 10px 22px rgba(240, 172, 99, 0.18);
	z-index: 3;
}

.hc-steps__icon {
	position: relative;
	width: 72px;
	height: 72px;
	margin: 10px auto 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hc-steps-accent);
	background:
		linear-gradient(180deg, rgba(22, 60, 116, 0.10), rgba(22, 60, 116, 0.05));
	border-radius: 22px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.72),
		0 10px 24px rgba(22, 60, 116, 0.08);
}

.hc-steps__card:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 110px;
	left: calc(100% + 16px);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(240, 172, 99, 0.98);
	box-shadow:
		-9px 0 0 rgba(22, 60, 116, 0.22),
		9px 0 0 rgba(22, 60, 116, 0.22);
	z-index: 2;
}

.hc-steps__icon i,
.hc-steps__icon svg {
	font-size: 48px;
	color: #163C74;
	fill: #163C74;
}

.hc-steps__step-title {
	margin: 0 0 18px;
	color: var(--hc-steps-accent);
	font-size: clamp(22px, 1.8vw, 30px);
	font-weight: 600;
	line-height: 1.1;
}

.hc-steps__text {
	max-width: 28ch;
	margin: 0 auto;
	color: var(--hc-steps-text);
	font-size: 17px;
	line-height: 1.58;
	flex: 1 1 auto;
}

.hc-steps__text p {
	margin: 0 0 10px;
}

.hc-steps__text p:last-child {
	margin-bottom: 0;
}

.hc-steps__note {
	margin-top: 22px;
	max-width: 24ch;
	margin-left: auto;
	margin-right: auto;
	color: var(--hc-steps-text);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
}

@media (max-width: 1200px) {
	.hc-steps__inner {
		width: min(100%, 1000px);
	}

	.hc-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}

	.hc-steps__card::after {
		display: none;
	}

	.hc-steps__card,
	.hc-steps__card:nth-child(2),
	.hc-steps__card:nth-child(4),
	.hc-steps__card:hover {
		transform: none;
	}
}

@media (max-width: 767px) {
	.elementor-widget-harmony-care-steps,
	.elementor-widget-harmony-care-steps > .elementor-widget-container,
	.elementor-widget-harmony-care-steps .hc-steps {
		width: 100%;
		max-width: 100%;
	}

	.hc-steps__inner {
		width: 100%;
	}

	.hc-steps__grid {
		grid-template-columns: 1fr;
		gap: 26px;
		width: 100%;
	}

	.hc-steps__card {
		align-self: stretch;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		min-height: 0;
		padding: 18px 16px 22px;
	}

	.hc-steps__icon {
		width: 64px;
		height: 64px;
		margin-bottom: 16px;
	}

	.hc-steps__icon i,
	.hc-steps__icon svg {
		font-size: 38px;
	}

	.hc-steps__count {
		min-width: 36px;
		height: 36px;
		font-size: 16px;
	}

	.hc-steps__step-title {
		margin-bottom: 16px;
		font-size: 22px;
	}

	.hc-steps__text,
	.hc-steps__note {
		font-size: 16px;
	}
}
