/* ============================================================
   WOOCOMMERCE DEEP OVERRIDES
   File: assets/css/woocommerce.css
   ============================================================ */

/* Layout wrapper */
.woocommerce-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  padding: 48px 0;
}
.woocommerce-layout.full-width {
  grid-template-columns: 1fr;
}

/* Archive header */
.woocommerce-products-header__title {
  font-family: var(--font-serif) !important;
  color: var(--color-primary) !important;
  font-size: 2rem !important;
}

/* Shop page result count */
.woocommerce-result-count {
  font-size: 0.82rem !important;
  color: var(--color-text-muted) !important;
}

/* Shop page ordering */
.woocommerce-ordering select {
  font-family: var(--font-body) !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px 14px !important;
  color: var(--color-text) !important;
  background: var(--color-white) !important;
}

/* Single product */
.woocommerce div.product .product_title {
  font-family: var(--font-serif) !important;
  color: var(--color-primary) !important;
  font-size: 2rem !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--color-primary) !important;
  font-family: var(--font-serif) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
  color: var(--color-gold) !important;
}

/* Cart & Checkout tables */
.woocommerce table.cart td.product-name a,
.woocommerce-cart table.cart td.product-name a {
  color: var(--color-primary) !important;
  font-family: var(--font-serif) !important;
  font-weight: 600 !important;
}

.woocommerce table.shop_table {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
}
.woocommerce table.shop_table th {
  background: var(--color-cream-dark) !important;
  color: var(--color-primary) !important;
  font-family: var(--font-display) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
}

/* Checkout form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
  font-family: var(--font-serif) !important;
  color: var(--color-primary) !important;
  font-size: 1.3rem !important;
  margin-bottom: 20px !important;
}

.woocommerce form .form-row label {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  margin-bottom: 5px !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  border: 1.5px solid var(--color-border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 11px 14px !important;
  font-family: var(--font-body) !important;
  transition: border-color var(--transition) !important;
  background: var(--color-white) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(15,76,58,0.08) !important;
}

/* Order received */
.woocommerce-order-received h2 {
  color: var(--color-primary) !important;
  font-family: var(--font-serif) !important;
}

/* Widgets */
.widget_product_categories ul li a {
  color: var(--color-text) !important;
  transition: color var(--transition) !important;
}
.widget_product_categories ul li a:hover {
  color: var(--color-primary) !important;
}
.widget_product_categories ul li.current-cat > a {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--color-border) !important;
  color: var(--color-primary) !important;
  font-family: var(--font-display) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-primary) !important;
  color: var(--color-gold) !important;
  border-color: var(--color-primary) !important;
}

/* Related products */
.related.products h2,
.upsells.products h2 {
  font-family: var(--font-serif) !important;
  color: var(--color-primary) !important;
  font-size: 1.6rem !important;
  margin-bottom: 28px !important;
}

/* Responsive fixes */
@media (max-width: 768px) {
  .woocommerce-layout {
    grid-template-columns: 1fr;
  }
}
