/**
 * LSM WooCommerce Styles
 * Drop this file into /assets/css/ and enqueue it, or paste into style.css
 */

/* =========================================
   GLOBAL WOO RESETS
========================================= */
.woocommerce-page *,
.woocommerce * {
  font-family: var(--font-body);
  color: var(--color-text);
}

.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
  font-family: var(--font-display);
  color: var(--color-white);
}

/* =========================================
   BREADCRUMBS
========================================= */
.woocommerce-breadcrumb {
  font-size: 0.72rem;
  color: var(--color-text-muted) !important;
  background: none !important;
  padding: 0 !important;
  margin-bottom: 2rem !important;
}

.woocommerce-breadcrumb a {
  color: var(--color-gold) !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--color-gold-light) !important;
}

/* =========================================
   PRODUCT LOOP (Archive / Shop)
========================================= */
.woocommerce ul.products {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  float: none !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 580px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

.woocommerce ul.products li.product {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  width: auto !important;
  float: none !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--color-gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-gold) !important;
}

/* Product image */
.woocommerce ul.products li.product a img {
  display: block !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  transition: transform 0.6s ease !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05) !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  color: var(--color-white) !important;
  padding: 1.25rem 1.25rem 0.25rem !important;
  font-weight: 400 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  color: var(--color-gold) !important;
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  padding: 0 1.25rem 0.75rem !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--color-text-muted) !important;
  font-size: 0.85rem !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: block !important;
  width: calc(100% - 2.5rem) !important;
  margin: 0 1.25rem 1.25rem !important;
  background: transparent !important;
  border: 1px solid var(--color-gold) !important;
  color: var(--color-gold) !important;
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  padding: 0.7rem 1rem !important;
  text-align: center !important;
  border-radius: 0 !important;
  transition: var(--transition) !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border-radius: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 0.35rem 0.75rem !important;
  line-height: 1.4 !important;
  top: 0.75rem !important;
  left: 0.75rem !important;
}

/* =========================================
   SINGLE PRODUCT
========================================= */
.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4rem !important;
  align-items: start !important;
  float: none !important;
}

@media (max-width: 860px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
}

/* Gallery */
.single-product div.product .woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.single-product div.product .woocommerce-product-gallery__image img {
  border: 1px solid var(--color-border) !important;
}

.single-product div.product .flex-control-thumbs li img {
  opacity: 0.5 !important;
  border: 1px solid var(--color-border) !important;
  transition: opacity 0.3s ease !important;
}

.single-product div.product .flex-control-thumbs li img.flex-active,
.single-product div.product .flex-control-thumbs li:hover img {
  opacity: 1 !important;
  border-color: var(--color-gold) !important;
}

/* Summary */
.single-product div.product .summary {
  float: none !important;
  width: 100% !important;
}

/* Product title */
.single-product div.product .product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  color: var(--color-white) !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  margin-bottom: 1rem !important;
}

/* Rating */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--color-gold) !important;
}

.woocommerce-product-rating {
  margin-bottom: 1rem !important;
}

/* Price */
.single-product div.product p.price,
.single-product div.product span.price {
  font-family: var(--font-display) !important;
  font-size: 2rem !important;
  color: var(--color-gold) !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

/* Short description */
.single-product div.product .woocommerce-product-details__short-description {
  font-size: 0.88rem !important;
  color: var(--color-text-muted) !important;
  line-height: 1.9 !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-text) !important;
  font-size: 0.9rem !important;
  padding: 0.6rem 0.75rem !important;
  width: 70px !important;
  text-align: center !important;
  border-radius: 0 !important;
  outline: none !important;
}

.woocommerce .quantity .qty:focus {
  border-color: var(--color-gold) !important;
}

/* Add to cart */
.single-product .cart .single_add_to_cart_button {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  padding: 0.85rem 2.5rem !important;
  border-radius: 0 !important;
  border: none !important;
  transition: var(--transition) !important;
  height: auto !important;
}

.single-product .cart .single_add_to_cart_button:hover {
  background: var(--color-gold-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212,175,55,0.3) !important;
}

/* Product meta */
.single-product div.product .product_meta {
  font-size: 0.78rem !important;
  color: var(--color-text-muted) !important;
  border-top: 1px solid var(--color-border) !important;
  padding-top: 1.25rem !important;
  margin-top: 1.5rem !important;
}

