/**
 * Heritage Shop — WooCommerce storefront styling.
 *
 * The theme renders every storefront template itself, so this file owns the
 * complete look of the shop: loop grid, product card, single product, cart,
 * checkout and account pages.
 */

/* ------------------------------------------------------------ 1. wrapper */
.hs-shop { padding-block: 40px 80px; }

.hs-breadcrumbs {
	padding-block: 20px;
	color: var(--hs-muted);
	font-size: .8125rem;
	letter-spacing: .04em;
}

.hs-breadcrumbs a { color: var(--hs-muted); }
.hs-breadcrumbs a:hover { color: var(--hs-accent); }
.hs-breadcrumbs__sep { margin-inline: 8px; opacity: .5; }

.woocommerce-products-header { padding-block: 8px 28px; text-align: center; }
.woocommerce-products-header__title { margin-bottom: .3em; }

.hs-shop__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--hs-line);
}

.woocommerce-result-count {
	margin: 0;
	color: var(--hs-muted);
	font-size: .8125rem;
	letter-spacing: .04em;
}

/* The theme sets every select to full width by default; the sort control must
   not stretch across the toolbar. */
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
	width: auto;
	min-width: 220px;
	padding: 10px 14px;
	font-size: .875rem;
}

.hs-shop .woocommerce-notices-wrapper:empty { display: none; }

/* --------------------------------------------------------------- 2. loop */
/* The WooCommerce loop is its own grid. Never nest it inside .hs-grid, or the
   list collapses into a single narrow column. */
ul.products {
	display: grid;
	gap: var(--hs-gap, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 700px) {
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/**
 * WooCommerce's clearfix pseudo-elements outrank a plain reset, so they must
 * be killed with matching specificity plus !important. Left in place they
 * become real grid items: ::before takes cell one and shifts every card.
 */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
ol.flex-control-thumbs::before,
ol.flex-control-thumbs::after {
	content: none !important;
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	content: none !important;
	display: none !important;
}

li.product,
.product-card {
	position: relative;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	text-align: left;
}

/**
 * Every product photo is a white studio shot, and the page is white too, so
 * without a frame the tile boundary disappears and the grid looks uneven (some
 * products appear to sit on a bigger background than others). The hairline
 * gives every product the same visible square.
 */
li.product a img,
li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius);
	background: #fff;
	margin: 0;
	transition: transform .5s ease;
}

li.product > a { display: block; overflow: hidden; border-radius: var(--hs-radius); }
li.product:hover > a img { transform: scale(1.04); }

li.product .woocommerce-loop-product__title,
li.product h2 {
	margin: 16px 0 6px;
	padding: 0;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
}

li.product .woocommerce-loop-product__title a { color: var(--hs-ink); }
li.product .woocommerce-loop-product__title a:hover { color: var(--hs-accent); }

li.product .price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--hs-ink);
	font-size: 1rem;
	font-weight: 500;
}

li.product .price del { color: var(--hs-muted); font-weight: 400; font-size: .875rem; }
li.product .price ins { text-decoration: none; color: var(--hs-accent); }

li.product .button,
li.product .added_to_cart {
	width: 100%;
	margin-top: 4px;
	font-size: .8125rem;
	padding: 13px 20px;
}

li.product .added_to_cart {
	margin-top: 8px;
	background: transparent;
	border: 1px solid var(--hs-line-strong);
	color: var(--hs-ink);
}

li.product .star-rating { margin-bottom: 8px; font-size: .8125rem; }

.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	min-height: 0;
	min-width: 0;
	padding: 5px 12px;
	border-radius: var(--hs-radius);
	background: var(--hs-accent);
	color: #fff;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.6;
	text-transform: uppercase;
}

.woocommerce nav.woocommerce-pagination { margin-top: 56px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 8px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 42px;
	padding: 10px 12px;
	border: 1px solid var(--hs-line-strong);
	border-radius: var(--hs-radius);
	color: var(--hs-ink);
	font-size: .875rem;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--hs-brand);
	border-color: var(--hs-brand);
	color: #fff;
}

/* ----------------------------------------------------- 3. single product */
/**
 * The single product wrapper is the direct child of <main>. A descendant
 * selector would also match li.product inside the related products loop and
 * turn every card into a two-column grid, so the child combinator is required.
 */
.hs-shop--single > .product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px 64px; }

