/* HALRIC Forge WooCommerce — product-first refinements */
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 1.4rem;
  color: var(--hr-muted);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--hr-silver); }
.woocommerce-products-header {
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.woocommerce-products-header__title.page-title {
  max-width: 14ch;
  font-family: "Bodoni 72", Didot, "Times New Roman", serif;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .95;
}
.woocommerce-products-header .term-description {
  max-width: 720px;
  color: var(--hr-silver);
  font-size: 1rem;
  line-height: 1.8;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { color: var(--hr-muted); }
.woocommerce .woocommerce-ordering select { min-width: 240px; }
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.4rem, 3vw, 3rem);
  margin: 2.5rem 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}
.woocommerce ul.products li.product {
  position: relative;
  padding: 0 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}
.woocommerce ul.products li.product:hover {
  transform: none;
  box-shadow: none;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}
.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  margin: 0 0 1rem;
  background: #111;
  border-radius: 0;
  transition: transform .55s cubic-bezier(.2,.65,.2,1), filter .35s ease;
}
.woocommerce ul.products li.product a:hover img,
.woocommerce ul.products li.product a:focus img {
  transform: scale(1.018);
  filter: saturate(1.04);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: .15rem 0 .35rem;
  color: #fff;
  font-family: "Bodoni 72", Didot, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.08;
}
.woocommerce ul.products li.product .price {
  color: var(--hr-gold);
  font-size: .94rem;
  font-weight: 900;
}
.woocommerce ul.products li.product .button {
  margin-top: .8rem;
  padding: .55rem 0 .3rem;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(201,162,78,.45);
  border-radius: 0;
  color: var(--hr-silver);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus {
  background: transparent;
  color: var(--hr-gold);
  border-color: var(--hr-gold);
}
.woocommerce span.onsale {
  top: .9rem;
  left: .9rem;
  min-width: 0;
  min-height: 0;
  padding: .52rem .65rem;
  background: rgba(5,5,5,.9);
  color: #f3e7c9;
  border-radius: 0;
  line-height: 1;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

/* Category pages are light, image-led editorial surfaces. */
.tax-product_cat .hr-main {
  padding: clamp(4rem, 7vw, 7rem) 0;
  background: #eee9df;
  color: #111;
}
.tax-product_cat .woocommerce-products-header {
  border-color: rgba(17,17,17,.18);
}
.tax-product_cat .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: #111;
}
.tax-product_cat .woocommerce-products-header .term-description,
.tax-product_cat .woocommerce .woocommerce-result-count,
.tax-product_cat .woocommerce .woocommerce-ordering,
.tax-product_cat .woocommerce .woocommerce-breadcrumb {
  color: #625d55;
}
.tax-product_cat .woocommerce .woocommerce-breadcrumb a { color: #6f5723; }
.tax-product_cat .woocommerce ul.products li.product .price { color: #755b23; }
.tax-product_cat .woocommerce ul.products li.product a img { background: #ddd7cc; }
.tax-product_cat .woocommerce ul.products li.product .button {
  color: #111;
  border-color: rgba(117,91,35,.45);
}
.tax-product_cat .woocommerce ul.products li.product .button:hover,
.tax-product_cat .woocommerce ul.products li.product .button:focus { color: #755b23; }

/* Single product pages */
.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  width: auto !important;
  float: none !important;
}
.woocommerce div.product div.images img {
  background: #111;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
}
.woocommerce div.product .product_title {
  max-width: 13ch;
  margin-bottom: 1rem;
  font-family: "Bodoni 72", Didot, "Times New Roman", serif;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .96;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--hr-gold);
  font-size: 1.3rem;
  font-weight: 900;
}
.woocommerce-product-details__short-description {
  color: var(--hr-silver);
  font-size: 1.03rem;
  line-height: 1.8;
}
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  align-items: center;
  margin-top: 1.7rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,.10);
}
.woocommerce .quantity .qty {
  width: 5.5rem;
  text-align: center;
}
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(255,255,255,.09);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  padding: 0;
  margin: 0 0 1.5rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: .45rem 0;
  color: var(--hr-muted);
  border-bottom: 1px solid transparent;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--hr-gold);
  border-color: var(--hr-gold);
}
.woocommerce-Tabs-panel {
  max-width: 900px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--hr-silver);
  line-height: 1.8;
}

/* Cart and checkout remain restrained and highly readable. */
.woocommerce table.shop_table {
  overflow: hidden;
  color: var(--hr-silver);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
}
.woocommerce table.shop_table th { color: #fff; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout form.checkout {
  padding: 1.5rem;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: rgba(255,255,255,.06);
  color: var(--hr-ivory);
  border-top-color: var(--hr-gold);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--hr-gold); }
.woocommerce a.remove { color: var(--hr-danger) !important; }
.woocommerce a.remove:hover { background: var(--hr-danger); color: #fff !important; }
.woocommerce form .form-row label { color: var(--hr-silver); }
.woocommerce form .form-row .required { color: var(--hr-gold); }
.select2-container--default .select2-selection--single {
  height: 47px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--hr-bright);
  line-height: 45px;
}
.select2-dropdown {
  background: #111;
  color: #fff;
  border-color: rgba(201,162,78,.3);
}

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
}
