/* WooCommerce in the HDS world. Selectors carry Woo's own weight where Woo wins otherwise. */
.hds-shop { padding-bottom: 4rem; }
.hds-shop .woocommerce-products-header { padding: 1.5rem 0 1rem; }
.hds-shop .woocommerce-products-header__title { font: 650 clamp(2.2rem, 1.6rem + 2.6vw, 3.8rem)/1 var(--f-display); letter-spacing: -.03em; margin: 0 0 .5rem; }
.hds-shop .term-description { color: var(--i1); max-width: 60ch; }
.hds-shop .woocommerce-result-count { color: var(--i2); font-size: .88rem; margin: 0 0 1rem; }
.hds-shop .woocommerce-ordering select { min-height: 42px; border: 1px solid var(--ln-2); border-radius: var(--r); padding: 0 .7rem; background: #fff; }
.hds-shop ul.products { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; clear: both; }
@media (min-width: 760px) { .hds-shop ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .hds-shop ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hds-shop ul.products::before, .hds-shop ul.products::after { display: none; }
.woocommerce .hds-shop ul.products li.product, .woocommerce-page .hds-shop ul.products li.product { float: none; width: auto !important; margin: 0; }
.hds-shop ul.products li.product .button { white-space: nowrap; }
.hds-shop ul.products li.product { float: none; width: auto; margin: 0; padding: 0; display: grid; gap: .3rem; align-content: start; position: relative; }
.hds-shop ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; display: grid; gap: .35rem; }
.hds-shop ul.products li.product a img { margin: 0; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #fff; border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06), 0 18px 24px -22px rgba(20,22,21,.6); transition: transform .45s var(--ease-out); }
@media (hover: hover) { .hds-shop ul.products li.product:hover a img { transform: translateY(-3px); } }
.hds-shop ul.products li.product .woocommerce-loop-product__title { font: 600 1rem/1.25 var(--f-body); padding: .2rem 0 0; margin: 0; }
.hds-shop ul.products li.product .price { color: var(--i1); font: 600 .95rem var(--f-body); font-variant-numeric: tabular-nums; }
.hds-shop ul.products li.product .price del { color: var(--i2); }
.hds-shop ul.products li.product .price ins { text-decoration: none; color: var(--red-ink); }
.hds-shop ul.products li.product .button { margin-top: .3rem; justify-self: start; }
.hds-shop .onsale { position: absolute; top: .5rem; left: .5rem; z-index: 2; min-height: 0; min-width: 0; line-height: 1; padding: .35rem .5rem; border-radius: 3px; background: var(--red-btn); color: #fff; font: 700 .72rem var(--f-body); }
.hds-por { font-family: var(--f-body); font-weight: 600; color: var(--i1); }

.woocommerce .hds-shop a.button, .woocommerce .hds-shop button.button, .woocommerce .hds-shop input.button, .woocommerce-page .hds-main .button, .woocommerce .hds-shop #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.1em; border-radius: var(--r); border: 1px solid var(--h0); background: var(--h0); color: var(--g0); font: 600 .95rem/1 var(--f-body); text-decoration: none; transition: background-color .2s;
}
.woocommerce .hds-shop a.button:hover, .woocommerce-page .hds-main .button:hover { background: var(--h2); color: var(--g0); }
.woocommerce .hds-shop .button.alt, .woocommerce-page .hds-main .button.alt, .woocommerce .hds-shop .single_add_to_cart_button { background: var(--red-btn); border-color: var(--red-btn); color: #fff; }
.woocommerce .hds-shop .button.alt:hover, .woocommerce .hds-shop .single_add_to_cart_button:hover { background: #b9141a; }
.woocommerce .hds-shop .added_to_cart { margin-left: .6rem; font-weight: 600; font-size: .9rem; }

.hds-shop .woocommerce-pagination ul { display: flex; gap: .3rem; list-style: none; padding: 0; margin: 2.5rem 0 0; border: 0; }
.hds-shop .woocommerce-pagination ul li { border: 0; }
.hds-shop .woocommerce-pagination a, .hds-shop .woocommerce-pagination span { display: grid; place-items: center; min-width: 42px; height: 42px; border: 1px solid var(--ln-2); border-radius: var(--r); text-decoration: none; }
.hds-shop .woocommerce-pagination span.current { background: var(--h0); color: var(--g0); border-color: var(--h0); }

/* single product */
.hds-shop div.product { display: grid; gap: 2rem; padding-top: 1.5rem; }
@media (min-width: 900px) { .hds-shop div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 3.5rem; align-items: start; } }
.hds-shop div.product div.images.woocommerce-product-gallery { width: auto; float: none; margin: 0; position: relative; }
.hds-shop div.product div.images img { border-radius: 2px; background: #fff; }
.hds-shop div.product div.summary { width: auto; float: none; margin: 0; }
@media (min-width: 900px) { .hds-shop div.product div.summary { position: sticky; top: calc(var(--header-h) + 1rem); } }
.hds-shop div.product .product_title { font: 650 clamp(2rem, 1.5rem + 2vw, 3.2rem)/1.02 var(--f-display); letter-spacing: -.028em; margin: 0 0 .6rem; }
.hds-shop div.product p.price, .hds-shop div.product span.price { font: 600 1.45rem var(--f-body); font-variant-numeric: tabular-nums; color: var(--i0); }
.hds-shop div.product .woocommerce-product-details__short-description { color: var(--i1); }
.hds-shop div.product form.cart { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.25rem 0; }
.hds-shop div.product form.cart .qty { width: 5rem; min-height: 50px; border: 1px solid var(--ln-2); border-radius: var(--r); text-align: center; font: 500 1rem var(--f-mono); }
.hds-shop div.product form.cart .single_add_to_cart_button { min-height: 50px; padding: 0 1.4em; }
.hds-shop div.product .product_meta { font-size: .88rem; color: var(--i2); display: grid; gap: .2rem; margin-top: 1rem; }
.hds-shop div.product .product_meta a { color: var(--i1); }
.hds-shop div.product .woocommerce-tabs { grid-column: 1 / -1; }
.hds-shop div.product .woocommerce-tabs ul.tabs { display: flex; gap: .3rem; padding: 0; margin: 0 0 1rem; border-bottom: 1px solid var(--ln); overflow-x: auto; }
.hds-shop div.product .woocommerce-tabs ul.tabs::before, .hds-shop div.product .woocommerce-tabs ul.tabs li::before, .hds-shop div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.hds-shop div.product .woocommerce-tabs ul.tabs li { border: 0; background: none; margin: 0; padding: 0; border-radius: 0; }
.hds-shop div.product .woocommerce-tabs ul.tabs li a { display: block; padding: .8rem 1rem; font-weight: 600; color: var(--i2); text-decoration: none; border-bottom: 2px solid transparent; }
.hds-shop div.product .woocommerce-tabs ul.tabs li.active a { color: var(--i0); border-bottom-color: var(--red); }
.hds-shop div.product .woocommerce-tabs .panel { max-width: 70ch; color: var(--i1); }
.hds-shop .related.products, .hds-shop .upsells.products { grid-column: 1 / -1; margin-top: 2rem; }
.hds-shop .related.products > h2 { font: 620 2rem/1.05 var(--f-display); letter-spacing: -.025em; }

.hds-empty { padding: 2rem 0 3rem; max-width: 46rem; }
.hds-empty__acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.hds-empty .hds-btn--line { color: var(--i0); }

/* notices, cart, checkout, account */
.woocommerce-page .hds-main { padding-bottom: 4rem; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error { border-top: 0; border-left: 0; background: #fff; border: 1px solid var(--ln); border-radius: var(--r); color: var(--i0); padding: 1rem 1.2rem 1rem 3rem; }
.woocommerce .woocommerce-message::before { color: var(--z-wall); }
.woocommerce .woocommerce-info::before { color: var(--z-base); }
.woocommerce .woocommerce-error::before { color: var(--red); }
.woocommerce-page .hds-content-area table.shop_table { border: 1px solid var(--ln); border-radius: var(--r); background: #fff; border-collapse: separate; }
.woocommerce-page .hds-content-area table.shop_table th { font-size: .82rem; color: var(--i2); }
.woocommerce-page .hds-content-area .input-text, .woocommerce-page .hds-content-area select { min-height: 46px; border: 1px solid var(--ln-2); border-radius: var(--r); padding: .5rem .75rem; background: #fff; }
.woocommerce-page .hds-content-area .input-text:focus { outline: none; border-color: var(--i0); box-shadow: 0 0 0 3px rgba(28,30,29,.12); }
.woocommerce-page .hds-content-area #payment { background: var(--g1); border-radius: var(--r); }
.woocommerce-page .hds-content-area .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: .2rem; }
.woocommerce-page .hds-content-area .woocommerce-MyAccount-navigation a { display: block; padding: .6rem .8rem; border-radius: var(--r); text-decoration: none; }
.woocommerce-page .hds-content-area .woocommerce-MyAccount-navigation .is-active a { background: var(--h0); color: var(--g0); }
.hds-site .wc-block-components-button:not(.is-link) { border-radius: var(--r); }
