/* Native WooCommerce provides the templates, layouts, behaviours and controls. */
.tvb-commerce-view {
	--tvb-shop-paper: var(--paper, #f3efe3);
	--tvb-shop-ink: var(--ink, #26231f);
	--tvb-shop-rust: #994029;
	--tvb-shop-rule: var(--rule, #c2bcad);
	--tvb-shop-muted: #615449;
}
.tvb-commerce-shell {
	box-sizing: border-box;
	width: 100%;
	max-width: 1380px;
	margin-inline: auto;
	padding: clamp(1.25rem, 4.5vw, 4rem) clamp(1rem, 4.5vw, 4rem) clamp(3rem, 7vw, 6rem);
	color: var(--tvb-shop-ink);
	background-color: var(--tvb-shop-paper);
}
.tvb-commerce-shell > :first-child { margin-block-start: 0; }
.tvb-commerce-shell .woocommerce-breadcrumb,
.tvb-commerce-shell .woocommerce-result-count,
.tvb-commerce-shell .product_meta {
	color: var(--tvb-shop-muted);
	font: 500 .79rem/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
	letter-spacing: .025em;
}
.tvb-commerce-shell .woocommerce-breadcrumb { margin-bottom: clamp(1.2rem, 3vw, 2.2rem); }
.tvb-commerce-shell .woocommerce-breadcrumb a { color: inherit; text-underline-offset: .19em; }
.tvb-commerce-shell :is(.woocommerce-products-header__title, .product_title) {
	color: var(--tvb-shop-ink);
	font-weight: 500;
	font-size: clamp(2rem, 5.4vw, 4.7rem);
	line-height: 1.04;
	letter-spacing: -.055em;
	overflow-wrap: anywhere;
	margin: 0 0 .38em;
}
.tvb-commerce-shell .woocommerce-products-header {
	margin-bottom: 1.3rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--tvb-shop-rule);
}
.tvb-commerce-shell .term-description { max-width: 65ch; line-height: 1.56; }
.tvb-commerce-shell .woocommerce-loop-product__title,
.tvb-commerce-shell .woocommerce-loop-category__title {
	color: var(--tvb-shop-ink);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -.025em;
	overflow-wrap: anywhere;
}
.tvb-commerce-shell ul.products li.product .woocommerce-loop-product__title { font-size: clamp(1.05rem, 2vw, 1.45rem); }
.tvb-commerce-shell ul.products li.product .price,
.tvb-commerce-shell div.product p.price,
.tvb-commerce-shell div.product span.price {
	color: var(--tvb-shop-ink);
	font-weight: 600;
}
.tvb-commerce-shell ul.products li.product a img { background: #e6dfd2; }
.tvb-commerce-shell .summary .woocommerce-product-details__short-description { margin: 1rem 0; line-height: 1.58; }
.tvb-commerce-shell .woocommerce-product-gallery { margin-bottom: 1.4rem; }
.tvb-commerce-view .woocommerce :is(.button, button.button, a.button, input.button),
.tvb-commerce-shell :is(.button, button.button, a.button, input.button),
.tvb-commerce-view :is(.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button) {
	border-radius: 0;
	font-family: inherit;
	font-weight: 600;
	line-height: 1.25;
}
.tvb-commerce-view .woocommerce :is(a.button, button.button, input.button),
.tvb-commerce-shell :is(a.button, button.button, input.button),
.tvb-commerce-view :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) {
	background: var(--tvb-shop-rust);
	color: #fffaf0;
	border: 1px solid var(--tvb-shop-rust);
	padding: .75em 1.15em;
}
.tvb-commerce-view .woocommerce :is(a.button, button.button, input.button):where(:hover, :focus-visible):not(:disabled),
.tvb-commerce-shell :is(a.button, button.button, input.button):where(:hover, :focus-visible):not(:disabled),
.tvb-commerce-view :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):where(:hover, :focus-visible):not(:disabled) {
	background: #78301f; color: #fffaf0;
}
.tvb-commerce-view :is(.woocommerce, .tvb-commerce-shell, .wc-block-cart, .wc-block-checkout)
	:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid #8b500d; outline-offset: 3px;
}
.tvb-commerce-view .woocommerce :where(.input-text, select),
.tvb-commerce-shell :where(.quantity .qty, select) {
	border: 1px solid #877765;
	border-radius: 0;
	background: #fffcf6;
	color: var(--tvb-shop-ink);
	padding: .55em;
	max-width: 100%;
	font: inherit;
}
.tvb-commerce-shell div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.tvb-commerce-shell div.product .woocommerce-tabs ul.tabs li { border-radius: 0; }
.tvb-commerce-view .woocommerce table.shop_table {
	border-color: var(--tvb-shop-rule); border-radius: 0;
	background: rgba(255,255,255,.2);
}
.tvb-commerce-view .woocommerce table.shop_table :is(td, th) { border-color: var(--tvb-shop-rule); overflow-wrap: anywhere; }
.tvb-commerce-view .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
.tvb-commerce-shell :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	background-color: #fffbf2;
	color: var(--tvb-shop-ink);
}
.tvb-commerce-view .woocommerce .woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 0; margin-inline: 0; border-top: 1px solid var(--tvb-shop-rule);
}
.tvb-commerce-view .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--tvb-shop-rule); }
.tvb-commerce-view .woocommerce-MyAccount-navigation a { color: inherit; display: block; padding: .7em 0; }
.tvb-commerce-view .woocommerce-MyAccount-navigation .is-active a { color: var(--tvb-shop-rust); font-weight: 700; }
.tvb-commerce-view :is(.wc-block-cart, .wc-block-checkout) { color: var(--tvb-shop-ink); }
.tvb-commerce-view :is(.wc-block-cart, .wc-block-checkout) :where(.wc-block-components-totals-item, .wc-block-cart-item__wrap) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
	.tvb-commerce-shell {padding: 1.25rem 1rem 3.2rem;}
	.tvb-commerce-shell .woocommerce-ordering {float: none; max-width: 100%;}
	.tvb-commerce-shell .woocommerce-ordering select {width: 100%; max-width: 100%;}
	.tvb-commerce-shell .woocommerce-result-count {float:none; margin-bottom:.55rem;}
	.tvb-commerce-view .woocommerce-MyAccount-navigation {margin-bottom: 1.2rem;}
}
