body.amigo-product-page {
	--theme-normal-container-max-width: var(--amigo-product-page-width);
}

.amigo-product-page .product-entry-wrapper {
	align-items: flex-start;
	gap: var(--amigo-summary-gap);
	margin-top: var(--amigo-product-top);
}

@media (min-width: 1000px) {
	.amigo-product-page .product-entry-wrapper:has([data-gallery="default"], [data-gallery="stacked"]) .woocommerce-product-gallery {
		width: calc(100% - var(--amigo-summary-width) - var(--amigo-summary-gap));
	}

	.amigo-product-page .product-entry-wrapper:has([data-gallery="default"], [data-gallery="stacked"]) .entry-summary {
		width: var(--amigo-summary-width);
		margin-inline-start: 0;
	}

	.amigo-product-page.amigo-summary-sticky .entry-summary {
		position: sticky;
		top: calc(var(--amigo-product-top) + 20px);
		align-self: flex-start;
	}
}

.amigo-product-page .entry-summary-items {
	padding: var(--amigo-summary-padding);
	background: var(--amigo-summary-bg);
	border: 1px solid var(--theme-border-color);
	border-radius: var(--amigo-summary-radius);
}

.amigo-product-page .entry-summary .product_title {
	margin-bottom: 12px;
	font-size: clamp(1.9rem, 3vw, 2.75rem);
	line-height: 1.08;
}

.amigo-product-page .entry-summary .price {
	margin-block: 10px 18px;
}

.amigo-product-page .woocommerce-product-details__short-description {
	color: var(--theme-text-color);
	font-size: .98rem;
	line-height: 1.65;
}

.amigo-product-facts {
	margin-top: 18px;
	padding-block: 14px;
	border-block: 1px solid var(--theme-border-color);
	font-size: .9rem;
}

.amigo-product-facts dl,
.amigo-product-facts dd { margin: 0; }

.amigo-product-facts dl > div {
	display: grid;
	grid-template-columns: minmax(100px, .42fr) minmax(0, 1fr);
	gap: 12px;
	padding-block: 5px;
}

.amigo-product-facts dt { font-weight: 700; }
.amigo-product-facts__availability,
.amigo-product-facts__categories { margin-top: 9px; }
.amigo-product-facts__categories > span { font-weight: 700; }
.amigo-product-facts .stock { margin: 0; }

.amigo-product-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 18px;
}

.amigo-product-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 15px;
	border: 1px solid var(--theme-border-color);
	border-radius: var(--amigo-button-radius);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.amigo-product-action--primary { background: var(--amigo-primary-button-bg); color: var(--amigo-button-text); border-color: var(--amigo-primary-button-bg); }
.amigo-product-action--secondary { background: var(--amigo-card-bg); color: var(--amigo-charcoal); }
.amigo-product-action--link { grid-column: 1 / -1; min-height: 38px; border-color: transparent; color: var(--amigo-gold); }
.amigo-product-action:focus-visible { outline: 3px solid var(--amigo-gold); outline-offset: 3px; }
.amigo-product-delivery-note { margin: 12px 0 0; color: var(--amigo-muted); font-size: .82rem; line-height: 1.5; }

.amigo-product-page.amigo-tabs-compact .product > .woocommerce-tabs {
	padding-top: clamp(28px, 4vw, 48px);
}

.amigo-product-page.amigo-tabs-compact .woocommerce div.product div.woocommerce-tabs ul.tabs li a { padding: .9em 1.2em; }
.amigo-product-page.amigo-tabs-compact .woocommerce div.product div.woocommerce-tabs div.woocommerce-Tabs-panel.panel { padding-top: 24px; }
.amigo-product-page .woocommerce-tabs .entry-content { min-height: 0; }
.amigo-product-page .woocommerce-product-attributes th,
.amigo-product-page .woocommerce-product-attributes td { padding: 10px 12px; text-align: start; }

.amigo-product-page.amigo-review-layout-compact .woocommerce-Reviews {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.amigo-product-page.amigo-review-layout-compact #review_form {
	position: static;
	max-width: 760px;
}

.amigo-product-page .woocommerce-Reviews .woocommerce-noreviews { margin: 0; padding: 12px 14px; background: var(--amigo-cream); border-radius: var(--amigo-radius); }
.amigo-product-page .woocommerce-Reviews .comment-form { grid-row-gap: 1rem; }
.amigo-product-page .woocommerce-Reviews .form-submit { margin-bottom: 0; }
.amigo-product-page .woocommerce-Reviews .submit { background: var(--amigo-primary-button-bg); color: var(--amigo-button-text); }
.amigo-product-page .comment-form-rating .stars a { color: var(--amigo-gold); }

.amigo-product-page :where(.related, .upsells, .cross-sells).products { margin-top: clamp(30px, 4vw, 52px); }
.amigo-product-page :where(.related, .upsells, .cross-sells) > h2 { margin-bottom: 20px; font-size: clamp(1.65rem, 2.4vw, 2.2rem); }
.amigo-product-page :where(.related, .upsells, .cross-sells) ul.products { gap: var(--amigo-product-gap); }
.amigo-product-page :where(.related, .upsells, .cross-sells) ul.products li.product { min-width: 0; }
.amigo-product-page :where(.related, .upsells, .cross-sells) ul.products li.product figure { aspect-ratio: 1; background: var(--amigo-card-bg); overflow: hidden; }
.amigo-product-page :where(.related, .upsells, .cross-sells) ul.products li.product img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 999px) {
	.amigo-product-page .product-entry-wrapper { gap: 24px; }
	.amigo-product-page .entry-summary-items { width: 100%; }
}

@media (max-width: 689px) {
	.amigo-product-page .product-entry-wrapper { margin-top: 18px; }
	.amigo-product-page .entry-summary-items { padding: min(var(--amigo-summary-padding), 20px); }
	.amigo-product-actions { grid-template-columns: 1fr; }
	.amigo-product-action--link { grid-column: auto; }
	.amigo-product-facts dl > div { grid-template-columns: 1fr; gap: 2px; }
}