.single-product div.product .product_meta a {
  color: var(--color-gold) !important;
}

/* =========================================
   PRODUCT TABS
========================================= */
.woocommerce div.product .woocommerce-tabs {
  float: none !important;
  width: 100% !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: none !important;
  padding: 0 !important;
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  margin-bottom: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--color-text-muted) !important;
  padding: 0.9rem 1.5rem !important;
  display: block !important;
  transition: var(--transition) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-gold) !important;
  background: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--color-gold) !important;
  margin-bottom: -1px !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-top: none !important;
  padding: 2rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* =========================================
   REVIEWS
========================================= */
#reviews #comments ol.commentlist li {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  padding: 1.5rem !important;
  margin-bottom: 1rem !important;
}

#reviews #comments ol.commentlist li .meta {
  color: var(--color-text-muted) !important;
  font-size: 0.75rem !important;
}

#reviews #comments ol.commentlist li .description p {
  color: var(--color-text-muted) !important;
  font-size: 0.85rem !important;
}

/* =========================================
   CART
========================================= */
.woocommerce-cart .woocommerce table.cart {
  background: none !important;
  border: 1px solid var(--color-border) !important;
}

.woocommerce-cart .woocommerce table.cart thead tr th {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: var(--color-text-muted) !important;
  background: var(--color-surface) !important;
  border: none !important;
  padding: 1rem 1.25rem !important;
}

.woocommerce-cart .woocommerce table.cart tbody tr td {
  border: none !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding: 1.25rem !important;
  background: none !important;
  vertical-align: middle !important;
}

.woocommerce-cart .woocommerce table.cart tbody tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-cart .woocommerce table.cart .product-name a {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  color: var(--color-white) !important;
}

.woocommerce-cart .woocommerce table.cart .product-price,
.woocommerce-cart .woocommerce table.cart .product-subtotal {
  color: var(--color-gold) !important;
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
}

/* Cart totals */
.woocommerce-cart .cart_totals {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  padding: 2rem !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  color: var(--color-white) !important;
  margin-bottom: 1.25rem !important;
}

.woocommerce-cart .cart_totals table {
  border: none !important;
  width: 100% !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  border-bottom: 1px solid var(--color-border) !important;
  padding: 0.75rem 0 !important;
  font-size: 0.85rem !important;
}

.woocommerce-cart .cart_totals .order-total td {
  color: var(--color-gold) !important;
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
}

/* =========================================
   CHECKOUT
========================================= */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-display) !important;
  font-size: 1.4rem !important;
  color: var(--color-white) !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce form .input-text,
.woocommerce form select {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-text) !important;
  border-radius: 0 !important;
  padding: 0.8rem 1rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus {
  border-color: var(--color-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.1) !important;
}

.woocommerce-checkout label {
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--color-text-muted) !important;
  margin-bottom: 0.4rem !important;
  display: block !important;
}

/* Order review box */
.woocommerce-checkout #order_review {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  padding: 2rem !important;
}

.woocommerce-checkout table.shop_table {
  border: none !important;
  width: 100% !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  border-bottom: 1px solid var(--color-border) !important;
  padding: 0.85rem 0 !important;
  font-size: 0.85rem !important;
}

.woocommerce-checkout table.shop_table .order-total td {
  color: var(--color-gold) !important;
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
}

/* Place order button */
#place_order {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  padding: 1rem 2.5rem !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
}

#place_order:hover {
  background: var(--color-gold-light) !important;
  transform: translateY(-2px) !important;
}

/* =========================================
   NOTICES
========================================= */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 0 !important;
  font-size: 0.85rem !important;
}

.woocommerce-message {
  border-top-color: var(--color-gold) !important;
  background: rgba(212,175,55,0.08) !important;
  color: var(--color-text) !important;
}

.woocommerce-error {
  border-top-color: #c0392b !important;
  background: rgba(192,57,43,0.08) !important;
  color: var(--color-text) !important;
}

/* =========================================
   MY ACCOUNT
========================================= */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 220px !important;
  float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.85rem 1.25rem !important;
  font-size: 0.8rem !important;
  color: var(--color-text-muted) !important;
  border-bottom: 1px solid var(--color-border) !important;
  transition: var(--transition) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--color-gold) !important;
  background: rgba(212,175,55,0.05) !important;
  padding-left: 1.75rem !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  padding: 2rem !important;
  font-size: 0.88rem !important;
}
