/* Product photos reach the page edges; text keeps its own readable spacing. */
body.single-product #page {
	width: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}

body.single-product #main > .si-container {
	width: 100%;
	max-width: none;
	padding: 0;
}

body.single-product #main #primary {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.single-product #main #content {
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.single-product #content > div.product > .si-wc-product-wrap {
	position: relative;
	gap: 0;
	margin: 0 0 24px;
}

body.single-product #content .si-wc-product-wrap > .images {
	flex: 0 0 50%;
	min-width: 0;
	max-width: 50%;
	margin: 0;
	padding: 0;
}

body.single-product #content .si-wc-product-wrap > .entry-summary {
	min-width: 0;
	margin: 0;
	padding: clamp(20px, 3vw, 48px);
}

body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
	padding: 0;
}

body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div,
body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a,
body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a > img,
body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder > img {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

/* Preserve the original aspect ratio. Never crop the product or its printed details. */
body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div > a > img,
body.single-product #content .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder > img {
	width: 100%;
	height: auto;
}

body.single-product #content .images .flex-control-thumbs {
	margin: 0;
}

/* Keep gallery arrows inside the image so they cannot create side overflow. */
body.single-product #content .woocommerce-product-gallery .flex-direction-nav .flex-prev {
	left: 12px;
}

body.single-product #content .woocommerce-product-gallery .flex-direction-nav .flex-next {
	right: 12px;
}

body.single-product #content > div.product > .woocommerce-tabs,
body.single-product #content > div.product > .related,
body.single-product #content > div.product > .up-sells {
	padding-right: clamp(16px, 3vw, 48px);
	padding-left: clamp(16px, 3vw, 48px);
}

/* The content is already full width: cancel Sinatra's old breakout margins. */
body.single-product #page #content > div.product > .woocommerce-tabs.si-fw-section {
	left: 0 !important;
	width: 100% !important;
	max-width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Real notices remain visible; an empty notice wrapper must not add a gap. */
body.single-product #content > .woocommerce-notices-wrapper:empty {
	display: none;
}

body.single-product #content > .woocommerce-notices-wrapper:not(:empty) {
	padding: 16px;
}

@media screen and (max-width: 960px) {
	body.single-product #content .si-wc-product-wrap > .images {
		flex-basis: 100%;
		max-width: 100%;
		margin: 0;
	}

	body.single-product #content .si-wc-product-wrap > .entry-summary {
		flex: 0 0 100%;
		padding: 16px;
	}
}
