/* ===== WooCommerce — Buttons, forms & tables ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  background: var(--btn-primary-bg);
  color: var(--btn-primary-text);
  border: var(--border-strong);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-pop-sm);
  font-family: var(--font-display);
  font-weight: var(--fw-ui);
  font-size: var(--text-md);
  padding: var(--space-3) var(--space-6);
  transition: transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--btn-primary-bg-hover);
  color: var(--btn-primary-text);
  transform: var(--lift);
  box-shadow: var(--shadow-pop);
}
.woocommerce a.button.alt {
  /* WooCommerce's primary actions (Proceed to checkout, Place order) — the biggest, brightest sticker on the page. */
  background: var(--btn-primary-bg);
  color: var(--btn-primary-text);
  font-size: var(--text-base);
  padding: var(--space-4) var(--space-6);
}
.woocommerce a.button.alt:hover {
  background: var(--btn-primary-bg-hover);
  color: var(--btn-primary-text);
}
.woocommerce a.added_to_cart {
  margin-left: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-link);
  font-weight: var(--fw-ui);
}

.woocommerce table.shop_table,
.woocommerce table.woocommerce-checkout-review-order-table,
.woocommerce table.variations {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: var(--space-6);
}
/* Pin the narrow columns — otherwise the invisible screen-reader-only header
   text ("Remove item", "Thumbnail image") skews the browser's auto column-width
   calculation and blows up the empty remove/thumbnail columns. */
.woocommerce table.shop_table th.product-remove,
.woocommerce table.shop_table td.product-remove {
  width: 40px;
}
.woocommerce table.shop_table th.product-thumbnail,
.woocommerce table.shop_table td.product-thumbnail {
  width: 90px;
}
.woocommerce table.shop_table th.product-price,
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table th.product-subtotal,
.woocommerce table.shop_table td.product-subtotal {
  width: 110px;
}
.woocommerce table.shop_table th.product-quantity,
.woocommerce table.shop_table td.product-quantity {
  width: 120px;
}
.woocommerce table.shop_table th.product-name,
.woocommerce table.shop_table td.product-name {
  width: auto;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.woocommerce-checkout-review-order-table th,
.woocommerce table.woocommerce-checkout-review-order-table td {
  padding: var(--space-3-5) var(--space-3);
  border-bottom: 1px solid var(--gray-100);
  text-align: left;
  font-size: var(--text-md);
}
.woocommerce table.shop_table th {
  color: var(--gray-500);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  font-weight: var(--fw-semibold);
}
.woocommerce .quantity .qty {
  width: 76px;
  height: 48px;
  padding: 0 var(--space-2-5);
  border: var(--border-strong);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: var(--fw-figure);
  text-align: center;
  color: var(--ink);
}
.woocommerce .quantity .qty:focus,
.woocommerce-ordering select:focus {
  outline: none;
  border-color: var(--ink);
  box-shadow: var(--focus-ring);
}
.woocommerce input.input-text:not(.qty),
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-additional-fields select,
.woocommerce-billing-fields select,
.select2-container .select2-selection--single {
  width: 100%;
  padding: var(--space-3) var(--space-3-5);
  border: var(--input-border);
  border-radius: var(--input-radius);
  font-size: var(--text-md);
  font-family: var(--font-sans);
  background: var(--color-surface);
  height: auto !important;
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  outline: none;
  border-color: var(--ink);
  box-shadow: var(--focus-ring);
}
.woocommerce form .form-row .required {
  color: var(--danger-600);
  text-decoration: none;
  border: 0;
}
.woocommerce form .form-row {
  margin-bottom: var(--space-4);
}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active {
  transform: var(--press);
  box-shadow: none;
}
