/* === G5 CART + PDP CONVERSION UI v4.1.0 — START === */

/* Buy Now: explicit colors override legacy theme button declarations. */
body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 54px !important;
	padding: 0 20px !important;
	border: 2px solid #40e0d0 !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	background-image: none !important;
	box-shadow: 0 8px 20px rgba(64, 224, 208, 0.16) !important;
	color: #2bb8ab !important;
	-webkit-text-fill-color: #2bb8ab !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: transform 180ms cubic-bezier(.22, 1, .36, 1),
		background-color 180ms ease,
		box-shadow 180ms ease,
		color 180ms ease;
}

body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now:hover,
body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now:focus-visible {
	border-color: #40e0d0 !important;
	background: #40e0d0 !important;
	box-shadow: 0 13px 28px rgba(64, 224, 208, 0.38) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: translateY(-2px);
}

body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now:active {
	box-shadow: 0 7px 16px rgba(64, 224, 208, 0.28) !important;
	transform: scale(.97);
}

body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now:focus-visible {
	outline: 3px solid #ffcc33 !important;
	outline-offset: 3px;
}

/* Desktop: gallery and summary occupy one stretched grid row. */
@media (min-width: 993px) {
	body.single-product .site-content div.product {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-areas: none !important;
		column-gap: 32px !important;
		row-gap: 40px !important;
		align-items: stretch !important;
	}

	body.single-product .site-content div.product > .woocommerce-product-gallery {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: stretch !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		position: relative !important;
		top: auto !important;
	}

	body.single-product .site-content div.product > .summary.entry-summary {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	body.single-product .site-content div.product > .woocommerce-tabs,
	body.single-product .site-content div.product > .related,
	body.single-product .site-content div.product > .upsells,
	body.single-product .site-content div.product > .up-sells {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		min-width: 0 !important;
	}
}

/* Simple and variable product actions share the same responsive grid. */
body.single-product div.product .summary.entry-summary form.cart:not(.variations_form),
body.single-product div.product .summary.entry-summary .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 10px !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.single-product div.product .summary.entry-summary form.cart.variations_form {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.single-product div.product .summary.entry-summary form.cart .quantity {
	min-width: 0 !important;
	margin: 0 !important;
}

body.single-product div.product .summary.entry-summary form.cart button.single_add_to_cart_button,
body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Mobile: no overflow, two balanced actions, safe space above bottom nav. */
@media (max-width: 992px) {
	body.single-product {
		max-width: 100% !important;
		padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
		overflow-x: clip;
	}

	body.single-product .site,
	body.single-product .site-content,
	body.single-product .content-area,
	body.single-product .site-main,
	body.single-product div.product,
	body.single-product div.product > .woocommerce-product-gallery,
	body.single-product div.product > .summary.entry-summary {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	body.single-product div.product .summary.entry-summary form.cart:not(.variations_form),
	body.single-product div.product .summary.entry-summary .woocommerce-variation-add-to-cart {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	body.single-product div.product .summary.entry-summary form.cart .quantity {
		grid-column: 1 / -1 !important;
		justify-self: start !important;
	}

	body.single-product div.product .summary.entry-summary form.cart button.single_add_to_cart_button,
	body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now {
		min-height: 52px !important;
		padding-inline: 10px !important;
		font-size: 14px !important;
		white-space: nowrap;
	}
}

@media (max-width: 340px) {
	body.single-product div.product .summary.entry-summary form.cart:not(.variations_form),
	body.single-product div.product .summary.entry-summary .woocommerce-variation-add-to-cart {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.single-product div.product .summary.entry-summary form.cart .quantity {
		grid-column: 1 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product div.product .summary.entry-summary form.cart button.g5-buy-now {
		transition-duration: .01ms !important;
	}
}

/* === G5 CART + PDP CONVERSION UI v4.1.0 — END === */