/* Shop archives (products, categories, tags), search results, cart, checkout, account. Loaded only on WooCommerce pages. */

/* Page head */
.woocommerce-breadcrumb { margin: 0 0 var(--nhi-space-4); font-size: var(--nhi-step--1); color: var(--nhi-muted); }
.site .woocommerce-breadcrumb a, .site .woocommerce-breadcrumb a:visited { color: inherit; text-decoration: none; }
.site .woocommerce-breadcrumb a:hover { color: var(--nhi-gold-ink); text-decoration: underline; }
.woocommerce-products-header { margin-bottom: var(--nhi-space-5); padding-bottom: var(--nhi-space-5); border-bottom: 1px solid var(--nhi-line); }
.woocommerce-products-header .page-title, .woocommerce-products-header h1 { margin: 0 0 var(--nhi-space-3); font-size: var(--nhi-step-4); }
.woocommerce-products-header .page-title::after { content: ""; display: block; width: 3rem; height: var(--nhi-rule); margin-top: var(--nhi-space-3); background: var(--nhi-gold); }
.term-description, .woocommerce-products-header__description { max-width: 70ch; color: var(--nhi-ink-3); }
.term-description > * { margin-block: 0 var(--nhi-space-4); }
.term-description table { width: 100%; border-collapse: collapse; font-size: var(--nhi-step--1); display: block; overflow-x: auto; }
.term-description th, .term-description td { padding: var(--nhi-space-3); border: 1px solid var(--nhi-line); text-align: left; vertical-align: top; }
.term-description th { background: var(--nhi-cream); }

/* Toolbar */
.woocommerce-result-count { float: left; margin: 0 0 var(--nhi-space-4); font-size: var(--nhi-step--1); color: var(--nhi-muted); line-height: 44px; }
.woocommerce-ordering { float: right; margin: 0 0 var(--nhi-space-4); }
.woocommerce-ordering select { min-height: 44px; padding: 0 2.2em 0 1em; border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius-pill); background: var(--nhi-paper); font: inherit; font-size: var(--nhi-step--1); }

/* Product grid */
ul.products[class*="columns-"] { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nhi-space-4); margin: 0 0 var(--nhi-space-6); padding: 0; list-style: none; }
@media (min-width: 48em) { ul.products[class*="columns-"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nhi-space-5); } }
@media (min-width: 64em) { ul.products[class*="columns-"] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
ul.products[class*="columns-"]::before, ul.products[class*="columns-"]::after { display: none; }
ul.products[class*="columns-"] li.product {
	float: none; width: auto; margin: 0; padding: 0 0 var(--nhi-space-4); position: relative; display: flex; flex-direction: column;
	border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius); overflow: hidden; background: var(--nhi-paper);
	transition: box-shadow .15s ease, border-color .15s ease;
}
ul.products li.product:hover { border-color: var(--nhi-gold); box-shadow: var(--nhi-shadow); }
ul.products li.product > a { display: flex; flex-direction: column; flex: 1; }
.site ul.products li.product a, .site ul.products li.product a:visited { text-decoration: none; color: var(--nhi-ink); }
ul.products li.product img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; margin: 0 0 var(--nhi-space-3); background: var(--nhi-cream); }
ul.products li.product .woocommerce-loop-product__title { margin: 0; padding: 0 var(--nhi-space-4); font-size: var(--nhi-step-0); font-weight: var(--nhi-weight-strong); line-height: 1.35; }
ul.products li.product .price { display: block; padding: var(--nhi-space-2) var(--nhi-space-4) 0; font-weight: var(--nhi-weight-head); color: var(--nhi-ink); }
ul.products li.product .price del { color: var(--nhi-muted); font-weight: var(--nhi-weight-body); }
ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .star-rating { margin: var(--nhi-space-2) var(--nhi-space-4) 0; }
/* Stars in brand gold (the _s default was royal blue); single product rating line under the title, as on live. */
.star-rating span::before { color: var(--nhi-gold); }
.woocommerce-product-rating { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nhi-space-2); margin: 0 0 var(--nhi-space-3); font-size: var(--nhi-step--1); }
.woocommerce-product-rating .star-rating { margin: 0; }
.site .woocommerce-review-link, .site .woocommerce-review-link:visited { color: var(--nhi-muted); }
ul.products li.product .onsale, .woocommerce span.onsale { position: absolute; top: var(--nhi-space-3); left: var(--nhi-space-3); z-index: 2; min-height: 0; min-width: 0; padding: .3em .8em; border-radius: var(--nhi-radius-pill); background: var(--nhi-ink); color: var(--nhi-gold); font-size: var(--nhi-step--1); line-height: 1.4; }