@media (min-width: 1024px) {
	.hs-shop--single > .product { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
}

/**
 * Only the gallery and the summary belong in the two columns; tabs, upsells
 * and related products must span the whole grid or they collapse into a
 * narrow strip beside the product image.
 */
.hs-shop--single > .product > .woocommerce-tabs,
.hs-shop--single > .product > .related,
.hs-shop--single > .product > .upsells,
.hs-shop--single > .product > .woocommerce-notices-wrapper,
.hs-shop--single > .product > .woocommerce-message,
.hs-shop--single > .product > .woocommerce-info {
	grid-column: 1 / -1;
}

.woocommerce-product-gallery { position: relative; }

.woocommerce-product-gallery img {
	width: 100%;
	border-radius: var(--hs-radius);
	background: var(--hs-surface-2);
}

.woocommerce-product-gallery__wrapper { margin: 0; }

ol.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
	gap: 12px;
	margin: 16px 0 0 !important;
	padding: 0;
	list-style: none;
}

ol.flex-control-thumbs li { width: 100% !important; margin: 0 !important; }
ol.flex-control-thumbs img { cursor: pointer; opacity: .6; transition: opacity .2s ease; }
ol.flex-control-thumbs img:hover,
ol.flex-control-thumbs img.flex-active { opacity: 1; }

.woocommerce div.product .product_title,
.hs-shop--single .product_title {
	margin-bottom: .35em;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 20px;
	color: var(--hs-ink);
	font-size: 1.4rem;
	font-weight: 600;
}

.woocommerce div.product p.price del { color: var(--hs-muted); font-size: 1rem; font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--hs-accent); }

.woocommerce-product-details__short-description { color: var(--hs-body); }

form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0;
	padding: 24px 0;
	border-block: 1px solid var(--hs-line);
}

form.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--hs-line-strong);
	border-radius: var(--hs-radius);
	overflow: hidden;
}

form.cart .quantity input.qty {
	width: 68px;
	padding: 13px 8px;
	border: 0;
	text-align: center;
}

form.cart button.single_add_to_cart_button,
form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 48px;
}

form.cart .variations {
	width: 100%;
	margin-bottom: 8px;
	border-collapse: collapse;
}

form.cart .variations th,
form.cart .variations td {
	padding: 10px 0;
	border: 0;
	text-align: left;
	vertical-align: middle;
}

form.cart .variations label {
	color: var(--hs-ink);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

form.cart .variations select { min-width: 200px; }
form.cart .reset_variations { color: var(--hs-muted); font-size: .8125rem; }

.product_meta {
	display: grid;
	gap: 6px;
	color: var(--hs-muted);
	font-size: .8125rem;
}

.product_meta a { color: var(--hs-muted); }
.product_meta a:hover { color: var(--hs-accent); }

.woocommerce-tabs { margin-top: 64px; }

.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	border-bottom: 1px solid var(--hs-line);
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after { content: none; }

.woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { content: none; }

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 20px;
	border-bottom: 2px solid transparent;
	color: var(--hs-muted);
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover { color: var(--hs-ink); border-bottom-color: var(--hs-accent); }

.woocommerce-tabs .panel { margin: 0; }
.woocommerce-tabs .panel > h2:first-child { display: none; }

.related.products,
.upsells.products { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--hs-line); }

.related.products > h2,
.upsells.products > h2 { margin-bottom: 32px; text-align: center; }

/* ---------------------------------------------------------------- 4. cart */
.woocommerce-cart-form { margin-bottom: 40px; }

table.shop_table {
	width: 100%;
	border: 1px solid var(--hs-line);
	border-collapse: collapse;
	border-radius: var(--hs-radius);
	overflow: hidden;
}

table.shop_table th,
table.shop_table td {
	padding: 16px;
	border-bottom: 1px solid var(--hs-line);
	text-align: left;
	vertical-align: middle;
	font-size: .9375rem;
}

table.shop_table thead th {
	background: var(--hs-surface);
	color: var(--hs-ink);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

table.shop_table img { width: 72px; border-radius: var(--hs-radius); }

table.shop_table .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--hs-surface-2);
	color: var(--hs-muted);
	font-size: 16px;
	line-height: 1;
}

table.shop_table .product-remove a:hover { background: var(--hs-accent); color: #fff; }

.actions .coupon { display: inline-flex; gap: 10px; flex-wrap: wrap; }
.actions .coupon input[type="text"] { width: auto; min-width: 180px; }

.cart_totals,
.woocommerce-checkout-review-order {
	padding: 28px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius);
	background: var(--hs-surface);
}

