/* =============================================================================
   Single Product
   Layout: large gallery left, summary (title/price/details/Inquire) right,
   full-width tabs and related products below. Built almost entirely on
   WooCommerce's default markup/hooks — see single-product.php.
   ========================================================================== */

.product-page {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

/* Scoped to just the gallery + summary (see woocommerce/content-single-
   product.php) so tabs/upsells/related products below are normal block
   siblings of .product, not grid items needing grid-column: 1/-1 hacks. */
.product-summary-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

/* -----------------------------------------------------------------------
   Gallery (left)
   -------------------------------------------------------------------- */
.woocommerce-product-gallery__wrapper {
	border-radius: var(--radius-lg);
	overflow: hidden;
	background-color: var(--color-bg-light);
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
	padding: 0;
	flex-wrap: wrap;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	width: 80px;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: var(--radius);
	border: 1.5px solid var(--color-border);
	cursor: pointer;
	transition: border-color var(--transition-base), opacity var(--transition-base);
	opacity: 0.7;
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover {
	border-color: var(--color-primary);
	opacity: 1;
}

/* -----------------------------------------------------------------------
   Summary (right)
   -------------------------------------------------------------------- */
.summary.entry-summary {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.summary .product_title {
	/* Rendered as <h1>, so it'd otherwise inherit font-family:
	   var(--font-heading) (Feeling Passionate) from the global heading rule. */
	font-family: var(--font-body);
	/* ~20% smaller than the default h1 (clamp(2.25rem, 5vw, 3.75rem)) */
	font-size: clamp(1.8rem, 4vw, 3rem);
	margin-bottom: 0.25rem;
}

.summary .price {
	font-family: var(--font-body);
	font-size: 1.5rem;
	color: var(--color-secondary);
	font-weight: 400;
}

.summary .price del {
	color: var(--color-accent);
	font-size: 1.1rem;
	font-weight: 400;
	margin-right: 0.5rem;
}

.summary .woocommerce-product-details__short-description {
	color: var(--color-dark-soft);
	border-top: 1px solid var(--color-border);
	padding-top: 1rem;
}

.summary .star-rating {
	color: var(--color-primary);
	font-size: 0.95rem;
}

/* Full product description (moved above Kit Highlights) */
.woocommerce-product-details__description {
	color: var(--color-dark-soft);
	border-top: 1px solid var(--color-border);
	padding-top: 1rem;
}

.woocommerce-product-details__description > *:last-child {
	margin-bottom: 0;
}

/* Kit Highlights (ACF) */
.kit-highlights {
	display: grid;
	gap: 0.6rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	padding: 1.25rem 1.5rem;
	background-color: var(--color-bg-light);
	margin: 0;
}

.kit-highlights__item {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.95rem;
	padding-block: 0.35rem;
	border-bottom: 1px solid var(--color-border);
}

.kit-highlights__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.kit-highlights__label {
	font-weight: 600;
	color: var(--color-dark);
}

.kit-highlights__value {
	color: var(--color-dark-soft);
	text-align: right;
}

/* Inquire button (Catalog Mode) */
.wby-inquire-button {
	margin-top: 0.5rem;
	align-self: flex-start;
}

/* Product meta (SKU, categories, tags) */
.product_meta {
	border-top: 1px solid var(--color-border);
	padding-top: 1rem;
	font-size: 0.85rem;
	color: var(--color-accent);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.product_meta a {
	color: var(--color-secondary);
}

/* -----------------------------------------------------------------------
   Tabs (full width, below the gallery/summary grid)
   -------------------------------------------------------------------- */
.woocommerce-tabs {
	margin-top: clamp(3rem, 6vw, 5rem);
	border-top: 1px solid var(--color-border);
	padding-top: 2.5rem;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 0.85rem 1.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--color-dark-soft);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color var(--transition-base), border-color var(--transition-base);
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-primary);
	border-bottom-color: var(--color-primary);
}

.woocommerce-tabs .woocommerce-Tabs-panel {
	max-width: 75ch;
	color: var(--color-dark-soft);
}

.woocommerce-tabs .woocommerce-Tabs-panel h2 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

/* -----------------------------------------------------------------------
   Related products (full width, below tabs)
   -------------------------------------------------------------------- */
.related.products {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: 2.5rem;
	border-top: 1px solid var(--color-border);
}

.related.products > h2 {
	margin-bottom: 2rem;
}

.related.products ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-bottom: 0;
}

/* Related-product cards render through woocommerce/content-product.php —
   the exact same .product-card markup/styling used everywhere else (see
   shop.css) — so no separate card styling belongs here. (A previous
   "fallback" rule set duplicated that styling using `li.product`, which
   WooCommerce also adds as a base class alongside `product-card`; its
   direct margins on the title/price/button stacked on top of
   .product-card__content's own padding — extra gap above the title — and
   bypassed the flex `margin-top: auto` that bottom-aligns the button,
   which is why buttons didn't line up across cards of different title
   lengths.) */

/* -----------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.product-summary-grid {
		grid-template-columns: 1fr;
	}

	.related.products ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.related.products ul.products {
		grid-template-columns: 1fr;
	}
}
