/* Webux Steps: numbered process grid. */
.webux-steps {
	counter-reset: webux-step;
	display: grid;
	grid-template-columns: repeat(var(--webux-cols, 3), minmax(0, 1fr));
	gap: clamp(1.75rem, 3vw, 2.75rem);
	/* Breathing room from the section heading above (the section inner has no
	   gap of its own, so without this the grid touches the heading). */
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

@media (max-width: 900px) {
	.webux-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.webux-steps {
		grid-template-columns: 1fr;
	}
}

.webux-step {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	background: var(--wp--preset--color--base, #ffffff);
	border: 1px solid var(--wp--preset--color--border, #e2e4e9);
	border-radius: 0.5rem;
	padding: var(--wp--preset--spacing--40, 1.5rem);
}

.webux-step__number::before {
	counter-increment: webux-step;
	content: counter(webux-step, decimal-leading-zero);
	display: block;
	font-size: var(--wp--preset--font-size--x-large, 1.75rem);
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--primary, #2563eb);
}

/* Badge variant: the number sits in a filled accent circle. Only the counter
   style changes — decimal-leading-zero (01, 02) would not fit the circle, so
   the badge prints the bare counter (1, 2, …). counter-increment keeps coming
   from the base rule above, the cascade only replaces the listed properties.
   The .webux-steps--badge rules are doubled up with .webux-steps so they
   outrank the .lv-steps overrides in site.css regardless of load order. */
.webux-steps.webux-steps--badge .webux-step__number {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #8b8178);
	margin-bottom: 14px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--wp--preset--color--primary, #356b4b) 30%, transparent);
}

.webux-steps.webux-steps--badge .webux-step__number::before {
	content: counter(webux-step);
	display: block;
	margin-bottom: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1;
	color: inherit;
}

/* Plain variant: steps sit directly on the page background, no card. */
.webux-steps.webux-steps--plain .webux-step {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.webux-step__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large, 1.25rem);
}

.webux-step__text {
	margin: 0;
	color: var(--wp--preset--color--muted, #6b7280);
}
