
.wpcb-configurator-step-control-list {
	display: flex;
	gap: 20px;
	
	button {
		appearance: none;
		border: 0;
		padding: 0;
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: $font_size_regular;
		margin: 0;
		outline: 0;
		color: $template_color;
		background-color: transparent;
		cursor: default;

		.wpcb-configurator-step-control-icon,
		.wpcb-configurator-step-control-number {
			display: block;
			flex-shrink: 0;
			width: 36px;
			height: 36px;
			line-height: 36px;
			text-align: center;
			border-radius: 6px;
			background-color: $template_accent;
		}

		.wpcb-configurator-step-control-icon {
			overflow: hidden;
			img {
				display: block;
			}
		}

		&.active {
			font-weight: bold;
		}
		
		&.visited {
			cursor: pointer;
		}

		&.active,
		&.visited {
			
			.wpcb-configurator-step-control-number {
				background-color: $button_background;
				color: $button_color;
			}
		}
	}
}

.wpcb-configurator-step-progress-bar {
	position: relative;
	border: none;
	margin: 5px 0;
	border-radius: 6px;
	background-color: $template_accent;
	height: 24px;
	width: 100%;

	&-value {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		text-align: center;
		border-radius: 6px;
		color: $button_color;
		background-color: $button_background;
	}
}

.wpcb-configurator-step-control-wrapper {
	font-size: $font_size_regular;

	&.wpcb-border-square {
		#wpcb-view-step-progress {
			border-radius: 0;
		}

		.wpcb-configurator-step-progress-bar,
		.wpcb-configurator-step-progress-bar-value {
			border-radius: 0;
		}

		.wpcb-configurator-step-control-list button {
			.wpcb-configurator-step-control-icon,
			.wpcb-configurator-step-control-number {
				border-radius: 0;
			}
		}
	}

	&.wpcb-border-pill {
		#wpcb-view-step-progress {
			border-radius: 25px;
		}

		.wpcb-configurator-step-progress-bar,
		.wpcb-configurator-step-progress-bar-value {
			border-radius: 25px;
		}

		.wpcb-configurator-step-control-list button {
			.wpcb-configurator-step-control-icon,
			.wpcb-configurator-step-control-number {
				border-radius: 50%;
			}
		}
	}
}

.wpcb-configurator-step-control-bar {
	position: relative;

	#wpcb-view-step-progress {
		position: absolute;
		top: 8px;
		right: 0;
		appearance: none;
		border: 1px solid $button_alt_border;
		background-color: $button_alt_background;
		border-radius: 6px;
		padding: $spacing_button_icon;
		outline: 0;
		cursor: pointer;

		img {
			display: block;
			width: 24px;
			height: 24px;
		}

		&:hover,
		&:focus {
			border-color: $button_alt_hover_border;
		}
	}
}

.wpcb-configurator-step-index-list {

	.wpcb-configurator-step-index-button {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 0;
		text-align: left;
		padding: $spacing_steps 0;
		margin: 0;
		margin-bottom: $spacing_steps;
		font-size: $font_size_regular;
		border-bottom: 1px solid $template_border;

		a,
		img {
			display: none;
		}

		&.active {
			.wpcb-configurator-step-index-label {
				font-weight: bold;
			}
		}
		
		.wpcb-configurator-step-index-label {
			display: flex;
			align-items: center;

			img {
				margin-left: 10px;
			}
		}
		
		p {
			margin: 0;
		}

		&.active,
		&.visited {
			border-bottom: 1px solid $button_border;
		}

		&.visited {
			a,
			img {
				display: block;
			}
		}
	}
}

.wpcb-configurator-step {
	display: none;

	&.active {
		display: block;
	}
}

.wpcb-configurator-step-navigation {
	display: flex;
	justify-content: space-between;
	margin: $spacing_form 0;

	.wpcb-button.disabled {
		visibility: hidden;
	}

	&.wpcb-border-square {
		.wpcb-button {
			border-radius: 0;
		}
	}

	&.wpcb-border-pill {
		.wpcb-button {
			border-radius: 25px;
		}
	}
}