/* ============================================================
   Xzqtive Child — WooCommerce 全页面样式覆盖
   ------------------------------------------------------------
   覆盖 Blocksy 父主题的 WC 默认样式，对齐 XZQTIVE 调性：
   - Shop 列表 (archive-product) — 杂志风网格
   - 商品详情页 (single-product / PDP) — 大图廊 + 优雅排版
   - 商品分类 archive
   - Cart / Checkout / My Account 基础调色

   策略：不覆盖 WC PHP template（让 hooks 正常工作），仅靠 CSS 高优先级 + Blocksy class 接管。
   ============================================================ */

/* ============ 通用：所有 WC 页面 ============ */
.woocommerce {
  font-family: var(--xz-font-sans);
  color: var(--xz-ink);
}

/* WC 默认按钮 → 用我们的锈红 CTA */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: var(--xz-rust) !important;
  color: var(--xz-white) !important;
  font-family: var(--xz-font-sans);
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border-radius: var(--xz-radius-sm) !important;
  border: 1px solid var(--xz-rust) !important;
  transition: all var(--xz-transition) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--xz-ink) !important;
  border-color: var(--xz-ink) !important;
  color: var(--xz-white) !important;
}

/* ============ Shop 列表（archive-product）============ */

/* 页头 — Shop 标题 / 描述 */
.woocommerce .page-title,
.woocommerce-products-header h1,
.woocommerce-products-header__title {
  font-family: var(--xz-font-serif) !important;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  color: var(--xz-ink);
  letter-spacing: 0.04em;
  text-align: center;
  margin: var(--xz-sp-7) 0 var(--xz-sp-3);
}
.woocommerce-products-header__description,
.term-description {
  font-family: var(--xz-font-sans);
  font-size: 15px;
  color: var(--xz-mute);
  text-align: center;
  max-width: 560px;
  margin: 0 auto var(--xz-sp-6);
  line-height: 1.7;
}

/* 工具栏 — sort / result-count */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  font-family: var(--xz-font-sans);
  font-size: 13px;
  color: var(--xz-mute);
  letter-spacing: 0.04em;
  margin-bottom: var(--xz-sp-4);
}
.woocommerce .woocommerce-ordering select {
  font-family: var(--xz-font-sans);
  border: 1px solid var(--xz-line);
  background: var(--xz-white);
  padding: 10px 14px;
  font-size: 13px;
  color: var(--xz-ink);
}

/* 商品卡 grid — Blocksy 用 .products 包裹 */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--xz-sp-4) !important;
  margin: 0 0 var(--xz-sp-7) !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--xz-white);
  border: 1px solid var(--xz-line);
  transition: box-shadow var(--xz-transition), transform var(--xz-transition);
  list-style: none;
  text-align: center !important;       /* 统一卡内文字居中（商品名/价格/分类/按钮） */
  display: flex !important;
  flex-direction: column;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 6px 28px rgba(42,31,23,0.10);
  transform: translateY(-2px);
}

/* 商品卡内 — 图：方形 1:1 + contain + 大留白，呼吸感 */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .wp-post-image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;     /* 方形更紧凑 */
  object-fit: contain !important;     /* 不裁切 */
  background: var(--xz-white);
  padding: 32px !important;           /* 大留白：商品周围有呼吸感，不再撑满 */
  margin: 0 !important;
  display: block;
  transition: transform 0.5s ease-out;
  box-sizing: border-box;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
}

/* 商品卡内 — 标题 */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  font-family: var(--xz-font-serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--xz-ink) !important;
  letter-spacing: 0.03em !important;
  padding: var(--xz-sp-3) var(--xz-sp-3) var(--xz-sp-1) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  text-align: center;
}

/* 商品卡内 — 价格 */
.woocommerce ul.products li.product .price {
  font-family: var(--xz-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--xz-rust) !important;
  padding: 0 var(--xz-sp-3) var(--xz-sp-3) !important;
  margin: 0 !important;
  text-align: center;
}
.woocommerce ul.products li.product .price del {
  color: var(--xz-mute);
  font-weight: 400;
  margin-right: 6px;
}
.woocommerce ul.products li.product .price ins {
  background: transparent;
  text-decoration: none;
  color: var(--xz-rust);
  font-weight: 700;
}

