/**
 * Single Product page — gallery, summary, tabs, reviews, related products.
 */

.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: var(--bz-space-8);
	align-items: start;
	margin: var(--bz-space-7) 0;
}

/* ---- Gallery ---- */
.woocommerce-product-gallery {
	position: sticky;
	top: var(--bz-space-6);
}
.woocommerce-product-gallery__wrapper {
	border-radius: var(--bz-radius-lg);
	overflow: hidden;
	background: var(--bz-surface-alt);
}
.woocommerce-product-gallery__image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}
.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--bz-space-2);
	margin-top: var(--bz-space-3);
	list-style: none;
	padding: 0;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
	border-radius: var(--bz-radius-sm);
	aspect-ratio: 1;
	object-fit: cover;
	opacity: 0.65;
	border: 1px solid transparent;
	cursor: pointer;
	transition: opacity var(--bz-duration-fast) var(--bz-ease), border-color var(--bz-duration-fast) var(--bz-ease);
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--bz-ink);
}

/* ---- Summary column ---- */
.single-product div.product .summary {
	padding-top: var(--bz-space-2);
}

.single-product .product_title {
	font-size: var(--bz-fs-2xl);
	margin-bottom: var(--bz-space-2);
}

.single-product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: var(--bz-space-3);
	margin-bottom: var(--bz-space-4);
}
.single-product .star-rating { color: var(--bz-gold); }
.single-product .woocommerce-review-link {
	font-size: var(--bz-fs-xs);
	color: var(--bz-muted);
	text-decoration: underline;
}

.single-product p.price,
.single-product .price {
	font-family: var(--bz-font-display);
	font-size: var(--bz-fs-xl);
	color: var(--bz-ink);
	margin-bottom: var(--bz-space-5);
}
.single-product p.price del { color: var(--bz-muted); font-size: 0.65em; }
.single-product p.price ins { text-decoration: none; color: var(--bz-sale); }

.single-product .woocommerce-product-details__short-description {
	color: var(--bz-ink-soft);
	line-height: var(--bz-lh-relaxed);
	margin-bottom: var(--bz-space-5);
	padding-bottom: var(--bz-space-5);
	border-bottom: 1px solid var(--bz-border);
}

/* Variations */
.variations {
	width: 100%;
	margin-bottom: var(--bz-space-4);
}
.variations td.label {
	font-size: var(--bz-fs-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bz-muted);
	padding-bottom: var(--bz-space-2);
}
.variations select { width: 100%; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th { border: none; padding: var(--bz-space-1) 0; }
a.reset_variations {
	font-size: var(--bz-fs-xs);
	color: var(--bz-muted);
	text-decoration: underline;
}

/* Add-to-cart row */
.single-product form.cart {
	display: flex;
	align-items: center;
	gap: var(--bz-space-3);
	flex-wrap: wrap;
	margin-bottom: var(--bz-space-6);
}
.single-product form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-width: 200px;
	padding: 1em 2em;
	font-size: var(--bz-fs-sm);
}

/* Meta (SKU, categories, tags) */
.single-product .product_meta {
	font-size: var(--bz-fs-xs);
	color: var(--bz-muted);
	border-top: 1px solid var(--bz-border);
	padding-top: var(--bz-space-4);
}
.single-product .product_meta > span { display: block; margin-bottom: var(--bz-space-1); }
.single-product .product_meta a { color: var(--bz-ink); text-decoration: underline; }

/* Trust badges strip (shipping / returns / secure payment) */
.bz-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--bz-space-4);
	margin-top: var(--bz-space-5);
	padding-top: var(--bz-space-5);
	border-top: 1px solid var(--bz-border);
}
.bz-trust-badges .bz-badge {
	font-size: var(--bz-fs-xs);
	color: var(--bz-muted);
	display: flex;
	align-items: flex-start;
	gap: var(--bz-space-2);
	line-height: var(--bz-lh-normal);
}

/* ---- Tabs ---- */
.woocommerce-tabs {
	margin-top: var(--bz-space-9);
	grid-column: 1 / -1;
}
.woocommerce-tabs ul.tabs {
	display: flex;
	gap: var(--bz-space-6);
	list-style: none;
	padding: 0;
	border-bottom: 1px solid var(--bz-border);
	margin-bottom: var(--bz-space-6);
}
.woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
}
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: var(--bz-space-3) 0;
	font-family: var(--bz-font-body);
	font-weight: 600;
	font-size: var(--bz-fs-sm);
	color: var(--bz-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--bz-ink);
	border-bottom-color: var(--bz-ink);
}
.woocommerce-tabs .panel {
	max-width: var(--bz-container-narrow);
	line-height: var(--bz-lh-relaxed);
	color: var(--bz-ink-soft);
}
.woocommerce-tabs table.shop_attributes {
	border: none;
	max-width: var(--bz-container-narrow);
}
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td {
	border: none;
	border-bottom: 1px solid var(--bz-border);
	padding: var(--bz-space-3) 0;
}
.woocommerce-tabs table.shop_attributes th {
	font-weight: 600;
	width: 220px;
}

/* ---- Reviews ---- */
#reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}
#reviews .comment {
	padding: var(--bz-space-5) 0;
	border-bottom: 1px solid var(--bz-border);
}
#reviews .comment_container img.avatar {
	border-radius: 50%;
	width: 44px;
	height: 44px;
}
#reviews .meta { font-size: var(--bz-fs-xs); color: var(--bz-muted); }
#reviews .star-rating { color: var(--bz-gold); margin-bottom: var(--bz-space-2); }
#review_form #respond .comment-form-rating select { max-width: 140px; }

/* ---- Related / upsell products ---- */
.related.products,
.upsells.products {
	margin-top: var(--bz-space-9);
	grid-column: 1 / -1;
}
.related.products > h2,
.upsells.products > h2 {
	font-size: var(--bz-fs-xl);
	margin-bottom: var(--bz-space-5);
}
