
.product-price-widget button {
	background: #a0cc41;
}
.product-price-widget .total-cost {
	margin-top: 0.5em;
	font-weight: bold;
}

.product-price-widget .elementor-field-option input {
	margin-right: 0.5em;	
}

.product-price-widget .elementor-field-option .savings {
	font-weight: bold;
	font-style: italic;
}

.product-price-widget:not(.inline-price):not(.preview-msg) {
	display: flex;
	align-items: start;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
}

.product-price-widget form {
	flex: 1 1 50%;
	align-self: stretch;

	display: flex;
	flex-direction: column;
}
.product-price-widget form h4 small {
	font-size: 0.9em;
	font-weight: normal;
	display: block;
}
.product-price-widget form h4 ~ h4 {
	margin-top: auto;
}
.product-price-widget.no-domains form button[type="submit"] {
	align-self: flex-start;
}

.product-price-widget .domain-price-options {
	flex: 1 1 calc(50% - 15px);
	align-self: stretch;

	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;

	padding-left: 15px;
}
.product-price-widget .domain-price-options span.value {
	font-weight: bold;
}
.product-price-widget .domain-price-options .domain-key {
	margin-top: auto;
	flex: 0 0 auto;	

	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
}
.product-price-widget .domain-price-options .domain-key h4 {
	flex: 1 1 100%;
}
.product-price-widget .domain-price-options .domain-key span {
	flex: 0 0 auto;
	border: 1px solid #cccccc;
	background: white;
	color: #666666;

	display: inline-flex;
	align-items: center;
	padding: 10px 15px;
	font-size: 17px;
	line-height: 1.5;
}
.product-price-widget .domain-price-options .domain-key span + span {
	border-left: 0;
}
.product-price-widget .domain-price-options .domain-key span.wildcard {
	background: #1f7cab;
	color: white;
}
.product-price-widget.no-wildcards .domain-price-options .domain-key span.wildcard {
	display: none;
}
.product-price-widget .domain-price-options .domain-key span.invalid {
	background: #c91225;
	color: white;
}

.product-price-widget .domain-control-group {
	display: flex;
	align-items: stretch;

	position: relative;
	overflow: visible;
}
.product-price-widget .domain-control-group input {
	flex: 1 1 100%;
	padding-left: 10px;
	padding-right: 10px;
}
.product-price-widget .domain-control-group input.invalid {
	background: #c91225;
	color: white;
}
.product-price-widget .domain-control-group .max-domains-message,
.product-price-widget .domain-control-group .restricted-message,
.product-price-widget .domain-control-group .invalid-message {
	display: none;
	position: absolute;
	top: calc( 100% + 5px );
	color: #c91225;
	font-size: 11px;
	margin: 0;
	padding: 0;
}
.product-price-widget .domain-control-group .max-domains-message {
	color: #222;
}
.product-price-widget .domain-control-group.restricted:not(.multi-invalid) .restricted-message,
.product-price-widget .domain-control-group.multi-invalid .invalid-message {
	display: block;
}
.product-price-widget .domain-control-group button.add-domain {
	flex: 0 0 auto;
	border-radius: 0 3px 3px 0;
}
.product-price-widget .domain-control-group:not(.restricted):not(.multi-invalid) .max-domains-message {
	display: block;
}
.product-price-widget .domain-control-group.max-domains .max-domains-message {
	color: #c91225;
}

.product-price-widget .checkout-control-group {
	flex: 1 1 100%;
	padding: 15px;
	width: 100%;
	display: flex;
	background: #222222;
	color: white;
	align-items: center;
	justify-content: flex-end;

	margin-top: 30px;
}

.product-price-widget .checkout-control-group h3.total-cost {
	margin: 0 15px;
	font-size: 24px;
}
.product-price-widget .checkout-control-group .total-label {
	display: none;
}

.product-price-widget.with-domains .elementor-form-fields-wrapper {
	margin-bottom: 30px;
}
.product-price-widget.with-domains button[type="submit"],
.product-price-widget.with-domains h3.total-cost {
	white-space: nowrap;
}

.product-price-widget .domain-cart-group {
	
	flex: 1 1 100%;

	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-items: flex-start;

	list-style: none;
	
	padding: 0;
	margin: 0;

}

.product-price-widget .domain-cart-group .domain {
	border: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0;
	border-radius: 2px;
	margin-right: 10px;
	margin-bottom: 10px;
	background: white;
	color: #555;
	white-space: nowrap;

	display: inline-flex;
	align-items: stretch;
}
.product-price-widget .domain-cart-group .domain span.punycode {
	display: flex;
	flex-direction: column;
}
.product-price-widget .domain-cart-group .domain.wildcard {
	background: #1f7cab;
	color: white;
}
.product-price-widget .domain-cart-group .domain span,
.product-price-widget .domain-cart-group .domain button {
	padding: 5px 10px;
	font-size: 12px;
}
.product-price-widget .domain-cart-group .domain button {
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	background: transparent;
	color: inherit;
	
}
.product-price-widget .domain-cart-group .domain button:hover,
.product-price-widget .domain-cart-group .domain button:active,
.product-price-widget .domain-cart-group .domain button:focus {
	background: #c91225;
	color: white;
	border-radius: 0 2px 2px 0;
}

@media screen and (max-width: 767px) {
	.product-price-widget {
		flex-wrap: nowrap;
		flex-direction: column;
	}
	.product-price-widget form,
	.product-price-widget .domain-price-options,
	.product-price-widget .checkout-control-group {
		flex: 0 0 auto;
	}
	.product-price-widget .domain-price-options {
		padding-left: 0;
		margin-top: 15px;
	}
	.product-price-widget .domain-price-options .domain-key {
		order: -1;
		margin-bottom: 15px;
	}
	.product-price-widget .checkout-control-group {
		flex-direction: column;
	}
}