/* WooCommerce retains its responsive grid, form behaviour and accessibility semantics. */
.woocommerce-page #content {
	background: var(--lb-surface);
	color: var(--lb-ink);
}

.woocommerce .woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related.products > h2 {
	color: var(--lb-ink);
	font-family: var(--lb-display);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1.13;
}

.woocommerce div.product .product_title {
	font-size: clamp(1.85rem, 3.6vw, 3.3rem);
	overflow-wrap: anywhere;
}

.woocommerce .labella-collection-link {
	margin: 0 0 .4rem;
	font: 650 .7rem/1.35 var(--lb-sans);
	letter-spacing: .13em;
	text-transform: uppercase;
}

.labella-collection-link a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--lb-wine);
	text-underline-offset: .24em;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--lb-ink);
	font: 550 1.02rem/1.4 var(--lb-sans);
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product .summary .price {
	color: var(--lb-wine);
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.woocommerce .woocommerce-product-gallery__wrapper {
	background: var(--lb-paper);
}

.woocommerce div.product .variations select,
.woocommerce .woocommerce-ordering select,
.woocommerce .quantity .qty {
	max-width: 100%;
	min-height: 44px;
	color: var(--lb-ink);
}

.woocommerce div.product .single_add_to_cart_button.button,
.woocommerce ul.products .button,
.woocommerce-page .wc-block-components-button:not(.is-link) {
	min-height: 44px;
	border-radius: .25rem;
}

.woocommerce div.product .single_add_to_cart_button.button:not(.disabled):not(:disabled),
.woocommerce ul.products .button:not(.disabled),
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background-color: var(--lb-wine);
	color: #fff;
}

.woocommerce div.product .woocommerce-product-attributes {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	color: var(--lb-ink);
}

.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
	padding: .65rem .85rem;
	border: 0;
	border-block-end: 1px solid var(--lb-rule);
	background: transparent;
	text-align: start;
	vertical-align: top;
	overflow-wrap: anywhere;
}

.woocommerce div.product .woocommerce-product-attributes th {
	width: 36%;
	color: var(--lb-muted);
	font-weight: 600;
}

.woocommerce div.product .woocommerce-product-attributes td,
.woocommerce div.product .woocommerce-product-attributes td p {
	font-style: normal;
}

.woocommerce div.product .woocommerce-product-attributes td p {
	margin-block: 0 .3em;
}

.labella-guide summary,
.labella-archive-filters summary {
	min-height: 44px;
	padding-block: .55rem;
	cursor: pointer;
	color: var(--lb-wine);
	font-weight: 650;
}

.labella-guide[open] summary,
.labella-archive-filters[open] summary {
	margin-block-end: .4rem;
}

.labella-archive-filters {
	clear: both;
	margin: 0 0 1.4rem;
	padding: .25rem 1rem;
	border: 1px solid var(--lb-rule);
	border-radius: .25rem;
	background: var(--lb-paper);
}

.labella-filter-widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
	align-items: start;
	gap: 1rem;
	padding: .5rem 0 1rem;
}

.labella-filter-widgets .widget { margin: 0; min-width: 0; }

.labella-filter-widgets h3 {
	margin: 0 0 .5rem;
	font: 650 1rem/1.4 var(--lb-sans);
}

.woocommerce-page #content :where(a, button, summary, select, input, textarea):focus-visible {
	outline: 3px solid var(--lb-wine);
	outline-offset: 3px;
}

@media (max-width: 600px) {
	.woocommerce div.product .woocommerce-product-attributes th,
	.woocommerce div.product .woocommerce-product-attributes td {
		padding: .55rem .45rem;
	}
	.woocommerce div.product form.cart .variations td {
		min-width: 0;
	}
	.woocommerce div.product form.cart .single_add_to_cart_button {
		max-width: 100%;
		white-space: normal;
	}
}