/* 商品卡内 — 加购按钮（卡片底） */
.woocommerce ul.products li.product .button {
  display: block;
  margin: 0 var(--xz-sp-3) var(--xz-sp-3) !important;
  width: calc(100% - var(--xz-sp-3) * 2);
  text-align: center;
  font-size: 11px !important;
  padding: 10px !important;
  letter-spacing: 0.18em !important;
  margin-top: auto !important;     /* 把按钮压到卡片底部，所有卡内的按钮对齐到同一基线 */
}

/* 商品卡内 — 分类 chip / term list（Blocksy 默认左对齐 + 不显眼，改成居中 + eyebrow 风格） */
.woocommerce ul.products li.product .term-badge-list,
.woocommerce ul.products li.product .term-badges,
.woocommerce ul.products li.product .product-categories,
.woocommerce ul.products li.product .ct-product-categories,
.woocommerce ul.products li.product .cats {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 var(--xz-sp-3) var(--xz-sp-2) !important;
  margin: 0 !important;
  list-style: none;
  text-align: center !important;
}
.woocommerce ul.products li.product .term-badge-list a,
.woocommerce ul.products li.product .term-badges a,
.woocommerce ul.products li.product .product-categories a,
.woocommerce ul.products li.product .ct-product-categories a,
.woocommerce ul.products li.product .cats a {
  font-family: var(--xz-font-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--xz-rust) !important;
  background: transparent !important;
  border: 1px solid var(--xz-line);
  padding: 4px 10px !important;
  border-radius: var(--xz-radius-sm);
  text-decoration: none !important;
  transition: all var(--xz-transition);
}
.woocommerce ul.products li.product .term-badge-list a:hover,
.woocommerce ul.products li.product .term-badges a:hover,
.woocommerce ul.products li.product .product-categories a:hover,
.woocommerce ul.products li.product .ct-product-categories a:hover,
.woocommerce ul.products li.product .cats a:hover {
  background: var(--xz-rust) !important;
  color: var(--xz-white) !important;
  border-color: var(--xz-rust);
}

/* Sale flash */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--xz-rust) !important;
  color: var(--xz-white) !important;
  font-family: var(--xz-font-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: var(--xz-radius-sm) !important;
  padding: 4px 10px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.5 !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
}

/* NEW 角标 — 上架 ≤ 30 天的商品卡 */
.woocommerce ul.products li.product {
  position: relative;
}
.xz-new-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--xz-ink);
  color: var(--xz-paper);
  font-family: var(--xz-font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--xz-radius-sm);
  line-height: 1.5;
  z-index: 2;
}
/* PDP 顶部 "JUST DROPPED" — 标题前的小角标 */
.xz-new-badge--pdp {
  display: inline-block;
  position: static;
  margin-bottom: var(--xz-sp-3);
  background: var(--xz-rust);
  color: var(--xz-white);
  letter-spacing: 0.26em;
  padding: 5px 12px;
}

/* PDP 商品 meta 区域：Listed on 日期 */
.xz-pdp-listed-on {
  display: block;
  margin-top: var(--xz-sp-2);
  font-family: var(--xz-font-sans);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--xz-mute);
}
.xz-pdp-listed-on strong {
  color: var(--xz-ink);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
}

/* Tablet & mobile */
@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: var(--xz-sp-3) !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; }
}

/* 分页 */
.woocommerce nav.woocommerce-pagination {
  text-align: center;
  margin: var(--xz-sp-6) 0;
}
.woocommerce nav.woocommerce-pagination ul {
  border: none !important;
  display: inline-flex;
  gap: var(--xz-sp-1);
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--xz-font-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--xz-ink) !important;
  background: transparent !important;
  border: 1px solid var(--xz-line) !important;
  padding: 10px 16px !important;
  border-radius: var(--xz-radius-sm) !important;
  transition: all var(--xz-transition) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--xz-ink) !important;
  color: var(--xz-white) !important;
  border-color: var(--xz-ink) !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--xz-font-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--xz-mute);
  margin: var(--xz-sp-5) 0 var(--xz-sp-2);
}
.woocommerce-breadcrumb a {
  color: var(--xz-mute);
  text-decoration: none;
  border: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--xz-rust);
}

