.wpcb-configurator-form-control-actions {
	margin: 20px 0;
	
	a {
		display: inline-flex;
		align-items: center;
		gap: 10px;
	}

	a:nth-of-type(2) {
		float: right;
	}

	a.wpcb-configurator-form-reset-action,
	a.wpcb-configurator-form-save-action {
		text-decoration: none;
		font-weight: 700;
		color: $template_link;

		&:hover,
		&:focus {
			color: $template_link_hover;
		}
	}

	&:after {
		content: '';
		display: table;
		clear: both;
	}
}

.wpcb-configurator-form-actions-list {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;

	a.wpcb-configurator-form-pdf-action,
	a.wpcb-configurator-form-wishlist-action {
		text-decoration: none;
		font-weight: 700;
		color: $template_link;

		img,
		span {
			display: inline-block;
			vertical-align: middle;
		}

		&:hover,
		&:focus {
			color: $template_link_hover;
		}
	}
}

.wpcb-configurator-options-footer {
	position: relative;
}

.wpcb-configurator-price-table-totals {

	.wpcb-price-table-totals {
		background-color: $template_accent;
		margin: 30px 0;
		padding: 12px;
		position: relative;
		max-width: 100%;
		font-size: 16px;
		border-radius: 12px;
	
		p,
		strong {
			margin: 0;
		}
	}

	.wpcb-configurator-totals-table-row {
		display: flex;
	}

	.wpcb-configurator-totals-table-col {
		padding: 12px;
	}

	.wpcb-configurator-totals-table-col:first-child {
		flex: 1;
	}

	.wpcb-configurator-totals-table-col:last-child {
		text-align: right;
	}
}

div.wpcb-configurator-form-totals {
	position: relative;
	width: 100%;
	margin: 30px 0;
	box-sizing: border-box;
	font-size: 16px;

	@media (min-width: 600px) {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
	}

	&.wpcb-sticky {
		position: sticky;
		bottom: 0;
		left: 0;
		right: 0;
		padding: 20px 0;
		background-color: $template_background;
	}

	&.wpcb-has-step-nav {
		display: block;

		.wpcb-configurator-form-totals-actions {
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-wrap: wrap;
			gap: 12px;
			margin: 20px 0 0;
		}
	}

	.wpcb-configurator-form-totals-price {
		.wpcb-configurator-view-price-details span {
			display: none;
		}

		&.wpcb-price-hidden {
			.wpcb-configurator-view-price-details {
				display: inline-flex;
				text-decoration: none;
				font-weight: 700;
				color: $template_link;

				img,
				span {
					display: inline-block;
					vertical-align: middle;
				}

				span {
					margin-left: 5px;
				}
			}
		}
	}

	.wpcb-configurator-total-stock {
		position: relative;
		display: none;
		margin-bottom: 0;
		padding: 5px;

		&.active {
			display: block;
		}

		&.in-stock,
		&.on-backorder,
		&.out-of-stock {
			&:before {
				content: '';
				display: inline-block;
				width: 12px;
				margin-right: 6px;
				border-radius: 12px;
				height: 12px;
			}
		}

		&.in-stock {
			&:before {
				background-color: $color_success;
			}
		}

		&.on-backorder {
			&:before {
				background-color: $color_danger;
			}
		}

		&.out-of-stock {
			&:before {
				background-color: $color_error;
			}
		}
	}

	.wpcb-configurator-form-totals-weight {
		display: flex;
		align-items: center;

		p {
			margin: 0 4px 0 8px;
		}
	}

	.wpcb-configurator-form-add-to-cart.hidden {
		display: none;

		.button {
			pointer-events: none;
		}
	}

	div.wpcb-configurator-form-totals-actions {
		margin-left: auto;

		@media (max-width: 599px) {
			display: block;
			width: 100%;
			margin-top: 20px;

			div.wpcb-configurator-form-add-to-cart {
				flex-wrap: wrap;
			}
		}

		&:not(.cart) {
			.quantity,
			.single_add_to_cart_button {
				display: none;
				pointer-events: none;
			}
		}
	
		div.wpcb-configurator-form-add-to-cart {
			display: flex;
			align-items: center;
			gap: 10px;

			form.cart {
				display: flex;
				align-items: center;
				gap: 10px;
				margin: 0;
			}

			p {
				margin: 0;
			}
			br {
				display: none;
			}
			
			&.hidden {
				display: none;
			}
			
			.quantity {
				float: none;
				margin: 0;

				input[type=number] {
					border: 1px solid $template_border;
					background-color: $option_background;
					color: $template_color;
					border-radius: 6px;
					padding: 10px 2px;
	
					&:focus {
						outline: 0;
						border-color: $option_active_border;
					}
				}
			}

			button.single_add_to_cart_button {
				margin-bottom: 0;
				appearance: none;
				padding: 14px 16px !important;
				border-radius: 8px;
				font-size: 16px;
				line-height: 1;
				font-weight: 700;
				border: 1px solid $button_border;
				background-color: $button_background;
				color: $button_color;
				text-decoration: none;
				cursor: pointer;

				&:hover,
				&:focus {
					border-color: $button_hover_border;
					background-color: $button_hover_background;
					color: $button_hover_color;
				}

				+ .wpcb-button {
					border: 1px solid $button_alt_background;
					background-color: $button_alt_background;
					color: $button_alt_color;

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

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

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

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

		div.wpcb-configurator-form-totals-actions {
			div.wpcb-configurator-form-add-to-cart {
				.quantity {
					input[type=number] {
						border-radius: 0;
					}
				}
	
				button.single_add_to_cart_button {
					border-radius: 0;
				}
			}
		}
	}

	&.wpcb-border-pill {

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

		div.wpcb-configurator-form-totals-actions {

			div.wpcb-configurator-form-add-to-cart {
				.quantity {
					input[type=number] {
						border-radius: 25px;
					}
				}
	
				button.single_add_to_cart_button {
					border-radius: 25px;
				}
			}
		}
	}
}

.wpcb-configurator-form-actions {
	font-size: 16px;
}

.wpcb-configurator-form-totals .wpcb-step-next.disabled,
.wpcb-configurator-form-totals-button.disabled,
.wpcb-configurator-form-totals-summary-button.disabled {
	display: none;
}

.wpcb-configurator-form-totals-price {
	display: flex;
	align-items: center;

	@media (max-width: 599px) {
		width: 100%;
	}

	.wpcb-configurator-totals-price-main,
	.wpcb-configurator-totals-price-tax {
		display: flex;
		align-items: center;
	}

	.wpcb-configurator-total-price {
		font-size: 20px;
		font-weight: 700;

		ins {
			margin-left: 6px;
		}
	}

	.wpcb-configurator-totals-price-main strong {
		font-size: 20px;
		font-weight: 700;
		margin-right: 5px;
	}
	
	.wpcb-configurator-total-tax-label {
		margin: 0;
		margin-left: 6px;
	}
}

.wpcb-configurator-form-totals-price button {
	appearance: none;
	padding: 0;
	margin: 0;
	margin-right: 5px;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}

.wpcb-configurator-final-image {
	position: relative;
	max-width: 100%;
	height: auto;
}
.wpcb-configurator-final-image img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	height: auto;
}
.wpcb-configurator-final-image img:first-of-type {
	position: relative;
}

div.wpcb-configurator-panel-action form.cart {
	display: block;
}

.woocommerce-variation-add-to-cart-disabled a.wpcb_show_configuration_popup {
	display: none;
}
