/**
 * ElevateWP - Steps List widget styles.
 */

.elevatewp-steps {
	--elevatewp-gap: 30px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--elevatewp-gap);
	align-items: start;
}

.elevatewp-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Circle + connector wrapper */
.elevatewp-step__circle-wrap {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 28px;
}

/* Connector line - drawn from this circle's centre toward the next step. */
.elevatewp-steps--connected .elevatewp-step:not(:last-child) .elevatewp-step__circle-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% + var(--elevatewp-gap));
	height: 1px;
	background-color: #c9c4ba;
	transform: translateY(-50%);
	z-index: 0;
}

/* The circle sits above the connector line. */
.elevatewp-step__circle {
	position: relative;
	z-index: 1;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #141414;
	box-sizing: border-box;
}

.elevatewp-step__number {
	color: #ffffff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
}

.elevatewp-step__title {
	margin: 0 0 12px;
	color: #141414;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.elevatewp-step__description {
	margin: 0;
	color: #8a857c;
	font-size: 15px;
	line-height: 1.6;
	max-width: 280px;
}

/* Responsive: stack into fewer columns -> hide the horizontal connector
   so it doesn't dangle when items wrap. */
@media (max-width: 1024px) {
	.elevatewp-steps--connected .elevatewp-step .elevatewp-step__circle-wrap::after {
		display: none;
	}
}