/* ============ 商品详情页 (PDP / single-product) ============ */

/* PDP 整体留白 + 居中 */
.single-product .product {
  padding: var(--xz-sp-6) 0 var(--xz-sp-8);
}

/* 标题 — 大字 Cinzel */
.single-product .product_title,
.woocommerce div.product .product_title {
  font-family: var(--xz-font-serif) !important;
  font-size: clamp(28px, 3.6vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--xz-ink) !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 var(--xz-sp-3) !important;
  line-height: 1.2 !important;
}

/* 价格 — 大字锈红 */
.woocommerce div.product .summary .price,
.woocommerce div.product p.price {
  font-family: var(--xz-font-sans) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: var(--xz-rust) !important;
  margin: 0 0 var(--xz-sp-4) !important;
  letter-spacing: 0 !important;
}

/* 简短描述 */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: var(--xz-font-sans);
  font-size: 15px;
  color: var(--xz-mute);
  line-height: 1.7;
  margin: 0 0 var(--xz-sp-4);
  padding-bottom: var(--xz-sp-4);
  border-bottom: 1px solid var(--xz-line);
}
.woocommerce div.product .woocommerce-product-details__short-description ul {
  padding-left: var(--xz-sp-4);
}
.woocommerce div.product .woocommerce-product-details__short-description li {
  margin-bottom: var(--xz-sp-1);
}

/* 加购数量选择器 */
.woocommerce div.product form.cart .quantity .qty {
  width: 70px;
  padding: 12px;
  border: 1px solid var(--xz-line);
  text-align: center;
  font-family: var(--xz-font-sans);
  font-size: 15px;
}

/* PDP 大图廊 */
.woocommerce div.product div.images {
  position: relative;
}
.woocommerce div.product div.images img {
  border-radius: 0 !important;
}

/* Tabs (Description / Reviews / Additional Info) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important;
  margin: var(--xz-sp-7) 0 0 !important;
  border-bottom: 1px solid var(--xz-line) !important;
  display: flex !important;
  gap: var(--xz-sp-5);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--xz-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--xz-mute);
  padding: var(--xz-sp-3) 0 !important;
  display: inline-block;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--xz-ink) !important;
  border-bottom-color: var(--xz-rust);
}
.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--xz-sp-5) 0 !important;
  font-family: var(--xz-font-sans);
  color: var(--xz-mute);
  line-height: 1.8;
}

/* 相关商品 */
.related.products h2,
.upsells.products h2 {
  font-family: var(--xz-font-serif) !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  text-align: center;
  margin: var(--xz-sp-8) 0 var(--xz-sp-5) !important;
  letter-spacing: 0.04em !important;
}

/* ============ Cart / Checkout ============ */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 {
  font-family: var(--xz-font-serif) !important;
  font-size: clamp(22px, 2.6vw, 28px) !important;
  color: var(--xz-ink) !important;
  letter-spacing: 0.04em !important;
}

.woocommerce-cart table.cart {
  border-collapse: collapse;
}
.woocommerce-cart table.cart th {
  font-family: var(--xz-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--xz-ink);
  background: var(--xz-paper);
  padding: var(--xz-sp-3);
}

/* ============ My Account ============ */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}
.woocommerce-MyAccount-navigation ul li a {
  font-family: var(--xz-font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--xz-ink);
  padding: var(--xz-sp-3) 0;
  display: block;
  border-bottom: 1px solid var(--xz-line);
  text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--xz-rust);
}

/* ============ 联盟可变商品（Affiliate Variable）============ */
/* 一个产品多颜色/尺寸变体，各变体跳不同 Amazon ASIN。
   隐藏站内加购按钮 + 数量（本站联盟引流，无站内结账），只保留 Buy on Amazon。 */
.xz-affiliate-variable .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.xz-affiliate-variable .woocommerce-variation-add-to-cart .quantity {
  display: none !important;
}
/* Buy on Amazon 按钮：全宽，与普通 External 商品按钮观感一致（不加 !important，
   保留初始 inline display:none，由 JS 选中变体后 .css('display','') 显示）。 */
.woocommerce div.product .xz-buy-amazon-var {
  width: 100%;
  text-align: center;
  margin-top: var(--xz-sp-3);
}
