/* Visual numbering for Steps using CSS counters (frontend) */
.wp-block-tclp-steps-items {
	counter-reset: step;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-tclp-steps-items .tclp-steps-item {
	counter-increment: step;
	position: relative;
	padding-left: calc(58px + 1.5rem);
	margin-bottom: 3rem;
}

.wp-block-tclp-steps-items .tclp-steps-item:last-child {
	margin-bottom: 0;
}

.tclp-steps--horizontal .wp-block-tclp-steps-items .tclp-steps-item {
	margin-bottom: 0;
}

.wp-block-tclp-steps-items .tclp-steps-item::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: 0;
	width: 58px;
	height: 58px;
	line-height: 58px;
	text-align: center;
	border-radius: 999px;
	font-weight: 700;
	font-size: 28px;
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--dark-gray);
	display: inline-block;
}

.tclp-visually-hidden {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: -1px;
}

.wp-block-tclp-steps.tclp-steps--horizontal > .wp-block-tclp-steps-items {
	display: flex;
	column-gap: 1rem;
	row-gap: 2rem;
	flex-wrap: wrap;
	justify-content: center;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items.has-image {
	flex-wrap: wrap;
	gap: 3rem;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items
	.wp-block-tclp-steps-item {
	flex: 1 1 100%;
	box-sizing: border-box;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items.has-image
	> .tclp-steps-item {
	padding: 0;
	text-align: center;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items.has-image
	> .tclp-steps-item
	figure {
	max-width: 64px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items.has-image
	> .tclp-steps-item
	figure
	img {
	width: 100%;
	height: auto;
}

.wp-block-tclp-steps.tclp-steps--horizontal
	> .wp-block-tclp-steps-items.has-image
	> .tclp-steps-item::before {
	position: relative;
	display: block;
	margin: 0 auto 0.5rem auto;
	left: auto;
	top: auto;
	width: 38px;
	height: 38px;
	line-height: 38px;
	text-align: center;
	font-size: 18px;
}

@media screen and (min-width: 1200px) {
	.wp-block-tclp-steps.tclp-steps--horizontal
		> .wp-block-tclp-steps-items.has-image {
		flex-wrap: nowrap;
	}

	.wp-block-tclp-steps.tclp-steps--horizontal
		> .wp-block-tclp-steps-items
		.wp-block-tclp-steps-item {
		max-width: calc(33.33% - ((2 * 1rem) / 3));
		flex: 1 1 calc(33.33% - ((2 * 1rem) / 3));
		box-sizing: border-box;
	}
}
