/* ══════════════════════════════
   WOOCOMMERCE PAGE OVERRIDES
══════════════════════════════ */

/* ── SHOP GRID ── */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  padding: 0 !important; margin: 0 !important;
  float: none !important; width: auto !important;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
}
.woocommerce ul.products li.product img {
  border-radius: 0 !important;
  width: 100% !important; height: 220px !important;
  object-fit: cover !important; display: block !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 13px !important; font-weight: var(--fw-bold) !important;
  color: #222 !important; padding: 10px 12px 4px !important; line-height: 1.3 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--coral) !important; font-weight: var(--fw-black) !important;
  font-size: 15px !important; padding: 0 12px 8px !important;
}
.woocommerce ul.products li.product .price del { color: #bbb !important; font-size: 12px !important; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  margin: 0 12px 12px !important; width: calc(100% - 24px) !important;
  display: block !important; text-align: center !important;
  border-radius: var(--r-sm) !important;
}
.woocommerce span.onsale {
  background: var(--coral) !important; border-radius: var(--r-sm) !important;
  min-width: auto !important; min-height: auto !important;
  padding: 4px 10px !important; font-size: 11px !important; line-height: 1.4 !important;
}

/* Category/shop header */
.woocommerce-products-header { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--border); }
.woocommerce-products-header__title { font-size: 22px; font-weight: var(--fw-black); color: #222; }

/* ── SINGLE PRODUCT ── */
.woocommerce div.product { max-width: 1100px; margin: 0 auto; padding: 24px var(--px); }
.woocommerce div.product div.images img {
  border-radius: var(--r-md) !important; box-shadow: var(--shadow-md) !important;
}
.woocommerce div.product .product_title {
  font-size: 24px !important; font-weight: var(--fw-black) !important;
  color: #1a1a1a !important; line-height: 1.2 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--coral) !important; font-size: 26px !important; font-weight: var(--fw-black) !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: #bbb !important; font-size: 18px !important; }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--coral) !important; border-color: var(--coral) !important;
  color: #fff !important; border-radius: var(--r-pill) !important;
  font-weight: var(--fw-bold) !important; padding: 14px 32px !important; font-size: 15px !important;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--coral-dark) !important; border-color: var(--coral-dark) !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li a { color: #555 !important; }
.woocommerce div.product .woocommerce-tabs .tabs li.active a {
  color: var(--coral) !important; border-bottom: 2px solid var(--coral) !important;
}
.related.products > h2,
.upsells.products > h2 { font-size: 20px !important; font-weight: var(--fw-black) !important; color: #222 !important; margin-bottom: 16px !important; }

/* ── CART ── */
.woocommerce-cart .woocommerce { max-width: 1100px; margin: 0 auto; padding: 24px var(--px); }
.woocommerce-cart table.cart thead th {
  background: #fafafa !important; font-size: 12px !important;
  font-weight: var(--fw-black) !important; color: var(--text-muted) !important;
  text-transform: uppercase !important; letter-spacing: 0.5px !important;
  border-bottom: 2px solid var(--border) !important; padding: 10px 12px !important;
}
.woocommerce-cart table.cart td {
  border-bottom: 1px solid var(--border) !important;
  padding: 14px 12px !important; vertical-align: middle !important;
}
.woocommerce-cart table.cart td.product-name a { color: #222 !important; font-weight: var(--fw-semi) !important; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--coral) !important; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { color: var(--coral) !important; font-weight: var(--fw-bold) !important; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 16px !important; font-weight: var(--fw-black) !important; margin-bottom: 12px !important; }
.woocommerce .cart-collaterals .cart_totals .order-total td,
.woocommerce .cart-collaterals .cart_totals .order-total th { font-weight: var(--fw-black) !important; color: #222 !important; font-size: 16px !important; }
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: var(--coral) !important; border-radius: var(--r-pill) !important;
  font-weight: var(--fw-bold) !important; font-size: 15px !important;
  padding: 14px 32px !important; display: block !important; text-align: center !important;
  box-shadow: var(--shadow-coral) !important;
}
.woocommerce a.checkout-button:hover { background: var(--coral-dark) !important; }

/* ── CHECKOUT ── */
.woocommerce-checkout .woocommerce { max-width: 1100px; margin: 0 auto; padding: 24px var(--px); }
.woocommerce-checkout h3 {
  font-size: 16px !important; font-weight: var(--fw-black) !important; color: #222 !important;
  border-bottom: 2px solid var(--border) !important; padding-bottom: 8px !important; margin-bottom: 16px !important;
}
.woocommerce-checkout #place_order {
  background: var(--coral) !important; border-color: var(--coral) !important;
  border-radius: var(--r-pill) !important; font-size: 16px !important;
  font-weight: var(--fw-black) !important; padding: 16px 40px !important;
  width: 100% !important; box-shadow: var(--shadow-coral) !important;
}
.woocommerce-checkout #place_order:hover { background: var(--coral-dark) !important; }
.woocommerce-checkout .payment_box { background: var(--coral-light) !important; border-color: var(--coral-border) !important; }

/* ── MY ACCOUNT ── */
.woocommerce-account .woocommerce { max-width: 1000px; margin: 0 auto; padding: 24px var(--px); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 10px 14px; font-size: 13px; font-weight: var(--fw-semi); color: #555;
  border-radius: var(--r-sm); text-decoration: none; margin-bottom: 4px;
  transition: background 0.15s, color 0.15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--coral-light) !important; color: var(--coral) !important;
}
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 18px !important; font-weight: var(--fw-black) !important; margin-bottom: 16px !important; color: #222 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products li.product img { height: 150px !important; }
}
