/* ==========================================================================
   Energvia — woocommerce.css
   WooCommerce 全站风格覆盖：Dark Luxury + Spiritual Minimalism
   ========================================================================== */

/* ===== 通用变量对齐 ===== */
.woocommerce,
.woocommerce-page {
  --wc-bg: var(--color-black, #0A0A0A);
  --wc-card: var(--color-graphite, #1E1E1E);
  --wc-border: var(--color-border, #2A2A2A);
  --wc-text: var(--color-cream, #F5F2EC);
  --wc-muted: var(--color-muted, #A7A29A);
  --wc-gold: var(--color-gold, #C9A96A);
  --wc-radius: var(--radius-lg, 12px);
}

/* ===== 全局覆盖 ===== */
.woocommerce,
.woocommerce-page {
  background: var(--wc-bg) !important;
  color: var(--wc-text);
  font-family: var(--font-sans, 'Inter', sans-serif);
}
.woocommerce a { color: var(--wc-gold); }
.woocommerce a:hover { color: var(--wc-text); }

/* ===== 输入框 ===== */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce select,
.woocommerce textarea,
.woocommerce .select2-selection {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--radius, 4px) !important;
  color: var(--wc-text) !important;
  padding: 0.85em 1em !important;
  font-size: 0.95rem !important;
  transition: border-color 0.3s !important;
}
.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
  border-color: var(--wc-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,169,106,0.2) !important;
}

/* ===== 标签 ===== */
.woocommerce label,
.woocommerce .form-row label {
  color: var(--wc-text) !important;
  font-weight: 500;
  font-size: 0.9rem !important;
  letter-spacing: 0.03em;
  margin-bottom: 0.4em;
}

/* ===== 标题 ===== */
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
  color: var(--wc-text) !important;
  font-family: var(--font-serif, 'Cormorant Garamond', serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em;
}
.shop_table thead th,
.woocommerce table thead th {
  background: var(--wc-card) !important;
  color: var(--wc-text) !important;
  border-color: var(--wc-border) !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.8rem;
  padding: 1em;
}

/* ===== 按钮 ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.95em 2.4em !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: var(--radius, 4px) !important;
  font-size: 0.85rem !important;
  transition: all 0.3s !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--wc-gold) !important;
  color: var(--wc-bg) !important;
  border-color: var(--wc-gold) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--color-gold-soft, #E3CE9E) !important;
  color: var(--wc-bg) !important;
  transform: translateY(-2px);
}
.woocommerce a.button:not(.alt),
.woocommerce button.button:not(.alt) {
  background: transparent !important;
  color: var(--wc-text) !important;
  border-color: rgba(245,242,236,0.35) !important;
}
.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):hover {
  border-color: var(--wc-gold) !important;
  color: var(--wc-gold) !important;
  transform: translateY(-2px);
}

/* ===== 通知/消息 ===== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--wc-card) !important;
  border-left: 3px solid var(--wc-gold) !important;
  color: var(--wc-text) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.2em 1.5em !important;
}
.woocommerce-message { border-left-color: #3E5F4A !important; }
.woocommerce-error { border-left-color: #C94A4A !important; }
.woocommerce-message a { color: var(--wc-gold) !important; }

/* ===== 表格 ===== */
.woocommerce table.shop_table {
  background: transparent !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  overflow: hidden;
  border-collapse: separate !important;
}
.woocommerce table.shop_table td {
  background: var(--wc-card) !important;
  color: var(--wc-text) !important;
  border-color: var(--wc-border) !important;
  padding: 1.2em 1em !important;
  vertical-align: middle;
}
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
  background: rgba(201,169,106,0.06) !important;
  border-color: var(--wc-border) !important;
  color: var(--wc-text) !important;
}

/* ===== 产品卡 ===== */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  margin: 2rem 0 !important;
}
.woocommerce ul.products li.product {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  overflow: hidden;
  transition: transform 0.3s, border-color 0.3s;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  border-color: rgba(201,169,106,0.5) !important;
}
.woocommerce ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.6s;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.05);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--wc-text) !important;
  font-family: var(--font-serif, serif) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  padding: 1rem 1.2rem 0.5rem !important;
}
.woocommerce ul.products li.product .price {
  color: var(--wc-gold) !important;
  font-size: 1.1rem !important;
  padding: 0 1.2rem 1rem !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--wc-muted) !important;
  margin-right: 0.5em;
}
.woocommerce ul.products li.product .button {
  margin: 0 1.2rem 1.2rem !important;
}
.woocommerce .onsale {
  background: var(--wc-gold) !important;
  color: var(--wc-bg) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4em 1em !important;
  top: 1rem !important;
  left: 1rem !important;
}

