/* WooCommerce overrides for Mod Seiko theme */

/* --- Product price --- */
.woocommerce .price { font-size: var(--text-lg); font-weight: 700; color: var(--color-text-primary); }
.woocommerce .price del { color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 400; }
.woocommerce .price ins { text-decoration: none; color: var(--color-sale); }

/* --- Buttons --- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--color-accent-gold);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: all var(--transition-base);
  cursor: pointer;
}
.woocommerce .button:hover,
.woocommerce button.button:hover {
  background: var(--color-accent-gold-dark);
  color: #fff;
}
.woocommerce .button.alt,
.woocommerce #place_order {
  background: var(--color-bg-dark);
}
.woocommerce .button.alt:hover,
.woocommerce #place_order:hover {
  background: var(--color-accent-gold);
}

/* --- Product page --- */
.woocommerce div.product .product_title {
  font-size: var(--text-3xl);
  font-weight: 700;
  letter-spacing: .03em;
}
.woocommerce div.product .woocommerce-tabs .tabs li a {
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: var(--text-sm);
}
.woocommerce div.product .woocommerce-tabs .tabs li.active a {
  color: var(--color-accent-gold);
}

/* --- Shop page grid --- */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
  margin: 0 !important;
}
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
}
.woocommerce ul.products li.product {
  background: var(--color-bg-white);
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: all var(--transition-base);
  margin: 0 !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-xl);
}
.woocommerce ul.products li.product a img {
  border-radius: 0;
  margin: 0;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--text-base);
  font-weight: 600;
  padding: var(--space-4) var(--space-4) var(--space-2);
}
.woocommerce ul.products li.product .price {
  padding: 0 var(--space-4) var(--space-4);
  display: block;
}

/* --- Cart drawer styles --- */
.woocommerce-cart-form, .cart-collaterals { padding: var(--space-8); }
table.cart { width: 100%; border-collapse: collapse; }
table.cart th { text-transform: uppercase; font-size: var(--text-sm); letter-spacing: .1em; padding: var(--space-4); border-bottom: 1px solid var(--color-border-light); }
table.cart td { padding: var(--space-4); border-bottom: 1px solid var(--color-border-light); vertical-align: middle; }

/* --- Checkout --- */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-6);
  letter-spacing: .03em;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  font-family: inherit;
  font-size: var(--text-sm);
  transition: border-color var(--transition-fast);
  width: 100%;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  outline: none;
  border-color: var(--color-accent-gold);
}

/* --- Notices --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top: 3px solid var(--color-accent-gold) !important;
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-6) !important;
  margin-bottom: var(--space-6) !important;
}

/* --- Shop page wrapper --- */
.woocommerce-page .woocommerce,
.woocommerce .woocommerce {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-12) var(--container-padding);
}
.woocommerce-page .woocommerce-products-header__title {
  font-size: var(--text-4xl);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: var(--space-8);
}
