/* ---------------------------------------------------------------------
   Targeted WooCommerce overrides — restyles the default shop/product/
   cart/checkout templates to match the brand instead of replacing them.
   --------------------------------------------------------------------- */

.woocommerce-page {
  padding-top: var(--fw-space-4);
  padding-bottom: var(--fw-space-5);
}

/* Buttons: Add to cart, checkout, place order, coupon apply, etc. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button {
  font-family: var(--fw-font-display);
  font-weight: 700;
  background: var(--fw-gold);
  color: var(--fw-ink);
  border: 2px solid var(--fw-ink);
  border-radius: 999px;
  padding: 11px 22px;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--fw-amber);
  transform: translateY(-1px);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--fw-coral);
  color: #ffffff;
}

/* Product grid */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--fw-space-3);
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products li.product {
  background: var(--fw-surface);
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-radius-md);
  padding: var(--fw-space-2);
  text-align: center;
}
.woocommerce ul.products li.product img {
  border-radius: var(--fw-radius-sm);
  margin-bottom: 10px;
}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--fw-font-display);
  font-size: 16px;
  color: var(--fw-ink);
}
.woocommerce span.price,
.woocommerce ul.products li.product .price {
  color: var(--fw-coral);
  font-weight: 700;
}
.woocommerce ul.products li.product .price del { color: var(--fw-text-dim); opacity: 0.7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Single product */
.woocommerce div.product .product_title { font-family: var(--fw-font-display); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--fw-coral); font-size: 22px; font-weight: 700; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--fw-text-dim); }

/* Quantity inputs, form fields */
.woocommerce .quantity .qty,
.woocommerce table.shop_table input[type="text"],
.woocommerce table.shop_table input[type="number"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select {
  border: 2px solid var(--fw-border);
  border-radius: var(--fw-radius-sm);
  padding: 10px 12px;
  font-family: var(--fw-font-body);
  background: var(--fw-surface);
  color: var(--fw-text);
}
.woocommerce .quantity .qty:focus,
.woocommerce form .form-row input.input-text:focus {
  outline: 3px solid var(--fw-sky);
  outline-offset: 1px;
  border-color: var(--fw-ink);
}

/* Cart + checkout tables */
.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-radius-md);
  overflow: hidden;
}
.woocommerce table.shop_table th {
  background: var(--fw-cream);
  font-family: var(--fw-font-display);
  color: var(--fw-ink);
  text-align: left;
  padding: 12px;
}
.woocommerce table.shop_table td {
  padding: 12px;
  border-top: 1px solid var(--fw-border);
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
  background: var(--fw-cream);
  border-top-color: var(--fw-amber);
  color: var(--fw-ink);
  border-radius: var(--fw-radius-sm);
}
.woocommerce-error {
  background: #fff2ee;
  border-top-color: var(--fw-coral);
  color: var(--fw-ink);
  border-radius: var(--fw-radius-sm);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--fw-amber); }
.woocommerce-error::before { color: var(--fw-coral); }

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before { color: var(--fw-amber); }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-radius-md);
  overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--fw-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 16px;
  color: var(--fw-ink);
  font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--fw-cream);
  color: var(--fw-coral);
}
