/* Simple-product purchase controls */
.ggn-single-product .ggn-product-options form {
	display: grid;
	gap: var(--wp--preset--spacing--card);
}

.ggn-single-product .ggn-product-options .quantity,
.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector {
	align-items: center;
	background: transparent;
	border: 0;
	display: inline-flex;
	min-height: var(--wp--custom--control--size);
}

.ggn-single-product .ggn-product-options .quantity input,
.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector input {
	background-color: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	min-height: var(--wp--custom--control--size);
	padding: 0 var(--wp--preset--spacing--card);
	text-align: center;
}

.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector button,
.ggn-single-product .ggn-product-options .quantity button {
	background-color: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--control--size);
	min-width: var(--wp--custom--control--size);
}

.ggn-single-product .ggn-product-total {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--line);
	display: flex;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	gap: var(--wp--preset--spacing--card);
	justify-content: space-between;
	padding-top: var(--wp--preset--spacing--card);
}

.ggn-single-product .ggn-product-total__label {
	color: var(--wp--preset--color--muted);
}

.ggn-single-product .ggn-product-total__amount {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--h-2);
}

/* Sold-out state */
.ggn-single-product .ggn-product-gallery.is-sold-out {
	position: relative;
}

.ggn-single-product .ggn-product-gallery.is-sold-out img {
	opacity: 0.5;
}

.ggn-single-product .ggn-product-sold-out-badge {
	background-color: var(--wp--preset--color--bad);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--bg);
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	left: var(--wp--preset--spacing--card-lg);
	padding: var(--wp--custom--pill--padding);
	position: absolute;
	text-transform: uppercase;
	top: var(--wp--preset--spacing--card-lg);
	z-index: 2;
}

/* The badges come before the gallery block, so flow layout gave the frame a 24px top margin. */
.ggn-single-product .ggn-product-gallery > .wp-block-woocommerce-product-gallery {
	margin-block-start: 0;
}

.ggn-single-product .ggn-product-summary.is-sold-out .ggn-product-price {
	color: var(--wp--preset--color--muted);
}

.ggn-single-product .ggn-product-stock-status {
	color: var(--wp--preset--color--bad);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	margin: 0;
}

.ggn-single-product .ggn-product-options--sold-out .single_add_to_cart_button,
.ggn-buy-bar__button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.5;
}

.ggn-single-product .ggn-product-restock {
	background-color: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	display: grid;
	gap: var(--wp--preset--spacing--card);
	padding: var(--wp--preset--spacing--card-lg);
}

.ggn-single-product .ggn-product-restock h2,
.ggn-single-product .ggn-product-restock p {
	margin: 0;
}

.ggn-single-product .ggn-product-restock p {
	color: var(--wp--preset--color--muted);
}

.ggn-single-product .ggn-product-restock .wp-block-button__link {
	min-height: var(--wp--custom--button--height);
}

body.single-product .ggn-buy-bar__price del {
	color: var(--wp--preset--color--muted);
	text-decoration: line-through;
}

body.single-product .ggn-buy-bar__price ins {
	text-decoration: none;
}

body.single-product .ggn-buy-bar__price del + ins {
	margin-left: var(--wp--preset--spacing--card);
}

@media (max-width: 781px) {
	.ggn-single-product .ggn-product-options .quantity input,
	.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector input {
		min-width: var(--wp--custom--control--size);
	}

	.ggn-single-product .ggn-product-options form {
		grid-template-columns: minmax(0, 1fr);
	}

	.ggn-single-product .ggn-product-options .quantity,
	.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector,
	.ggn-single-product .ggn-product-total,
	.ggn-single-product .ggn-product-options button[type="submit"],
	.ggn-single-product .ggn-product-options .single_add_to_cart_button,
	.ggn-single-product .ggn-product-options button[name="add-to-cart"] {
		grid-column: 1;
		width: 100%;
	}

	body.is-sold-out .ggn-buy-bar__price {
		color: var(--wp--preset--color--muted);
	}
}

/* Product quantity and total layout */
.ggn-single-product .ggn-product-options .wc-block-components-quantity-selector {
	border: 0;
}

.ggn-single-product .ggn-product-options .quantity {
	border: 0;
}

.ggn-single-product .ggn-product-total {
	box-sizing: border-box;
}

.ggn-single-product .ggn-product-total__amount {
	font-weight: 700;
}

.ggn-single-product .ggn-product-total__amount--placeholder {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}
