/*
 * WooCommerce /15 restyle — targets WooCommerce core's default class names
 * (loop/single-product templates are NOT overridden, only archive-product.php +
 * single-product.php — see inc/woocommerce.php). Uses tokens from style.css
 * (--signal / --ink / --bg / --font-display / --font-body), already global on :root.
 */

.shop-archive,
.single-product-page {
  padding: 56px 0 88px;
}

.shop-head { margin-bottom: 40px; }

/* ---- product grid (ul.products from woocommerce_product_loop_start()) ---- */
ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.products li.product {
  position: relative;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 14px;
  padding: 20px;
  transition: transform .2s, box-shadow .2s;
}

ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 0 0 var(--ink);
}

ul.products li.product a { text-decoration: none; color: inherit; display: block; }

ul.products li.product img { border-radius: 10px; margin-bottom: 14px; }

.woocommerce-loop-product__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--ink);
  margin: 0 0 8px;
}

ul.products .onsale,
.single-product-page .onsale {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--signal);
  color: #fff;
  font-family: var(--font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 1;
}

.price {
  font-family: var(--font-mono);
  color: var(--signal);
  font-size: 1.05rem;
}
.price del { color: var(--ink-soft); opacity: .55; margin-right: 6px; }
.price ins { text-decoration: none; }

ul.products .button,
.single_add_to_cart_button.button {
  display: inline-block;
  margin-top: 14px;
  padding: 12px 22px;
  background: var(--signal);
  color: #fff;
  font-family: var(--font-body);
  font-weight: 600;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
ul.products .button:hover,
.single_add_to_cart_button.button:hover {
  background: var(--signal-deep);
  transform: translateY(-2px);
}

/* ---- single product ---- */
.single-product .product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery img { border-radius: 14px; }

.summary.entry-summary .product_title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--ink);
  margin: 0 0 12px;
}
.summary.entry-summary .price { font-size: 1.5rem; display: block; margin-bottom: 18px; }
.summary.entry-summary .woocommerce-product-details__short-description { color: var(--ink-soft); margin-bottom: 20px; }

.quantity input.qty {
  width: 64px;
  padding: 12px 10px;
  border: 2px solid var(--ink);
  border-radius: 8px;
  font-family: var(--font-mono);
  margin-right: 12px;
}

.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 24px; padding: 0; margin: 48px 0 0; border-bottom: 2px solid var(--ink); }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a { font-family: var(--font-display); color: var(--ink-soft); text-decoration: none; padding-bottom: 10px; display: inline-block; }
.woocommerce-tabs ul.tabs li.active a { color: var(--signal); border-bottom: 2px solid var(--signal); }
.woocommerce-tabs .panel { padding: 24px 0; color: var(--ink-soft); }

.related.products,
.upsells.products {
  margin-top: 64px;
}
.related.products > h2,
.upsells.products > h2 {
  font-family: var(--font-display);
  color: var(--ink);
  margin-bottom: 24px;
}

.woocommerce-breadcrumb { font-family: var(--font-mono); font-size: .8rem; color: var(--ink-soft); margin-bottom: 20px; }
.woocommerce-breadcrumb a { color: var(--ink-soft); }

@media (max-width: 860px) {
  ul.products { grid-template-columns: repeat(2, 1fr); }
  .single-product .product { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  ul.products { grid-template-columns: 1fr; }
}