/* ===== 产品详情页 ===== */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 2rem;
}
.woocommerce div.product .product_title {
  font-size: var(--fs-h1, 2.5rem) !important;
  color: var(--wc-text) !important;
}
.woocommerce div.product .price {
  color: var(--wc-gold) !important;
  font-size: 1.8rem !important;
  font-family: var(--font-serif, serif) !important;
}
.woocommerce div.product .price del {
  color: var(--wc-muted) !important;
  font-size: 1.3rem;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--wc-muted) !important;
  line-height: 1.7;
  margin: 1.5rem 0;
}
.woocommerce div.product form.cart {
  display: flex;
  gap: 1rem;
  margin: 1.5rem 0;
}
.woocommerce div.product form.cart .quantity input {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  color: var(--wc-text) !important;
  border-radius: var(--radius, 4px) !important;
  padding: 0.85em !important;
  width: 80px;
}

/* ===== 购物车页 ===== */
.woocommerce-cart .entry-content {
  max-width: 1200px;
  margin-inline: auto;
  padding: 2rem;
}
.woocommerce-cart-form {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem;
}
.cart-collaterals {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
}
.cart-collaterals .cart_totals h2 {
  font-size: 1.4rem !important;
  margin-bottom: 1rem !important;
}

/* ===== 结账页 ===== */
.woocommerce-checkout .entry-content {
  max-width: 1200px;
  margin-inline: auto;
  padding: 2rem;
}
.woocommerce-checkout-review-order {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
}
.woocommerce-billing-fields h3,
.woocommerce-checkout h3 {
  font-size: 1.4rem !important;
  margin-bottom: 1rem !important;
  color: var(--wc-text) !important;
}
.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
}
.woocommerce-billing-fields,
.woocommerce-additional-fields {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem;
}

/* ===== 支付区 ===== */
.woocommerce-checkout #payment {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
}
.woocommerce-checkout #payment div.payment_box {
  background: rgba(201,169,106,0.08) !important;
  border: 1px solid rgba(201,169,106,0.25) !important;
  border-radius: var(--radius, 4px) !important;
  color: var(--wc-muted) !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--wc-border) !important;
  padding-bottom: 1rem !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  color: var(--wc-text) !important;
  padding: 0.5em 0;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  color: var(--wc-text) !important;
}

/* ===== 面包屑 ===== */
.woocommerce-breadcrumb {
  color: var(--wc-muted) !important;
  font-size: 0.85rem !important;
  margin-bottom: 1.5rem !important;
  padding: 0 !important;
}
.woocommerce-breadcrumb a { color: var(--wc-muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--wc-gold) !important; }

/* ===== 分页 ===== */
.woocommerce-pagination ul {
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--radius, 4px) !important;
  overflow: hidden;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  background: var(--wc-card) !important;
  color: var(--wc-text) !important;
  border-color: var(--wc-border) !important;
  padding: 0.5em 1em !important;
}
.woocommerce-pagination ul li span.current {
  background: var(--wc-gold) !important;
  color: var(--wc-bg) !important;
}

/* ===== 账户页 ===== */
.woocommerce-account .entry-content {
  max-width: 1200px;
  margin-inline: auto;
  padding: 2rem;
}
.woocommerce-MyAccount-navigation {
  background: var(--wc-card) !important;
  border: 1px solid var(--wc-border) !important;
  border-radius: var(--wc-radius) !important;
  padding: 1.5rem !important;
}
.woocommerce-MyAccount-navigation ul li a {
  color: var(--wc-muted) !important;
  padding: 0.5em 0;
  display: block;
  transition: color 0.3s;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--wc-gold) !important;
}

/* ===== 分类/归档标题 ===== */
.woocommerce .page-title,
.woocommerce-page .page-title,
.woocommerce .woocommerce-loop-category__title {
  text-transform: capitalize !important;
}

/* ===== 响应式 ===== */
@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .col2-set { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .woocommerce a.button,
  .woocommerce button.button { width: 100%; text-align: center; }
}