/* Buttons everywhere in WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	display: inline-block; padding: .85em 1.6em; border: 0; border-radius: var(--nhi-radius-pill); background: var(--nhi-gold); color: var(--nhi-ink);
	font: inherit; font-weight: var(--nhi-weight-head); text-decoration: none; cursor: pointer; transition: background-color .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #e2c25c; color: var(--nhi-ink); }
ul.products li.product .button { margin: var(--nhi-space-3) var(--nhi-space-4) 0; align-self: flex-start; background: var(--nhi-ink); color: var(--nhi-paper); }
ul.products li.product .button:hover { background: var(--nhi-ink-3); color: var(--nhi-gold); }

/* Pagination */
.woocommerce-pagination { margin: var(--nhi-space-6) 0; }
.woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--nhi-space-2); margin: 0; padding: 0; list-style: none; border: 0; }
.woocommerce-pagination ul.page-numbers li { margin: 0; border: 0; }
.site .woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 var(--nhi-space-3); border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius-pill); text-decoration: none; font-weight: var(--nhi-weight-strong); }
.woocommerce-pagination .page-numbers .current { background: var(--nhi-ink); border-color: var(--nhi-ink); color: var(--nhi-gold); }

/* Notices */
.woocommerce-message, .woocommerce-error, .woocommerce-info { margin: 0 0 var(--nhi-space-5); padding: var(--nhi-space-3) var(--nhi-space-4); list-style: none; background: var(--nhi-cream); border-left: var(--nhi-rule) solid var(--nhi-gold); border-radius: var(--nhi-radius-sm); }
.woocommerce-error { border-left-color: #b3261e; }

/* Forms: cart, checkout, account, login */
.woocommerce form .form-row { margin: 0 0 var(--nhi-space-4); padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: var(--nhi-space-1); font-size: var(--nhi-step--1); font-weight: var(--nhi-weight-strong); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-cart .quantity .qty, .woocommerce .coupon .input-text {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: .6em 1em; border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius-sm); background: var(--nhi-paper); font: inherit;
}
.woocommerce-cart .quantity .qty { width: 5em; text-align: center; }
.woocommerce .coupon .input-text { width: auto; }
.woocommerce form .form-row input:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--nhi-gold); outline-offset: 1px; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius); overflow: hidden; margin-bottom: var(--nhi-space-5); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: var(--nhi-space-3) var(--nhi-space-4); border-top: 1px solid var(--nhi-line); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table thead th { background: var(--nhi-cream); border-top: 0; }
.woocommerce-cart table.cart img { width: 64px; height: auto; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { padding: var(--nhi-space-5); background: var(--nhi-cream); border-radius: var(--nhi-radius); }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 28rem; margin-left: auto; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; }
.woocommerce-checkout #payment { background: transparent; border-radius: var(--nhi-radius); }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; list-style: none; }
.woocommerce-checkout #payment div.payment_box { background: var(--nhi-paper); border-radius: var(--nhi-radius-sm); }
.woocommerce-checkout #payment #place_order { width: 100%; float: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 0 var(--nhi-space-5); padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: var(--nhi-space-2); }
.site .woocommerce-MyAccount-navigation a { display: block; padding: .6em 1.2em; border: 1px solid var(--nhi-line); border-radius: var(--nhi-radius-pill); text-decoration: none; font-weight: var(--nhi-weight-strong); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--nhi-ink); border-color: var(--nhi-ink); color: var(--nhi-gold); }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
