.bz-product {
	--product-surface: #15120e;
	--product-text: #f5f1e8;
	--product-muted: #b1a999;
	--product-line: #363126;
	--product-accent: #f7c23b;
	--product-success: #8bb89a;
	--product-danger: #f0aa9a;
	--product-favorite-bg: #38211c;
	--product-control-line: #766b55;
	--product-ease: cubic-bezier(.23, 1, .32, 1);
}

[data-theme="light"] .bz-product {
	--product-surface: #fff;
	--product-text: #17161d;
	--product-muted: #6c6979;
	--product-line: #e4e1e7;
	--product-accent: #8f5d06;
	--product-success: #287347;
	--product-danger: #b73d35;
	--product-favorite-bg: #fff1ee;
	--product-control-line: #8b8692;
}

/* One quiet hierarchy connects the title, offer and the existing purchase UI. */
.woocommerce div.product .bz-product__summary.summary {
	position: relative;
	min-width: 0;
	color: var(--product-text);
}

.woocommerce div.product .bz-product__summary.summary .product_title {
	min-height: 44px;
	margin: 0;
	padding: 0 60px 0 0;
	color: var(--product-text);
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 600;
	line-height: 1.24;
	letter-spacing: -.03em;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.woocommerce div.product .bz-product__summary.summary:not(:has(> .bz-favorite-control)) .product_title {
	padding-right: 0;
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control {
	position: absolute;
	top: 0;
	right: 0;
	float: none;
	width: 44px;
	height: 44px;
	margin: 0;
	border: 1px solid var(--product-line);
	border-radius: 12px;
	background: var(--product-surface);
	backdrop-filter: none;
	color: var(--product-muted);
	transform: none;
	transition: color 140ms, border-color 140ms, background-color 140ms, transform 140ms var(--product-ease);
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control svg {
	width: 20px;
	height: 20px;
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control:focus-visible {
	outline: 2px solid var(--product-accent);
	outline-offset: 3px;
	transform: none;
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control.on {
	border-color: var(--product-danger);
	background: var(--product-favorite-bg);
	color: var(--product-danger);
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control:active:not(:disabled) {
	transform: scale(.95);
}

.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control:focus-visible:active { transform: none; }

.woocommerce div.product .bz-product__summary.summary .bz-product__note {
	margin: 12px 0 0;
	color: var(--product-muted);
	font-size: 14px;
	line-height: 1.6;
}

.woocommerce div.product .bz-product__summary.summary .woocommerce-product-rating {
	margin: 16px 0 0;
	font-size: 13px;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-top: 24px;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	color: var(--product-accent);
	font-size: clamp(26px, 2.3vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.025em;
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer .price :is(del, .bz-price-empty) {
	color: var(--product-muted);
	font: 400 16px/1.5 'Rubik', system-ui, sans-serif;
	letter-spacing: 0;
	opacity: 1;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer .woocommerce-Price-currencySymbol {
	font-family: 'Rubik', system-ui, sans-serif;
	font-size: .85em;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .bz-product-purchase-state {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--product-accent);
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .bz-product-purchase-state::before {
	content: '';
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .bz-product-purchase-state.in-stock { color: var(--product-success); }
.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .bz-product-purchase-state:is(.sold, .unavailable) { color: var(--product-danger); }

.woocommerce div.product .bz-product__summary.summary .woocommerce-product-details__short-description {
	max-width: 65ch;
	margin-top: 22px;
	color: var(--product-muted);
	font-size: 15px;
	line-height: 1.7;
}

.woocommerce div.product .bz-product__summary.summary .woocommerce-product-details__short-description > :first-child { margin-top: 0; }
.woocommerce div.product .bz-product__summary.summary .woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }
.woocommerce div.product .bz-product__summary.summary .woocommerce-product-details__short-description a { color: var(--product-accent); text-underline-offset: 3px; }

.woocommerce div.product .bz-product__summary.summary form.cart {
	margin: 24px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--product-line);
}

.woocommerce div.product .bz-product__summary.summary > .stock {
	margin: 22px 0 -12px;
	color: var(--product-muted);
	font-size: 13px;
}

.woocommerce div.product .bz-product__summary.summary .product_meta {
	gap: 5px;
	margin-top: 22px;
	padding: 16px 0 0;
	border: 0;
	border-top: 1px solid var(--product-line);
	border-radius: 0;
	background: transparent;
	color: var(--product-muted);
	font-size: 12px;
	line-height: 1.7;
}

.woocommerce div.product .bz-product__summary.summary .product_meta a { color: var(--product-accent); }

/* Simple products use the same stable pair as the approved variation controls. */
.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 12px;
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form)::before,
.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form)::after {
	display: none;
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .quantity {
	width: 100%;
	height: 54px;
	justify-content: space-between;
	border-color: var(--product-control-line);
	border-radius: 12px;
	background: var(--product-surface);
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .qty {
	font-size: 16px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-align: center;
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .bz-qty-step {
	width: 38px;
	color: var(--product-muted);
	transition: background-color 120ms, color 120ms, transform 100ms var(--product-ease);
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button {
	width: 100%;
	min-height: 54px;
	float: none;
	margin: 0;
	padding: 0 18px;
	border-radius: 12px;
	box-shadow: none;
	font-family: 'Rubik', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 700;
	transform: none;
	transition: transform 140ms var(--product-ease), box-shadow 140ms;
}

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form):not(:has(.quantity)) { grid-template-columns: minmax(0, 1fr); }

.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button:active:not(:disabled) { transform: scale(.985); }
.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .bz-qty-step:active { transform: scale(.96); }
.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) :is(.single_add_to_cart_button, .bz-qty-step):focus-visible { outline: 2px solid var(--product-accent); outline-offset: 3px; }
.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) :is(.single_add_to_cart_button, .bz-qty-step):focus-visible:active { transform: none; }

.woocommerce div.product .bz-product__details > :is(.related, .up-sells) { padding-top: 64px; }
.woocommerce div.product .bz-product__details > :is(.related, .up-sells) > h2 {
	margin-bottom: 24px;
	font-size: clamp(20px, 2vw, 24px);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -.025em;
	text-align: left;
}

/* The viewport owns the frame; the moving FlexSlider track must stay unframed. */
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	transition-timing-function: var(--product-ease);
}

.woocommerce div.product .bz-product__gallery :is(.flex-viewport, .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper) {
	overflow: hidden;
	border: 1px solid var(--product-line);
	border-radius: 16px;
	background: #fff;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image,
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image--placeholder {
	aspect-ratio: 1;
	border-radius: 0;
	background: #fff;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image a {
	cursor: zoom-in;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image a > img,
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image--placeholder > img {
	width: 100%;
	height: 100%;
	padding: clamp(12px, 2vw, 24px);
	object-fit: contain;
	transform: none;
	transition: none;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__image .zoomImg {
	padding: 0;
	transform: none;
	transition: none;
}

/* White is the photographic canvas in both themes, matching the source images. */
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger {
	display: grid;
	top: 14px;
	right: 14px;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 1px solid #dedbd4;
	border-radius: 12px;
	background: #fff;
	color: #25211b;
	text-indent: 0;
	transition: background-color 140ms, transform 140ms var(--product-ease);
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger::before,
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger::after,
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery__trigger > span {
	display: none;
}

.bz-product__gallery .woocommerce-product-gallery__trigger svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger:active {
	transform: scale(.95);
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	width: 100%;
	margin: 14px 0 0;
	padding: 2px 2px 6px;
	scrollbar-width: thin;
	scrollbar-color: var(--product-line) transparent;
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li {
	flex: 0 0 78px;
	width: 78px;
	height: 78px;
	margin: 0;
	padding: 3px;
	border: 1px solid var(--product-line);
	border-radius: 12px;
	background: #fff;
	transform: none;
	transition: border-color 140ms;
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li:has(.flex-active) {
	border-color: var(--product-accent);
	box-shadow: 0 0 0 1px var(--product-accent);
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: contain;
	opacity: 1;
	cursor: pointer;
	transform: none;
	transition: none;
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li:has(:focus-visible),
.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger:focus-visible {
	outline: 2px solid var(--product-accent);
	outline-offset: 3px;
}

.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs img:focus-visible {
	outline: none;
}

.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger:focus-visible {
	outline-color: #8f5d06;
}

.woocommerce div.product .bz-product__details {
	padding-top: 64px;
}

.woocommerce div.product .bz-product__details:not(:has(> .woocommerce-tabs)) {
	padding-top: 0;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs {
	padding: 28px 32px;
	border: 1px solid var(--product-line);
	border-radius: 16px;
	background: var(--product-surface);
	color: var(--product-text);
}

/* A single section is content, not a one-item navigation control. */
.woocommerce div.product .bz-product__details > .woocommerce-tabs:has(> ul.tabs > li:only-child) > ul.tabs {
	display: none;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs {
	flex-wrap: nowrap;
	gap: 24px;
	overflow-x: auto;
	margin: 0 0 24px;
	padding: 0;
	border-bottom: 1px solid var(--product-line);
	scrollbar-width: thin;
	scrollbar-color: var(--product-line) transparent;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs li {
	flex: 0 0 auto;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs li a {
	display: block;
	min-height: 44px;
	padding: 8px 2px 12px;
	border-bottom: 2px solid transparent;
	color: var(--product-muted);
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	white-space: nowrap;
	transition: color 140ms;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs li.active a {
	border-bottom-color: var(--product-accent);
	color: var(--product-text);
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs a:focus-visible {
	outline: 2px solid var(--product-accent);
	outline-offset: -2px;
	border-radius: 4px;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs .panel {
	margin: 0;
	color: var(--product-text);
	font-size: 15px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs .panel > h2 {
	margin: 0 0 20px;
	color: var(--product-text);
	font-size: clamp(20px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -.025em;
}

.woocommerce div.product .bz-product__details > .woocommerce-tabs:has(> ul.tabs > li:not(:only-child)) :is(.woocommerce-Tabs-panel--description, .woocommerce-Tabs-panel--additional_information) > h2:first-child {
	display: none;
}

.woocommerce div.product .bz-product__details .panel > :is(p, ul, ol) {
	max-width: 75ch;
}

.woocommerce div.product .bz-product__details .panel > :last-child {
	margin-bottom: 0;
}

.woocommerce div.product .bz-product__details table.shop_attributes {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 22px;
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product .bz-product__details table.shop_attributes :is(th, td) {
	display: table-cell;
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid var(--product-line);
	background: transparent;
	font-style: normal;
	text-align: left;
	vertical-align: top;
}

.woocommerce div.product .bz-product__details table.shop_attributes tr {
	display: table-row;
}

.woocommerce div.product .bz-product__details table.shop_attributes th {
	width: 180px;
	padding-right: 24px;
	color: var(--product-muted);
	font-weight: 400;
}

.woocommerce div.product .bz-product__details table.shop_attributes td {
	color: var(--product-text);
	font-weight: 500;
}

.woocommerce div.product .bz-product__details table.shop_attributes tr:first-child :is(th, td) {
	padding-top: 0;
}

.woocommerce div.product .bz-product__details table.shop_attributes tr:last-child :is(th, td) {
	padding-bottom: 0;
	border-bottom: 0;
}

.woocommerce div.product .bz-product__details table.shop_attributes td p {
	margin: 0;
	padding: 0;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control:hover:not(.on) { border-color: var(--product-accent); color: var(--product-accent); }
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .bz-qty-step:hover { background: var(--product-line); color: var(--product-text); }
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button:hover { box-shadow: 0 6px 18px rgba(180, 119, 14, .14); }
	.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger:hover {
		background: #f5f3ed;
	}

	.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li:hover {
		border-color: var(--product-accent);
		transform: none;
	}

	.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs li a:hover {
		color: var(--product-text);
	}
}

@media (max-width: 640px) {
	.woocommerce div.product .bz-product__summary.summary .product_title { font-size: 24px; }
	.woocommerce div.product .bz-product__summary.summary .bz-product-offer { margin-top: 20px; gap: 10px 16px; }
	.woocommerce div.product .bz-product__summary.summary .bz-product-offer > .price { font-size: 28px; }
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) { grid-template-columns: 124px minmax(0, 1fr); gap: 10px; }
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button { padding: 0 12px; }
	.woocommerce div.product .bz-product__details > :is(.related, .up-sells) { padding-top: 40px; }
	.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li {
		flex-basis: 68px;
		width: 68px;
		height: 68px;
	}

	.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs { gap: 8px; margin-top: 12px; }
	.woocommerce div.product .bz-product__details { padding-top: 40px; }
	.woocommerce div.product .bz-product__details > .woocommerce-tabs { padding: 22px 20px; }
	.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs { gap: 20px; margin-bottom: 20px; }
	.woocommerce div.product .bz-product__details table.shop_attributes th { width: 42%; padding-right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control,
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) :is(.single_add_to_cart_button, .bz-qty-step) { transition: none; }
	.woocommerce div.product .bz-product__summary.summary > .bz-favorite-control:active,
	.woocommerce div.product .bz-product__summary.summary form.cart:not(.variations_form):not(.grouped_form) :is(.single_add_to_cart_button, .bz-qty-step):active { transform: none; }
	.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery,
	.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger,
	.woocommerce div.product .bz-product__gallery div.images .flex-control-thumbs li,
	.woocommerce div.product .bz-product__details > .woocommerce-tabs > ul.tabs li a { transition: none; }
	.woocommerce div.product .bz-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__trigger:active { transform: none; }
}