/**
 * Classic WooCommerce floats the order review into a 48% column. The theme
 * stacks it under the address form at full width instead.
 */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-checkout-review-order {
	width: 100%;
	margin-top: 40px;
	float: none;
	clear: both;
}

.woocommerce-checkout #order_review_heading { margin-bottom: 16px; }

.cart_totals h2,
.woocommerce-checkout-review-order h3 { font-size: 1.05rem; }

.woocommerce-checkout .col2-set { display: grid; gap: 40px; }

@media (min-width: 1024px) {
	.woocommerce-checkout .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-checkout #customer_details { margin-bottom: 48px; }
}

.wc-block-components-button,
#place_order { width: 100%; }

.form-row { margin-bottom: 18px; }
.form-row label { display: block; margin-bottom: 6px; color: var(--hs-ink); font-size: .8125rem; font-weight: 500; }
.form-row .required { color: var(--hs-accent); text-decoration: none; }

#payment ul.payment_methods { margin: 0 0 24px; padding: 0; list-style: none; }
#payment ul.payment_methods li { padding: 14px 0; border-bottom: 1px solid var(--hs-line); }

/* ----------------------------------------------------------- 5. messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
	padding: 18px 22px;
	border: 0;
	border-left: 3px solid var(--hs-brand);
	border-radius: var(--hs-radius);
	background: var(--hs-surface);
	color: var(--hs-body);
	font-size: .9375rem;
	list-style: none;
}

.woocommerce-message { border-left-color: #3d5a4a; }
.woocommerce-error { border-left-color: var(--hs-accent); }
.woocommerce-info { border-left-color: var(--hs-brand-soft); }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; padding: 10px 18px; font-size: .75rem; }

/* --------------------------------------------------------- 8. woo buttons */
/**
 * WooCommerce paints .button.alt with its brand violet (#7f54b3) and .button
 * with a grey pill. Both are replaced by the theme's button.
 *
 * Selector note: WooCommerce only adds the `woocommerce` class to <body> on
 * shop and product views. Cart, checkout and account pages get
 * `woocommerce-page` instead, so every rule below keys off that class —
 * scoping on `body.woocommerce` silently missed the cart button.
 *
 * `!important` is used on the brand-critical properties because WooCommerce's
 * own rules carry a comparable class count and a third-party plugin loaded
 * after the theme must not be able to repaint the primary button.
 */
.woocommerce-page .button,
.woocommerce-page .button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	border: 1px solid transparent;
	border-radius: var(--hs-radius);
	background-color: var(--hs-brand) !important;
	color: #fff !important;
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce-page .button:hover,
.woocommerce-page .button.alt:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page button.button.alt:hover {
	background-color: var(--hs-accent) !important;
	color: #fff !important;
}

/**
 * Disabled state: variable products keep the add-to-cart button disabled until
 * every option is chosen, and WooCommerce renders that state violet.
 */
.woocommerce-page .button.disabled,
.woocommerce-page .button:disabled,
.woocommerce-page button.button.alt.disabled,
.woocommerce-page button.button.alt:disabled,
.woocommerce-page input.button.alt:disabled {
	background-color: var(--hs-surface-2) !important;
	border-color: var(--hs-line-strong);
	color: var(--hs-muted) !important;
	opacity: 1;
	cursor: not-allowed;
}

.woocommerce-page .added_to_cart {
	margin-left: 8px;
	background-color: transparent !important;
	border: 1px solid var(--hs-line-strong);
	color: var(--hs-ink) !important;
}

.woocommerce-page .added_to_cart:hover {
	background-color: var(--hs-brand) !important;
	border-color: var(--hs-brand);
	color: #fff !important;
}

/* --------------------------------------------------------- 6. my account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	margin-bottom: 32px;
	padding: 20px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius);
	background: var(--hs-surface);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 0; font-size: .9375rem; }

@media (min-width: 1024px) {
	.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0; }
}

/* ------------------------------------------------------------- 7. blocks */
/**
 * WooCommerce ships its cart and checkout as blocks on new installs, so the
 * theme styles both the block markup and the classic shortcode markup. These
 * rules only map the blocks onto the theme's tokens.
 */
.wc-block-components-product-price { color: var(--hs-ink); }

/**
 * Product grid blocks. WooCommerce's own grid rules only load with its block
 * stylesheet, which is not present on every view, so the theme defines the
 * columns itself.
 */
.wc-block-grid__products {
	display: grid;
	gap: var(--hs-gap, 32px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
}

@media (min-width: 700px) {
	.wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.wc-block-grid__products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.wc-block-grid__product,
.wc-block-grid__products .wc-block-grid__product {
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	float: none !important;
	text-align: left;
}

.wc-block-grid__product-image img,
.wc-block-grid__product-image .wc-block-grid__product-image__image {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--hs-radius);
	background: var(--hs-surface-2);
}

.wc-block-grid__product-title { color: var(--hs-ink); font-size: 1rem; font-weight: 500; }
.wc-block-grid__product-title a { color: inherit; }
.wc-block-grid__product-price { color: var(--hs-ink); }
.wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-flex;
	width: 100%;
	justify-content: center;
	border-radius: var(--hs-radius);
	background-color: var(--hs-brand);
	color: #fff;
	font-size: .8125rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background-color: var(--hs-accent); color: #fff; }

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { color: var(--hs-body); }

.wc-block-cart .wc-block-cart-items,
.wc-block-cart-items { border-color: var(--hs-line); }

.wc-block-cart-items__header th {
	padding: 14px 16px;
	border-color: var(--hs-line);
	background: var(--hs-surface);
	color: var(--hs-ink);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--hs-ink);
	font-weight: 500;
}

.wc-block-cart-item__image img {
	border-radius: var(--hs-radius);
	background: var(--hs-surface-2);
}

.wc-block-cart-item__total,
.wc-block-cart-item__price { color: var(--hs-ink); }

.wc-block-cart-item__remove-link {
	color: var(--hs-muted);
	font-size: .8125rem;
}

.wc-block-cart-item__remove-link:hover { color: var(--hs-accent); }

.wc-block-components-totals-item,
.wc-block-components-totals-footer-item,
.wc-block-components-order-summary-item {
	border-color: var(--hs-line);
	color: var(--hs-body);
	font-size: .9375rem;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--hs-ink);
	font-weight: 500;
}

.wc-block-cart__totals-title,
.wc-block-components-title { color: var(--hs-ink); }

/* Buttons and quantity controls inside blocks. */
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button {
	border-radius: var(--hs-radius);
	background-color: var(--hs-brand);
	color: #fff;
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wc-block-components-button:hover:not(:disabled) { background-color: var(--hs-accent); color: #fff; }
.wc-block-components-button:disabled { background-color: var(--hs-surface-2); color: var(--hs-muted); }

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { width: 100%; }

.wc-block-components-quantity-selector {
	border: 1px solid var(--hs-line-strong);
	border-radius: var(--hs-radius);
	background: #fff;
}

.wc-block-components-quantity-selector__input { color: var(--hs-ink); }
.wc-block-components-quantity-selector__button { color: var(--hs-ink); }

/* Inputs. */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container select,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
	border: 1px solid var(--hs-line-strong);
	border-radius: var(--hs-radius);
	background: #fff;
	color: var(--hs-ink);
}

.wc-block-components-text-input label,
.wc-block-components-address-form label { color: var(--hs-muted); font-size: .8125rem; }

.wc-block-components-text-input.is-active label { color: var(--hs-brand); }

/* Checkout layout. */
.wc-block-checkout__sidebar { border-color: var(--hs-line); }

.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading { color: var(--hs-ink); }

.wc-block-components-checkout-step__container { border-color: var(--hs-line); }

.wc-block-components-panel,
.wc-block-components-order-summary {
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius);
	background: var(--hs-surface);
}

/* Notices. */
.wc-block-components-notice-banner {
	border-radius: var(--hs-radius);
	border-color: var(--hs-line);
	background: var(--hs-surface);
	color: var(--hs-body);
	font-size: .9375rem;
}

.wc-block-components-notice-banner.is-error { border-left: 3px solid var(--hs-accent); }
.wc-block-components-notice-banner.is-success { border-left: 3px solid #3d5a4a; }

/* Empty cart. */
.wc-block-cart__empty-cart__title { color: var(--hs-ink); }

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	filter: grayscale(1) opacity(.5);
}

.wc-block-cart .wc-block-components-button.wc-block-cart__submit-button { margin-top: 8px; }



